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:
API representation of a single curated entry in a Document's audit timeline.
The collection endpoint streams the entries oldest-first. The resource
deliberately declares no #[ApiProperty(identifier: true)] so API Platform
does not synthesise an item-level Get operation alongside the collection.
List the audit trail for a document.
| documentId required | string DocumentAuditEntry 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",
- "entryId": "string",
- "kind": "string",
- "occurredAt": "string",
- "actorId": "string",
- "summary": "string",
- "details": {
- "property1": "string",
- "property2": "string"
}
}
]
}Paginated list of document requests in the current tenant.
| 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",
- "type": "string",
- "subject": "string",
- "status": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "files": [
- {
- "id": "string",
- "slot": "string",
- "storageKey": "string",
- "originalFilename": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "uploadedBy": "string",
- "uploadedAt": "string"
}
], - "rejectionReason": "string",
- "producedDocumentId": "string",
- "requestedBy": "string",
- "requestedAt": "string",
- "submittedBy": "string",
- "submittedAt": "string",
- "reviewedBy": "string",
- "validatedAt": "string",
- "rejectedAt": "string",
- "expiresAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
]
}Open a new document request for a subject to fulfil.
The new DocumentRequest resource
| type required | string |
| subject required | string |
| expiresAt | string or null |
{- "type": "string",
- "subject": "string",
- "expiresAt": "string"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "files": [
- {
- "id": "string",
- "slot": "string",
- "storageKey": "string",
- "originalFilename": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "uploadedBy": "string",
- "uploadedAt": "string"
}
], - "rejectionReason": "string",
- "producedDocumentId": "string",
- "requestedBy": "string",
- "requestedAt": "string",
- "submittedBy": "string",
- "submittedAt": "string",
- "reviewedBy": "string",
- "validatedAt": "string",
- "rejectedAt": "string",
- "expiresAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Fetch a single document request by id.
| id required | string DocumentRequest identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "files": [
- {
- "id": "string",
- "slot": "string",
- "storageKey": "string",
- "originalFilename": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "uploadedBy": "string",
- "uploadedAt": "string"
}
], - "rejectionReason": "string",
- "producedDocumentId": "string",
- "requestedBy": "string",
- "requestedAt": "string",
- "submittedBy": "string",
- "submittedAt": "string",
- "reviewedBy": "string",
- "validatedAt": "string",
- "rejectedAt": "string",
- "expiresAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Cancel an open document request.
| id required | string DocumentRequest identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "files": [
- {
- "id": "string",
- "slot": "string",
- "storageKey": "string",
- "originalFilename": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "uploadedBy": "string",
- "uploadedAt": "string"
}
], - "rejectionReason": "string",
- "producedDocumentId": "string",
- "requestedBy": "string",
- "requestedAt": "string",
- "submittedBy": "string",
- "submittedAt": "string",
- "reviewedBy": "string",
- "validatedAt": "string",
- "rejectedAt": "string",
- "expiresAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Streams an attached request file as an attachment.
| id required | string DocumentRequest identifier |
| fileId required | string DocumentRequest identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "files": [
- {
- "id": "string",
- "slot": "string",
- "storageKey": "string",
- "originalFilename": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "uploadedBy": "string",
- "uploadedAt": "string"
}
], - "rejectionReason": "string",
- "producedDocumentId": "string",
- "requestedBy": "string",
- "requestedAt": "string",
- "submittedBy": "string",
- "submittedAt": "string",
- "reviewedBy": "string",
- "validatedAt": "string",
- "rejectedAt": "string",
- "expiresAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Reject the request with a reason.
| id required | string DocumentRequest identifier |
The new DocumentRequest resource
| reason required | string |
{- "reason": "string"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "files": [
- {
- "id": "string",
- "slot": "string",
- "storageKey": "string",
- "originalFilename": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "uploadedBy": "string",
- "uploadedAt": "string"
}
], - "rejectionReason": "string",
- "producedDocumentId": "string",
- "requestedBy": "string",
- "requestedAt": "string",
- "submittedBy": "string",
- "submittedAt": "string",
- "reviewedBy": "string",
- "validatedAt": "string",
- "rejectedAt": "string",
- "expiresAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Move a submitted request into review.
| id required | string DocumentRequest identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "files": [
- {
- "id": "string",
- "slot": "string",
- "storageKey": "string",
- "originalFilename": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "uploadedBy": "string",
- "uploadedAt": "string"
}
], - "rejectionReason": "string",
- "producedDocumentId": "string",
- "requestedBy": "string",
- "requestedAt": "string",
- "submittedBy": "string",
- "submittedAt": "string",
- "reviewedBy": "string",
- "validatedAt": "string",
- "rejectedAt": "string",
- "expiresAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Submit the collected files for review.
| id required | string DocumentRequest identifier |
The new DocumentRequest resource
object | |
| expiresAt | string or null |
{- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "expiresAt": "string"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "files": [
- {
- "id": "string",
- "slot": "string",
- "storageKey": "string",
- "originalFilename": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "uploadedBy": "string",
- "uploadedAt": "string"
}
], - "rejectionReason": "string",
- "producedDocumentId": "string",
- "requestedBy": "string",
- "requestedAt": "string",
- "submittedBy": "string",
- "submittedAt": "string",
- "reviewedBy": "string",
- "validatedAt": "string",
- "rejectedAt": "string",
- "expiresAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Accept the reviewed request as valid.
| id required | string DocumentRequest identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "files": [
- {
- "id": "string",
- "slot": "string",
- "storageKey": "string",
- "originalFilename": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "uploadedBy": "string",
- "uploadedAt": "string"
}
], - "rejectionReason": "string",
- "producedDocumentId": "string",
- "requestedBy": "string",
- "requestedAt": "string",
- "submittedBy": "string",
- "submittedAt": "string",
- "reviewedBy": "string",
- "validatedAt": "string",
- "rejectedAt": "string",
- "expiresAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Upload a file as multipart/form-data and attach it to the named slot on the document request.
| id required | string DocumentRequest identifier |
File upload (multipart/form-data)
| file required | string <binary> The file bytes to upload |
| slot required | string Slot name defined by the request type (e.g. "document", "front", "back") |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "files": [
- {
- "id": "string",
- "slot": "string",
- "storageKey": "string",
- "originalFilename": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "uploadedBy": "string",
- "uploadedAt": "string"
}
], - "rejectionReason": "string",
- "producedDocumentId": "string",
- "requestedBy": "string",
- "requestedAt": "string",
- "submittedBy": "string",
- "submittedAt": "string",
- "reviewedBy": "string",
- "validatedAt": "string",
- "rejectedAt": "string",
- "expiresAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}List the configured document request types.
| 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",
- "type": "string",
- "label": "string",
- "description": "string",
- "hasExpiry": true,
- "slots": [
- {
- "property1": "string",
- "property2": "string"
}
], - "metadataSchema": {
- "property1": "string",
- "property2": "string"
}
}
]
}Fetch a single request type by key.
| type required | string DocumentRequestType identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "type": "string",
- "label": "string",
- "description": "string",
- "hasExpiry": true,
- "slots": [
- {
- "property1": "string",
- "property2": "string"
}
], - "metadataSchema": {
- "property1": "string",
- "property2": "string"
}
}Paginated list of documents in the current tenant.
| 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",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}
]
}Create a new document in draft status.
The new Document resource
| type required | string |
| subject required | string |
| templateId | string or null |
| number | string or null |
| source | string or null |
| expiresAt | string or null |
object |
{- "type": "string",
- "subject": "string",
- "templateId": "string",
- "number": "string",
- "source": "string",
- "expiresAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}Register an externally-produced file as a document.
The new Document resource
| type required | string |
| subject required | string |
| fileName required | string |
| content required | string |
| mimeType required | string |
| number | string or null |
| source | string or null |
object |
{- "type": "string",
- "subject": "string",
- "fileName": "string",
- "content": "string",
- "mimeType": "string",
- "number": "string",
- "source": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}Fetch a single document by id.
| id required | string Document identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}Attach a supporting file to the document.
| id required | string Document identifier |
The new Document resource
| storageKey required | string |
| originalFilename required | string |
| mimeType required | string |
| sizeBytes | integer >= 0 Default: 0 |
| purpose required | string |
| slot | string or null |
{- "storageKey": "string",
- "originalFilename": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "slot": "string"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}Detach a file previously attached to the document.
| id required | string Document identifier |
| attachmentId required | string Document 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"
}Cryptographically sign the finalized document.
| id required | string Document identifier |
The new Document resource
| certificateSubject required | string |
| algorithm required | string |
| signatureHash required | string |
| reason | string or null |
| location | string or null |
{- "certificateSubject": "string",
- "algorithm": "string",
- "signatureHash": "string",
- "reason": "string",
- "location": "string"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}Streams the primary/rendered file as an attachment.
| id required | string Document identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}Transition a draft document to finalized/issued.
| id required | string Document identifier |
The new Document resource
{ }{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}Merge-update the document metadata map.
| id required | string Document identifier |
The updated Document resource
object |
{- "metadata": {
- "property1": "string",
- "property2": "string"
}
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}Link another resource to the document as a reference.
| id required | string Document identifier |
The new Document resource
| targetDocumentId required | string |
| type required | string |
| description | string or null |
{- "targetDocumentId": "string",
- "type": "string",
- "description": "string"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}Produce a rendition of the document in a requested format.
| id required | string Document identifier |
The new Document resource
| format required | string |
| locale | string or null |
{- "format": "string",
- "locale": "string"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}Replace the document's file/content in place.
| id required | string Document identifier |
The new Document resource
| type required | string |
| subject required | string |
| templateId | string or null |
| number | string or null |
| source | string or null |
| expiresAt | string or null |
object |
{- "type": "string",
- "subject": "string",
- "templateId": "string",
- "number": "string",
- "source": "string",
- "expiresAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}Set how long the document is retained before disposal.
| id required | string Document identifier |
The new Document resource
| retainUntil required | string |
| basis required | string |
| autoDelete | boolean Default: false |
{- "retainUntil": "string",
- "basis": "string",
- "autoDelete": false
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}Replace this document with a newer version, superseding it.
| id required | string Document identifier |
The new Document resource
| replacementId required | string |
{- "replacementId": "string"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}Point the document at a different template version.
| id required | string Document identifier |
The new Document resource
| version | integer > 0 Default: 1 |
{- "version": 1
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}Void a document, marking it no longer valid.
| id required | string Document identifier |
The new Document resource
| reason required | string |
{- "reason": "string"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "type": "string",
- "subject": "string",
- "status": "string",
- "generatedBy": "string",
- "createdAt": "string",
- "number": "string",
- "primaryFormat": "string",
- "source": "string",
- "sourceRef": "string",
- "templateId": "string",
- "templateVersion": 0,
- "expiresAt": "string",
- "finalizedAt": "string",
- "voidedAt": "string",
- "voidReason": "string",
- "supersedes": "string",
- "supersededBy": "string",
- "storagePath": "string",
- "fileSize": 0,
- "failureReason": "string",
- "updatedAt": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "renditions": [
- {
- "id": "string",
- "format": "string",
- "status": "string",
- "locale": "string",
- "storagePath": "string",
- "sizeBytes": 0,
- "generatedAt": "string",
- "failureReason": "string",
- "url": "string"
}
], - "attachments": [
- {
- "id": "string",
- "originalFilename": "string",
- "storagePath": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "purpose": "string",
- "uploadedAt": "string",
- "slot": "string",
- "uploadedBy": "string",
- "url": "string",
- "downloadUrl": "string"
}
], - "references": [
- {
- "id": "string",
- "targetDocumentId": "string",
- "type": "string",
- "addedAt": "string",
- "description": "string"
}
]
}Returns the global catalog of document types contributed by every module.
| 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",
- "key": "",
- "label": "",
- "module": "",
- "description": "string"
}
]
}List the available template palette elements.
| 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",
- "typeName": "string",
- "label": "string",
- "description": "string",
- "isContainer": true
}
]
}The four Document-module mint endpoints. Each returns a signed URL pointing
at the Document-owned public stream endpoint /api/v1/document/files/access/{token}
({@see DocumentFileStreamProvider}).
Document files live on the module's own {@see \Glacia\Storage\Application\FileStorageContract} (local filesystem), whose storage paths are NOT drive:// URIs — so the URL MUST be served by the Document stream endpoint (which reads through that contract), NOT the shared Storage drive-stream endpoint (which would 404).
Tenant-level authorization runs in the bus pipeline before the handler is
invoked (scope check via HasScopeContext); the handler's query service
filters its lookup on tenant_id = current_tenant so a cross-tenant probe
returns the same 404 as a genuinely missing resource.
Issue a short-lived signed URL to view/download a document.
| token required | string FileAccess identifier |
The new FileAccess resource
| expirySeconds | integer or null [ 1 .. 3600 ] |
{- "expirySeconds": 1
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "token": "string",
- "url": "string",
- "expiresAt": "string",
- "expiresInSeconds": 0,
- "filename": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "isPreviewable": true
}Public endpoint: streams the file bytes; the signed token IS the auth (signature + expiry).
| token required | string FileAccess identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "token": "string",
- "url": "string",
- "expiresAt": "string",
- "expiresInSeconds": 0,
- "filename": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "isPreviewable": true
}Issue a short-lived signed URL to view/download a document-request file.
| requestId required | string FileAccess identifier |
| fileId required | string FileAccess identifier |
The new FileAccess resource
| expirySeconds | integer or null [ 1 .. 3600 ] |
{- "expirySeconds": 1
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "token": "string",
- "url": "string",
- "expiresAt": "string",
- "expiresInSeconds": 0,
- "filename": "string",
- "mimeType": "string",
- "sizeBytes": 0,
- "isPreviewable": true
}List built-in and custom document quick-picks.
| 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",
- "name": "string",
- "description": "string",
- "category": "string",
- "isSystem": true,
- "element": {
- "property1": "string",
- "property2": "string"
}
}
]
}Create a custom document quick-pick.
The new QuickPick resource
| name required | string |
| description | string Default: "" |
| category required | string |
| elementTree required | string |
{- "name": "string",
- "description": "",
- "category": "string",
- "elementTree": "string"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "name": "string",
- "description": "string",
- "category": "string",
- "isSystem": true,
- "element": {
- "property1": "string",
- "property2": "string"
}
}Delete a custom document quick-pick.
| id required | string QuickPick 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"
}Compile a template preview from the supplied data.
The new TemplatePreview resource
| elementTree required | string |
{- "elementTree": "string"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "html": "string"
}Paginated list of document templates.
| 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",
- "name": "string",
- "documentType": "string",
- "authoring": "string",
- "engine": "string",
- "content": "",
- "isActive": true,
- "version": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "variables": [
- {
- "property1": "string",
- "property2": "string"
}
]
}
]
}Create a new document template.
The new Template resource
| name required | string |
| documentType required | string |
| content required | string |
| authoring | string Default: "code" |
| engine | string Default: "twig" |
Array of objects |
{- "name": "string",
- "documentType": "string",
- "content": "string",
- "authoring": "code",
- "engine": "twig",
- "variables": [
- {
- "property1": "string",
- "property2": "string"
}
]
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "name": "string",
- "documentType": "string",
- "authoring": "string",
- "engine": "string",
- "content": "",
- "isActive": true,
- "version": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "variables": [
- {
- "property1": "string",
- "property2": "string"
}
]
}Fetch a single document template by id.
| id required | string Template identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "name": "string",
- "documentType": "string",
- "authoring": "string",
- "engine": "string",
- "content": "",
- "isActive": true,
- "version": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "variables": [
- {
- "property1": "string",
- "property2": "string"
}
]
}Delete a document template.
| id required | string Template 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"
}Merge-update a document template.
| id required | string Template identifier |
The updated Template resource
| content | string |
| name | string or null |
Array of objects |
{- "content": "string",
- "name": "string",
- "variables": [
- {
- "property1": "string",
- "property2": "string"
}
]
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "name": "string",
- "documentType": "string",
- "authoring": "string",
- "engine": "string",
- "content": "",
- "isActive": true,
- "version": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "variables": [
- {
- "property1": "string",
- "property2": "string"
}
]
}Make the template available for use.
| id required | string Template identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "name": "string",
- "documentType": "string",
- "authoring": "string",
- "engine": "string",
- "content": "",
- "isActive": true,
- "version": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "variables": [
- {
- "property1": "string",
- "property2": "string"
}
]
}Retire the template from use.
| id required | string Template identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "name": "string",
- "documentType": "string",
- "authoring": "string",
- "engine": "string",
- "content": "",
- "isActive": true,
- "version": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "variables": [
- {
- "property1": "string",
- "property2": "string"
}
]
}List the versions of a document template.
| templateId required | string TemplateVersion 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",
- "version": 0,
- "content": "string",
- "updatedAt": "string"
}
]
}