---
title: "Create a new contract"
method: POST
path: "/v2/user/customer/contracts"
tags: ["Customer - Contracts"]
---

# Create a new contract

`POST /v2/user/customer/contracts`

Now you are ready to create your contract. Before that, please ensure that you check the offer with the same request parameterts. /offers

## Request body

- CreateContract
  - `offerId` integer, required — The offer id based on /offers. Not a free offer of course.
  - `storeCount` integer, required — The store count you want to have in your contract.
  - `couponDiscountCode` string — The coupon discount code
  - `couponOfferCode` string, guid — Your special coupon offer identifier
  - `billingPeriodInMonth` integer, required — Can be null. The billing period in month based on /billingPeriods

## Response `200`

New contract has been created. Some warnings can be present in response.

- CreateContractResponse
  - `links` CreateContractResponseLinks
    - `self` LinksCreateContractLink
      - `label` string — The label corresponding to the link. This label is automatically translated based on the Accept-Language http header.
      - `docUrl` string, uri — The documentation related to this operation.
      - `description` string — The description of the link
      - `href` string, required — Indicate the relative uri for this link
      - `operationId` string — The operationId to call.
      - `method` 'GET' | 'POST' | 'PATCH' | 'DELETE' | 'PUT' | 'HEAD' — Indicate the http method to use on this link
      - `parameters` object
      - `urlTemplated` boolean — indicates whether the href is templated or not
      - `allRequiredParamsProvided` boolean — indicates whether all required params have been provided
      - `allOptionalParamsProvided` boolean — indicates whether all optionals params have been provided
      - `info` BeezUPCommonInfoSummaries
        - `successes` BeezUPCommonSuccessSummary[]
          - `successCode` string
          - `successMessage` string
          - `successArguments` object
          - `propertyName` string
          - `propertyValue` string
          - `objectName` string
        - `errors` BeezUPCommonErrorSummary[]
          - `utcDate` string, date-time
          - `errorGuid` string, uuid
          - `errorCode` string
          - `errorMessage` string
          - `technicalErrorMessage` string
          - `exceptionDetail` BeezUPCommonExceptionDetail
            - `helpLink` string
            - `message` string
            - `stackTrace` string
            - `type` string
          - `errorArguments` object
          - `propertyName` string
          - `propertyValue` string
          - `objectName` string
          - `source` string
        - `warnings` BeezUPCommonWarningSummary[]
          - `technicalErrorMessage` string
          - `warningMessage` string
          - `warningCode` string
          - `warningArguments` object
        - `informations` BeezUPCommonInfoSummary[]
          - `informationCode` string
          - `informationMessage` string
          - `informationArguments` object
          - `propertyName` string
          - `propertyValue` string
          - `objectName` string
    - `contracts` LinksGetContractsLink
      - `label` string — The label corresponding to the link. This label is automatically translated based on the Accept-Language http header.
      - `docUrl` string, uri — The documentation related to this operation.
      - `description` string — The description of the link
      - `href` string, required — Indicate the relative uri for this link
      - `operationId` string — The operationId to call.
      - `method` 'GET' | 'POST' | 'PATCH' | 'DELETE' | 'PUT' | 'HEAD' — Indicate the http method to use on this link
      - `parameters` object
      - `urlTemplated` boolean — indicates whether the href is templated or not
      - `allRequiredParamsProvided` boolean — indicates whether all required params have been provided
      - `allOptionalParamsProvided` boolean — indicates whether all optionals params have been provided
      - `info` BeezUPCommonInfoSummaries
        - `successes` BeezUPCommonSuccessSummary[]
          - `successCode` string
          - `successMessage` string
          - `successArguments` object
          - `propertyName` string
          - `propertyValue` string
          - `objectName` string
        - `errors` BeezUPCommonErrorSummary[]
          - `utcDate` string, date-time
          - `errorGuid` string, uuid
          - `errorCode` string
          - `errorMessage` string
          - `technicalErrorMessage` string
          - `exceptionDetail` BeezUPCommonExceptionDetail
            - `helpLink` string
            - `message` string
            - `stackTrace` string
            - `type` string
          - `errorArguments` object
          - `propertyName` string
          - `propertyValue` string
          - `objectName` string
          - `source` string
        - `warnings` BeezUPCommonWarningSummary[]
          - `technicalErrorMessage` string
          - `warningMessage` string
          - `warningCode` string
          - `warningArguments` object
        - `informations` BeezUPCommonInfoSummary[]
          - `informationCode` string
          - `informationMessage` string
          - `informationArguments` object
          - `propertyName` string
          - `propertyValue` string
          - `objectName` string
  - `info` BeezUPCommonInfoSummaries
    - `successes` BeezUPCommonSuccessSummary[]
      - `successCode` string
      - `successMessage` string
      - `successArguments` object
      - `propertyName` string
      - `propertyValue` string
      - `objectName` string
    - `errors` BeezUPCommonErrorSummary[]
      - `utcDate` string, date-time
      - `errorGuid` string, uuid
      - `errorCode` string
      - `errorMessage` string
      - `technicalErrorMessage` string
      - `exceptionDetail` BeezUPCommonExceptionDetail
        - `helpLink` string
        - `message` string
        - `stackTrace` string
        - `type` string
      - `errorArguments` object
      - `propertyName` string
      - `propertyValue` string
      - `objectName` string
      - `source` string
    - `warnings` BeezUPCommonWarningSummary[]
      - `technicalErrorMessage` string
      - `warningMessage` string
      - `warningCode` string
      - `warningArguments` object
    - `informations` BeezUPCommonInfoSummary[]
      - `informationCode` string
      - `informationMessage` string
      - `informationArguments` object
      - `propertyName` string
      - `propertyValue` string
      - `objectName` string

## Other responses

- `400` — Bad request. (Invalid billing period, invalid offer, etc.)
- `403` — The contract is not modifiable or the coupon offer has been already used
- `default` — Occurs when something goes wrong

---

[API](https://skmtc.net/beezup/apis/beezup-merchant-api.md) · [All operations](https://skmtc.net/beezup/apis/beezup-merchant-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/beezup/beezup-merchant-api/versions/557b7feddf8a/schema)
