Return the Contract for the given Project
GET/projects/ {projectId}/ contract/
Request
- projectIdstring (uuid)requiredBeispiel:
"0a6de990-b33f-4cf8-adba-025a26515657"
Responses
Returns an active Contract for the given Project.
- Schema-Dokumentation
- Beispiel
- JSON Schema
- 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-08T18:11:36.122Z",
"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-08T18:11:36.122Z",
"invoicingPeriod": 1,
"isActivated": true,
"isBaseItem": true,
"isInFreeTrial": true,
"isInclusive": true,
"itemId": "f0f86186-0a5a-45b2-aa33-502777496347",
"nextPossibleDowngradeDate": "2024-11-08T18:11:36.122Z",
"nextPossibleTerminationDate": "2024-11-08T18:11:36.122Z",
"nextPossibleUpgradeDate": "2024-11-08T18:11:36.122Z",
"orderDate": "2024-11-08T18:11:36.122Z",
"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-08T18:11:36.122Z",
"scheduledByUserId": "string",
"targetDate": "2024-11-08T18:11:36.122Z"
},
"termination": {
"reason": "Not needed anymore",
"scheduledAtDate": "2024-11-08T18:11:36.122Z",
"scheduledByUserId": "string",
"targetDate": "2024-11-08T18:11:36.122Z"
},
"totalPrice": {
"currency": "EUR",
"value": 100
}
}
],
"baseItem": {
"activationDate": "2024-11-08T18:11:36.122Z",
"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-08T18:11:36.122Z",
"invoicingPeriod": 1,
"isActivated": true,
"isBaseItem": true,
"isInFreeTrial": true,
"isInclusive": true,
"itemId": "f0f86186-0a5a-45b2-aa33-502777496347",
"nextPossibleDowngradeDate": "2024-11-08T18:11:36.122Z",
"nextPossibleTerminationDate": "2024-11-08T18:11:36.122Z",
"nextPossibleUpgradeDate": "2024-11-08T18:11:36.122Z",
"orderDate": "2024-11-08T18:11:36.122Z",
"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-08T18:11:36.122Z",
"scheduledByUserId": "string",
"targetDate": "2024-11-08T18:11:36.122Z"
},
"termination": {
"reason": "Not needed anymore",
"scheduledAtDate": "2024-11-08T18:11:36.122Z",
"scheduledByUserId": "string",
"targetDate": "2024-11-08T18:11:36.122Z"
},
"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-08T18:11:36.122Z",
"scheduledByUserId": "string",
"targetDate": "2024-11-08T18:11:36.122Z"
}
}
{
"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"
}
Usage examples
- cURL
- JavaScript SDK
- PHP SDK
$ curl \
--fail \
--location \
-H "Authorization: Bearer $MITTWALD_API_TOKEN" \
https://api.mittwald.de/v2/projects/f0f86186-0a5a-45b2-aa33-502777496347/contract
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.getDetailOfContractByProject({
"projectId": "f0f86186-0a5a-45b2-aa33-502777496347"
});
assertStatus(response, 200);
use \Mittwald\ApiClient\Generated\V2\Clients\Contract\GetDetailOfContractByProject\GetDetailOfContractByProjectRequest;
$client = MittwaldAPIClient::newWithToken(getenv('MITTWALD_API_TOKEN'));
$request = (new GetDetailOfContractByProjectRequest(
projectId: "f0f86186-0a5a-45b2-aa33-502777496347"
));
$response = $client->contract()->getDetailOfContractByProject($request);
var_dump($response->getBody();