Return a list of Contracts for the given Customer
GET/customers/ {customerId}/ contracts/
Request
- customerIdstring (uuid)required
The uuid of the Customer from whom all Contracts are to be returned.
Example:"97cecfa0-2c3c-4272-a510-c775fcaade01"
Responses
Return the Contracts that belong to the Customer.
- Schema documentation
- Example
- JSON Schema
- Array[
- *object
- additionalItemsarray of object
- Array[
- *object
- activationDatestring (date-time)
- aggregateReferenceobject
- aggregatestringrequired
- domainstringrequired
- idstringrequired
- articlesarray of objectrequired
- Array[
- *object
- amountinteger (≥ 1)required
- articleTemplateIdstringrequired
- descriptionstring
- idstringrequired
- namestringrequired
- unitPriceobjectrequired
- currency"EUR"required
- valueintegerrequired
The value of the price in the smallest currency unit (e.g. cents)
]
- contractPeriodnumber (≥ 0)required
- descriptionstringrequired
- freeTrialDaysnumber
- groupByProjectIdstring (uuid)
- invoiceStopstring (date-time)
If this attribute is set, the contract item will currently only be invoiced until this date.
- invoicingPeriodnumber
- isActivatedbooleanrequired
- isBaseItembooleanrequired
- isInFreeTrialboolean
- isInclusiveboolean
- itemIdstring (uuid)required
- nextPossibleDowngradeDatestring (date-time)
If this attribute is not set, termination is not allowed.
- nextPossibleTerminationDatestring (date-time)
If this attribute is not set, a tariff change is not allowed.
- nextPossibleUpgradeDatestring (date-time)
If this attribute is not set, a tariff change is not allowed.
- orderDatestring (date-time)
- orderIdstring (uuid)
- replacedByItemstring (uuid)
- tariffChangeobject
- newArticlesarray of objectrequired
- Array[
- *object
- amountinteger (≥ 1)required
- articleTemplateIdstringrequired
- descriptionstring
- idstringrequired
- namestringrequired
- unitPriceobjectrequired
- currency"EUR"required
- valueintegerrequired
The value of the price in the smallest currency unit (e.g. cents)
]
- scheduledAtDatestring (date-time)required
- scheduledByUserIdstring
- targetDatestring (date-time)required
- terminationobject
- cancellationForbiddenboolean
Indicates whether the User is allowed to cancel the Termination.
- reasonstring
- scheduledAtDatestring (date-time)required
- scheduledByUserIdstring
- targetDatestring (date-time)required
- totalPriceobjectrequired
- currency"EUR"required
- valueintegerrequired
The value of the price in the smallest currency unit (e.g. cents)
- activationDatestring (date-time)
- aggregateReferenceobject
- aggregatestringrequired
- domainstringrequired
- idstringrequired
- articlesarray of objectrequired
- Array[
- *object
- amountinteger (≥ 1)required
- articleTemplateIdstringrequired
- descriptionstring
- idstringrequired
- namestringrequired
- unitPriceobjectrequired
- currency"EUR"required
- valueintegerrequired
The value of the price in the smallest currency unit (e.g. cents)
]
If this attribute is set, the contract item will currently only be invoiced until this date.
If this attribute is not set, termination is not allowed.
If this attribute is not set, a tariff change is not allowed.
If this attribute is not set, a tariff change is not allowed.
- newArticlesarray of objectrequired
- Array[
- *object
- amountinteger (≥ 1)required
- articleTemplateIdstringrequired
- descriptionstring
- idstringrequired
- namestringrequired
- unitPriceobjectrequired
- currency"EUR"required
- valueintegerrequired
The value of the price in the smallest currency unit (e.g. cents)
]
- cancellationForbiddenboolean
Indicates whether the User is allowed to cancel the Termination.
- reasonstring
- scheduledAtDatestring (date-time)required
- scheduledByUserIdstring
- targetDatestring (date-time)required
- currency"EUR"required
- valueintegerrequired
The value of the price in the smallest currency unit (e.g. cents)
- cancellationForbiddenboolean
Indicates whether the User is allowed to cancel the Termination.
- reasonstring
- scheduledAtDatestring (date-time)required
- scheduledByUserIdstring
- targetDatestring (date-time)required
[
{
"additionalItems": [
{
"activationDate": "2024-12-24T00:27:58.348Z",
"aggregateReference": {
"aggregate": "project",
"domain": "project",
"id": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56"
},
"articles": [
{
"amount": 1,
"articleTemplateId": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"description": "Musterbeschreibung",
"id": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"name": "Musterartikel",
"unitPrice": {
"currency": "EUR",
"value": 100
}
}
],
"contractPeriod": 1,
"description": "Space-Server: \"Mein Space-Server\"",
"freeTrialDays": 10,
"groupByProjectId": "f0f86186-0a5a-45b2-aa33-502777496347",
"invoiceStop": "2024-12-24T00:27:58.348Z",
"invoicingPeriod": 1,
"isActivated": true,
"isBaseItem": true,
"isInFreeTrial": true,
"isInclusive": true,
"itemId": "f0f86186-0a5a-45b2-aa33-502777496347",
"nextPossibleDowngradeDate": "2024-12-24T00:27:58.348Z",
"nextPossibleTerminationDate": "2024-12-24T00:27:58.349Z",
"nextPossibleUpgradeDate": "2024-12-24T00:27:58.349Z",
"orderDate": "2024-12-24T00:27:58.349Z",
"orderId": "f0f86186-0a5a-45b2-aa33-502777496347",
"replacedByItem": "f0f86186-0a5a-45b2-aa33-502777496347",
"tariffChange": {
"newArticles": [
{
"amount": 1,
"articleTemplateId": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"description": "Musterbeschreibung",
"id": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"name": "Musterartikel",
"unitPrice": {
"currency": "EUR",
"value": 100
}
}
],
"scheduledAtDate": "2024-12-24T00:27:58.349Z",
"scheduledByUserId": "string",
"targetDate": "2024-12-24T00:27:58.349Z"
},
"termination": {
"cancellationForbidden": true,
"reason": "Not needed anymore",
"scheduledAtDate": "2024-12-24T00:27:58.349Z",
"scheduledByUserId": "string",
"targetDate": "2024-12-24T00:27:58.349Z"
},
"totalPrice": {
"currency": "EUR",
"value": 100
}
}
],
"baseItem": {
"activationDate": "2024-12-24T00:27:58.349Z",
"aggregateReference": {
"aggregate": "project",
"domain": "project",
"id": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56"
},
"articles": [
{
"amount": 1,
"articleTemplateId": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"description": "Musterbeschreibung",
"id": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"name": "Musterartikel",
"unitPrice": {
"currency": "EUR",
"value": 100
}
}
],
"contractPeriod": 1,
"description": "Space-Server: \"Mein Space-Server\"",
"freeTrialDays": 10,
"groupByProjectId": "f0f86186-0a5a-45b2-aa33-502777496347",
"invoiceStop": "2024-12-24T00:27:58.349Z",
"invoicingPeriod": 1,
"isActivated": true,
"isBaseItem": true,
"isInFreeTrial": true,
"isInclusive": true,
"itemId": "f0f86186-0a5a-45b2-aa33-502777496347",
"nextPossibleDowngradeDate": "2024-12-24T00:27:58.349Z",
"nextPossibleTerminationDate": "2024-12-24T00:27:58.349Z",
"nextPossibleUpgradeDate": "2024-12-24T00:27:58.349Z",
"orderDate": "2024-12-24T00:27:58.349Z",
"orderId": "f0f86186-0a5a-45b2-aa33-502777496347",
"replacedByItem": "f0f86186-0a5a-45b2-aa33-502777496347",
"tariffChange": {
"newArticles": [
{
"amount": 1,
"articleTemplateId": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"description": "Musterbeschreibung",
"id": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"name": "Musterartikel",
"unitPrice": {
"currency": "EUR",
"value": 100
}
}
],
"scheduledAtDate": "2024-12-24T00:27:58.349Z",
"scheduledByUserId": "string",
"targetDate": "2024-12-24T00:27:58.349Z"
},
"termination": {
"cancellationForbidden": true,
"reason": "Not needed anymore",
"scheduledAtDate": "2024-12-24T00:27:58.349Z",
"scheduledByUserId": "string",
"targetDate": "2024-12-24T00:27:58.349Z"
},
"totalPrice": {
"currency": "EUR",
"value": 100
}
},
"contractId": "f0f86186-0a5a-45b2-aa33-502777496347",
"contractNumber": "V1234567",
"customerId": "3a201faa-5160-47e0-a758-325ba794b543",
"termination": {
"cancellationForbidden": true,
"reason": "Not needed anymore",
"scheduledAtDate": "2024-12-24T00:27:58.349Z",
"scheduledByUserId": "string",
"targetDate": "2024-12-24T00:27:58.349Z"
}
}
]
{
"items": {
"properties": {
"additionalItems": {
"items": {
"properties": {
"activationDate": {
"format": "date-time",
"type": "string"
},
"aggregateReference": {
"properties": {
"aggregate": {
"example": "project",
"type": "string"
},
"domain": {
"example": "project",
"type": "string"
},
"id": {
"example": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"type": "string"
}
},
"required": [
"id",
"domain",
"aggregate"
],
"type": "object"
},
"articles": {
"items": {
"properties": {
"amount": {
"example": 1,
"minimum": 1,
"type": "integer"
},
"articleTemplateId": {
"example": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"type": "string"
},
"description": {
"example": "Musterbeschreibung",
"type": "string"
},
"id": {
"example": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"type": "string"
},
"name": {
"example": "Musterartikel",
"type": "string"
},
"unitPrice": {
"properties": {
"currency": {
"enum": [
"EUR"
],
"type": "string"
},
"value": {
"description": "The value of the price in the smallest currency unit (e.g. cents)",
"example": 100,
"type": "integer"
}
},
"required": [
"value",
"currency"
],
"type": "object"
}
},
"required": [
"id",
"name",
"articleTemplateId",
"amount",
"unitPrice"
],
"type": "object"
},
"type": "array"
},
"contractPeriod": {
"example": 1,
"minimum": 0,
"type": "number"
},
"description": {
"example": "Space-Server: \"Mein Space-Server\"",
"type": "string"
},
"freeTrialDays": {
"example": 10,
"type": "number"
},
"groupByProjectId": {
"format": "uuid",
"type": "string"
},
"invoiceStop": {
"description": "If this attribute is set, the contract item will currently only be invoiced until this date.",
"format": "date-time",
"type": "string"
},
"invoicingPeriod": {
"example": 1,
"type": "number"
},
"isActivated": {
"type": "boolean"
},
"isBaseItem": {
"type": "boolean"
},
"isInFreeTrial": {
"type": "boolean"
},
"isInclusive": {
"type": "boolean"
},
"itemId": {
"format": "uuid",
"type": "string"
},
"nextPossibleDowngradeDate": {
"description": "If this attribute is not set, termination is not allowed.",
"format": "date-time",
"type": "string"
},
"nextPossibleTerminationDate": {
"description": "If this attribute is not set, a tariff change is not allowed.",
"format": "date-time",
"type": "string"
},
"nextPossibleUpgradeDate": {
"description": "If this attribute is not set, a tariff change is not allowed.",
"format": "date-time",
"type": "string"
},
"orderDate": {
"format": "date-time",
"type": "string"
},
"orderId": {
"format": "uuid",
"type": "string"
},
"replacedByItem": {
"format": "uuid",
"type": "string"
},
"tariffChange": {
"properties": {
"newArticles": {
"items": {
"properties": {
"amount": {
"example": 1,
"minimum": 1,
"type": "integer"
},
"articleTemplateId": {
"example": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"type": "string"
},
"description": {
"example": "Musterbeschreibung",
"type": "string"
},
"id": {
"example": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"type": "string"
},
"name": {
"example": "Musterartikel",
"type": "string"
},
"unitPrice": {
"properties": {
"currency": {
"enum": [
"EUR"
],
"type": "string"
},
"value": {
"description": "The value of the price in the smallest currency unit (e.g. cents)",
"example": 100,
"type": "integer"
}
},
"required": [
"value",
"currency"
],
"type": "object"
}
},
"required": [
"id",
"name",
"articleTemplateId",
"amount",
"unitPrice"
],
"type": "object"
},
"type": "array"
},
"scheduledAtDate": {
"format": "date-time",
"type": "string"
},
"scheduledByUserId": {
"type": "string"
},
"targetDate": {
"format": "date-time",
"type": "string"
}
},
"required": [
"scheduledAtDate",
"targetDate",
"newArticles"
],
"type": "object"
},
"termination": {
"properties": {
"cancellationForbidden": {
"description": "Indicates whether the User is allowed to cancel the Termination.",
"type": "boolean"
},
"reason": {
"example": "Not needed anymore",
"type": "string"
},
"scheduledAtDate": {
"format": "date-time",
"type": "string"
},
"scheduledByUserId": {
"type": "string"
},
"targetDate": {
"format": "date-time",
"type": "string"
}
},
"required": [
"scheduledAtDate",
"targetDate"
],
"type": "object"
},
"totalPrice": {
"properties": {
"currency": {
"enum": [
"EUR"
],
"type": "string"
},
"value": {
"description": "The value of the price in the smallest currency unit (e.g. cents)",
"example": 100,
"type": "integer"
}
},
"required": [
"value",
"currency"
],
"type": "object"
}
},
"required": [
"itemId",
"isActivated",
"contractPeriod",
"articles",
"totalPrice",
"description",
"isBaseItem"
],
"type": "object"
},
"type": "array"
},
"baseItem": {
"properties": {
"activationDate": {
"format": "date-time",
"type": "string"
},
"aggregateReference": {
"properties": {
"aggregate": {
"example": "project",
"type": "string"
},
"domain": {
"example": "project",
"type": "string"
},
"id": {
"example": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"type": "string"
}
},
"required": [
"id",
"domain",
"aggregate"
],
"type": "object"
},
"articles": {
"items": {
"properties": {
"amount": {
"example": 1,
"minimum": 1,
"type": "integer"
},
"articleTemplateId": {
"example": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"type": "string"
},
"description": {
"example": "Musterbeschreibung",
"type": "string"
},
"id": {
"example": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"type": "string"
},
"name": {
"example": "Musterartikel",
"type": "string"
},
"unitPrice": {
"properties": {
"currency": {
"enum": [
"EUR"
],
"type": "string"
},
"value": {
"description": "The value of the price in the smallest currency unit (e.g. cents)",
"example": 100,
"type": "integer"
}
},
"required": [
"value",
"currency"
],
"type": "object"
}
},
"required": [
"id",
"name",
"articleTemplateId",
"amount",
"unitPrice"
],
"type": "object"
},
"type": "array"
},
"contractPeriod": {
"example": 1,
"minimum": 0,
"type": "number"
},
"description": {
"example": "Space-Server: \"Mein Space-Server\"",
"type": "string"
},
"freeTrialDays": {
"example": 10,
"type": "number"
},
"groupByProjectId": {
"format": "uuid",
"type": "string"
},
"invoiceStop": {
"description": "If this attribute is set, the contract item will currently only be invoiced until this date.",
"format": "date-time",
"type": "string"
},
"invoicingPeriod": {
"example": 1,
"type": "number"
},
"isActivated": {
"type": "boolean"
},
"isBaseItem": {
"type": "boolean"
},
"isInFreeTrial": {
"type": "boolean"
},
"isInclusive": {
"type": "boolean"
},
"itemId": {
"format": "uuid",
"type": "string"
},
"nextPossibleDowngradeDate": {
"description": "If this attribute is not set, termination is not allowed.",
"format": "date-time",
"type": "string"
},
"nextPossibleTerminationDate": {
"description": "If this attribute is not set, a tariff change is not allowed.",
"format": "date-time",
"type": "string"
},
"nextPossibleUpgradeDate": {
"description": "If this attribute is not set, a tariff change is not allowed.",
"format": "date-time",
"type": "string"
},
"orderDate": {
"format": "date-time",
"type": "string"
},
"orderId": {
"format": "uuid",
"type": "string"
},
"replacedByItem": {
"format": "uuid",
"type": "string"
},
"tariffChange": {
"properties": {
"newArticles": {
"items": {
"properties": {
"amount": {
"example": 1,
"minimum": 1,
"type": "integer"
},
"articleTemplateId": {
"example": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"type": "string"
},
"description": {
"example": "Musterbeschreibung",
"type": "string"
},
"id": {
"example": "a1b8f0e9-904f-4716-a1c0-81ccf5342a56",
"type": "string"
},
"name": {
"example": "Musterartikel",
"type": "string"
},
"unitPrice": {
"properties": {
"currency": {
"enum": [
"EUR"
],
"type": "string"
},
"value": {
"description": "The value of the price in the smallest currency unit (e.g. cents)",
"example": 100,
"type": "integer"
}
},
"required": [
"value",
"currency"
],
"type": "object"
}
},
"required": [
"id",
"name",
"articleTemplateId",
"amount",
"unitPrice"
],
"type": "object"
},
"type": "array"
},
"scheduledAtDate": {
"format": "date-time",
"type": "string"
},
"scheduledByUserId": {
"type": "string"
},
"targetDate": {
"format": "date-time",
"type": "string"
}
},
"required": [
"scheduledAtDate",
"targetDate",
"newArticles"
],
"type": "object"
},
"termination": {
"properties": {
"cancellationForbidden": {
"description": "Indicates whether the User is allowed to cancel the Termination.",
"type": "boolean"
},
"reason": {
"example": "Not needed anymore",
"type": "string"
},
"scheduledAtDate": {
"format": "date-time",
"type": "string"
},
"scheduledByUserId": {
"type": "string"
},
"targetDate": {
"format": "date-time",
"type": "string"
}
},
"required": [
"scheduledAtDate",
"targetDate"
],
"type": "object"
},
"totalPrice": {
"properties": {
"currency": {
"enum": [
"EUR"
],
"type": "string"
},
"value": {
"description": "The value of the price in the smallest currency unit (e.g. cents)",
"example": 100,
"type": "integer"
}
},
"required": [
"value",
"currency"
],
"type": "object"
}
},
"required": [
"itemId",
"isActivated",
"contractPeriod",
"articles",
"totalPrice",
"description",
"isBaseItem"
],
"type": "object"
},
"contractId": {
"format": "uuid",
"type": "string"
},
"contractNumber": {
"example": "V1234567",
"type": "string"
},
"customerId": {
"example": "3a201faa-5160-47e0-a758-325ba794b543",
"type": "string"
},
"termination": {
"properties": {
"cancellationForbidden": {
"description": "Indicates whether the User is allowed to cancel the Termination.",
"type": "boolean"
},
"reason": {
"example": "Not needed anymore",
"type": "string"
},
"scheduledAtDate": {
"format": "date-time",
"type": "string"
},
"scheduledByUserId": {
"type": "string"
},
"targetDate": {
"format": "date-time",
"type": "string"
}
},
"required": [
"scheduledAtDate",
"targetDate"
],
"type": "object"
}
},
"required": [
"contractId",
"contractNumber",
"customerId",
"baseItem"
],
"type": "object"
},
"type": "array"
}
Usage examples
- cURL
- JavaScript SDK
- PHP SDK
$ curl \
--fail \
--location \
-H "Authorization: Bearer $MITTWALD_API_TOKEN" \
https://api.mittwald.de/v2/customers/f0f86186-0a5a-45b2-aa33-502777496347/contracts?limit=50&page=1
import { MittwaldAPIV2Client } from "@mittwald/api-client";
import { assertStatus } from "@mittwald/api-client-commons";
const client = MittwaldAPIClient.newWithToken(process.env.MITTWALD_API_TOKEN);
const response = await client.contract.listContracts({
"customerId": "f0f86186-0a5a-45b2-aa33-502777496347",
"queryParameters": {
"limit": 50,
"page": 1
}
});
assertStatus(response, 200);
use \Mittwald\ApiClient\Generated\V2\Clients\Contract\ListContracts\ListContractsRequest;
$client = MittwaldAPIClient::newWithToken(getenv('MITTWALD_API_TOKEN'));
$request = (new ListContractsRequest(
customerId: "f0f86186-0a5a-45b2-aa33-502777496347"
))
->withLimit(50)
->withPage(1);
$response = $client->contract()->listContracts($request);
var_dump($response->getBody();