Backend verification is asynchronous. Treat the start response as confirmation that Payward recorded the verification,
not as a final verification decision.
How it works
1
Create or update the user
Create the Payward user and provide the profile fields required for onboarding.
2
Store evidence
Store the document or liveness image files behind HTTPS presigned URLs on domains allowlisted for your integration.
3
Start a backend verification
Call
POST /v1/users/{user_id}/verifications/start/url once for each verification
type you need to submit.4
Track status
Use Get verification to fetch one verification by ID, or list attempts with List
verifications until each reaches a terminal status.
5
Reconcile the user
Fetch the user with Get User and use verification failure details according to your integration’s
handling rules.
Base URL
Authentication
All requests require three headers:
See Authentication for how to generate the signature.
Step 1 - Create or update the user
Before starting backend verification, create the user and provide the profile fields required for onboarding. Use these endpoints before starting verification:
Store the user ID. Start Verification from URL uses it as the
user_id path parameter.
Step 2 - Store evidence
Store files behind HTTPS presigned URLs on domains allowlisted for your Payward integration. Evidence URL fields must usehttps:// URLs.
Accepted evidence depends on the verification type:
Status responses report document roles in
types and the evidence collection channel in method. Backend URL submissions use method: "url" and include one value in types.
The start request does not include verifier, verified_at, verifier_response, or verifier_response_url. Those fields belong to Submit Verification from URL because that endpoint trusts a verifier result supplied by your integration.
Step 3 - Start a backend verification
Submit one verification per Start Verification from URL request:type discriminator.
Identity document
Residence document
Liveness
verification_id. You need it for reconciliation and support.
Step 4 - Track status
UseGET /v1/users/{user_id}/verifications/{verification_id} to fetch the latest state for one verification:
GET /v1/users/{user_id}/verifications:
verifications is returned in reverse chronological order.
Example status response:
Statuses
Failure reasons
Failure reasons use this shape:code as informational unless your Payward integration defines specific handling. Display details, but do not parse or branch on it.