Skip to content

Correlation IDs

Every request to jtWMS carries a correlation ID: a short string that identifies the request from end to end. jtWMS records it on every log line written while handling the request, and in the audit trail entries of any changes the request makes. If something goes wrong, the correlation ID is the quickest way for support to find out what happened.

You can send your own correlation ID in the X-Correlation-Id request header:

Terminal window
curl "https://<your-jtwms-host>/api/v1/facilities" \
-H "Authorization: Bearer <access-token>" \
-H "X-Correlation-Id: erp-sync-2026-10-19-000123"

A valid correlation ID is 1 to 128 characters, each a letter, a digit or one of ., _, : and -. Send one header with one value.

If you send no correlation ID, or one that isn’t valid, jtWMS generates one, a GUID such as 3f2504e0-4f89-11d3-9a0c-0305e82c3301, and uses it instead. An invalid value doesn’t fail the request.

Either way, jtWMS echoes the correlation ID it used in the X-Correlation-Id response header, on every response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
X-Correlation-Id: erp-sync-2026-10-19-000123

Every error body also carries it as correlationId. See Errors.

Each audit entry records the correlation ID of the request that made the change, as correlationId. Read the warehouse configuration trail with GET /api/v1/audit-entries, or the team trail with GET /api/v1/team/audit-entries (it needs identity.users.manage and a signed-in user’s token), to find which request changed a record. Don’t put personal or sensitive data in a correlation ID: it is stored and logged.

When you report a problem, include:

  • the correlation ID, from the X-Correlation-Id response header or the error’s correlationId;
  • the approximate time of the request, in UTC;
  • the method and path, such as PUT /api/v1/products/{id};
  • the status code and errorCode you received.

Never send a token, API key, webhook secret or password to support.