Auth

Solve a checkpoint verification challenge

Resolves the pending verification challenge for account_id: a code, OTP/2FA, a contract_selection id, or TRY_ANOTHER_WAY to switch method. A chained challenge returns another 202.

post/v1/auth/checkpoint/solve

Request

  • Base URL: https://api.curviate.com
  • URL: https://api.curviate.com/v1/auth/checkpoint/solve
  • Auth: HTTP bearer

Request body

account_idstring required

The account whose connect/reconnect is mid-flight (returned with the 202 checkpoint_required response).

codestring required

The OTP / 2FA verification code. Special value TRY_ANOTHER_WAY switches the challenge type (e.g. in-app -> 2FA).

Response

The challenge was resolved; the account is now connected.

object'account'

Response type discriminator.

account_idstring
status'active' | 'reconnect_needed' | 'restricted' | 'disconnected'
seat_idstring nullable

The seat this account occupies (canonical, supersedes the deprecated attached_seat_id).

attached_seat_idstring nullable

Deprecated, use seat_id (same value). Removed at the GA /v1 cutover.

external_idstring nullable

Your own id for this account's end user, as set on connect or PATCH. Null when none. Not unique.

recoveredboolean

Present and true only when this connect reactivated an account you had previously disconnected, instead of opening a brand-new one. Absent on a normal connect. The account keeps its original id, and its status reflects its real observed state, which may need a reconnect.

Example response

{
  "safety_warning": {
    "row": "profile_views",
    "reset_at": "2026-09-05T00:00:00.000Z",
    "hint": {
      "parameter": "profile_views.ceiling",
      "message": "This account is at its ceiling for profile_views. This action went through because profile_views.posture is warn, and it counted: 101 of 100 this window. Raise profile_views.ceiling, or wait for the window to reset at 2026-09-05T00:00:00.000Z."
    },
    "reason": "ceiling",
    "blocked": false
  }
}

Changes

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