# Contract

## Get all contracts

> Retrieve a paginated list of contracts, provisioned under the Master Reseller contract. Default limit is the first 50 items; use pagination query parameters for listing more items.

```json
{"openapi":"3.0.1","info":{"title":"Reseller API","version":"2.0"},"tags":[{"name":"Contract"}],"servers":[{"url":"/reseller/v2"}],"security":[{"BasicAuthentication":[]},{"TokenAuthentication":[]}],"components":{"securitySchemes":{"BasicAuthentication":{"type":"http","description":"You will need to base64 encode the string containing your credentials. <div style=\"padding: 15px; border: 1px solid #d1ecf1; background-color: #d1ecf1; color: #0c5460; margin-bottom: 15px;\">\n  <strong>Note:</strong><br/><br/>\n   <ul><li><b>Basic Authentication</b> is supported only when <b>2-Factor \n  Authentication</b> is not configured.</li>\n  <li>Users with <b>2-Factor \n  Authentication</b> activated must generate new 2FA-secured tokens in the DCD using [Token Manager](https://docs.ionos.com/cloud/set-up-ionos-cloud/management/identity-access-management/token-manager). \n  These tokens do not inherit the <b>2FA-secured</b> property by default.</li><li>Token deletion is only possible using the <b>Token Manager</b>.</li>\n</div> Separate your username and password with a colon, i.e., username:password and send it as 'Authorization' request header. More details: https://en.wikipedia.org/wiki/Basic_access_authentication\n","scheme":"basic"},"TokenAuthentication":{"type":"apiKey","description":"Please provide header value as 'Bearer <token>' and don't forget to add 'Bearer' HTTP Authorization Scheme before the token.","name":"Authorization","in":"header"}},"schemas":{"PaginatedContractResponseResource":{"type":"object","properties":{"items":{"type":"array","description":"Array of items in the collection.","readOnly":true,"items":{"$ref":"#/components/schemas/ContractResponseResource"}},"offset":{"$ref":"#/components/schemas/PaginationOffsetOptional"},"limit":{"$ref":"#/components/schemas/PaginationLimitOptional"},"_links":{"$ref":"#/components/schemas/PaginationLinks"}}},"ContractResponseResource":{"type":"object","properties":{"id":{"type":"string","description":"The resource's unique identifier","readOnly":true},"href":{"type":"string","description":"URI for specific Contract","format":"uri","readOnly":true},"name":{"type":"string","description":"name of the contract"},"resellerReference":{"type":"string","description":"reseller reference of the contract"},"status":{"type":"string","description":"status of the contract"},"resourceLimits":{"$ref":"#/components/schemas/ResourceLimits"}}},"ResourceLimits":{"required":["cpuContractMax","cpuServerMax","hddVolumeContractMaxSize","hddVolumeMaxSize","ips","ramContractMax","ramServerMax","ssdVolumeContractMaxSize","ssdVolumeMaxSize"],"type":"object","properties":{"ramServerMax":{"type":"integer","description":"maximum ram per virtual machine","format":"int32"},"cpuServerMax":{"type":"integer","description":"maximum number of cpu per virtual machine","format":"int32"},"hddVolumeMaxSize":{"type":"integer","description":"maximum hdd volume size","format":"int32"},"ssdVolumeMaxSize":{"type":"integer","description":"maximum ssd volume size","format":"int32"},"ramContractMax":{"type":"integer","description":"maximum ram per contract","format":"int32"},"cpuContractMax":{"type":"integer","description":"maximum cpu per contract","format":"int32"},"hddVolumeContractMaxSize":{"type":"integer","description":"maximum hhd volume per contract","format":"int32"},"ssdVolumeContractMaxSize":{"type":"integer","description":"maximum ssd volume per contract","format":"int32"},"ips":{"type":"integer","description":"maximum ips per contract","format":"int32"}}},"PaginationOffsetOptional":{"type":"number","description":"The offset (if specified in the request)."},"PaginationLimitOptional":{"type":"number","description":"The limit (if specified in the request)."},"PaginationLinks":{"type":"object","properties":{"prev":{"type":"string","description":"URL (with offset and limit parameters) of the previous page; only present if offset is greater than 0.","format":"uri","readOnly":true},"self":{"type":"string","description":"URL (with offset and limit parameters) of the current page.","format":"uri","readOnly":true},"next":{"type":"string","description":"URL (with offset and limit parameters) of the next page; only present if offset + limit is less than the total number of elements.","format":"uri","readOnly":true}}},"ErrorResponse":{"type":"object","properties":{"httpStatus":{"type":"integer","description":"HTTP status code of the operation.","readOnly":true},"messages":{"type":"array","items":{"$ref":"#/components/schemas/ErrorMessage"}}}},"ErrorMessage":{"type":"object","properties":{"errorCode":{"type":"string","description":"IONOS Cloud error code."},"message":{"type":"string","description":"Limit must not exceed 5,000."}}}}},"paths":{"/contracts":{"get":{"tags":["Contract"],"summary":"Get all contracts","description":"Retrieve a paginated list of contracts, provisioned under the Master Reseller contract. Default limit is the first 50 items; use pagination query parameters for listing more items.","operationId":"findAll","parameters":[{"name":"offset","in":"query","description":"The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).","schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","description":"The maximum number of elements to return (use together with offset for pagination).","schema":{"maximum":5000,"minimum":1,"type":"integer","format":"int32","default":50}},{"name":"filter.status","in":"query","description":"Filter the list by contract status [BILLABLE, CEASED, REJECTED].","schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedContractResponseResource"}}}},"default":{"description":"Any erroneous status code: 400 (parse error), 401 (auth error), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## POST /contracts

> Create new contract

```json
{"openapi":"3.0.1","info":{"title":"Reseller API","version":"2.0"},"tags":[{"name":"Contract"}],"servers":[{"url":"/reseller/v2"}],"security":[{"BasicAuthentication":[]},{"TokenAuthentication":[]}],"components":{"securitySchemes":{"BasicAuthentication":{"type":"http","description":"You will need to base64 encode the string containing your credentials. <div style=\"padding: 15px; border: 1px solid #d1ecf1; background-color: #d1ecf1; color: #0c5460; margin-bottom: 15px;\">\n  <strong>Note:</strong><br/><br/>\n   <ul><li><b>Basic Authentication</b> is supported only when <b>2-Factor \n  Authentication</b> is not configured.</li>\n  <li>Users with <b>2-Factor \n  Authentication</b> activated must generate new 2FA-secured tokens in the DCD using [Token Manager](https://docs.ionos.com/cloud/set-up-ionos-cloud/management/identity-access-management/token-manager). \n  These tokens do not inherit the <b>2FA-secured</b> property by default.</li><li>Token deletion is only possible using the <b>Token Manager</b>.</li>\n</div> Separate your username and password with a colon, i.e., username:password and send it as 'Authorization' request header. More details: https://en.wikipedia.org/wiki/Basic_access_authentication\n","scheme":"basic"},"TokenAuthentication":{"type":"apiKey","description":"Please provide header value as 'Bearer <token>' and don't forget to add 'Bearer' HTTP Authorization Scheme before the token.","name":"Authorization","in":"header"}},"schemas":{"ContractRequestResource":{"required":["name","resourceLimits"],"type":"object","properties":{"name":{"type":"string","description":"name of the contract"},"resellerReference":{"type":"string","description":"reseller reference of the contract"},"resourceLimits":{"$ref":"#/components/schemas/ResourceLimits"}}},"ResourceLimits":{"required":["cpuContractMax","cpuServerMax","hddVolumeContractMaxSize","hddVolumeMaxSize","ips","ramContractMax","ramServerMax","ssdVolumeContractMaxSize","ssdVolumeMaxSize"],"type":"object","properties":{"ramServerMax":{"type":"integer","description":"maximum ram per virtual machine","format":"int32"},"cpuServerMax":{"type":"integer","description":"maximum number of cpu per virtual machine","format":"int32"},"hddVolumeMaxSize":{"type":"integer","description":"maximum hdd volume size","format":"int32"},"ssdVolumeMaxSize":{"type":"integer","description":"maximum ssd volume size","format":"int32"},"ramContractMax":{"type":"integer","description":"maximum ram per contract","format":"int32"},"cpuContractMax":{"type":"integer","description":"maximum cpu per contract","format":"int32"},"hddVolumeContractMaxSize":{"type":"integer","description":"maximum hhd volume per contract","format":"int32"},"ssdVolumeContractMaxSize":{"type":"integer","description":"maximum ssd volume per contract","format":"int32"},"ips":{"type":"integer","description":"maximum ips per contract","format":"int32"}}},"ContractResponseResource":{"type":"object","properties":{"id":{"type":"string","description":"The resource's unique identifier","readOnly":true},"href":{"type":"string","description":"URI for specific Contract","format":"uri","readOnly":true},"name":{"type":"string","description":"name of the contract"},"resellerReference":{"type":"string","description":"reseller reference of the contract"},"status":{"type":"string","description":"status of the contract"},"resourceLimits":{"$ref":"#/components/schemas/ResourceLimits"}}},"ErrorResponse":{"type":"object","properties":{"httpStatus":{"type":"integer","description":"HTTP status code of the operation.","readOnly":true},"messages":{"type":"array","items":{"$ref":"#/components/schemas/ErrorMessage"}}}},"ErrorMessage":{"type":"object","properties":{"errorCode":{"type":"string","description":"IONOS Cloud error code."},"message":{"type":"string","description":"Limit must not exceed 5,000."}}}}},"paths":{"/contracts":{"post":{"tags":["Contract"],"summary":"Create new contract","operationId":"createContract","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractRequestResource"}}},"required":false},"responses":{"201":{"description":"Success","headers":{"Location":{"description":"URL of newly created contract","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractResponseResource"}}}},"default":{"description":"Any erroneous status code: 400 (parse error), 401 (auth error), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## PUT /contracts/{contractNumber}/name

> Update contract name

```json
{"openapi":"3.0.1","info":{"title":"Reseller API","version":"2.0"},"tags":[{"name":"Contract"}],"servers":[{"url":"/reseller/v2"}],"security":[{"BasicAuthentication":[]},{"TokenAuthentication":[]}],"components":{"securitySchemes":{"BasicAuthentication":{"type":"http","description":"You will need to base64 encode the string containing your credentials. <div style=\"padding: 15px; border: 1px solid #d1ecf1; background-color: #d1ecf1; color: #0c5460; margin-bottom: 15px;\">\n  <strong>Note:</strong><br/><br/>\n   <ul><li><b>Basic Authentication</b> is supported only when <b>2-Factor \n  Authentication</b> is not configured.</li>\n  <li>Users with <b>2-Factor \n  Authentication</b> activated must generate new 2FA-secured tokens in the DCD using [Token Manager](https://docs.ionos.com/cloud/set-up-ionos-cloud/management/identity-access-management/token-manager). \n  These tokens do not inherit the <b>2FA-secured</b> property by default.</li><li>Token deletion is only possible using the <b>Token Manager</b>.</li>\n</div> Separate your username and password with a colon, i.e., username:password and send it as 'Authorization' request header. More details: https://en.wikipedia.org/wiki/Basic_access_authentication\n","scheme":"basic"},"TokenAuthentication":{"type":"apiKey","description":"Please provide header value as 'Bearer <token>' and don't forget to add 'Bearer' HTTP Authorization Scheme before the token.","name":"Authorization","in":"header"}},"schemas":{"ContractResponseResource":{"type":"object","properties":{"id":{"type":"string","description":"The resource's unique identifier","readOnly":true},"href":{"type":"string","description":"URI for specific Contract","format":"uri","readOnly":true},"name":{"type":"string","description":"name of the contract"},"resellerReference":{"type":"string","description":"reseller reference of the contract"},"status":{"type":"string","description":"status of the contract"},"resourceLimits":{"$ref":"#/components/schemas/ResourceLimits"}}},"ResourceLimits":{"required":["cpuContractMax","cpuServerMax","hddVolumeContractMaxSize","hddVolumeMaxSize","ips","ramContractMax","ramServerMax","ssdVolumeContractMaxSize","ssdVolumeMaxSize"],"type":"object","properties":{"ramServerMax":{"type":"integer","description":"maximum ram per virtual machine","format":"int32"},"cpuServerMax":{"type":"integer","description":"maximum number of cpu per virtual machine","format":"int32"},"hddVolumeMaxSize":{"type":"integer","description":"maximum hdd volume size","format":"int32"},"ssdVolumeMaxSize":{"type":"integer","description":"maximum ssd volume size","format":"int32"},"ramContractMax":{"type":"integer","description":"maximum ram per contract","format":"int32"},"cpuContractMax":{"type":"integer","description":"maximum cpu per contract","format":"int32"},"hddVolumeContractMaxSize":{"type":"integer","description":"maximum hhd volume per contract","format":"int32"},"ssdVolumeContractMaxSize":{"type":"integer","description":"maximum ssd volume per contract","format":"int32"},"ips":{"type":"integer","description":"maximum ips per contract","format":"int32"}}},"ErrorResponse":{"type":"object","properties":{"httpStatus":{"type":"integer","description":"HTTP status code of the operation.","readOnly":true},"messages":{"type":"array","items":{"$ref":"#/components/schemas/ErrorMessage"}}}},"ErrorMessage":{"type":"object","properties":{"errorCode":{"type":"string","description":"IONOS Cloud error code."},"message":{"type":"string","description":"Limit must not exceed 5,000."}}}}},"paths":{"/contracts/{contractNumber}/name":{"put":{"tags":["Contract"],"summary":"Update contract name","operationId":"updateName","parameters":[{"name":"contractNumber","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"text/plain":{"schema":{"type":"string"}}},"required":false},"responses":{"200":{"description":"Success","headers":{"Content-Location":{"description":"URL of modified contract","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractResponseResource"}}}},"default":{"description":"Any erroneous status code: 400 (parse error), 401 (auth error), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## PUT /contracts/{contractNumber}/resourcelimits

> Update resource limits for contract

```json
{"openapi":"3.0.1","info":{"title":"Reseller API","version":"2.0"},"tags":[{"name":"Contract"}],"servers":[{"url":"/reseller/v2"}],"security":[{"BasicAuthentication":[]},{"TokenAuthentication":[]}],"components":{"securitySchemes":{"BasicAuthentication":{"type":"http","description":"You will need to base64 encode the string containing your credentials. <div style=\"padding: 15px; border: 1px solid #d1ecf1; background-color: #d1ecf1; color: #0c5460; margin-bottom: 15px;\">\n  <strong>Note:</strong><br/><br/>\n   <ul><li><b>Basic Authentication</b> is supported only when <b>2-Factor \n  Authentication</b> is not configured.</li>\n  <li>Users with <b>2-Factor \n  Authentication</b> activated must generate new 2FA-secured tokens in the DCD using [Token Manager](https://docs.ionos.com/cloud/set-up-ionos-cloud/management/identity-access-management/token-manager). \n  These tokens do not inherit the <b>2FA-secured</b> property by default.</li><li>Token deletion is only possible using the <b>Token Manager</b>.</li>\n</div> Separate your username and password with a colon, i.e., username:password and send it as 'Authorization' request header. More details: https://en.wikipedia.org/wiki/Basic_access_authentication\n","scheme":"basic"},"TokenAuthentication":{"type":"apiKey","description":"Please provide header value as 'Bearer <token>' and don't forget to add 'Bearer' HTTP Authorization Scheme before the token.","name":"Authorization","in":"header"}},"schemas":{"ResourceLimits":{"required":["cpuContractMax","cpuServerMax","hddVolumeContractMaxSize","hddVolumeMaxSize","ips","ramContractMax","ramServerMax","ssdVolumeContractMaxSize","ssdVolumeMaxSize"],"type":"object","properties":{"ramServerMax":{"type":"integer","description":"maximum ram per virtual machine","format":"int32"},"cpuServerMax":{"type":"integer","description":"maximum number of cpu per virtual machine","format":"int32"},"hddVolumeMaxSize":{"type":"integer","description":"maximum hdd volume size","format":"int32"},"ssdVolumeMaxSize":{"type":"integer","description":"maximum ssd volume size","format":"int32"},"ramContractMax":{"type":"integer","description":"maximum ram per contract","format":"int32"},"cpuContractMax":{"type":"integer","description":"maximum cpu per contract","format":"int32"},"hddVolumeContractMaxSize":{"type":"integer","description":"maximum hhd volume per contract","format":"int32"},"ssdVolumeContractMaxSize":{"type":"integer","description":"maximum ssd volume per contract","format":"int32"},"ips":{"type":"integer","description":"maximum ips per contract","format":"int32"}}},"ContractResponseResource":{"type":"object","properties":{"id":{"type":"string","description":"The resource's unique identifier","readOnly":true},"href":{"type":"string","description":"URI for specific Contract","format":"uri","readOnly":true},"name":{"type":"string","description":"name of the contract"},"resellerReference":{"type":"string","description":"reseller reference of the contract"},"status":{"type":"string","description":"status of the contract"},"resourceLimits":{"$ref":"#/components/schemas/ResourceLimits"}}},"ErrorResponse":{"type":"object","properties":{"httpStatus":{"type":"integer","description":"HTTP status code of the operation.","readOnly":true},"messages":{"type":"array","items":{"$ref":"#/components/schemas/ErrorMessage"}}}},"ErrorMessage":{"type":"object","properties":{"errorCode":{"type":"string","description":"IONOS Cloud error code."},"message":{"type":"string","description":"Limit must not exceed 5,000."}}}}},"paths":{"/contracts/{contractNumber}/resourcelimits":{"put":{"tags":["Contract"],"summary":"Update resource limits for contract","operationId":"updateContractResourceLimits","parameters":[{"name":"contractNumber","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceLimits"}}},"required":false},"responses":{"200":{"description":"Success","headers":{"Content-Location":{"description":"URL of modified contract","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractResponseResource"}}}},"default":{"description":"Any erroneous status code: 400 (parse error), 401 (auth error), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## GET /contracts/{contractNumber}

> Find contract by ID

```json
{"openapi":"3.0.1","info":{"title":"Reseller API","version":"2.0"},"tags":[{"name":"Contract"}],"servers":[{"url":"/reseller/v2"}],"security":[{"BasicAuthentication":[]},{"TokenAuthentication":[]}],"components":{"securitySchemes":{"BasicAuthentication":{"type":"http","description":"You will need to base64 encode the string containing your credentials. <div style=\"padding: 15px; border: 1px solid #d1ecf1; background-color: #d1ecf1; color: #0c5460; margin-bottom: 15px;\">\n  <strong>Note:</strong><br/><br/>\n   <ul><li><b>Basic Authentication</b> is supported only when <b>2-Factor \n  Authentication</b> is not configured.</li>\n  <li>Users with <b>2-Factor \n  Authentication</b> activated must generate new 2FA-secured tokens in the DCD using [Token Manager](https://docs.ionos.com/cloud/set-up-ionos-cloud/management/identity-access-management/token-manager). \n  These tokens do not inherit the <b>2FA-secured</b> property by default.</li><li>Token deletion is only possible using the <b>Token Manager</b>.</li>\n</div> Separate your username and password with a colon, i.e., username:password and send it as 'Authorization' request header. More details: https://en.wikipedia.org/wiki/Basic_access_authentication\n","scheme":"basic"},"TokenAuthentication":{"type":"apiKey","description":"Please provide header value as 'Bearer <token>' and don't forget to add 'Bearer' HTTP Authorization Scheme before the token.","name":"Authorization","in":"header"}},"schemas":{"ContractResponseResource":{"type":"object","properties":{"id":{"type":"string","description":"The resource's unique identifier","readOnly":true},"href":{"type":"string","description":"URI for specific Contract","format":"uri","readOnly":true},"name":{"type":"string","description":"name of the contract"},"resellerReference":{"type":"string","description":"reseller reference of the contract"},"status":{"type":"string","description":"status of the contract"},"resourceLimits":{"$ref":"#/components/schemas/ResourceLimits"}}},"ResourceLimits":{"required":["cpuContractMax","cpuServerMax","hddVolumeContractMaxSize","hddVolumeMaxSize","ips","ramContractMax","ramServerMax","ssdVolumeContractMaxSize","ssdVolumeMaxSize"],"type":"object","properties":{"ramServerMax":{"type":"integer","description":"maximum ram per virtual machine","format":"int32"},"cpuServerMax":{"type":"integer","description":"maximum number of cpu per virtual machine","format":"int32"},"hddVolumeMaxSize":{"type":"integer","description":"maximum hdd volume size","format":"int32"},"ssdVolumeMaxSize":{"type":"integer","description":"maximum ssd volume size","format":"int32"},"ramContractMax":{"type":"integer","description":"maximum ram per contract","format":"int32"},"cpuContractMax":{"type":"integer","description":"maximum cpu per contract","format":"int32"},"hddVolumeContractMaxSize":{"type":"integer","description":"maximum hhd volume per contract","format":"int32"},"ssdVolumeContractMaxSize":{"type":"integer","description":"maximum ssd volume per contract","format":"int32"},"ips":{"type":"integer","description":"maximum ips per contract","format":"int32"}}},"ErrorResponse":{"type":"object","properties":{"httpStatus":{"type":"integer","description":"HTTP status code of the operation.","readOnly":true},"messages":{"type":"array","items":{"$ref":"#/components/schemas/ErrorMessage"}}}},"ErrorMessage":{"type":"object","properties":{"errorCode":{"type":"string","description":"IONOS Cloud error code."},"message":{"type":"string","description":"Limit must not exceed 5,000."}}}}},"paths":{"/contracts/{contractNumber}":{"get":{"tags":["Contract"],"summary":"Find contract by ID","operationId":"findById","parameters":[{"name":"contractNumber","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractResponseResource"}}}},"default":{"description":"Any erroneous status code: 400 (parse error), 401 (auth error), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## PUT /contracts/{contractNumber}

> Update contract

```json
{"openapi":"3.0.1","info":{"title":"Reseller API","version":"2.0"},"tags":[{"name":"Contract"}],"servers":[{"url":"/reseller/v2"}],"security":[{"BasicAuthentication":[]},{"TokenAuthentication":[]}],"components":{"securitySchemes":{"BasicAuthentication":{"type":"http","description":"You will need to base64 encode the string containing your credentials. <div style=\"padding: 15px; border: 1px solid #d1ecf1; background-color: #d1ecf1; color: #0c5460; margin-bottom: 15px;\">\n  <strong>Note:</strong><br/><br/>\n   <ul><li><b>Basic Authentication</b> is supported only when <b>2-Factor \n  Authentication</b> is not configured.</li>\n  <li>Users with <b>2-Factor \n  Authentication</b> activated must generate new 2FA-secured tokens in the DCD using [Token Manager](https://docs.ionos.com/cloud/set-up-ionos-cloud/management/identity-access-management/token-manager). \n  These tokens do not inherit the <b>2FA-secured</b> property by default.</li><li>Token deletion is only possible using the <b>Token Manager</b>.</li>\n</div> Separate your username and password with a colon, i.e., username:password and send it as 'Authorization' request header. More details: https://en.wikipedia.org/wiki/Basic_access_authentication\n","scheme":"basic"},"TokenAuthentication":{"type":"apiKey","description":"Please provide header value as 'Bearer <token>' and don't forget to add 'Bearer' HTTP Authorization Scheme before the token.","name":"Authorization","in":"header"}},"schemas":{"ContractRequestResource":{"required":["name","resourceLimits"],"type":"object","properties":{"name":{"type":"string","description":"name of the contract"},"resellerReference":{"type":"string","description":"reseller reference of the contract"},"resourceLimits":{"$ref":"#/components/schemas/ResourceLimits"}}},"ResourceLimits":{"required":["cpuContractMax","cpuServerMax","hddVolumeContractMaxSize","hddVolumeMaxSize","ips","ramContractMax","ramServerMax","ssdVolumeContractMaxSize","ssdVolumeMaxSize"],"type":"object","properties":{"ramServerMax":{"type":"integer","description":"maximum ram per virtual machine","format":"int32"},"cpuServerMax":{"type":"integer","description":"maximum number of cpu per virtual machine","format":"int32"},"hddVolumeMaxSize":{"type":"integer","description":"maximum hdd volume size","format":"int32"},"ssdVolumeMaxSize":{"type":"integer","description":"maximum ssd volume size","format":"int32"},"ramContractMax":{"type":"integer","description":"maximum ram per contract","format":"int32"},"cpuContractMax":{"type":"integer","description":"maximum cpu per contract","format":"int32"},"hddVolumeContractMaxSize":{"type":"integer","description":"maximum hhd volume per contract","format":"int32"},"ssdVolumeContractMaxSize":{"type":"integer","description":"maximum ssd volume per contract","format":"int32"},"ips":{"type":"integer","description":"maximum ips per contract","format":"int32"}}},"ContractResponseResource":{"type":"object","properties":{"id":{"type":"string","description":"The resource's unique identifier","readOnly":true},"href":{"type":"string","description":"URI for specific Contract","format":"uri","readOnly":true},"name":{"type":"string","description":"name of the contract"},"resellerReference":{"type":"string","description":"reseller reference of the contract"},"status":{"type":"string","description":"status of the contract"},"resourceLimits":{"$ref":"#/components/schemas/ResourceLimits"}}},"ErrorResponse":{"type":"object","properties":{"httpStatus":{"type":"integer","description":"HTTP status code of the operation.","readOnly":true},"messages":{"type":"array","items":{"$ref":"#/components/schemas/ErrorMessage"}}}},"ErrorMessage":{"type":"object","properties":{"errorCode":{"type":"string","description":"IONOS Cloud error code."},"message":{"type":"string","description":"Limit must not exceed 5,000."}}}}},"paths":{"/contracts/{contractNumber}":{"put":{"tags":["Contract"],"summary":"Update contract","operationId":"updateContract","parameters":[{"name":"contractNumber","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractRequestResource"}}},"required":false},"responses":{"200":{"description":"Success","headers":{"Content-Location":{"description":"URL of modified contract","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractResponseResource"}}}},"default":{"description":"Any erroneous status code: 400 (parse error), 401 (auth error), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```
