---
title: "Receives SheerID's Zero Knowledge Proof technology session-start callbacks"
method: POST
path: "/verification/sso/zkp/sessionStart"
tags: ["verification"]
---

# Receives SheerID's Zero Knowledge Proof technology session-start callbacks

`POST /verification/sso/zkp/sessionStart`

Fired once after SheerID's Zero Knowledge Proof technology has initialised a verification session

## Request body

- ZkpSessionStartRequest
  - `orgId` string — The Zero Knowledge Proof organization ID
  - `appId` string — The Zero Knowledge Proof application ID
  - `sessionId` string, required — The Zero Knowledge Proof session ID
  - `timestamp` integer — Unix seconds when the Zero Knowledge Proof technology initialised the session
  - `context` object, required — The Zero Knowledge Proof context

## Response `204`

The session-start has been processed successfully

## Other responses

- `400` — Bad request
- `404` — Verification not found
- `429` — Too many requests. A `429` can mean one of two things — inspect the response body's `errorIds` before retrying: - A transient rate limit applied at the platform edge. If a `Retry-After` header is present, wait that many seconds (using exponential backoff) and retry. - A program/consumer limit such as `verificationLimitExceeded`, `reverificationDailyLimitExceeded`, or `docReviewLimitExceeded` — the consumer has exhausted an allowance defined by the program's limiting policy. This is a permanent rejection (`currentStep: error`, no `Retry-After`); do not retry.
- `500` — Internal server error
- `503` — Service temporarily unavailable. The request can be safely retried after the interval given in the `Retry-After` header.

---

[API](https://skmtc.dev/sheerid/apis/sheerid-api.md) · [All operations](https://skmtc.dev/sheerid/apis/sheerid-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sheerid/sheerid-api/revisions/dc7f4e84f543/schema)
