Veefore docs

Authentication API

Sessions, multi-factor authentication and step-up re-authentication for humans.

Generated page. Built from the API catalogue in apps/control-plane/src/routes/developer.ts. Edit the source, not this page.

These endpoints authenticate people, not agents. An agent never logs in; it proves possession of a private key at the gateway. Signup creates an organization and its first owner in one transaction, so there is no window in which an organization exists without an administrator.

#Endpoints

Endpoint Permission Notes
POST /v1/auth/signup none —
POST /v1/auth/signup/start none —
POST /v1/auth/signup/verify none —
GET /v1/onboarding none —
PUT /v1/onboarding/steps/:step none —
POST /v1/onboarding/complete none —
POST /v1/auth/login none —
POST /v1/auth/mfa/verify none —
POST /v1/auth/step-up none —
GET /v1/auth/session none —
POST /v1/auth/logout none —
POST /v1/auth/cli/start none —
POST /v1/auth/cli/token none —
GET /v1/auth/cli/requests/{requestId} none —
GET /v1/auth/cli/requests none —
POST /v1/auth/cli/requests/{requestId}/approve none —
POST /v1/auth/cli/requests/{requestId}/deny none —

#What each endpoint does

#POST /v1/auth/signup

Create an organization and the first owner.

Requires no console permission.

Request body:

json
{
  "email": "string",
  "password": "string",
  "name": "string",
  "organizationName": "string"
}

#POST /v1/auth/signup/start

Start an e-mail sign-up: e-mails a six-digit code. Nothing is created yet.

Requires no console permission.

Request body:

json
{
  "name": "string",
  "email": "string",
  "password": "string"
}

#POST /v1/auth/signup/verify

Verify the e-mailed code; creates the organization, the owner and a session.

Requires no console permission.

Request body:

json
{
  "email": "string",
  "code": "string"
}

#GET /v1/onboarding

The signed-in person’s onboarding progress, answers and setup details.

Requires no console permission.

#PUT /v1/onboarding/steps/:step

Save one onboarding step (profile, goals, frameworks, mode, connect).

Requires no console permission.

#POST /v1/onboarding/complete

Finish onboarding; applies the starting mode to the chosen environment.

Requires no console permission.

Request body:

json
{
  "environment_id": "string?"
}

#POST /v1/auth/login

Authenticate with email and password.

Requires no console permission.

Request body:

json
{
  "email": "string",
  "password": "string"
}

#POST /v1/auth/mfa/verify

Complete MFA and receive a session.

Requires no console permission.

Request body:

json
{
  "mfa_challenge": "string",
  "code": "string"
}

#POST /v1/auth/step-up

Re-authenticate for a high-impact operation.

Requires no console permission.

Request body:

json
{
  "password": "string?",
  "code": "string?"
}

#GET /v1/auth/session

Current session, scope and effective permissions.

Requires no console permission.

#POST /v1/auth/logout

Revoke the current session.

Requires no console permission.

#POST /v1/auth/cli/start

Open a browser sign-in request for the CLI (PKCE S256).

Requires no console permission.

Request body:

json
{
  "flow": "LOOPBACK | DEVICE",
  "code_challenge": "string",
  "redirect_port": "number?",
  "client": "{ hostname?, platform?, version? }"
}

#POST /v1/auth/cli/token

Redeem an approved CLI sign-in for a session.

Requires no console permission.

Request body:

json
{
  "request_id": "string",
  "code_verifier": "string",
  "code": "string?"
}

#GET /v1/auth/cli/requests/{requestId}

Show a pending CLI sign-in request for approval.

Requires no console permission.

#GET /v1/auth/cli/requests

Find a pending device sign-in request by its user code.

Requires no console permission.

#POST /v1/auth/cli/requests/{requestId}/approve

Approve a CLI sign-in as the signed-in person.

Requires no console permission.

Request body:

json
{
  "user_code": "string"
}

#POST /v1/auth/cli/requests/{requestId}/deny

Refuse a CLI sign-in request.

Requires no console permission.

Identity, authority, policy and enforcement for autonomous AI agents.