{
  "openapi": "3.1.0",
  "info": {
    "title": "AcqPath RSL rights preflight — public integration flow",
    "version": "3.1.0-rc.1",
    "description": "Documented subset of the observed public API. Check declared AI input, training, indexing and search restrictions before ingestion. Quotes prepare evidence; paid delivery uses HTTP x402. Reports are not licenses or legal clearance. POST /v1/rights/preflight and Rights Gateway routes use the official TS/Python signer plus the AcqPath SIWX adapter. POST /v1/rights/preflight/x402 is a separate stock x402 v2 route: fresh Rights Preflight only, 0.02 USDC on Base, with no SIWX or custom signer."
  },
  "servers": [
    {
      "url": "https://api.getacqpath.com"
    }
  ],
  "externalDocs": {
    "url": "https://developers.getacqpath.com/quickstart"
  },
  "x-derived-from": "https://api.getacqpath.com/openapi.json",
  "x-observed-at": "2026-09-11T15:51:32.805Z",
  "paths": {
    "/v1/capabilities": {
      "get": {
        "operationId": "capabilities",
        "description": "Read current rights.preflight.v1 availability, supported origins and fresh/deep report prices before preparing a quote. No payment.",
        "responses": {
          "200": {
            "description": "Successful result"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Claim or operator credential required"
          },
          "429": {
            "description": "Rate limit"
          },
          "503": {
            "description": "Unavailable or disabled"
          }
        }
      }
    },
    "/v1/rights/inspect": {
      "post": {
        "operationId": "inspectRSL",
        "description": "Free conservative XML inspection. No external resource is fetched. ai-index uses the v3.1 profile; crawl remains legacy and cannot imply usage rights.",
        "responses": {
          "200": {
            "description": "Successful result"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Claim or operator credential required"
          },
          "429": {
            "description": "Rate limit"
          },
          "503": {
            "description": "Unavailable or disabled"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "xml",
                  "resource",
                  "purpose"
                ],
                "properties": {
                  "xml": {
                    "type": "string",
                    "maxLength": 131072
                  },
                  "resource": {
                    "type": "string",
                    "format": "uri"
                  },
                  "purpose": {
                    "type": "string",
                    "enum": [
                      "ai-input",
                      "ai-train",
                      "ai-index",
                      "search",
                      "crawl"
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/rights/quote": {
      "post": {
        "operationId": "quoteRightsPreflight",
        "summary": "Prepare a report before requesting payment",
        "description": "No financial settlement occurs. Missing declarations return available:false and charge_micro:0. UNKNOWN with a discovered declaration is disclosed before purchase.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RightsInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Quote or unavailable result",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RightsQuote"
                }
              }
            }
          },
          "400": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "410": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "415": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/rights/reports/{id}": {
      "get": {
        "operationId": "redeemRightsReport",
        "summary": "Redeem prepared signed report through x402 v2 exact",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{48}$"
            }
          },
          {
            "name": "X-AcqPath-Claim",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Signed report, signed settlement receipt and delivery proof. Verify using the independently pinned public key.",
            "headers": {
              "PAYMENT-RESPONSE": {
                "schema": {
                  "type": "string"
                },
                "description": "Base64 x402 settlement response with offer-receipt extension"
              }
            }
          },
          "400": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Unpaid exact payment challenge with signed offer",
            "headers": {
              "PAYMENT-REQUIRED": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "410": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "415": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/rights/refunds/{id}": {
      "post": {
        "operationId": "requestRightsRefund",
        "description": "Record an idempotent refund request for operator review. This does not automatically transfer money.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-AcqPath-Claim",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "reason"
                ],
                "properties": {
                  "reason": {
                    "enum": [
                      "delivery_issue",
                      "incorrect_report",
                      "duplicate_purchase",
                      "other"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Refund ledger status; money_sent:false"
          },
          "400": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "410": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "415": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Request rejected; inspect error code. No automatic retry of a newly signed payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/rights/preflight": {
      "get": {
        "operationId": "describePublicRights",
        "responses": {
          "200": {
            "description": "Static contract metadata; no report preparation or payment."
          }
        }
      },
      "post": {
        "operationId": "publicRightsPreflight",
        "summary": "Check RSL and machine-readable content usage rights before AI ingestion",
        "description": "Use the tested official TypeScript or Python x402 signer with the AcqPath SIWX adapter; the normal signer and random payment nonce remain unchanged. Retain private X-AcqPath-Request state and retry the same normalized body. Zero-config stock x402, stock SIWX-only hooks, Agent402 automatic router execution and generic paid proxies are not claimed. Empty POST is discovery-only; never pay until a prepared binding is returned. UNKNOWN is not permission.",
        "tags": [
          "RSL rights",
          "AI content usage rights",
          "RAG ingestion",
          "training content rights",
          "machine-readable licensing"
        ],
        "x-payment-info": {
          "scheme": "exact",
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xf69DBbd053fb0Fbc78ADfdB1BFe3b0D1F57300ec",
          "price": {
            "amount": "0.02",
            "currency": "USDC"
          },
          "tiers": {
            "fresh": {
              "amount": "0.02",
              "amount_micro": "20000"
            },
            "deep": {
              "amount": "0.05",
              "amount_micro": "50000"
            }
          },
          "client": {
            "profile": "acqpath-siwx-payment-v1",
            "officialSignerUnchanged": true,
            "adapterRequired": true,
            "zeroConfigStockX402Claimed": false
          }
        },
        "parameters": [
          {
            "name": "X-AcqPath-Request",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "minLength": 64,
              "maxLength": 64
            },
            "description": "Private random retry context, required on paid retry. Never log or publish."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "resource",
                  "purpose",
                  "max_total_micro"
                ],
                "properties": {
                  "resource": {
                    "type": "string",
                    "format": "uri",
                    "maxLength": 2048,
                    "description": "HTTPS resource on an explicitly reviewed origin; no query, fragment, credentials, IP literal, encoded slash or redirect."
                  },
                  "purpose": {
                    "type": "string",
                    "enum": [
                      "ai-input",
                      "ai-train",
                      "ai-index",
                      "search"
                    ]
                  },
                  "user_class": {
                    "type": "string",
                    "enum": [
                      "commercial",
                      "non-commercial",
                      "education",
                      "government",
                      "personal"
                    ],
                    "default": "commercial"
                  },
                  "geo": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "pattern": "^[A-Z]{2}$",
                    "description": "Caller-supplied geographical context. This is not independently verified location."
                  },
                  "freshness_seconds": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 3600,
                    "default": 300
                  },
                  "tier": {
                    "type": "string",
                    "enum": [
                      "fresh",
                      "deep"
                    ],
                    "default": "fresh"
                  },
                  "max_total_micro": {
                    "type": "string",
                    "pattern": "^(0|[1-9][0-9]{0,10}|100000000000)$",
                    "description": "Integer micro-USDC budget, at most 100000000000; fresh 20000, deep 50000 under current configuration."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Signed paid report OR unavailable response with charge_micro:0; inspect available before signing.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "required": [
                        "version",
                        "input_sha256",
                        "legal_clearance",
                        "report",
                        "evidence",
                        "payment_settlement",
                        "delivery_proof"
                      ],
                      "properties": {
                        "version": {
                          "const": "acqpath-public-rights-v1"
                        },
                        "input_sha256": {
                          "type": "string",
                          "pattern": "^[a-f0-9]{64}$"
                        },
                        "legal_clearance": {
                          "const": false
                        },
                        "report": {
                          "type": "object",
                          "required": [
                            "resource",
                            "purpose",
                            "decision",
                            "declaration_count"
                          ],
                          "properties": {
                            "resource": {
                              "type": "string",
                              "format": "uri"
                            },
                            "purpose": {
                              "type": "string",
                              "enum": [
                                "ai-input",
                                "ai-train",
                                "ai-index",
                                "search"
                              ]
                            },
                            "decision": {
                              "enum": [
                                "ALLOW_DECLARED",
                                "DENY_DECLARED",
                                "LICENSE_REQUIRED",
                                "UNKNOWN"
                              ]
                            },
                            "declaration_count": {
                              "type": "integer",
                              "minimum": 1
                            }
                          }
                        },
                        "evidence": {
                          "type": "object",
                          "required": [
                            "algorithm",
                            "format",
                            "payload",
                            "signature"
                          ],
                          "properties": {
                            "algorithm": {
                              "const": "Ed25519"
                            },
                            "format": {
                              "const": "acqpath-evidence-v1"
                            },
                            "payload": {
                              "type": "object"
                            },
                            "signature": {
                              "type": "string",
                              "pattern": "^[a-f0-9]{128}$"
                            }
                          }
                        },
                        "delivery_proof": {
                          "type": "object",
                          "required": [
                            "algorithm",
                            "format",
                            "payload",
                            "signature"
                          ],
                          "properties": {
                            "algorithm": {
                              "const": "Ed25519"
                            },
                            "format": {
                              "const": "acqpath-evidence-v1"
                            },
                            "payload": {
                              "type": "object"
                            },
                            "signature": {
                              "type": "string",
                              "pattern": "^[a-f0-9]{128}$"
                            }
                          }
                        },
                        "payment_settlement": {
                          "type": "object",
                          "required": [
                            "success",
                            "network",
                            "transaction"
                          ],
                          "properties": {
                            "success": {
                              "const": true
                            },
                            "network": {
                              "enum": [
                                "eip155:8453",
                                "eip155:84532"
                              ]
                            },
                            "transaction": {
                              "type": "string",
                              "pattern": "^0x[a-fA-F0-9]{64}$"
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "object",
                      "required": [
                        "available",
                        "reason",
                        "charge_micro"
                      ],
                      "properties": {
                        "available": {
                          "const": false
                        },
                        "reason": {
                          "type": "string"
                        },
                        "charge_micro": {
                          "const": "0"
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "402": {
            "description": "x402 v2 challenge. Prepared binding is required before signing.",
            "headers": {
              "PAYMENT-REQUIRED": {
                "schema": {
                  "type": "string"
                }
              },
              "X-AcqPath-Request": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Context/body mismatch or payment replay; no new signature."
          },
          "410": {
            "description": "Unpaid request expired or paid report retired."
          },
          "503": {
            "description": "Unavailable or uncertain settlement; preserve context, never automatically sign again."
          }
        }
      }
    },
    "/v1/rights/ingestion-gate": {
      "get": {
        "operationId": "describeIngestionGate",
        "responses": {
          "200": {
            "description": "Static contract metadata; no fetch or payment."
          }
        }
      },
      "post": {
        "operationId": "ingestionGate",
        "summary": "Batch content usage rights evidence before RAG ingestion",
        "description": "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.",
        "x-payment-info": {
          "scheme": "exact",
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xf69DBbd053fb0Fbc78ADfdB1BFe3b0D1F57300ec",
          "price": {
            "amount": "0.06",
            "currency": "USDC"
          },
          "pricing": {
            "fresh": {
              "base_micro": "40000",
              "per_unique_resource_micro": "20000"
            },
            "deep": {
              "base_micro": "60000",
              "per_unique_resource_micro": "40000"
            },
            "max_resources": 4
          },
          "client": {
            "profile": "acqpath-siwx-payment-v1",
            "adapterRequired": true,
            "zeroConfigStockX402Claimed": false
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "resources",
                  "purpose",
                  "max_total_micro"
                ],
                "properties": {
                  "purpose": {
                    "enum": [
                      "ai-input",
                      "ai-train",
                      "ai-index",
                      "search",
                      "rag-ingestion",
                      "summarization",
                      "training",
                      "search-indexing"
                    ]
                  },
                  "user_class": {
                    "type": "string",
                    "enum": [
                      "commercial",
                      "non-commercial",
                      "education",
                      "government",
                      "personal"
                    ],
                    "default": "commercial"
                  },
                  "geo": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "pattern": "^[A-Z]{2}$",
                    "description": "Caller-supplied geographical context. This is not independently verified location."
                  },
                  "freshness_seconds": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 3600,
                    "default": 300
                  },
                  "tier": {
                    "type": "string",
                    "enum": [
                      "fresh",
                      "deep"
                    ],
                    "default": "fresh"
                  },
                  "max_total_micro": {
                    "type": "string",
                    "pattern": "^(0|[1-9][0-9]{0,10}|100000000000)$",
                    "description": "Maximum budget in micro-USDC. Exact deterministic charge is in the signed 402 offer."
                  },
                  "resources": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 4,
                    "items": {
                      "type": "string",
                      "format": "uri",
                      "maxLength": 2048,
                      "description": "HTTPS resource on an explicitly reviewed origin; no query, fragment, credentials, IP literal, encoded slash or redirect."
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "X-AcqPath-Request",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "minLength": 64,
              "maxLength": 64
            },
            "description": "Private random retry context, required on paid retry. Never log or publish."
          }
        ],
        "responses": {
          "200": {
            "description": "Signed observed-policy report, authenticated settlement receipt and delivery proof.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "version",
                    "input_sha256",
                    "legal_clearance",
                    "report",
                    "evidence",
                    "delivery_proof",
                    "payment_settlement"
                  ],
                  "properties": {
                    "version": {
                      "const": "acqpath-public-gateway-v1"
                    },
                    "input_sha256": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    },
                    "legal_clearance": {
                      "const": false
                    },
                    "report": {
                      "type": "object",
                      "required": [
                        "sku",
                        "resources",
                        "profile",
                        "legal_clearance"
                      ],
                      "properties": {
                        "sku": {
                          "enum": [
                            "rights.ingestion-gate.v1",
                            "rights.revalidate.v1"
                          ]
                        },
                        "resources": {
                          "type": "array",
                          "minItems": 1,
                          "maxItems": 4,
                          "items": {
                            "type": "object",
                            "required": [
                              "resource",
                              "classification",
                              "legal_clearance"
                            ],
                            "properties": {
                              "resource": {
                                "type": "string",
                                "format": "uri"
                              },
                              "classification": {
                                "enum": [
                                  "PERMITTED_BY_OBSERVED_DECLARATION",
                                  "PROHIBITED_BY_OBSERVED_DECLARATION",
                                  "LICENSE_REQUIRED",
                                  "NO_MACHINE_READABLE_DECLARATION",
                                  "CONFLICT",
                                  "UNKNOWN"
                                ]
                              },
                              "legal_clearance": {
                                "const": false
                              },
                              "checkpoint": {
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            }
                          }
                        },
                        "profile": {
                          "const": "acqpath-observed-policy-v1"
                        },
                        "legal_clearance": {
                          "const": false
                        }
                      }
                    },
                    "evidence": {
                      "type": "object",
                      "required": [
                        "algorithm",
                        "format",
                        "payload",
                        "signature"
                      ],
                      "properties": {
                        "algorithm": {
                          "const": "Ed25519"
                        },
                        "format": {
                          "const": "acqpath-evidence-v1"
                        },
                        "payload": {
                          "type": "object"
                        },
                        "signature": {
                          "type": "string",
                          "pattern": "^[a-f0-9]{128}$"
                        }
                      }
                    },
                    "delivery_proof": {
                      "type": "object",
                      "required": [
                        "algorithm",
                        "format",
                        "payload",
                        "signature"
                      ],
                      "properties": {
                        "algorithm": {
                          "const": "Ed25519"
                        },
                        "format": {
                          "const": "acqpath-evidence-v1"
                        },
                        "payload": {
                          "type": "object"
                        },
                        "signature": {
                          "type": "string",
                          "pattern": "^[a-f0-9]{128}$"
                        }
                      }
                    },
                    "payment_settlement": {
                      "type": "object",
                      "required": [
                        "success",
                        "network",
                        "transaction"
                      ],
                      "properties": {
                        "success": {
                          "const": true
                        },
                        "network": {
                          "enum": [
                            "eip155:8453",
                            "eip155:84532"
                          ]
                        },
                        "transaction": {
                          "type": "string",
                          "pattern": "^0x[a-fA-F0-9]{64}$"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input."
          },
          "402": {
            "description": "x402 v2 challenge. Prepared binding is required before signing.",
            "headers": {
              "PAYMENT-REQUIRED": {
                "schema": {
                  "type": "string"
                }
              },
              "X-AcqPath-Request": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Context/body mismatch or payment replay; no new signature."
          },
          "410": {
            "description": "Unpaid request expired or paid report retired."
          },
          "413": {
            "description": "Body over 24576 bytes."
          },
          "422": {
            "description": "Unapproved resource, budget too low or invalid checkpoint."
          },
          "429": {
            "description": "Work/quote/financial limit."
          },
          "503": {
            "description": "Unavailable or uncertain settlement; preserve context, never automatically sign again."
          }
        }
      }
    },
    "/v1/rights/revalidate": {
      "get": {
        "operationId": "describeRevalidation",
        "responses": {
          "200": {
            "description": "Static contract metadata; no fetch or payment."
          }
        }
      },
      "post": {
        "operationId": "revalidateRights",
        "summary": "Detect changes in observed AI usage declarations",
        "description": "Did this resource AI usage policy change? Revalidate one signed AcqPath checkpoint with conditional source requests; signed policy diff and license-path changes. Fresh 0.03 / deep 0.06 USDC on Base. Reviewed origins only; AcqPath SIWX adapter required. UNKNOWN is not permission. 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.",
        "x-payment-info": {
          "scheme": "exact",
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xf69DBbd053fb0Fbc78ADfdB1BFe3b0D1F57300ec",
          "price": {
            "amount": "0.03",
            "currency": "USDC"
          },
          "pricing": {
            "fresh_micro": "30000",
            "deep_micro": "60000",
            "max_resources": 1
          },
          "client": {
            "profile": "acqpath-siwx-payment-v1",
            "adapterRequired": true,
            "zeroConfigStockX402Claimed": false
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "resources",
                  "purpose",
                  "max_total_micro",
                  "previous"
                ],
                "properties": {
                  "purpose": {
                    "enum": [
                      "ai-input",
                      "ai-train",
                      "ai-index",
                      "search",
                      "rag-ingestion",
                      "summarization",
                      "training",
                      "search-indexing"
                    ]
                  },
                  "user_class": {
                    "type": "string",
                    "enum": [
                      "commercial",
                      "non-commercial",
                      "education",
                      "government",
                      "personal"
                    ],
                    "default": "commercial"
                  },
                  "geo": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "pattern": "^[A-Z]{2}$",
                    "description": "Caller-supplied geographical context. This is not independently verified location."
                  },
                  "freshness_seconds": {
                    "const": 0
                  },
                  "tier": {
                    "type": "string",
                    "enum": [
                      "fresh",
                      "deep"
                    ],
                    "default": "fresh"
                  },
                  "max_total_micro": {
                    "type": "string",
                    "pattern": "^(0|[1-9][0-9]{0,10}|100000000000)$",
                    "description": "Maximum budget in micro-USDC. Exact deterministic charge is in the signed 402 offer."
                  },
                  "resources": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 1,
                    "items": {
                      "type": "string",
                      "format": "uri",
                      "maxLength": 2048,
                      "description": "HTTPS resource on an explicitly reviewed origin; no query, fragment, credentials, IP literal, encoded slash or redirect."
                    }
                  },
                  "previous": {
                    "type": "object",
                    "required": [
                      "algorithm",
                      "format",
                      "payload",
                      "signature"
                    ],
                    "properties": {
                      "algorithm": {
                        "const": "Ed25519"
                      },
                      "format": {
                        "const": "acqpath-evidence-v1"
                      },
                      "payload": {
                        "type": "object"
                      },
                      "signature": {
                        "type": "string",
                        "pattern": "^[a-f0-9]{128}$"
                      }
                    },
                    "description": "Authentic checkpoint returned by an earlier Ingestion Gate or Revalidation item with the same resource, purpose, user class, geo and depth."
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "X-AcqPath-Request",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "minLength": 64,
              "maxLength": 64
            },
            "description": "Private random retry context, required on paid retry. Never log or publish."
          }
        ],
        "responses": {
          "200": {
            "description": "Signed observed-policy report, authenticated settlement receipt and delivery proof.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "version",
                    "input_sha256",
                    "legal_clearance",
                    "report",
                    "evidence",
                    "delivery_proof",
                    "payment_settlement"
                  ],
                  "properties": {
                    "version": {
                      "const": "acqpath-public-gateway-v1"
                    },
                    "input_sha256": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    },
                    "legal_clearance": {
                      "const": false
                    },
                    "report": {
                      "type": "object",
                      "required": [
                        "sku",
                        "resources",
                        "profile",
                        "legal_clearance"
                      ],
                      "properties": {
                        "sku": {
                          "enum": [
                            "rights.ingestion-gate.v1",
                            "rights.revalidate.v1"
                          ]
                        },
                        "resources": {
                          "type": "array",
                          "minItems": 1,
                          "maxItems": 4,
                          "items": {
                            "type": "object",
                            "required": [
                              "resource",
                              "classification",
                              "legal_clearance"
                            ],
                            "properties": {
                              "resource": {
                                "type": "string",
                                "format": "uri"
                              },
                              "classification": {
                                "enum": [
                                  "PERMITTED_BY_OBSERVED_DECLARATION",
                                  "PROHIBITED_BY_OBSERVED_DECLARATION",
                                  "LICENSE_REQUIRED",
                                  "NO_MACHINE_READABLE_DECLARATION",
                                  "CONFLICT",
                                  "UNKNOWN"
                                ]
                              },
                              "legal_clearance": {
                                "const": false
                              },
                              "checkpoint": {
                                "type": [
                                  "object",
                                  "null"
                                ]
                              }
                            }
                          }
                        },
                        "profile": {
                          "const": "acqpath-observed-policy-v1"
                        },
                        "legal_clearance": {
                          "const": false
                        }
                      }
                    },
                    "evidence": {
                      "type": "object",
                      "required": [
                        "algorithm",
                        "format",
                        "payload",
                        "signature"
                      ],
                      "properties": {
                        "algorithm": {
                          "const": "Ed25519"
                        },
                        "format": {
                          "const": "acqpath-evidence-v1"
                        },
                        "payload": {
                          "type": "object"
                        },
                        "signature": {
                          "type": "string",
                          "pattern": "^[a-f0-9]{128}$"
                        }
                      }
                    },
                    "delivery_proof": {
                      "type": "object",
                      "required": [
                        "algorithm",
                        "format",
                        "payload",
                        "signature"
                      ],
                      "properties": {
                        "algorithm": {
                          "const": "Ed25519"
                        },
                        "format": {
                          "const": "acqpath-evidence-v1"
                        },
                        "payload": {
                          "type": "object"
                        },
                        "signature": {
                          "type": "string",
                          "pattern": "^[a-f0-9]{128}$"
                        }
                      }
                    },
                    "payment_settlement": {
                      "type": "object",
                      "required": [
                        "success",
                        "network",
                        "transaction"
                      ],
                      "properties": {
                        "success": {
                          "const": true
                        },
                        "network": {
                          "enum": [
                            "eip155:8453",
                            "eip155:84532"
                          ]
                        },
                        "transaction": {
                          "type": "string",
                          "pattern": "^0x[a-fA-F0-9]{64}$"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input."
          },
          "402": {
            "description": "x402 v2 challenge. Prepared binding is required before signing.",
            "headers": {
              "PAYMENT-REQUIRED": {
                "schema": {
                  "type": "string"
                }
              },
              "X-AcqPath-Request": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Context/body mismatch or payment replay; no new signature."
          },
          "410": {
            "description": "Unpaid request expired or paid report retired."
          },
          "413": {
            "description": "Body over 24576 bytes."
          },
          "422": {
            "description": "Unapproved resource, budget too low or invalid checkpoint."
          },
          "429": {
            "description": "Work/quote/financial limit."
          },
          "503": {
            "description": "Unavailable or uncertain settlement; preserve context, never automatically sign again."
          }
        }
      }
    },
    "/v1/rights/preflight/x402": {
      "get": {
        "operationId": "describeStockPreflight",
        "responses": {
          "200": {
            "description": "Unpaid stock contract and recovery metadata."
          }
        }
      },
      "post": {
        "operationId": "stockRightsPreflight",
        "summary": "Stock x402: RSL rights before RAG ingestion and AI training",
        "description": "RSL rights before RAG ingestion, AI input, training and search. Stock x402 v2 EIP-3009 fresh Rights Preflight, 0.02 USDC on Base. One authorization binds one request on first valid use; no SIWX, no pre-signature body binding. Reviewed origins only. Diagnostic report, not a license or legal clearance. First unpaid valid POST returns a 402 without source work. No verifiable declaration after authorized observation means no settlement; that authorization remains bound to this attempted input. Preserve the exact signed retry privately for recovery. Secure SIWX remains recommended when supported.",
        "tags": [
          "RSL rights",
          "RAG ingestion",
          "AI content usage rights",
          "machine-readable licensing",
          "stock x402"
        ],
        "x-payment-info": {
          "scheme": "exact",
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xf69DBbd053fb0Fbc78ADfdB1BFe3b0D1F57300ec",
          "price": {
            "amount": "0.02",
            "currency": "USDC"
          },
          "client": {
            "stockX402V2": true,
            "adapterRequired": false,
            "siwxRequired": false,
            "preSignatureBodyBinding": false
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "resource",
                  "purpose",
                  "max_total_micro"
                ],
                "properties": {
                  "resource": {
                    "type": "string",
                    "format": "uri",
                    "maxLength": 2048,
                    "description": "HTTPS resource on an explicitly reviewed origin; no query, fragment, credentials, IP literal, encoded slash or redirect."
                  },
                  "purpose": {
                    "type": "string",
                    "enum": [
                      "ai-input",
                      "ai-train",
                      "ai-index",
                      "search"
                    ]
                  },
                  "user_class": {
                    "type": "string",
                    "enum": [
                      "commercial",
                      "non-commercial",
                      "education",
                      "government",
                      "personal"
                    ],
                    "default": "commercial"
                  },
                  "geo": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "pattern": "^[A-Z]{2}$",
                    "description": "Caller-supplied geographical context. This is not independently verified location."
                  },
                  "freshness_seconds": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 3600,
                    "default": 300
                  },
                  "tier": {
                    "enum": [
                      "fresh"
                    ],
                    "default": "fresh"
                  },
                  "max_total_micro": {
                    "type": "string",
                    "pattern": "^(0|[1-9][0-9]{0,10}|100000000000)$",
                    "description": "Integer micro-USDC budget; this fixed fresh SKU requires at least 20000 and charges exactly 20000."
                  }
                }
              },
              "example": {
                "resource": "https://rslstandard.org/",
                "purpose": "ai-input",
                "max_total_micro": "20000"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Signed settled report, or available:false/charge_micro:0 when no declaration is verifiable.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "required": [
                        "version",
                        "input_sha256",
                        "legal_clearance",
                        "report",
                        "evidence",
                        "payment_settlement",
                        "delivery_proof"
                      ],
                      "properties": {
                        "version": {
                          "const": "acqpath-stock-rights-v1"
                        },
                        "input_sha256": {
                          "type": "string",
                          "pattern": "^[a-f0-9]{64}$"
                        },
                        "legal_clearance": {
                          "const": false
                        },
                        "report": {
                          "type": "object",
                          "required": [
                            "resource",
                            "purpose",
                            "decision",
                            "declaration_count"
                          ],
                          "properties": {
                            "resource": {
                              "type": "string",
                              "format": "uri"
                            },
                            "purpose": {
                              "type": "string",
                              "enum": [
                                "ai-input",
                                "ai-train",
                                "ai-index",
                                "search"
                              ]
                            },
                            "decision": {
                              "enum": [
                                "ALLOW_DECLARED",
                                "DENY_DECLARED",
                                "LICENSE_REQUIRED",
                                "UNKNOWN"
                              ]
                            },
                            "declaration_count": {
                              "type": "integer",
                              "minimum": 1
                            }
                          }
                        },
                        "evidence": {
                          "type": "object",
                          "required": [
                            "algorithm",
                            "format",
                            "payload",
                            "signature"
                          ],
                          "properties": {
                            "algorithm": {
                              "const": "Ed25519"
                            },
                            "format": {
                              "const": "acqpath-evidence-v1"
                            },
                            "payload": {
                              "type": "object"
                            },
                            "signature": {
                              "type": "string",
                              "pattern": "^[a-f0-9]{128}$"
                            }
                          }
                        },
                        "delivery_proof": {
                          "type": "object",
                          "required": [
                            "algorithm",
                            "format",
                            "payload",
                            "signature"
                          ],
                          "properties": {
                            "algorithm": {
                              "const": "Ed25519"
                            },
                            "format": {
                              "const": "acqpath-evidence-v1"
                            },
                            "payload": {
                              "type": "object"
                            },
                            "signature": {
                              "type": "string",
                              "pattern": "^[a-f0-9]{128}$"
                            }
                          }
                        },
                        "payment_settlement": {
                          "type": "object",
                          "required": [
                            "success",
                            "network",
                            "transaction"
                          ],
                          "properties": {
                            "success": {
                              "const": true
                            },
                            "network": {
                              "enum": [
                                "eip155:8453",
                                "eip155:84532"
                              ]
                            },
                            "transaction": {
                              "type": "string",
                              "pattern": "^0x[a-fA-F0-9]{64}$"
                            }
                          }
                        },
                        "sku": {
                          "const": "rights.preflight.stock.fresh.v1"
                        },
                        "request_binding": {
                          "const": "ATOMIC_FIRST_VALID_USE_NOT_PRE_SIGNATURE"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "required": [
                        "available",
                        "charge_micro"
                      ],
                      "properties": {
                        "available": {
                          "const": false
                        },
                        "charge_micro": {
                          "const": "0"
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "402": {
            "description": "Stock x402 v2 challenge or invalid payment. No SIWX required.",
            "headers": {
              "PAYMENT-REQUIRED": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Authorization already bound to another body, route or SKU."
          },
          "410": {
            "description": "Report retired; financial journal retained."
          },
          "422": {
            "description": "Only fresh, approved origins and sufficient budget accepted."
          },
          "503": {
            "description": "Unavailable or uncertain settlement. Preserve the exact signed retry; never sign another payment for recovery."
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "RightsInput": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "resource",
          "purpose",
          "max_total_micro"
        ],
        "properties": {
          "resource": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "HTTPS resource on an explicitly reviewed origin; no query, fragment, credentials, IP literal, encoded slash or redirect."
          },
          "purpose": {
            "type": "string",
            "enum": [
              "ai-input",
              "ai-train",
              "ai-index",
              "search"
            ],
            "description": "Actual intended use: ai-input for model context/summarization; ai-index for indexing/RAG corpus preparation; ai-train for training; search for search. No paid crawl purpose. Check multiple purposes separately when needed."
          },
          "user_class": {
            "type": "string",
            "enum": [
              "commercial",
              "non-commercial",
              "education",
              "government",
              "personal"
            ],
            "default": "commercial"
          },
          "geo": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[A-Z]{2}$",
            "description": "Caller-supplied geographical context. This is not independently verified location."
          },
          "freshness_seconds": {
            "type": "integer",
            "minimum": 0,
            "maximum": 3600,
            "default": 300
          },
          "tier": {
            "type": "string",
            "enum": [
              "fresh",
              "deep"
            ],
            "default": "fresh"
          },
          "max_total_micro": {
            "type": "string",
            "pattern": "^(0|[1-9][0-9]*)$",
            "description": "Exact integer micro-USDC budget."
          }
        }
      },
      "RightsQuote": {
        "type": "object",
        "required": [
          "available"
        ],
        "properties": {
          "available": {
            "type": "boolean"
          },
          "reason": {
            "type": "string"
          },
          "mode": {
            "const": "rights_preflight"
          },
          "quote_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{48}$"
          },
          "expires_at": {
            "type": "integer"
          },
          "fee_micro": {
            "type": "string"
          },
          "total_micro": {
            "type": "string"
          },
          "charge_micro": {
            "const": "0"
          },
          "decision_preview": {
            "enum": [
              "ALLOW_DECLARED",
              "DENY_DECLARED",
              "LICENSE_REQUIRED",
              "UNKNOWN"
            ]
          },
          "legal_clearance": {
            "const": false
          },
          "redeem_url": {
            "type": "string",
            "format": "uri"
          },
          "claim_token": {
            "type": "string",
            "description": "Sensitive claim credential. Never put it in logs, public URLs or prompts."
          }
        }
      },
      "Error": {
        "type": "object",
        "required": [
          "error",
          "message",
          "request_id"
        ],
        "properties": {
          "error": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "request_id": {
            "type": "string"
          }
        }
      }
    }
  },
  "x-acqpath-buyer-integration": {
    "supported": [
      "official TypeScript x402 + AcqPath SIWX adapter",
      "official Python x402/httpx + AcqPath SIWX adapter"
    ],
    "guide": "https://developers.getacqpath.com/examples/OFFICIAL-CLIENTS.md",
    "paymentSigner": "Unchanged official signer and random nonce",
    "unsupported": [
      "generic zero-config x402 outside the documented stock route",
      "stock SIWX-only hook",
      "Payments MCP",
      "generic paid proxies"
    ],
    "statusSource": "https://status.getacqpath.com",
    "capabilitiesSource": "https://api.getacqpath.com/v1/capabilities",
    "metadataRole": "Distribution documentation overlay; production schema unchanged"
  }
}
