---
title: "Batch content usage rights evidence before RAG ingestion"
method: POST
path: "/v1/rights/ingestion-gate"
---

# Batch content usage rights evidence before RAG ingestion

`POST /v1/rights/ingestion-gate`

## Request

- Base URL: `https://api.getacqpath.com`
- URL: `https://api.getacqpath.com/v1/rights/ingestion-gate`
- Auth: none declared

Batch observed RSL rights evidence before RAG ingestion, AI input, training or indexing. One to four reviewed URLs; signed per-resource policy, provenance, conflicts and revalidation checkpoints. Fresh 0.04 + 0.02 per unique URL; deep 0.06 + 0.04. USDC on Base. AcqPath SIWX adapter required; not legal clearance. Charge buys a bounded observation attempt, including UNKNOWN or unavailable sources. No result is legal permission. Persist private operation state and retry the same operation with the official TypeScript/Python x402 signer plus AcqPath SIWX adapter.

## Headers

- `X-AcqPath-Request` string

## Request body

- object
  - `purpose` 'ai-input' | 'ai-train' | 'ai-index' | 'search' | 'rag-ingestion' | 'summarization' | 'training' | 'search-indexing', required
  - `user_class` 'commercial' | 'non-commercial' | 'education' | 'government' | 'personal'
  - `geo` string, nullable: Caller-supplied geographical context. This is not independently verified location.
  - `freshness_seconds` integer
  - `tier` 'fresh' | 'deep'
  - `max_total_micro` string, required: Maximum budget in micro-USDC. Exact deterministic charge is in the signed 402 offer.
  - `resources` string[], required

## Response `200`

Signed observed-policy report, authenticated settlement receipt and delivery proof.

- object
  - `version` 'acqpath-public-gateway-v1', required
  - `input_sha256` string, required
  - `legal_clearance` unknown, required
  - `report` object, required
    - `sku` 'rights.ingestion-gate.v1' | 'rights.revalidate.v1', required
    - `resources` object[], required
      - `resource` string, uri, required
      - `classification` 'PERMITTED_BY_OBSERVED_DECLARATION' | 'PROHIBITED_BY_OBSERVED_DECLARATION' | 'LICENSE_REQUIRED' | 'NO_MACHINE_READABLE_DECLARATION' | 'CONFLICT' | 'UNKNOWN', required
      - `legal_clearance` unknown, required
      - `checkpoint` object, nullable
    - `profile` 'acqpath-observed-policy-v1', required
    - `legal_clearance` unknown, required
  - `evidence` object, required
    - `algorithm` 'Ed25519', required
    - `format` 'acqpath-evidence-v1', required
    - `payload` object, required
    - `signature` string, required
  - `delivery_proof` object, required
    - `algorithm` 'Ed25519', required
    - `format` 'acqpath-evidence-v1', required
    - `payload` object, required
    - `signature` string, required
  - `payment_settlement` object, required
    - `success` unknown, required
    - `network` 'eip155:8453' | 'eip155:84532', required
    - `transaction` string, required

## Other responses

- `400`: Invalid input.
- `402`: x402 v2 challenge. Prepared binding is required before signing.
- `409`: Context/body mismatch or payment replay; no new signature.
- `410`: Unpaid request expired or paid report retired.
- `413`: Body over 24576 bytes.
- `422`: Unapproved resource, budget too low or invalid checkpoint.
- `429`: Work/quote/financial limit.
- `503`: Unavailable or uncertain settlement; preserve context, never automatically sign again.

---

[API](https://skmtc.dev/getacqpath/apis/acqpath-rsl-rights-preflight-public-integration-flow.md) · [All operations](https://skmtc.dev/getacqpath/apis/acqpath-rsl-rights-preflight-public-integration-flow/llms.txt) · [OpenAPI document](https://skmtc.dev/getacqpath/apis/acqpath-rsl-rights-preflight-public-integration-flow/revisions/e84ecdb687d7?raw)
