---
title: "Plain-English rights question -> interpreted intended use + deterministic disposition + allowed alternatives"
method: POST
path: "/v1/ask"
tags: ["Rights desk"]
---

# Plain-English rights question -> interpreted intended use + deterministic disposition + allowed alternatives

`POST /v1/ask`

## Request

- Base URL: `https://www.rightshold.com`
- URL: `https://www.rightshold.com/v1/ask`
- Auth: one of:
  - none
  - HTTP bearer

## Headers

- `X-Request-Id` string

## Request body

- object
  - `question` string, required
  - `workspace_id` string
  - `resource_id` string
  - `intended_use` IntendedUse: Unknown fields, non-boolean flags, duration_days outside 1-36500 or an empty geography are refused with 422 invalid_intended_use. The license check endpoints also require at least one use flag set to true.
    - `commercial_use` boolean
    - `redistribution` boolean
    - `modification` boolean
    - `sublicensing` boolean
    - `deployment` boolean
    - `attribution_planned` boolean
    - `geography` string
    - `duration_days` integer, nullable
    - `model_training` boolean
    - `model_inference` boolean

## Response `200`

OK

- object: Inferred from 17 recorded responses; required fields appeared in every one; additional properties may appear.
  - `status` string, required
  - `interpreter` string, required
  - `interpretation` object, required
    - `interpreter` string, required
    - `resource` unknown, required
    - `license` object, nullable, required
      - `id` string
      - `name` string
      - `cue` string
    - `matched_terms` unknown[], required
      - unknown
    - `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
    - `cues` object[], required
      - `field` string, required
      - `value` boolean, required
      - `cue` string, required
    - `assumptions` string[], required
  - `candidates` unknown[], required
    - unknown
  - `follow_up` string, nullable, required
  - `assessment` unknown, required
  - `explanation` unknown, required
  - `license_check` object, nullable, required
    - `verdict` string
    - `answer` string
    - `uncertainty` object
      - `level` string, required
      - `reasons` unknown[], required
        - unknown
      - `human_review_required` boolean, required
    - `uses_evaluated` string[]
    - `duties` string[]
    - `findings` object[]
      - `code` string, required
      - `explanation` string, required
    - `next_actions` string[]
    - `license` object
      - `curation` string, required
      - `id` string, required
      - `name` string, required
      - `short` string, required
      - `family` string, required
      - `version` string, required
      - `url` string, required
      - `summary` string, required
      - `suits` string[], required
      - `permissions` string[], required
      - `prohibitions` string[], required
      - `needs_review` string[], required
      - `prohibited_combinations` unknown[], required
        - unknown
      - `duties` string[], required
      - `notes` string[], required
      - `reference_hash` string, required
      - `profile_version` string, required
      - `reviewer` string, required
      - `page` string, required
      - `odrl` object, required
        - `@context` union[], required
          - union
            - string
            - object
        - `@type` string, required
        - `uid` string, required
        - `profile` string, required
        - `permission` object[], required
        - `prohibition` object[], required
        - `rs:needsReview` string[], required
      - `reference_hash_covers` string[], required
    - `cache` object
      - `key` string, required
      - `deterministic` boolean, required
      - `depends_on` object, required
        - `reference_hash` string, required
        - `profile_version` string, required
      - `max_age_seconds` integer, required
      - `note` string, required
    - `limitations` string[]
  - `alternatives` unknown[], required
    - unknown
  - `limitations` string[], required
  - `best_effort` object
    - `understood` object, required
      - `source_url` string, nullable, required
      - `platform` string, nullable, required
      - `asset_type` string, nullable, required
      - `uses` string[], required
      - `license_candidates` object[], required
    - `uncertainty` object, required
      - `level` string, required
      - `reasons` string[], required
      - `human_review_required` boolean, required
    - `understood_anything` boolean, required
    - `likely_answers` object[], required
      - `license` string, required
      - `verdict` string, required
      - `answer` string, required
      - `note` string, required
    - `options` object[], required
      - `label` string, required
      - `ask` string, required
      - `call` object, required
    - `ready_call` object, required
      - `tool` string, required
      - `arguments` object, required
        - `license` string
        - `intended_use` object
        - `source_url` string
        - `question` string
      - `rest` object, required
        - `method` string, required
        - `path` string, required
        - `body` object, required
  - `next_action` object, required
    - `action` string, required
    - `label` string, required
    - `why` string, required
    - `needs` string, required
    - `tool` string, required
    - `rest` 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

---

[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)
