Submit the code the person read back
Checks the code against the last one Layout texted for this person and answers their per-application id. Returns no session. For a person already connected, a right code answers the same id as before and changes nothing; call verify/start first to text them one. Sent with no code, a person already verified answers verified: true without a check, so only an answer to a request that carried a code proves the person holds the phone. Read authorized before building.
Request
- Base URL: https://api.layout.link/v1
- URL: https://api.layout.link/v1/users/{userId}/verify
- Auth: HTTP bearer
Path parameters
Headers
The API version you code against. Optional; without it you get 2026-10-01, the current version. Layout answers with the version it used.
Optional. Any 1 to 255 visible ASCII characters, unique per real intent. A retry with the same key and the same body gets the stored response for 24 hours, with Idempotent-Replayed: true, and is never run twice. The same key with a different body is 409 idempotency_conflict; while the first request is still running it is 409 in_progress with Retry-After. Only a success is stored: any error releases the key so it can be sent again. A 4xx ran nothing. A 5xx may have run, above all a confirm's 500, so read the resource before sending anything changed.
Request body
Example request
{
"code": "246810"
}Response
Verified.
Example response
{
"id": "usr_4b8e9a01c2d3"
}Changes
No recorded changes to this operation across all 1 revision of this API.