---
title: "Authenticate"
method: POST
path: "/authenticate"
---

# Authenticate

`POST /authenticate`

## Request

- Base URL: `https://api.traversal.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.traversal.com/authenticate`
- Auth: none declared

Exchange authorization code for access token with PKCE and CSRF validation.

For local auth environments, the 'code' field contains the user's email
and authentication generates a synthetic bearer token locally.

## Request body

- AuthenticateRequest: Request body for exchanging authorization code for access token.
  - `code` string, required
  - `code_verifier` string, required
  - `nonce` string, nullable
  - `state` string, nullable

## Response `200`

Successful Response

- AuthenticateResponse: Response after successful authentication.
  - `success` boolean, required
  - `access_token` string, nullable, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/traversal/apis/traversal-api.md) - [All operations](https://skmtc.dev/traversal/apis/traversal-api/llms.txt) - [OpenAPI document](https://skmtc.dev/traversal/apis/traversal-api/revisions/31e1a8b7cf89?raw)
