Your first API call
One request, one response, and enough explanation to read the next one yourself.
You need: a Sandbox API key. See sandbox.
Make the call
curl -i "https://api.example.diligence.id/management/issuers?api-version=2026-08-30" \
-H "Authorization: ApiKey YOUR_API_KEY"
-i shows the response headers, which are worth seeing once.
What comes back
HTTP/1.1 200 OK
Content-Type: application/json
x-ms-request-id: req_5f2c9a1e4b7d4c6f8a2e
X-Correlation-Id: corr_5f2c9a1e4b7d4c6f8a2e
X-Request-Id: req_5f2c9a1e4b7d4c6f8a2e
{ "value": [], "nextLink": null }
An empty list is the correct answer for a new sandbox. You have not created an issuer yet.
Read it back
value and nextLink — every Management collection has this shape. nextLink is null because nothing
paginates yet; it is present so a client written today already has the loop when that changes.
x-ms-request-id — the server's identifier for this request. Log it. It is the single most useful thing to
quote in a support request, and without it a support request is largely unanswerable.
api-version — required on every Management call. Omitting it returns 400 with the detail code
MissingApiVersionParameter; naming an unsupported one returns 400 with UnsupportedApiVersionValue. Two
codes because they need different fixes: one is a missing parameter, the other is a version this deployment
does not serve.
Things worth trying deliberately
Omit the version:
curl -sS "https://api.example.diligence.id/management/issuers" -H "Authorization: ApiKey YOUR_API_KEY"
{
"error": {
"code": "validation_error",
"message": "Request validation failed.",
"target": "api-version",
"details": [
{
"code": "MissingApiVersionParameter",
"message": "The api-version query parameter is required. Supported: 2026-08-30.",
"target": "api-version"
}
],
"innerError": { "date": "2026-08-30T04:11:02Z", "requestId": "req_...", "clientRequestId": null }
}
}
Note where each code lives. error.code is the category — validation_error here. The specific
condition, MissingApiVersionParameter, is in details[].code. Both are stable; they answer different
questions, and a client that branches only on error.code cannot tell a missing version from a bad field.
message is for humans and may be reworded. Do not parse it.
Send a bad key: 401, and nothing about whether the key ever existed.
Add your own correlation value:
curl -sS "https://api.example.diligence.id/management/issuers?api-version=2026-08-30" \
-H "Authorization: ApiKey YOUR_API_KEY" \
-H "x-ms-client-request-id: my-trace-1"
It is echoed back and appears in error.innerError.clientRequestId. It is diagnostic only — it never
influences authentication, tenant or environment selection, resource lookup or idempotency, because a value the
caller controls must not select what the caller sees.
Next
- Quickstart — the whole lifecycle in about twenty minutes
- Tutorial — the same ground, explained
- Error model