Everstack

Authenticate exchanges an OAuth code for a session (Cloud only)

POST/v1/auth/authenticate
POST/v1/auth/authenticate

Your instance endpoint, shown on the instance page in the dashboard. Each instance has its own host; there is no shared API host.

Request Body

PropertyTypeRequiredDescription
codestringNo
statestringNo

Responses

200 Authentication result with session

PropertyTypeDescription
successboolean
userobject
sessionTokenstring

default An unexpected error response.

PropertyTypeDescription
codeinteger
messagestring
detailsobject[]

Request

curl -X POST "http://localhost:8089/v1/auth/authenticate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"code":"string","state":"string"}'
const response = await fetch("http://localhost:8089/v1/auth/authenticate", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "code": "string",
  "state": "string"
}),
});
const data = await response.json();
import requests

response = requests.post(
    "http://localhost:8089/v1/auth/authenticate",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={
  "code": "string",
  "state": "string"
},
)
data = response.json()

Response

{
  "success": true,
  "user": {
    "user": {
      "id": "string",
      "email": "string",
      "name": "string",
      "avatarUrl": "string",
      "createdAt": "2024-01-01T00:00:00Z",
      "updatedAt": "2024-01-01T00:00:00Z"
    },
    "organizations": [
      {
        "id": "string",
        "slug": "string",
        "name": "string",
        "role": "ORGANIZATION_ROLE_UNSPECIFIED"
      }
    ]
  },
  "sessionToken": "string"
}
{
  "code": 0,
  "message": "string",
  "details": [
    {
      "@type": "string"
    }
  ]
}