Skip to navigation

Cancel Session

View as Markdown

Close an active session from your side: the widget stops accepting interaction and the session ends.

Key Technical Details:

  • No Request Body Required: This operation does not accept a payload; it automatically defaults the cancellation reason to CLIENT_CANCELLED with empty feedback metadata.
  • Idempotency (304): If the session is already finalized (completed, failed, or cancelled), the endpoint transitions nothing and returns 304 Not Modified.
  • Concurrency Lock (504): Acquires an exclusive database lock on the session. If the lock cannot be acquired within a reasonable time, it returns 504 Gateway Timeout.

Cancelling stops the reading. It does not undo what was already read

A session that already had data closes as COMPLETED, not as cancelled

If anything had already been retrieved when you cancelled, the session ends with status_code: COMPLETED and the records are delivered: you can read them from Get Session Results and they travel in the end event like any other finished session.

CLIENT_CANCELLED is recorded only when the session had nothing — nobody opened the widget, nobody consented, or no source answered before you called.

The reason is what a cancellation means at that point in a session. Records are delivered as each source answers, so by the time some of them are in hand the work that produced them is done — the authentication happened, the person consented to it, and the data is ours to hand over. What is still pending is the rest of the session, and cancelling it is a decision to give up the remaining products, not a statement that nothing happened.

So the outcome describes what the session achieved:

When you cancelstatus_codeWhat you get
Something had already been retrievedCOMPLETEDEverything retrieved up to that moment. Whatever had not answered is absent — and is not coming.
Nothing had been retrieved yetCLIENT_CANCELLEDNo records. retrieved_features is empty and there is no data.
What happens to the sources still working

Cancelling stops them. Any read still in flight is aborted at once, and its features close as aborted rather than as a timeout: nothing keeps running against an institution after you have closed the session, and nothing arrives afterwards.

The session also carries a warning message recording that it was cancelled with records already in hand — visible in messages, so the outcome is explainable months later without anybody having to reconstruct it.

If you want the rest, do not cancel — wait

A session that is still open is not costing you anything, and the sources that have not answered are usually the slow ones by nature (the credit registry report is produced in the background). Subscribe to On Flow Ended and let it close on its own; cancel when you have decided you do not want what is missing.

This endpoint needs to be executed with an app secret, so should always be used in server side without exposing the secret to customers.

Authentication

X-APP-SECRETstring
Application Secret

Path parameters

session_idstringRequiredformat: "object-id"
Session ID to fetch

Response

204 No Content
Cancelled Successfully

Errors

404
Not Found Error
422
Unprocessable Entity Error
429
Too Many Requests Error
504
Gateway Timeout Error