---
title: "Request Key"
method: POST
path: "/key-requests"
tags: ["key requests"]
---

# Request Key

`POST /key-requests`

## Request

- Base URL: `https://api.licenscheck.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.licenscheck.com/key-requests`
- Auth: none declared

Save a "Get an API key" request and post it to Discord once the response is sent.

A keyless visitor gets 3 per 10 minutes and 10 a day (`KEY_REQUEST_LIMIT`),
on top of the general keyless limit; a keyed caller (a customer, or the
acceptance tests) only its key's limits. A request with the hidden
`website` field filled in is a bot: it's acknowledged the same way, so
the bot learns nothing, but never saved or posted. A repeat from the same
email within an hour is saved but not posted again.

Args:
    body: The form.
    background: Runs the Discord post after responding, so the form never waits on Discord.
    caller: Injected caller, for the form's own per-visitor limit.
    repo: Injected `KeyRequestRepository`.

Returns:
    The acknowledgement.

Raises:
    HTTPException: 429 (with Retry-After) past the form's limit.

## Request body

- KeyRequestIn: One filled-in "Get an API key" form.
  - `name` string, required: Who's asking.
  - `email` string, required: Where to send the key.
  - `company` string, nullable: Their company, if any.
  - `plan` 'api' | 'monitoring' | 'volume': What a "Get an API key" request is for, as chosen on the form.
  - `volume` 'under_100' | '100_500' | '500_5000' | 'over_5000', required: How many verifications a month the requester expects, as a bucket.
  - `use_case` string, required: What they'd check, in their own words.
  - `website` string: Leave empty. A field hidden from people, which only bots fill in; a filled one is dropped.

## Response `202`

Successful Response

- KeyRequestOut: The acknowledgement the form shows.
  - `received` boolean, required: Always true: the request was accepted.

## Other responses

- `422`: Validation Error
- `429`: Too many requests from this visitor; retry after Retry-After seconds.

---

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