--- title: "Add cost contract" description: "Create a new cost contract for an account key." url: "https://docs.adyen.com/account-management-api/manage-cost-contracts/addcostcontract" source_url: "https://docs.adyen.com/account-management-api/manage-cost-contracts/addcostcontract.md" canonical: "https://docs.adyen.com/account-management-api/manage-cost-contracts/addcostcontract" last_modified: "2026-05-25T12:55:01+02:00" language: "en" --- # Add cost contract Create a new cost contract for an account key. [View source](/account-management-api/manage-cost-contracts/addcostcontract.md) ## Request parameters To add a new cost contract entry associated with an account key, make a POST `/addCostContract` request specifying: | Name | Type | Required | Description | Notes | | ------------------ | ---------- | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | `accountKey` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Unique reference to identify an account.- Company account key format: `Company.COMPANY_CODE` - Merchant account key format: `Merchant.MERCHANT_CODE` |   | | `billable` | Boolean | ![-x-](/user/data/smileys/emoji/x.png "-x-") | * `true`: the cost contract is billable. * `false`: the cost contract is not billable. | If the specified account key refers to a merchant account, leave this field empty/do not assign a value to this field. | | `costContractName` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The name identifying the cost contract. The specified name needs to be a valid one, i.e. it needs to be on the cost contract list assigned to the company or merchant. |   | | `minimumAmount` | int (Long) | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The minimum chargeable amount per invoice. The value is represented using the euro currency and minor units (i.e. *1000* = EUR 10). | If the specified account key refers to a merchant account, leave this field empty/do not assign a value to this field. | | `minimumTxs` | int | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The minimum number of transactions per month. | If the specified account key refers to a merchant account, leave this field empty/do not assign a value to this field. | | `remark` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Free text comment or remark about the cost contract. | If the specified account key refers to a merchant account, leave this field empty/do not assign a value to this field. | | `startYear` | int | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The starting year when the cost contract becomes effective. | *Start date = startMonth + startYear *The starting date needs to be set not earlier than a month, and not later than two years in the future. | | `startMonth` | int | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The starting month when the cost contract becomes effective. | *Start date = startMonth + startYear *The starting date needs to be set not earlier than a month, and not later than two years in the future. | ## Response parameters If there are no errors in the request, the call returns a `pspReference.`If any issues occur during the process, the call returns one or more warning or error messages. | Name | Type | Returned by default | Description | | -------------- | ------ | ------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | | `pspReference` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | A reference to uniquely identify the request. Returned when the response is successful and a new contract is created. | | `warnings` | Array | ![-x-](/user/data/smileys/emoji/x.png "-x-") | List containing one or more warning messages. Returned when the request is not correctly processed. | | `errors` | Array | ![-x-](/user/data/smileys/emoji/x.png "-x-") | List containing one or more error messages. Returned when the request fails. | ## Examples ### Request #### JSON ```json { "accountKey":"MerchantAccount.TestMerchant", "costContractName":"merchantDemoContract", "startMonth":3, "startYear":2016 } ``` #### Soap ```xml   MerchantAccount.TestMerchant merchantDemoContract 3 2016 ``` ### Response #### JSON ```json { "pspReference":"9914527653010792" } ``` #### Soap ```xml 9914527653010792   ``` ### Response in case of an error #### JSON ```json { "pspReference":"9914140627430128", "errors":[ "failed: startMonth should be at least next month" ] } ``` #### Soap ```xml failed: startMonth should be at least next month 9914140627430128 ```