---
title: "Verify an intent token an agent presented: signature, live state, scope, signed request, conformance band."
method: POST
path: "/v1/intents/verify"
tags: ["Platform"]
---

# Verify an intent token an agent presented: signature, live state, scope, signed request, conformance band.

`POST /v1/intents/verify`

## Request

- Base URL: `https://www.rightshold.com`
- URL: `https://www.rightshold.com/v1/intents/verify`
- Auth: none required

## Headers

- `X-Request-Id` string

## Request body

- object
  - `token` string, required
  - `operation` string
  - `domain` string
  - `counterparty` string
  - `amount_credits` number
  - `purpose` string
  - `request` object: {method, url, headers} exactly as received
  - `require_signed_request` boolean

## Response `200`

OK

- object: Inferred from 28 recorded responses; required fields appeared in every one; additional properties may appear.
  - `valid` boolean, required
  - `reasons` string[], required
  - `intent_id` string, required
  - `audience` string, nullable, required
  - `purpose` string, required
  - `operations` string[], required
  - `mandate` unknown, required
  - `targets` object, required
    - `domains` string[], required
    - `counterparties` unknown[], required
      - unknown
    - `resources` unknown[], required
      - unknown
  - `constraints` object, required
    - `budget_credits` integer, nullable, required
    - `max_rps` integer, nullable, required
    - `data_categories` string[], required
    - `retention_days` integer, nullable, required
    - `enforce` boolean, required
  - `risk` object, required
    - `class` string, required
    - `score` number, required
  - `state` string, nullable, required
  - `scope` object, required
    - `operation` boolean
    - `domain` boolean
    - `purpose` boolean
  - `binding` string, nullable, required
  - `agent` object, nullable, required
    - `number` string
    - `handle` string
    - `level` string
    - `status` string
    - `did` string
  - `holder_key_jkt` string, required
  - `conformance` object, nullable, required
    - `band` string
    - `score` unknown
    - `n` integer
    - `as_of` string
  - `request` object, nullable, required
    - `valid` boolean
    - `keyid` string, nullable
    - `covered` string[]
    - `created` integer, nullable
  - `expires_at` string, required
  - `offline` string, required
  - `next_action` object, required
    - `action` string, required
    - `label` string, required
    - `why` string, required
    - `needs` string, required
    - `tool` string
    - `rest` string

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