Documents (DMS)

The Document Management System (DMS) REST API lets external systems upload, search, list, and retrieve documents through a versioned, resource-oriented surface. All endpoints live under /api/dms/public/v1/ and are protected by OAuth bearer tokens.

Base path /api/dms/public/v1/
OAuth 2.0 Bearer · jpt + API license validated per request

Authentication

Every /dms/public/ endpoint requires a valid bearer token. The controller validates the token's jpt (principal-type) claim and the caller's API license on every request. See Authentication to obtain a token, then send it as:

Authorization: Bearer <access_token>

Upload a document

POST /api/dms/public/v1/documents
Returns 201 Created

Upload a new document. On success the endpoint returns 201 Created with a Location header that points at the newly created document, and a body containing the generated document ID.

HTTP/1.1 201 Created
Location: /api/dms/public/v1/documents/123456
{
  "documentId": 123456
}
POST /api/dms/public/v1/documents/search
Filter criteria in JSON body

Search accepts its filter criteria as a JSON body rather than query parameters. Index attribute filters can exceed safe URL length limits (~2000 characters) and cannot be passed reliably as query parameters, so a POST body is used. Pagination remains in the query string.

POST /api/dms/public/v1/documents/search?page=1&pageSize=50
{
  "category": "Invoices",
  "type": "AP",
  "includeRelated": false,
  "attributes": {
    "VendorCode": "ACME",
    "JobNumber": "J-1001"
  }
}
FieldDescription
categoryDocument category to filter by.
typeDocument type within the category.
includeRelatedBoolean. When true, includes related documents. Defaults to false.
attributesObject of index-attribute filters (attribute name → value).
Query parameterDescription
page1-based page number. Defaults to 1.
pageSizeNumber of documents per page.

List documents

GET /api/dms/public/v1/documents
Unfiltered listing, no body

A plain GET on the collection returns an unfiltered listing of documents, paged with the same page and pageSize query parameters. Use search when you need to filter.

GET /api/dms/public/v1/documents?page=1&pageSize=50

Retrieve a document

GET /api/dms/public/v1/documents/{documentId}
200 OK / 404 Not Found

Retrieve a single document by its ID. Returns 200 OK with the document, or 404 Not Found when the document does not exist or is not visible to the caller.

Errors

Errors are returned as RFC 7807 problem detail documents. See REST API Overview → Error responses for the common status codes and shape.