Download OpenAPI specification:
Procurement system of ACME analog Inc. and system of record for suppliers, raw materials & energy, supply contracts (prices, tiers, lead times) and the material stock (warehouse).
Procurements (material/energy) go through approval — like sales: above the threshold an approval is required; the approval rule (signing authority) comes from ACMEhr. Confirmed procurements feed port imports, the warehouse and power plants. Stock is consumed by the production cycle (consumption).
Roles (ACMEbase): WATCH reads, WORK writes operationally (procurement/approval/consumption), ADMIN maintains master data (materials) and the reset. Per operation under x-required-role; hierarchy ADMIN > WORK > WATCH.
| status | string (SupplierStatus) Enum: "PROSPECT" "ACTIVE" "BLOCKED" |
| q | string |
| id required | string |
| name required | string |
| status required | string (SupplierStatus) Enum: "PROSPECT" "ACTIVE" "BLOCKED" |
string or null <email> | |
| country | string or null |
[- {
- "id": "string",
- "name": "Rohstoff Handels AG",
- "status": "PROSPECT",
- "email": "user@example.com",
- "country": "DE"
}
]| name required | string |
| status | string (SupplierStatus) Enum: "PROSPECT" "ACTIVE" "BLOCKED" |
string <email> | |
| country | string |
| id required | string |
| name required | string |
| status required | string (SupplierStatus) Enum: "PROSPECT" "ACTIVE" "BLOCKED" |
string or null <email> | |
| country | string or null |
{- "name": "string",
- "status": "PROSPECT",
- "email": "user@example.com",
- "country": "string"
}{- "id": "string",
- "name": "Rohstoff Handels AG",
- "status": "PROSPECT",
- "email": "user@example.com",
- "country": "DE"
}| id required | string |
| id required | string |
| name required | string |
| status required | string (SupplierStatus) Enum: "PROSPECT" "ACTIVE" "BLOCKED" |
string or null <email> | |
| country | string or null |
{- "id": "string",
- "name": "Rohstoff Handels AG",
- "status": "PROSPECT",
- "email": "user@example.com",
- "country": "DE"
}| id required | string |
| name required | string |
| status | string (SupplierStatus) Enum: "PROSPECT" "ACTIVE" "BLOCKED" |
string <email> | |
| country | string |
| id required | string |
| name required | string |
| status required | string (SupplierStatus) Enum: "PROSPECT" "ACTIVE" "BLOCKED" |
string or null <email> | |
| country | string or null |
{- "name": "string",
- "status": "PROSPECT",
- "email": "user@example.com",
- "country": "string"
}{- "id": "string",
- "name": "Rohstoff Handels AG",
- "status": "PROSPECT",
- "email": "user@example.com",
- "country": "DE"
}| kind | string (MaterialKind) Enum: "RAW_MATERIAL" "ENERGY" |
| q | string |
| id required | string |
| code required | string |
| name required | string |
| kind required | string (MaterialKind) Enum: "RAW_MATERIAL" "ENERGY" |
| unit required | string |
[- {
- "id": "string",
- "code": "STAHL",
- "name": "Stahlblech",
- "kind": "RAW_MATERIAL",
- "unit": "kg"
}
]| code required | string |
| name required | string |
| kind required | string (MaterialKind) Enum: "RAW_MATERIAL" "ENERGY" |
| unit | string |
| id required | string |
| code required | string |
| name required | string |
| kind required | string (MaterialKind) Enum: "RAW_MATERIAL" "ENERGY" |
| unit required | string |
{- "code": "string",
- "name": "string",
- "kind": "RAW_MATERIAL",
- "unit": "string"
}{- "id": "string",
- "code": "STAHL",
- "name": "Stahlblech",
- "kind": "RAW_MATERIAL",
- "unit": "kg"
}| id required | string |
| id required | string |
| code required | string |
| name required | string |
| kind required | string (MaterialKind) Enum: "RAW_MATERIAL" "ENERGY" |
| unit required | string |
{- "id": "string",
- "code": "STAHL",
- "name": "Stahlblech",
- "kind": "RAW_MATERIAL",
- "unit": "kg"
}| id required | string |
| code required | string |
| name required | string |
| kind required | string (MaterialKind) Enum: "RAW_MATERIAL" "ENERGY" |
| unit | string |
| id required | string |
| code required | string |
| name required | string |
| kind required | string (MaterialKind) Enum: "RAW_MATERIAL" "ENERGY" |
| unit required | string |
{- "code": "string",
- "name": "string",
- "kind": "RAW_MATERIAL",
- "unit": "string"
}{- "id": "string",
- "code": "STAHL",
- "name": "Stahlblech",
- "kind": "RAW_MATERIAL",
- "unit": "kg"
}| supplierId | string |
| materialId | string |
| id required | string |
| supplierId required | string |
| supplierName | string |
| materialId required | string |
| materialName | string |
| currency required | string = 3 characters |
| leadTimeDays required | integer Lead time in days. |
object (DateRange) Validity period. | |
required | Array of objects (Tier) |
[- {
- "id": "string",
- "supplierId": "string",
- "supplierName": "string",
- "materialId": "string",
- "materialName": "string",
- "currency": "EUR",
- "leadTimeDays": 0,
- "validity": {
- "from": "2019-08-24",
- "until": "2019-08-24"
}, - "tiers": [
- {
- "minQuantity": 1,
- "unitPrice": 0
}
]
}
]| supplierId required | string |
| materialId required | string |
| currency required | string = 3 characters |
| leadTimeDays required | integer |
| validFrom | string <date> |
| validUntil | string or null <date> |
required | Array of objects (Tier) non-empty |
| id required | string |
| supplierId required | string |
| supplierName | string |
| materialId required | string |
| materialName | string |
| currency required | string = 3 characters |
| leadTimeDays required | integer Lead time in days. |
object (DateRange) Validity period. | |
required | Array of objects (Tier) |
{- "supplierId": "string",
- "materialId": "string",
- "currency": "str",
- "leadTimeDays": 0,
- "validFrom": "2019-08-24",
- "validUntil": "2019-08-24",
- "tiers": [
- {
- "minQuantity": 1,
- "unitPrice": 0
}
]
}{- "id": "string",
- "supplierId": "string",
- "supplierName": "string",
- "materialId": "string",
- "materialName": "string",
- "currency": "EUR",
- "leadTimeDays": 0,
- "validity": {
- "from": "2019-08-24",
- "until": "2019-08-24"
}, - "tiers": [
- {
- "minQuantity": 1,
- "unitPrice": 0
}
]
}| id required | string |
| id required | string |
| supplierId required | string |
| supplierName | string |
| materialId required | string |
| materialName | string |
| currency required | string = 3 characters |
| leadTimeDays required | integer Lead time in days. |
object (DateRange) Validity period. | |
required | Array of objects (Tier) |
{- "id": "string",
- "supplierId": "string",
- "supplierName": "string",
- "materialId": "string",
- "materialName": "string",
- "currency": "EUR",
- "leadTimeDays": 0,
- "validity": {
- "from": "2019-08-24",
- "until": "2019-08-24"
}, - "tiers": [
- {
- "minQuantity": 1,
- "unitPrice": 0
}
]
}Returns the unit price applicable for supplier + material + quantity (best tier) and the lead time.
| supplierId required | string |
| materialId required | string |
| quantity | integer >= 1 Default: 1 |
| supplierId required | string |
| materialId required | string |
| quantity required | integer |
| unitPrice required | number |
| currency | string |
| leadTimeDays required | integer |
| contractId | string or null |
{- "supplierId": "string",
- "materialId": "string",
- "quantity": 0,
- "unitPrice": 0,
- "currency": "string",
- "leadTimeDays": 0,
- "contractId": "string"
}| supplierId | string |
| status | string (SupplyOrderStatus) Enum: "CREATED" "PENDING_APPROVAL" "APPROVED" "REJECTED" "RECEIVED" "CANCELLED" |
| id required | string |
| supplierId required | string |
| supplierName | string |
| status required | string (SupplyOrderStatus) Enum: "CREATED" "PENDING_APPROVAL" "APPROVED" "REJECTED" "RECEIVED" "CANCELLED" |
| orderDate required | string <date> |
| expectedDeliveryDate | string or null <date> orderDate + max. lead time. |
required | Array of objects (Line) |
required | object (Money) Monetary amount. |
object (Approval) E-approval status of an order/procurement. | |
| note | string or null |
[- {
- "id": "string",
- "supplierId": "string",
- "supplierName": "string",
- "status": "CREATED",
- "orderDate": "2019-08-24",
- "expectedDeliveryDate": "2019-08-24",
- "lines": [
- {
- "materialId": "string",
- "materialName": "string",
- "quantity": 0,
- "unitPrice": 0,
- "lineTotal": 0
}
], - "total": {
- "amount": 50000,
- "currency": "EUR",
- "unlimited": false
}, - "approval": {
- "required": true,
- "approverId": "string",
- "decision": "APPROVE",
- "decidedOn": "2019-08-24",
- "comment": "string"
}, - "note": "string"
}
]| supplierId required | string |
required | Array of objects (LineWrite) non-empty |
| note | string or null |
| id required | string |
| supplierId required | string |
| supplierName | string |
| status required | string (SupplyOrderStatus) Enum: "CREATED" "PENDING_APPROVAL" "APPROVED" "REJECTED" "RECEIVED" "CANCELLED" |
| orderDate required | string <date> |
| expectedDeliveryDate | string or null <date> orderDate + max. lead time. |
required | Array of objects (Line) |
required | object (Money) Monetary amount. |
object (Approval) E-approval status of an order/procurement. | |
| note | string or null |
{- "supplierId": "string",
- "lines": [
- {
- "materialId": "string",
- "quantity": 1,
- "unitPrice": 0
}
], - "note": "string"
}{- "id": "string",
- "supplierId": "string",
- "supplierName": "string",
- "status": "CREATED",
- "orderDate": "2019-08-24",
- "expectedDeliveryDate": "2019-08-24",
- "lines": [
- {
- "materialId": "string",
- "materialName": "string",
- "quantity": 0,
- "unitPrice": 0,
- "lineTotal": 0
}
], - "total": {
- "amount": 50000,
- "currency": "EUR",
- "unlimited": false
}, - "approval": {
- "required": true,
- "approverId": "string",
- "decision": "APPROVE",
- "decidedOn": "2019-08-24",
- "comment": "string"
}, - "note": "string"
}| id required | string |
| id required | string |
| supplierId required | string |
| supplierName | string |
| status required | string (SupplyOrderStatus) Enum: "CREATED" "PENDING_APPROVAL" "APPROVED" "REJECTED" "RECEIVED" "CANCELLED" |
| orderDate required | string <date> |
| expectedDeliveryDate | string or null <date> orderDate + max. lead time. |
required | Array of objects (Line) |
required | object (Money) Monetary amount. |
object (Approval) E-approval status of an order/procurement. | |
| note | string or null |
{- "id": "string",
- "supplierId": "string",
- "supplierName": "string",
- "status": "CREATED",
- "orderDate": "2019-08-24",
- "expectedDeliveryDate": "2019-08-24",
- "lines": [
- {
- "materialId": "string",
- "materialName": "string",
- "quantity": 0,
- "unitPrice": 0,
- "lineTotal": 0
}
], - "total": {
- "amount": 50000,
- "currency": "EUR",
- "unlimited": false
}, - "approval": {
- "required": true,
- "approverId": "string",
- "decision": "APPROVE",
- "decidedOn": "2019-08-24",
- "comment": "string"
}, - "note": "string"
}Above the threshold → PENDING_APPROVAL, otherwise APPROVED.
| id required | string |
| id required | string |
| supplierId required | string |
| supplierName | string |
| status required | string (SupplyOrderStatus) Enum: "CREATED" "PENDING_APPROVAL" "APPROVED" "REJECTED" "RECEIVED" "CANCELLED" |
| orderDate required | string <date> |
| expectedDeliveryDate | string or null <date> orderDate + max. lead time. |
required | Array of objects (Line) |
required | object (Money) Monetary amount. |
object (Approval) E-approval status of an order/procurement. | |
| note | string or null |
{- "id": "string",
- "supplierId": "string",
- "supplierName": "string",
- "status": "CREATED",
- "orderDate": "2019-08-24",
- "expectedDeliveryDate": "2019-08-24",
- "lines": [
- {
- "materialId": "string",
- "materialName": "string",
- "quantity": 0,
- "unitPrice": 0,
- "lineTotal": 0
}
], - "total": {
- "amount": 50000,
- "currency": "EUR",
- "unlimited": false
}, - "approval": {
- "required": true,
- "approverId": "string",
- "decision": "APPROVE",
- "decidedOn": "2019-08-24",
- "comment": "string"
}, - "note": "string"
}| id required | string |
| approverId required | string Person (ACMEhr) making the decision. |
| decision required | string Enum: "APPROVE" "REJECT" |
| comment | string or null |
| id required | string |
| supplierId required | string |
| supplierName | string |
| status required | string (SupplyOrderStatus) Enum: "CREATED" "PENDING_APPROVAL" "APPROVED" "REJECTED" "RECEIVED" "CANCELLED" |
| orderDate required | string <date> |
| expectedDeliveryDate | string or null <date> orderDate + max. lead time. |
required | Array of objects (Line) |
required | object (Money) Monetary amount. |
object (Approval) E-approval status of an order/procurement. | |
| note | string or null |
{- "approverId": "string",
- "decision": "APPROVE",
- "comment": "string"
}{- "id": "string",
- "supplierId": "string",
- "supplierName": "string",
- "status": "CREATED",
- "orderDate": "2019-08-24",
- "expectedDeliveryDate": "2019-08-24",
- "lines": [
- {
- "materialId": "string",
- "materialName": "string",
- "quantity": 0,
- "unitPrice": 0,
- "lineTotal": 0
}
], - "total": {
- "amount": 50000,
- "currency": "EUR",
- "unlimited": false
}, - "approval": {
- "required": true,
- "approverId": "string",
- "decision": "APPROVE",
- "decidedOn": "2019-08-24",
- "comment": "string"
}, - "note": "string"
}Books the goods receipt and increases the material stock.
| id required | string |
| id required | string |
| supplierId required | string |
| supplierName | string |
| status required | string (SupplyOrderStatus) Enum: "CREATED" "PENDING_APPROVAL" "APPROVED" "REJECTED" "RECEIVED" "CANCELLED" |
| orderDate required | string <date> |
| expectedDeliveryDate | string or null <date> orderDate + max. lead time. |
required | Array of objects (Line) |
required | object (Money) Monetary amount. |
object (Approval) E-approval status of an order/procurement. | |
| note | string or null |
{- "id": "string",
- "supplierId": "string",
- "supplierName": "string",
- "status": "CREATED",
- "orderDate": "2019-08-24",
- "expectedDeliveryDate": "2019-08-24",
- "lines": [
- {
- "materialId": "string",
- "materialName": "string",
- "quantity": 0,
- "unitPrice": 0,
- "lineTotal": 0
}
], - "total": {
- "amount": 50000,
- "currency": "EUR",
- "unlimited": false
}, - "approval": {
- "required": true,
- "approverId": "string",
- "decision": "APPROVE",
- "decidedOn": "2019-08-24",
- "comment": "string"
}, - "note": "string"
}| id required | string |
| id required | string |
| supplierId required | string |
| supplierName | string |
| status required | string (SupplyOrderStatus) Enum: "CREATED" "PENDING_APPROVAL" "APPROVED" "REJECTED" "RECEIVED" "CANCELLED" |
| orderDate required | string <date> |
| expectedDeliveryDate | string or null <date> orderDate + max. lead time. |
required | Array of objects (Line) |
required | object (Money) Monetary amount. |
object (Approval) E-approval status of an order/procurement. | |
| note | string or null |
{- "id": "string",
- "supplierId": "string",
- "supplierName": "string",
- "status": "CREATED",
- "orderDate": "2019-08-24",
- "expectedDeliveryDate": "2019-08-24",
- "lines": [
- {
- "materialId": "string",
- "materialName": "string",
- "quantity": 0,
- "unitPrice": 0,
- "lineTotal": 0
}
], - "total": {
- "amount": 50000,
- "currency": "EUR",
- "unlimited": false
}, - "approval": {
- "required": true,
- "approverId": "string",
- "decision": "APPROVE",
- "decidedOn": "2019-08-24",
- "comment": "string"
}, - "note": "string"
}| id required | string |
| materialId required | string |
| available required | number Available quantity in the material's unit. |
{- "materialId": "string",
- "available": 0
}Reduces available stock by the produced quantity. Called by the production cycle.
| id required | string |
| quantity required | number >= 0 Quantity to consume. |
| materialId required | string |
| available required | number Available quantity in the material's unit. |
{- "quantity": 0
}{- "materialId": "string",
- "available": 0
}