---
title: "Put one measured number the founder will stand behind in public, with the caveat that travels with it, into this product run's claim library. Scope 'act'; free, unmetered, and available on every plan. Keyed on the claim text, so recording the same claim twice supersedes the earlier wording rather than duplicating it, and a claim the founder has pinned is left untouched and reported as already recorded. Bounded to a fixed number of claims per product run per day, claimed atomically before the write."
method: POST
path: "/api/v1/kb/claims/record"
---

# Put one measured number the founder will stand behind in public, with the caveat that travels with it, into this product run's claim library. Scope 'act'; free, unmetered, and available on every plan. Keyed on the claim text, so recording the same claim twice supersedes the earlier wording rather than duplicating it, and a claim the founder has pinned is left untouched and reported as already recorded. Bounded to a fixed number of claims per product run per day, claimed atomically before the write.

`POST /api/v1/kb/claims/record`

## Request

- Base URL: `https://afterlaunch.io`
- URL: `https://afterlaunch.io/api/v1/kb/claims/record`
- Auth: HTTP bearer

## Request body

- object
  - `text` string, required: The claim in one sentence, as it would be said out loud.
  - `trigger` string[], required: Keywords saying when this claim is the relevant one.
  - `number` string, required: The measurement, with its unit and what it is measured against.
  - `caveat` string, required: What the number does not prove, stated against the founder's own interest.
  - `held` boolean: True to record it and block its use. Defaults to false.

## Response `200`

Recorded. recorded says whether a row was written; superseded_previous says whether it replaced an earlier wording of the same claim; board_now carries the top moves as they stand, and is absent when that read failed.

- object
  - `data` object, required
  - `meta` object, required
    - `enrollment_id` string, uuid, required
    - `generated_at` string, date-time, required

## Other responses

- `400`: A field is outside its bounds, or trigger is empty.
- `401`: Missing, invalid or revoked API key.
- `403`: The key does not carry the scope this endpoint requires.
- `429`: This product run has reached today's claim limit. Honour Retry-After.

---

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