---
title: "Create Signup Intent"
method: POST
path: "/signup/intents"
tags: ["Signup"]
---

# Create Signup Intent

`POST /signup/intents`

## Request

- Base URL: `https://logfire-api.pydantic.dev/api`
- URL: `https://logfire-api.pydantic.dev/api/signup/intents`
- Auth: none declared
- TypeScript: <https://skmtc.dev/pydantic/apis/pydantic-logfire-api/docs/signup/intents/post.ts> (a function with typed inputs; its response is checked against the schema)

Prepare an expiring CLI signup handoff without reserving either name.

## Request body

- SignupIntentRequest: Names and short OAuth continuation prepared by the Logfire CLI.
  - `organization_name` string, required
  - `project_name` string, required
  - `authorization_url` string, required

## Response `201`

Successful Response

- SignupIntentResponse: Short-lived browser claim link whose fragment contains the one-time bearer.
  - `claim_url` string, required
  - `expires_in` integer, required

## Other responses

- `400`: The OAuth continuation is not a Logfire PAR URL
- `413`: The signup intent body exceeds 4096 bytes
- `422`: Validation Error
- `429`: Too many signup attempts; retry after the Retry-After interval

---

[API](https://skmtc.dev/pydantic/apis/pydantic-logfire-api.md) - [All operations](https://skmtc.dev/pydantic/apis/pydantic-logfire-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pydantic/apis/pydantic-logfire-api/revisions/7996e45256f4?raw)
