REFERENCE / 3.1.0-RC.1

A rights check
you can inspect.

AcqPath reports observed RSL declarations. It does not issue a license, clear copyright, bypass restrictions, or guarantee that a publisher’s declaration is legally authoritative.

Check coverage first.

Only operator-reviewed HTTPS origins are eligible for server-side fetching. The API does not accept arbitrary remote URLs. Production payment mode and actual coverage are available at /v1/capabilities.

1. Find the supported surface

GET /v1/capabilities
GET /openapi.json
GET /.well-known/acqpath-keys.json
GET /.well-known/did.json

Pin the expected signing key, USDC asset, recipient and network independently. Do not silently accept a changed key from the same HTTP request you are about to pay.

2. Ask for a prepared report

POST /v1/rights/quote
Content-Type: application/json

{
  "resource": "https://approved-publisher.example/resource",
  "purpose": "ai-input",
  "user_class": "commercial",
  "tier": "fresh",
  "freshness_seconds": 300,
  "max_total_micro": "20000"
}

The domain above is a placeholder, not a preconfigured provider. Query strings, fragments, embedded credentials, IP literals and redirects are rejected. Missing declarations return available:false, with charge_micro:"0". An incomplete discovered declaration can return a quoted UNKNOWN diagnostic result; the preview discloses this before purchase.

3. Redeem through x402

GET /v1/rights/reports/{quote_id}
X-AcqPath-Claim: {private claim token}

402 Payment Required
PAYMENT-REQUIRED: {base64 x402 v2 challenge}

Validate the signed offer and exact terms before signing locally. Retry the same resource using PAYMENT-SIGNATURE. Do not put claims or signatures in a URL, log, prompt, analytics event or public support ticket.

4. Verify delivery

The response includes a signed diagnostic report, an x402 settlement receipt and an AcqPath delivery proof binding the report hash to the offer, exact amount, recipient and transaction. A valid service signature alone is not an independent blockchain confirmation. The SDK verifies the service’s artifacts; independent RPC reconciliation is a separate check.

Persist the SDK checkpoint before transmitting a signature. After an ambiguous response, call resumeRightsPreflight with that checkpoint. Never sign a fresh payment simply because a request timed out.

Decision meanings

DecisionMeaning
ALLOW_DECLAREDAn explicit matching declaration was found in the supported conservative profile. Obligations still apply.
DENY_DECLAREDA known restriction excludes the requested context.
LICENSE_REQUIREDA license-acquisition or payment condition was declared. AcqPath does not obtain that license.
UNKNOWNMissing, conflicting, malformed, incomplete or unsupported terms. Never implied permission.

Supported profile

Robots License directives, typed HTTP Link headers, HTML license links, inline RSL and direct RSL documents. Most-specific resource scope, explicit usage, user and geographic context; conservative conflict handling. Alternative licenses, complex legal/reporting conditions, RSS/media metadata and OLP token acquisition are not supported. The free XML inspector also retains the legacy crawl mode, which does not imply AI-use rights.

Refund and recovery

POST /v1/rights/refunds/{quote_id}
X-AcqPath-Claim: {claim token}
Content-Type: application/json

{"reason":"delivery_issue"}

This records an idempotent request for operator review. It does not transfer money. Refund transfers are made by the operator and reconciled against two independent RPC sources before the ledger marks them paid.

Existing provider routing

POST /v1/quote and GET /v1/plans/{id} remain separate from Rights Preflight. They require approved equivalent providers and an actual baseline; none are fabricated. The client separately purchases any upstream service.

MCP

POST /mcp exposes capabilities, provider quotes and rights quotes. Quote tools create state and may fetch approved external metadata, but do not settle payment. Paid redemption remains HTTP/x402.