---
title: "Issue a signed Rights Receipt (rights-receipt/1) binding one asset's SHA-256 to its license, intended use and verdict. Receipt verdicts use the attestation vocabulary (allowed, blocked, needs_review, insufficient_evidence) — not the license-check vocabulary (permitted, prohibited, needs_review, not_documented); neither converts into the other"
method: POST
path: "/v1/receipts"
tags: ["Platform"]
---

# Issue a signed Rights Receipt (rights-receipt/1) binding one asset's SHA-256 to its license, intended use and verdict. Receipt verdicts use the attestation vocabulary (allowed, blocked, needs_review, insufficient_evidence) — not the license-check vocabulary (permitted, prohibited, needs_review, not_documented); neither converts into the other

`POST /v1/receipts`

## Request

- Base URL: `https://www.rightshold.com`
- URL: `https://www.rightshold.com/v1/receipts`
- Auth: HTTP bearer

## Headers

- `X-Request-Id` string

## Request body

- object
  - `idempotency_key` string: Optional: a retry with the same key returns the first proof.
  - `asset` object, required
    - `sha256` string, required
    - `kind` 'image' | 'font' | 'dataset' | 'code' | 'model' | 'audio' | 'video' | 'text' | 'other'
    - `name` string
    - `media_type` string
    - `source_url` string
  - `license` string, required
  - `resource_id` string
  - `intended_use` object
  - `agent` string
  - `attribution` object
    - `title` string
    - `author` string
  - `ttl_days` integer

## Response `200`

OK

- object: Inferred from 21 recorded responses; required fields appeared in every one; additional properties may appear.
  - `quote` object
    - `charged_usd_cents` integer, required
    - `planned_usd_cents` number, required
    - `line_id` string, required
    - `unit` string, required
    - `free_allowance` string, required
    - `status` string, required
    - `charged_today` boolean, required
    - `currency` string, required
    - `note` string, required
  - `executed` boolean
  - `note` string
  - `receipt` object
    - `@context` string, required
    - `type` string, required
    - `spec` string, required
    - `id` string, required
    - `issuer` string, required
    - `kid` string, required
    - `issued_at` string, required
    - `expires_at` string, required
    - `asset` object, required
      - `sha256` string, required
      - `kind` string, required
      - `name` string, nullable, required
      - `media_type` unknown, required
      - `source_url` unknown, required
    - `license` object, required
      - `spdx_id` string, required
      - `url` string, required
      - `resource_id` unknown, required
    - `intended_use` object, required
      - `commercial_use` boolean, required
      - `redistribution` boolean, required
      - `modification` boolean, required
      - `sublicensing` boolean, required
      - `deployment` boolean, required
      - `attribution_planned` boolean, required
      - `geography` string, required
      - `duration_days` unknown, required
      - `model_training` boolean, required
      - `model_inference` boolean, required
    - `verdict` string, required
    - `conditions` object, required
      - `duties` string[], required
      - `attribution_text` string, nullable, required
      - `unresolved` unknown[], required
        - unknown
    - `reasons` string[], required
    - `agent` object, required
      - `id` unknown, required
      - `number` unknown, required
      - `kya_level` string, required
    - `limitations` string, required
    - `environment` string
  - `signature` string
  - `kid` string
  - `alg` string
  - `ledger` object
    - `seq` integer, nullable, required
    - `commitment` string, nullable, required
    - `salt` string, nullable, required
    - `entry_url` string, nullable, required
  - `verify_url` string
  - `embed` object
    - `sidecar` string, required
    - `http_header` string, required
    - `html` string, required
  - `next_action` object
    - `action` string, required
    - `label` string, required
    - `why` string, required
    - `needs` string, required
    - `tool` string, required

## Other responses

- `400`: Problem details: a stable error code, type URI, title, status and an explanation
- `401`: Problem details: a stable error code, type URI, title, status and an explanation
- `404`: Problem details: a stable error code, type URI, title, status and an explanation
- `405`: Problem details: a stable error code, type URI, title, status and an explanation
- `422`: Problem details: a stable error code, type URI, title, status and an explanation
- `429`: Request budget exhausted; retry after Retry-After seconds
- `500`: Problem details: a stable error code, type URI, title, status and an explanation
- `4XX`: {error, detail}

---

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