Auth

Verify email OTP → session + auto-minted PAT

Changed on

Completes a verification-first sign-up by verifying the email OTP (a 6-to-8-digit numeric code). On success it establishes the Supabase session AND mints a fresh Bearer PAT in a single response — the same shape as POST /api/v1/auth/signin — so a new account can immediately authenticate subsequent requests.

post/api/v1/auth/confirm

Request

  • Base URL: http://localhost:3000
  • URL: http://localhost:3000/api/v1/auth/confirm
  • Auth: none declared

Request body

emailstring email required
tokenstring required

Numeric email OTP, 6 to 8 digits.

pat_namestring
pat_scopesstring[]

workspace:admin is NOT accepted here and returns 403 forbidden, even though the enum lists it — the enum is the shared capability vocabulary, not the set this route grants. Headless auth carries no workspace_id, and an admin-scoped token must target one specific workspace, so the guard rejects the scope outright. Mint admin-scoped tokens through POST /api/v1/tokens with a workspace_id instead. Omit this field to get the defaults: atc:read, atc:write, run:execute. See ADR-0005.

pat_expires_in_daysinteger

Example request

{
  "email": "qa.user@example.com",
  "token": "12345678"
}

Response

Verified + authenticated.

warningstring required

Changes

    • warning

      added the new test_outside_plan_project enum value to the / response property for the response status

    • warning

      added the new test_outside_plan_project enum value to the / response property for the response status

    • warning

      added the new test_outside_plan_project enum value to the / response property for the response status

    • warning

      added the new test_outside_plan_project enum value to the / response property for the response status

    • info

      removed the test_outside_plan_project enum value from the / response property for the response status

    • info

      removed the test_outside_plan_project enum value from the / response property for the response status

    • info

      removed the test_outside_plan_project enum value from the / response property for the response status

    • info

      removed the test_outside_plan_project enum value from the / response property for the response status