---
title: "Get a free API key (self-serve)"
method: POST
path: "/v1/signup"
tags: ["Platform"]
---

# Get a free API key (self-serve)

`POST /v1/signup`

## Request

- Base URL: `https://api.numeratica.com`
- URL: `https://api.numeratica.com/v1/signup`
- Auth: none required

Public endpoint (no API key required). Solve the Cloudflare Turnstile challenge in the browser, post the resulting token here, and receive a free, rate-limited key that expires in 30 days. The secret is returned once and is never recoverable — store it securely. Returns 501 until the feature is enabled on the server.

## Request body

- SignupRequest
  - `turnstile_token` string, required: The Cloudflare Turnstile response token produced by the browser widget.
  - `email` string: Optional. Only used to label the key for support; not verified.

## Response `200`

A new free key (shown once) and its limits

- SignupResponse
  - `key` string: The secret API key. Shown once; store it securely — it cannot be recovered.
  - `key_id` string
  - `plan` string
  - `expires_at` string, date-time
  - `limits` object
    - `requests_per_min` integer
    - `daily_quota` integer
    - `max_simulations` integer
  - `disclaimer` string

## Other responses

- `400`: Missing token or the Turnstile challenge failed
- `429`: Too many signups from your network today
- `501`: Self-serve signup is not enabled on this server
- `503`: The daily free-key limit has been reached

---

[API](https://skmtc.dev/numeratica/apis/numeratica-financial-planning-calculations-api.md) · [All operations](https://skmtc.dev/numeratica/apis/numeratica-financial-planning-calculations-api/llms.txt) · [OpenAPI document](https://skmtc.dev/numeratica/apis/numeratica-financial-planning-calculations-api/revisions/075bcfbd1ebf?raw)
