Stream verification status (SSE)
Streams the status of one verification request over Server-Sent Events, for a live status in your frontend while the holder answers, for example a Digital Credentials API request. The stream sends the current status at once, then a frame for each change, and ends after a final status.
Authentication
Send the Authorization header. The browser EventSource API cannot set headers: get a one-time ticket with Create SSE ticket (body {"path": "/v4/config/ows/verifier/verification-status-stream"}) and send it in the ticket query parameter.
Frames
retry: 30000, first.- An unnamed event (a
dataline, noeventline) with the current status. - An unnamed event for each change of the status.
: keep-alive, a comment line after 15 seconds without a frame. Clients ignore it.
The data of an event is a JSON object with verificationId (the value of the query parameter), status, and reason for failed and expired. The frames have no id: a client that connects again gets the current status in the first frame.
Statuses
status | Meaning | reason |
|---|---|---|
pending | The request has no answer yet. | |
received | The holder sent a presentation, and every check passed. Final. | |
failed | The presentation failed a check, or the wallet sent an error response. Final. | <error>: <description> for an error response of the wallet, else Presentation is not valid. |
expired | The request expired before an answer. Final. | Presentation request expired |
A request expires at the exp of its signed request, else at createdAt plus presentationRequestLifetimeSeconds of the verifier configuration (default 3600 seconds).
End of the stream
The stream ends after a final status, after 3900 seconds, or when the client closes the connection. An error before the stream (an unknown verification, too many open streams) comes as a JSON answer with its HTTP status, not as a frame.
Authorizations
AuthorizationstringheaderrequiredYour API key with the prefix
ApiKey:ApiKey <your-api-key>. Get an API key.Scope:
verifications:read
Query parameters
verificationId string<uuid>requiredThe
presentationExchangeIdof the verification history, from Send verification request. Required.Example:
"8a1f2c3d-4e5b-4c6d-9e7f-0a1b2c3d4e5f"ticketstringA one-time ticket for a client that cannot send the
Authorizationheader, such as the browserEventSourceAPI, from Create SSE ticket with the body{"path": "/v4/config/ows/verifier/verification-status-stream"}. It is valid for 30 seconds and for one request to this path. A request with theAuthorizationheader needs no ticket.
Response
The stream of the status of the verification request.
Headers
Cache-Control stringAlways
no-cache.Example:
"no-cache"
bodystringUnnamed events and keep-alive comment lines. The
dataof an event is aPresentationStatusSseEventJSON object.