Quickstart guide
6 endpoints. Zero friction. Ship identity flows in minutes
Ship identity flows in minutes, not weeks. One authentication. A small, stable set of endpoints. Unlimited identity journeys.
Prerequisite
Before beginning your integration, ensure the following:
- An
organizationwas created in the IDnow dashboard - Your user in the IDnow dashboard has an Editor role
- A flow was created in the IDnow dashboard and its version is published to
stagingorlive - A webhook for the flow is configured on
stagingorlive - You obtained a
client IDandclient secretby creating API credentials
Each published flow receives a flowId, used to create individual user sessions. Webhooks and API clients are environment‑specific and depend on the flow being published to the configured environment staging or live.
The environment specified in all API endpoint URLs must match the environment for which your API client was created. An API client created for staging can only access flows and sessions in the staging environment.
Integration steps
- Authenticate: Request an access token using
GET v1/tokenwith your environment‑specificclient IDandclient secret. - Get flows: Use
GET v1/flowsto list all flows published or promoted to the environment associated with your API client, and retrieve theirflowId. - Create a session: Use
POST v1/flows/{flowId}/{environment}/sessionsto create a user session and receive asessionID,playerUrlandsdkToken. - Listen to webhook events: Receive updates through webhook events and process the data.
- Track status and decisions: Poll
GET v1/{environment}/sessions/{sessionId}to retrievesessionStatusand potential flowoutcome. - Get data blocks: Retrieve data blocks via
GET v1/{environment}/sessions/{sessionId}/datablocks. - Get files: Retrieve files via
GET v1/{environment}/files/{vaultEntryId}only when needed.
Optionally
- Embed or redirect: Integrate IDnow’s Player into your frontend and construct individual Player URLs using the obtained
playerUrlorsdkToken.
For complete endpoint documentation with parameters, schemas, and examples, see also API reference.
Obtain data blocks
Data blocks are the structured outputs produced by each step of a flow. They are not returned automatically when creating a session or requesting session details and must be retrieved explicitly using GET v1/sessions/{sessionId}/{environment}/datablocks.
APIs return only what you need. No bloat and no unnecessary PII exposure. Request full data when you need it, and ignore it when you don’t.
Create sessions with dynamic payloads
When creating a session, the payload you send is entirely defined by the flow that was configured. Each flow contains one or more steps. Each individual step specifies which input data block it requires.
Lets assume our flow consists only of a Trust service step called Instant signature issuance. The input data blocks required for this step are BasicIdentity and DocumentsToSign. Also, DocumentData might be required if the signatureLevel in the flow configuration was set to QES.
Some flows require several inputs, others only one, and some require none at all. Before creating a session for a specific flow, review the inputs required per step configured in the IDnow dashboard and construct the payload accordingly.
A full list of available steps and data blocks can be found under Platform-guides
Environment and API versions
Environments and versions are reflected directly in the endpoint base path.
The domain indicates the environment, using api.eu.platform.idnow.io for production and api.eu.platform.idnow.sx for sandbox. The API version is included as a versioned path segment such as /api/v1.
Each environment contains two logical environments — live and staging — which must be explicitly defined in the endpoint path, for example:
POST v1/flows/{flowId}/{environment}/sessions
Example endpoint calls:
- POST
https://api.eu.platform.idnow.io/api/v1/flows/12345/live/sessions - POST
https://api.eu.platform.idnow.sx/api/v1/flows/12345/staging/sessions