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:
Retrieve a single availability window with all its slots.
| id required | string AvailabilityWindow identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "slots": [
- {
- "id": "string",
- "days": [
- 0
], - "dates": [
- "string"
], - "timeWindowStart": "09:00",
- "timeWindowEnd": "17:00",
- "effectiveRangeStart": "string",
- "effectiveRangeEnd": "string"
}
], - "createdAt": "string",
- "updatedAt": "string"
}Tenant-scoped list of schedules, filterable by status and taskKind.
| 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": "",
- "taskKind": "",
- "label": "",
- "config": {
- "property1": "string",
- "property2": "string"
}, - "triggerType": "",
- "runAt": "string",
- "cronExpression": "string",
- "timezone": "string",
- "startAt": "string",
- "endAt": "string",
- "ownerRef": "",
- "scopeTier": "",
- "requiredScope": "string",
- "status": "",
- "nextRunAt": "string",
- "lastRunAt": "string",
- "lastRunStatus": "string",
- "retryPolicy": {
- "property1": "string",
- "property2": "string"
}, - "currentAttempt": 1,
- "retryAt": "string",
- "createdAt": "string"
}
]
}Declares a schedule for a registered task kind. Validates the config against the kind's schema and computes the first run.
The new Schedule resource
| taskKind | string Default: "" |
object | |
| triggerType | string Default: "" one_off | periodic |
| runAt | string or null |
| cronExpression | string or null |
| timezone | string or null Default: "UTC" |
| startAt | string or null |
| endAt | string or null |
| ownerRef | string or null |
| scopeTier | string or null Value: "tenant" |
{- "taskKind": "",
- "config": {
- "property1": "string",
- "property2": "string"
}, - "triggerType": "",
- "runAt": "string",
- "cronExpression": "string",
- "timezone": "UTC",
- "startAt": "string",
- "endAt": "string",
- "ownerRef": "string",
- "scopeTier": "tenant"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "",
- "taskKind": "",
- "label": "",
- "config": {
- "property1": "string",
- "property2": "string"
}, - "triggerType": "",
- "runAt": "string",
- "cronExpression": "string",
- "timezone": "string",
- "startAt": "string",
- "endAt": "string",
- "ownerRef": "",
- "scopeTier": "",
- "requiredScope": "string",
- "status": "",
- "nextRunAt": "string",
- "lastRunAt": "string",
- "lastRunStatus": "string",
- "retryPolicy": {
- "property1": "string",
- "property2": "string"
}, - "currentAttempt": 1,
- "retryAt": "string",
- "createdAt": "string"
}Get a schedule
| id required | string Schedule identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "",
- "taskKind": "",
- "label": "",
- "config": {
- "property1": "string",
- "property2": "string"
}, - "triggerType": "",
- "runAt": "string",
- "cronExpression": "string",
- "timezone": "string",
- "startAt": "string",
- "endAt": "string",
- "ownerRef": "",
- "scopeTier": "",
- "requiredScope": "string",
- "status": "",
- "nextRunAt": "string",
- "lastRunAt": "string",
- "lastRunStatus": "string",
- "retryPolicy": {
- "property1": "string",
- "property2": "string"
}, - "currentAttempt": 1,
- "retryAt": "string",
- "createdAt": "string"
}Cancel a schedule
| id required | string Schedule identifier |
{- "type": "/errors/validation-error",
- "title": "Validation Error",
- "status": 400,
- "detail": "The provided input is invalid",
- "violations": [
- {
- "propertyPath": "code",
- "message": "This value should not be blank."
}
], - "instance": "string"
}Pause a schedule
| id required | string Schedule identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "",
- "taskKind": "",
- "label": "",
- "config": {
- "property1": "string",
- "property2": "string"
}, - "triggerType": "",
- "runAt": "string",
- "cronExpression": "string",
- "timezone": "string",
- "startAt": "string",
- "endAt": "string",
- "ownerRef": "",
- "scopeTier": "",
- "requiredScope": "string",
- "status": "",
- "nextRunAt": "string",
- "lastRunAt": "string",
- "lastRunStatus": "string",
- "retryPolicy": {
- "property1": "string",
- "property2": "string"
}, - "currentAttempt": 1,
- "retryAt": "string",
- "createdAt": "string"
}Resume a paused schedule
| id required | string Schedule identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "",
- "taskKind": "",
- "label": "",
- "config": {
- "property1": "string",
- "property2": "string"
}, - "triggerType": "",
- "runAt": "string",
- "cronExpression": "string",
- "timezone": "string",
- "startAt": "string",
- "endAt": "string",
- "ownerRef": "",
- "scopeTier": "",
- "requiredScope": "string",
- "status": "",
- "nextRunAt": "string",
- "lastRunAt": "string",
- "lastRunStatus": "string",
- "retryPolicy": {
- "property1": "string",
- "property2": "string"
}, - "currentAttempt": 1,
- "retryAt": "string",
- "createdAt": "string"
}Run a schedule immediately
| id required | string Schedule identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "",
- "taskKind": "",
- "label": "",
- "config": {
- "property1": "string",
- "property2": "string"
}, - "triggerType": "",
- "runAt": "string",
- "cronExpression": "string",
- "timezone": "string",
- "startAt": "string",
- "endAt": "string",
- "ownerRef": "",
- "scopeTier": "",
- "requiredScope": "string",
- "status": "",
- "nextRunAt": "string",
- "lastRunAt": "string",
- "lastRunStatus": "string",
- "retryPolicy": {
- "property1": "string",
- "property2": "string"
}, - "currentAttempt": 1,
- "retryAt": "string",
- "createdAt": "string"
}Paginated firing history for a schedule, most recent first.
| runId required | string ScheduleRun identifier |
| 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",
- "runId": "",
- "scheduleId": "",
- "status": "",
- "output": "string",
- "error": "string",
- "attempt": 1,
- "exitCode": 0,
- "startedAt": "string",
- "finishedAt": "string"
}
]
}The catalog of registered task kinds — each with its label, description, required scope, and declarative config schema that drives the create form.
{- "totalItems": 0,
- "search": {
- "@type": "string",
- "template": "string",
- "variableRepresentation": "string",
- "mapping": [
- {
- "@type": "string",
- "variable": "string",
- "property": "string",
- "required": true
}
]
}, - "member": [
- {
- "@context": "string",
- "@id": "string",
- "@type": "string",
- "key": "",
- "label": "",
- "description": "",
- "requiredScope": "string",
- "audience": [
- "string"
], - "configSchema": [
- {
- "property1": "string",
- "property2": "string"
}
]
}
]
}Get a task kind
| key required | string TaskKind identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "key": "",
- "label": "",
- "description": "",
- "requiredScope": "string",
- "audience": [
- "string"
], - "configSchema": [
- {
- "property1": "string",
- "property2": "string"
}
]
}