---
title: "Create Anonymous Session"
method: POST
path: "/api/v1/auth/anonymous"
tags: ["Authentication"]
---

# Create Anonymous Session

`POST /api/v1/auth/anonymous`

## Request

- Base URL: `https://www.endlesstravelplans.com`
- URL: `https://www.endlesstravelplans.com/api/v1/auth/anonymous`
- Auth: none required

Creates a shadow user account for guest access.
The anonymous user can use all tools; data persists until account merge or cleanup.

## Request body

- object
  - `device_id` string, nullable: A unique device identifier for analytics correlation.

## Response `200`

Recorded shape (tests/Fixtures/api-shapes/auth-anonymous-create.json)

- object
  - `expires_at` string
  - `expires_in` integer
  - `is_anonymous` boolean
  - `token` string
  - `user` object
    - `bio` string, nullable
    - `can_create_trip` boolean
    - `created_at` string
    - `email` string
    - `first_name` string
    - `has_pro_access` boolean
    - `id` integer
    - `is_anonymous` boolean
    - `last_name` string
    - `marketing_consent` string, nullable
    - `marketing_consent_source` string, nullable
    - `max_saved_trips` integer
    - `phone` string, nullable
    - `preferred_language` string, nullable
    - `profile_photo_url` string, nullable
    - `subscription_plan` string
    - `timezone` string, nullable

## Other responses

- `201`
- `422`: validation_failed: The request body failed validation; field messages are in `errors`.
- `429`: rate_limited: A throttle or a per-account allowance refused the request; `retry_after` or `remaining` may be present.
- `500`: server_error: Unhandled failure; quote `request_id` to support.

---

[API](https://skmtc.dev/endlesstravelplans/apis/endless-travel-plans-api.md) · [All operations](https://skmtc.dev/endlesstravelplans/apis/endless-travel-plans-api/llms.txt) · [OpenAPI document](https://skmtc.dev/endlesstravelplans/apis/endless-travel-plans-api/revisions/ae82ed3e4a8f?raw)
