Users

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.

post/users/{userId}/verify

Request

  • Base URL: https://api.layout.link/v1
  • URL: https://api.layout.link/v1/users/{userId}/verify
  • Auth: HTTP bearer

Path parameters

userIdstring required

Headers

Layout-Version'2026-10-01'

The API version you code against. Optional; without it you get 2026-10-01, the current version. Layout answers with the version it used.

Idempotency-Keystring

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

codestring required

The six-digit code the person read back.

Example request

{
  "code": "246810"
}

Response

Verified.

idstring required
verifiedtrue required

The code was right. It says nothing about whether this application may build; read authorized.

authorizedboolean required

True when this application may now build for this person. False when the number belongs to an existing Layout account, which only its owner can connect.

next'connect'

Present when authorized is false: get a consent link from POST /users/{userId}/connect.

status'active' | 'provisioned'
claimedboolean

True when a new Layout account was claimed onto this person.

Example response

{
  "id": "usr_4b8e9a01c2d3"
}

Changes

No recorded changes to this operation across all 1 revision of this API.