---
title: "Create API key or start paid checkout"
method: POST
path: "/v1/signup"
tags: ["Signup"]
---

# Create API key or start paid checkout

`POST /v1/signup`

## Request

- Base URL: `https://api.puntersedge.online`
- URL: `https://api.puntersedge.online/v1/signup`
- Auth: API key in header `X-API-Key`

Sign up for an API key.
- free: returns key immediately
- paid: returns Stripe checkout URL, key created on webhook

Platform and Scale (`platform`, `unlimited`) are arranged with us rather than bought here:
those plans return 409 with a `sales_url` to https://puntersedge.online/contact/sales (a
browser sending `Accept: text/html` is redirected there with 303).

## Request body

- SignupRequest
  - `email` string, required
  - `plan` string
  - `label` string
  - `use_case` string, nullable
  - `use_case_note` string, nullable
  - `referral` string, nullable
  - `referral_code` string, nullable
  - `code` string, nullable
  - `billing` string, nullable
  - `password` string, nullable
  - `terms_accepted` boolean, nullable
  - `marketing_opt_in` boolean, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `401`: Missing or invalid API key. Send `X-API-Key`. See https://puntersedge.online/developers/errors
- `402`: Monthly credit allowance exhausted for this plan. Upgrade at https://puntersedge.online/api/pricing
- `409`: Platform and Scale are arranged with us; the body's `sales_url` is where to start.
- `422`: Validation Error
- `429`: Rate limit exceeded for this plan. Honour the `Retry-After` header (seconds) before retrying. See https://puntersedge.online/developers/rate-limits
- `500`: Unexpected server error. Safe to retry with backoff.

---

[API](https://skmtc.dev/puntersedge/apis/puntersedge-odds-api.md) · [All operations](https://skmtc.dev/puntersedge/apis/puntersedge-odds-api/llms.txt) · [OpenAPI document](https://skmtc.dev/puntersedge/apis/puntersedge-odds-api/revisions/f35b6aab1946?raw)
