Skip to main content
Verification

Stream verification status (SSE)

GET/v4/config/ows/verifier/verification-status-stream

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

  1. retry: 30000, first.
  2. An unnamed event (a data line, no event line) with the current status.
  3. An unnamed event for each change of the status.
  4. : 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

statusMeaningreason
pendingThe request has no answer yet.
receivedThe holder sent a presentation, and every check passed. Final.
failedThe 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.
expiredThe 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

  • Authorizationstringheaderrequired

    Your API key with the prefix ApiKey: ApiKey <your-api-key>. Get an API key.

    Scope:verifications:read

Query parameters

  • verificationIdstring<uuid>required

    The presentationExchangeId of the verification history, from Send verification request. Required.

    Example:"8a1f2c3d-4e5b-4c6d-9e7f-0a1b2c3d4e5f"

  • ticketstring

    A one-time ticket for a client that cannot send the Authorization header, such as the browser EventSource API, 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 the Authorization header needs no ticket.

Response

text/event-stream

The stream of the status of the verification request.

Headers

  • Cache-Controlstring

    Always no-cache.

    Example:"no-cache"

  • bodystring

    Unnamed events and keep-alive comment lines. The data of an event is a PresentationStatusSseEvent JSON object.