---
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 |  | Unique reference to identify an account.- Company account key format: `Company.COMPANY_CODE`
- Merchant account key format: `Merchant.MERCHANT_CODE` | |
| `billable` | Boolean |  | * `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 |  | 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) |  | 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 |  | 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 |  | 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 |  | 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 |  | 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 |  | A reference to uniquely identify the request. Returned when the response is successful and a new contract is created. |
| `warnings` | Array |  | List containing one or more warning messages. Returned when the request is not correctly processed. |
| `errors` | Array |  | 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
```