Management API

Configures DiligenceID resources. Base path /management, date-versioned, API-key authenticated.

Use it to set things up. Use the Product API to run transactions.

Resources

Resource Type ETag
Organisation DiligenceID/organisations Yes
Issuer DiligenceID/issuers Yes
Credential configuration DiligenceID/credentialConfigurations No
Verification policy DiligenceID/verificationPolicies No

The resource envelope

Every single resource comes back in the same shape:

{
  "id": "/management/issuers/workforce",
  "name": "workforce",
  "type": "DiligenceID/issuers",
  "etag": "\"AAAAAAAAB9E=\"",
  "properties": { },
  "systemData": { "createdAt": "...", "lastModifiedAt": "..." }
}
Field What it is
id The canonical path to this resource
name Its logical identifier — what you pass to other calls
type The resource type
etag Concurrency token, or null where the resource has no version
properties The resource's own fields
systemData Lifecycle timestamps

Separating identity from payload is what lets a client, an SDK and a documentation generator treat every resource the same way without knowing what any of them are.

id is built from the canonical path and the resource's own name. It carries no database identity, no Azure subscription, resource group or deployment stamp — so it survives a migration and discloses nothing about the infrastructure serving it.

systemData has timestamps and no actor attribution, because DiligenceID does not currently record who made a change. Those fields are absent rather than guessed: an audit field that is wrong is worse than one that is missing. Some resources report only lastModifiedAt, because they genuinely have no recorded creation time.

Collections

{ "value": [ ], "nextLink": null }

nextLink is currently always null — nothing paginates yet. It is in the contract so a client written today already has the loop, and so adding pagination later is additive rather than breaking.

Do not construct a nextLink yourself. When it becomes non-null, follow it as an opaque URL.

There is no $filter, $select, $expand or $count. Those will appear when they are implemented and tested, not before.

Concurrency

Issuers and organisations return an ETag. Quote it in If-Match on an update, and a stale tag returns 412 rather than overwriting someone else's change. See concurrency.

Versioning

Every request needs ?api-version=2026-08-30. See API versioning.

Reference

Every Management operation, generated from the contract.

Next

Edit this page on GitHub