{
  "openapi": "3.1.0",
  "info": {
    "title": "FilmRightsProof API",
    "version": "1.0.0",
    "description": "Public-record copyright evidence intelligence for agent delegation. The reproducible bulk substrate ends June 27, 2025 and is supplemented by bounded on-demand Copyright Public Records System verification when reachable. Public results are not legal ownership opinions or clearance."
  },
  "servers": [
    {
      "url": "https://filmrightsproof.com"
    }
  ],
  "paths": {
    "/v1/capabilities": {
      "get": {
        "operationId": "capabilities",
        "responses": {
          "200": {
            "description": "Capability metadata"
          }
        }
      }
    },
    "/v1/search": {
      "post": {
        "operationId": "searchPublicRecords",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "title"
                ],
                "properties": {
                  "title": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 500,
                    "example": "The Godfather"
                  },
                  "creator": {
                    "type": "string",
                    "maxLength": 300
                  },
                  "year": {
                    "type": "integer",
                    "minimum": 1700,
                    "maximum": 2100
                  },
                  "workType": {
                    "type": "string",
                    "maxLength": 120
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 20
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Candidate public records with per-request freshness state"
          }
        }
      }
    },
    "/v1/trace": {
      "post": {
        "operationId": "tracePublicRights",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "title"
                ],
                "properties": {
                  "title": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 500,
                    "example": "The Godfather"
                  },
                  "creator": {
                    "type": "string",
                    "maxLength": 300
                  },
                  "year": {
                    "type": "integer",
                    "minimum": 1700,
                    "maximum": 2100
                  },
                  "workType": {
                    "type": "string",
                    "maxLength": 120
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 20
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Public-rights dossier with per-request freshness state"
          },
          "402": {
            "description": "MPP payment challenge when commerce is enabled"
          }
        },
        "x-filmrightsproof-commerce": {
          "evaluationMode": false,
          "paymentsRequired": true,
          "protocol": "MPP",
          "method": "stripe",
          "methods": [
            "stripe",
            "tempo"
          ],
          "paymentMethods": [
            {
              "id": "stripe",
              "protocol": "MPP",
              "method": "stripe",
              "provider": "stripe",
              "intents": [
                "charge"
              ]
            },
            {
              "id": "stripe-mpp-tempo",
              "protocol": "MPP",
              "method": "tempo",
              "provider": "stripe",
              "asset": "USDC.e",
              "network": "tempo",
              "intents": [
                "charge"
              ],
              "merchantSettlement": "stripe-balance-fiat"
            }
          ],
          "currency": "USD",
          "freeOperation": "search_public_records",
          "paidOperation": "trace_public_rights",
          "tracePriceCents": 200,
          "stablecoin": {
            "method": "tempo",
            "provider": "stripe",
            "network": "tempo",
            "asset": "USDC.e",
            "merchantSettlement": "stripe-balance-fiat"
          },
          "note": "search_public_records remains free; trace_public_rights requires 2.00 USD per completed trace through MPP using Stripe or Tempo stablecoin payment."
        }
      }
    }
  }
}