All document operations use the REST API at /api/v2.
For a guided walkthrough, see the Working with Documents guide.
Method Endpoint Description PUT/api/v2/organisations/{orgId}/documents/{docId}Create or update a document GET/api/v2/organisations/{orgId}/documents/{docId}Fetch a document DELETE/api/v2/organisations/{orgId}/documents/{docId}Delete a document
Parameter Description upsert=trueCreate the document if it doesn’t exist, update if it does enableBaseOrgs=trueAuto-create organisations when Core ID doesn’t match an existing connection
Method Endpoint Description POST/api/v2/organisations/{orgId}/document-jobs/Submit a batch of documents to upsert DELETE/api/v2/organisations/{orgId}/document-jobs/documentsSubmit a batch of document IDs to delete GET/api/v2/organisations/{orgId}/document-jobs/List all batch jobs GET/api/v2/organisations/{orgId}/document-jobs/{batchId}Get batch job details GET/api/v2/organisations/{orgId}/document-jobs/{batchId}/resultGet batch job results DELETE/api/v2/organisations/{orgId}/document-jobs/{batchId}Cancel a queued batch job
Parameter Description enableBaseOrgs=trueAuto-create organisations when Core ID doesn’t match an existing connection selfCoreId={value}Set the location’s self Core ID for matching the occupant in the batch
A single upsert batch accepts up to 25,000 documents.
Send a JSON array of document IDs to delete:
[ " PO-2000 " , " PO-2001 " , " PO-2002 " ]
Both batch endpoints return the job record rather than the finished work:
Property Type Description idstringBatch job identifier, used with the job endpoints createdAtstringWhen the job was queued statusstringProcessing state of the job completedAtstringWhen the job finished, null while pending documentCountnumberDocuments in the job errorsnumberDocuments that failed
Deletion is asynchronous. Poll GET /document-jobs/{batchId} for the job state, then GET /document-jobs/{batchId}/result for the outcome of each document. Each result entry reports Deleted, or Failed with a DocumentNotFound error when the ID doesn’t match a document at the location.
Property Type Required Description idstringYes Unique document identifier directionstringYes Inbound or OutboundoccupantOrgRef* The location organisation offsiteOrgRef* The remote organisation carrierOrgRef* The transport company loadsLoad[]No Array of load line items settingsobjectNo { mode, maxUses }validDatesDateRangeNo { begin, end } — bookable windowpreferredDatesDateRangeNo { begin, end } — preferred datesdescriptionstringNo Optional description attributesobjectNo Key-value metadata status{ name }No Document status label type{ name }No Document type label
* At least one of occupant, offsite, or carrier must be provided.
An organisation can be referenced by Mobiledock ID or by Core ID :
{ "id" : " 990090c9-7506-487b-9872-c4e65557ae75 " }
{ "coreName" : " SUPPLIER " , "coreId" : " 0001 " }
Property Type Required Description namestringYes Load type name quantitynumberYes Number of units loadTagstringNo Identifier (e.g. SKU)
Mode Description FreeBooker can modify loads FixedBooker cannot modify loads FlexibleBooker can modify quantities but not load types
Code Description 200Document updated 201Document created 400Invalid payload — see response body
Code Description 200Document returned
Code Description 200Document deleted
Code Description 200Delete job queued — the job record is returned 400Empty document ID list, or documents are not enabled for the location 403Token lacks the required permission 502Job could not be queued — retry