Publish the previewed DID document
POST/api/v1/identifiers/:id/publish
Requires Idempotency-Key; takes no body. The agent signs the previewed document with keys that never leave their token, and the result is written to the identifier host: the log at /.well-known/did.jsonl and the did:web form at /.well-known/did.json for webvh, the second alone for web. The identifier then resolves, and a resolver may go on seeing the previous version for up to five minutes.
Refused with 409 when the current document has not been previewed, when the identifier is not prepared, and when another publication of the same identifier won the race; read the identifier again and decide. What is signed is compared with what was previewed before a byte is written. If they differ nothing is published, the identifier becomes failed with failureReason: document-mismatch and its keys are destroyed, and the refusal is recorded in the audit trail.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 409
- 429
- 500
- 502
- 503
The identifier, in state published.
Response Headers
The correlation id of the request, on every response including 401.
The request is malformed. callerShould: fix-and-retry.
Response Headers
The correlation id of the request, on every response including 401.
Authentication is required. callerShould: authenticate.
Response Headers
The correlation id of the request, on every response including 401.
The token is valid but maps to no usable principal. callerShould: stop.
Response Headers
The correlation id of the request, on every response including 401.
The resource was not found. The same answer for a subject that does not exist and one outside the caller's scope. callerShould: stop.
Response Headers
The correlation id of the request, on every response including 401.
The resource is not in a state that allows this (callerShould: re-read-and-decide), or A concurrent change conflicted with this request (callerShould: re-read-and-retry-once). Told apart by the type URI; the code member names the refusal (for example subject.slug_taken). A conflict the module marked not retryable carries callerShould: re-read-and-decide.
Response Headers
The correlation id of the request, on every response including 401.
Too many requests. The rate limit for this caller was reached: 600 a minute per authenticated principal, 60 a minute per client address before authentication (both configurable). callerShould: retry-with-backoff, after the number of seconds in Retry-After.
Response Headers
The correlation id of the request, on every response including 401.
Whole seconds to wait before the next request.
An internal error occurred. callerShould: retry-with-backoff.
Response Headers
The correlation id of the request, on every response including 401.
A system we depend on failed. callerShould: retry-with-backoff.
Response Headers
The correlation id of the request, on every response including 401.
The service cannot serve this right now. callerShould: retry-with-backoff.
Response Headers
The correlation id of the request, on every response including 401.