Download OpenAPI specification:
Logistics operations API for the 4klyft platform.
This API provides comprehensive endpoints for managing:
All API endpoints (except /api/docs and /api/v1/iam/auth/*) require JWT Bearer token authentication.
Include the token in the Authorization header:
Authorization: Bearer <your-jwt-token>
API requests are rate-limited to ensure fair usage. Standard limits are:
An ownership/lease/rental contract attached to an asset.
owned contracts are non-billable (no rate/cadence/counterparty); every
other type carries a currency-aware rate, a cadence, and a counterparty.
Retrieve a paginated list of asset contracts, filterable by assetId, subject, or status.
| page | integer Default: 1 The collection page number |
{- "totalItems": 0,
- "search": {
- "@type": "string",
- "template": "string",
- "variableRepresentation": "string",
- "mapping": [
- {
- "@type": "string",
- "variable": "string",
- "property": "string",
- "required": true
}
]
}, - "view": {
- "@id": "string",
- "@type": "string",
- "first": "string",
- "last": "string",
- "previous": "string",
- "next": "string"
}, - "member": [
- {
- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "assetId": "string",
- "subject": "string",
- "type": "owned",
- "periodFrom": "string",
- "periodTo": "string",
- "rateAmount": 120000,
- "rateCurrency": "USD",
- "cadence": "per_day",
- "counterparty": "string",
- "status": "draft",
- "createdAt": "string",
- "updatedAt": "string"
}
]
}Attach a contract to an asset
The new AssetContract resource
| assetId required | string |
| type required | string Default: "owned" Enum: "owned" "leased" "rented" "owner_operator" |
| periodFrom required | string Period start (ISO 8601). |
| periodTo | string or null Period end (ISO 8601), or null for an open-ended arrangement. |
| rateAmount | integer or null >= 0 Rate amount in the smallest currency unit (required for billable types). |
| rateCurrency | string or null = 3 characters Rate currency (ISO 4217; required for billable types). |
| cadence | string or null Enum: "per_day" "per_week" "per_month" "per_job" Billing cadence (required for billable types). |
| counterparty | string or null Opaque ResourceUri of the lessor/owner counterparty (required for billable types). |
{- "assetId": "string",
- "type": "owned",
- "periodFrom": "string",
- "periodTo": "string",
- "rateAmount": 0,
- "rateCurrency": "str",
- "cadence": "per_day",
- "counterparty": "string"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "assetId": "string",
- "subject": "string",
- "type": "owned",
- "periodFrom": "string",
- "periodTo": "string",
- "rateAmount": 120000,
- "rateCurrency": "USD",
- "cadence": "per_day",
- "counterparty": "string",
- "status": "draft",
- "createdAt": "string",
- "updatedAt": "string"
}Get an asset contract
| id required | string AssetContract identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "assetId": "string",
- "subject": "string",
- "type": "owned",
- "periodFrom": "string",
- "periodTo": "string",
- "rateAmount": 120000,
- "rateCurrency": "USD",
- "cadence": "per_day",
- "counterparty": "string",
- "status": "draft",
- "createdAt": "string",
- "updatedAt": "string"
}Activate a contract
| id required | string AssetContract identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "assetId": "string",
- "subject": "string",
- "type": "owned",
- "periodFrom": "string",
- "periodTo": "string",
- "rateAmount": 120000,
- "rateCurrency": "USD",
- "cadence": "per_day",
- "counterparty": "string",
- "status": "draft",
- "createdAt": "string",
- "updatedAt": "string"
}Terminate a contract
| id required | string AssetContract identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "assetId": "string",
- "subject": "string",
- "type": "owned",
- "periodFrom": "string",
- "periodTo": "string",
- "rateAmount": 120000,
- "rateCurrency": "USD",
- "cadence": "per_day",
- "counterparty": "string",
- "status": "draft",
- "createdAt": "string",
- "updatedAt": "string"
}An asset register entry — a thin ownership ledger record that links to an
operational entity (a Fleet vehicle, a Warehousing site, equipment, …) via
the opaque subject ResourceUri. Operational data lives on the operational
aggregate, not here; the Asset module tracks only ownership/lease/rental
arrangements (see AssetContract).
Retrieve a paginated list of asset register entries.
| page | integer Default: 1 The collection page number |
{- "totalItems": 0,
- "search": {
- "@type": "string",
- "template": "string",
- "variableRepresentation": "string",
- "mapping": [
- {
- "@type": "string",
- "variable": "string",
- "property": "string",
- "required": true
}
]
}, - "view": {
- "@id": "string",
- "@type": "string",
- "first": "string",
- "last": "string",
- "previous": "string",
- "next": "string"
}, - "member": [
- {
- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "number": "string",
- "category": "power_unit",
- "subject": "glacia:///fleet/vehicles/01HGW...",
- "owner": "glacia:///partner/partners/01HGW...",
- "status": "active",
- "acquiredAt": "string",
- "acquisitionCostAmount": 4500000,
- "acquisitionCostCurrency": "USD",
- "costOfOwnership": [
- {
- "currency": "EUR",
- "amountCents": 4542000
}
], - "createdAt": "string",
- "updatedAt": "string"
}
]
}Register an asset
The new Asset resource
| category required | string Default: "other" Enum: "power_unit" "rigid_vehicle" "trailer" "container" "warehouse" "equipment" "other" |
| subject required | string Opaque ResourceUri of the operational entity this register entry tracks. |
| owner | string or null Opaque ResourceUri of the owner/counterparty, or null for self/unknown. |
| acquiredAt | string or null Acquisition date (ISO 8601), if known. |
| acquisitionCostAmount | integer or null >= 0 Acquisition cost amount in the smallest currency unit (e.g. cents). |
| acquisitionCostCurrency | string or null = 3 characters Acquisition cost currency (ISO 4217). Required when an amount is given. |
{- "category": "power_unit",
- "subject": "string",
- "owner": "string",
- "acquiredAt": "string",
- "acquisitionCostAmount": 0,
- "acquisitionCostCurrency": "str"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "number": "string",
- "category": "power_unit",
- "subject": "glacia:///fleet/vehicles/01HGW...",
- "owner": "glacia:///partner/partners/01HGW...",
- "status": "active",
- "acquiredAt": "string",
- "acquisitionCostAmount": 4500000,
- "acquisitionCostCurrency": "USD",
- "costOfOwnership": [
- {
- "currency": "EUR",
- "amountCents": 4542000
}
], - "createdAt": "string",
- "updatedAt": "string"
}Get an asset
| id required | string Asset identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "number": "string",
- "category": "power_unit",
- "subject": "glacia:///fleet/vehicles/01HGW...",
- "owner": "glacia:///partner/partners/01HGW...",
- "status": "active",
- "acquiredAt": "string",
- "acquisitionCostAmount": 4500000,
- "acquisitionCostCurrency": "USD",
- "costOfOwnership": [
- {
- "currency": "EUR",
- "amountCents": 4542000
}
], - "createdAt": "string",
- "updatedAt": "string"
}Update asset details
| id required | string Asset identifier |
The updated Asset resource
| owner | string or null |
| acquiredAt | string or null |
| acquisitionCostAmount | integer or null >= 0 |
| acquisitionCostCurrency | string or null = 3 characters |
{- "owner": "string",
- "acquiredAt": "string",
- "acquisitionCostAmount": 0,
- "acquisitionCostCurrency": "str"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "number": "string",
- "category": "power_unit",
- "subject": "glacia:///fleet/vehicles/01HGW...",
- "owner": "glacia:///partner/partners/01HGW...",
- "status": "active",
- "acquiredAt": "string",
- "acquisitionCostAmount": 4500000,
- "acquisitionCostCurrency": "USD",
- "costOfOwnership": [
- {
- "currency": "EUR",
- "amountCents": 4542000
}
], - "createdAt": "string",
- "updatedAt": "string"
}Dispose of an asset
| id required | string Asset identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "number": "string",
- "category": "power_unit",
- "subject": "glacia:///fleet/vehicles/01HGW...",
- "owner": "glacia:///partner/partners/01HGW...",
- "status": "active",
- "acquiredAt": "string",
- "acquisitionCostAmount": 4500000,
- "acquisitionCostCurrency": "USD",
- "costOfOwnership": [
- {
- "currency": "EUR",
- "amountCents": 4542000
}
], - "createdAt": "string",
- "updatedAt": "string"
}Retire an asset
| id required | string Asset identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "number": "string",
- "category": "power_unit",
- "subject": "glacia:///fleet/vehicles/01HGW...",
- "owner": "glacia:///partner/partners/01HGW...",
- "status": "active",
- "acquiredAt": "string",
- "acquisitionCostAmount": 4500000,
- "acquisitionCostCurrency": "USD",
- "costOfOwnership": [
- {
- "currency": "EUR",
- "amountCents": 4542000
}
], - "createdAt": "string",
- "updatedAt": "string"
}