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
- 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)
]
- 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)
- reasonstring
- scheduledAtDatestring (date-time)required
- scheduledByUserIdstring
- targetDatestring (date-time)required
[
{
"additionalItems": [
{
"activationDate": "2024-11-23T00:28:25.282Z",
"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-11-23T00:28:25.282Z",
"invoicingPeriod": 1,
"isActivated": true,
"isBaseItem": true,
"isInFreeTrial": true,
"isInclusive": true,
"itemId": "f0f86186-0a5a-45b2-aa33-502777496347",
"nextPossibleDowngradeDate": "2024-11-23T00:28:25.282Z",
"nextPossibleTerminationDate": "2024-11-23T00:28:25.282Z",
"nextPossibleUpgradeDate": "2024-11-23T00:28:25.282Z",
"orderDate": "2024-11-23T00:28:25.282Z",
"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-11-23T00:28:25.282Z",
"scheduledByUserId": "string",
"targetDate": "2024-11-23T00:28:25.282Z"
},
"termination": {
"reason": "Not needed anymore",
"scheduledAtDate": "2024-11-23T00:28:25.282Z",
"scheduledByUserId": "string",
"targetDate": "2024-11-23T00:28:25.282Z"
},
"totalPrice": {
"currency": "EUR",
"value": 100
}
}
],
"baseItem": {
"activationDate": "2024-11-23T00:28:25.282Z",
"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-11-23T00:28:25.282Z",
"invoicingPeriod": 1,
"isActivated": true,
"isBaseItem": true,
"isInFreeTrial": true,
"isInclusive": true,
"itemId": "f0f86186-0a5a-45b2-aa33-502777496347",
"nextPossibleDowngradeDate": "2024-11-23T00:28:25.282Z",
"nextPossibleTerminationDate": "2024-11-23T00:28:25.282Z",
"nextPossibleUpgradeDate": "2024-11-23T00:28:25.282Z",
"orderDate": "2024-11-23T00:28:25.282Z",
"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-11-23T00:28:25.282Z",
"scheduledByUserId": "string",
"targetDate": "2024-11-23T00:28:25.282Z"
},
"termination": {
"reason": "Not needed anymore",
"scheduledAtDate": "2024-11-23T00:28:25.282Z",
"scheduledByUserId": "string",
"targetDate": "2024-11-23T00:28:25.282Z"
},
"totalPrice": {
"currency": "EUR",
"value": 100
}
},
"contractId": "f0f86186-0a5a-45b2-aa33-502777496347",
"contractNumber": "V1234567",
"customerId": "3a201faa-5160-47e0-a758-325ba794b543",
"termination": {
"reason": "Not needed anymore",
"scheduledAtDate": "2024-11-23T00:28:25.282Z",
"scheduledByUserId": "string",
"targetDate": "2024-11-23T00:28:25.282Z"
}
}
]
{
"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": {
"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": {
"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": {
"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();