{
  "openapi": "3.0.3",
  "info": {
    "title": "NovaCopilot agent API for RapidAPI",
    "version": "agent-api-v1.0.0",
    "description": "Provider import for RapidAPI Studio. The server URL is the protected upstream connection, not a direct consumer URL. Consumers use the hostname and RapidAPI Auth shown in their subscription. The provider configures the proxy secret separately in Studio and backend secrets. The same six source-bound operations and response envelope as the direct agent API are used. RapidAPI plans determine gateway quotas and billing; native account keys, native daily ceilings and Stripe checkout are not used on this connection. meta.tier is retained as 1 for envelope compatibility and does not describe the RapidAPI plan or source freshness. Additional /legal operations read original public JSON from the separately published legal source. They retain the source's provenance, hashes and public access boundaries, and do not use the native agent envelope. Source resale rights and upstream capacity must be agreed before commercial launch.",
    "contact": {
      "name": "Valkiv Ventures AB",
      "email": "hello@exploreworldai.com",
      "url": "https://exploreworldai.com/developers"
    }
  },
  "servers": [
    {
      "url": "https://guhdexlcewpmmqcgscvt.supabase.co/functions/v1/rapidapi-agent-api/v1",
      "description": "Provider upstream URL; consumers use their assigned RapidAPI hostname."
    }
  ],
  "externalDocs": {
    "url": "https://exploreworldai.com/developers"
  },
  "x-provider-import": true,
  "x-consumer-auth": "RapidAPI Auth is configured by RapidAPI Studio, not as an additional API security scheme.",
  "components": {
    "schemas": {
      "Envelope": {
        "type": "object",
        "required": [
          "status",
          "data",
          "warnings",
          "error",
          "meta"
        ],
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "error"
            ]
          },
          "data": {},
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "error": {
            "type": "object",
            "nullable": true
          },
          "meta": {
            "type": "object"
          }
        }
      },
      "LegalSourceJson": {
        "description": "Original public legal-source JSON. Per-type schemas are linked by https://legal.exploreworldai.com/api/public/v1/obj. Original links refer to the source service and retain its access rules.",
        "anyOf": [
          {
            "type": "object"
          },
          {
            "type": "array",
            "items": {}
          }
        ]
      },
      "LegalError": {
        "type": "object",
        "additionalProperties": true,
        "description": "Gateway envelope, sanitized source error, or original structured 400/404 source error. Callers must inspect the HTTP status; this is not a legal assessment."
      },
      "ArticleAgentResponse": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "id",
          "regulation",
          "article",
          "view",
          "version",
          "status",
          "hash",
          "source_references"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Stable source article identity, article:REGULATION:ARTICLE."
          },
          "regulation": {
            "type": "string",
            "enum": [
              "eu:gdpr",
              "eu:dora",
              "eu:ai-act",
              "eu:nis2"
            ]
          },
          "article": {
            "type": "string",
            "pattern": "^[1-9][0-9]{0,2}$"
          },
          "view": {
            "type": "string",
            "enum": [
              "agent-article",
              "agent-risk",
              "agent-control",
              "agent-evidence",
              "agent-outcome"
            ]
          },
          "version": {
            "type": "string",
            "minLength": 1
          },
          "status": {
            "type": "string",
            "enum": [
              "in_register"
            ]
          },
          "hash": {
            "type": "string",
            "pattern": "^sha256:[a-fA-F0-9]{64}$",
            "description": "Source-owned hash. No whole-response hash rule is implied."
          },
          "source_references": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trust_score": {
            "type": "number",
            "description": "Registered source support, not a customer compliance score.",
            "nullable": true
          }
        }
      },
      "legalArticleAgentResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ArticleAgentResponse"
          },
          {
            "type": "object",
            "required": [
              "obligations",
              "sanctions",
              "outcomes"
            ],
            "properties": {
              "view": {
                "enum": [
                  "agent-article"
                ]
              },
              "obligations": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {},
                    "description": "Source-defined entries are preserved without imposing one item schema across regulations."
                  },
                  {
                    "type": "string",
                    "enum": [
                      "not_in_register"
                    ]
                  }
                ]
              },
              "sanctions": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {},
                    "description": "Source-defined entries are preserved without imposing one item schema across regulations."
                  },
                  {
                    "type": "string",
                    "enum": [
                      "not_in_register"
                    ]
                  }
                ]
              },
              "outcomes": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": true
                  },
                  {
                    "type": "string",
                    "enum": [
                      "not_in_register"
                    ]
                  }
                ]
              }
            }
          }
        ]
      },
      "legalArticleRiskAgentResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ArticleAgentResponse"
          },
          {
            "type": "object",
            "required": [
              "risks",
              "decisions",
              "outcomes"
            ],
            "properties": {
              "view": {
                "enum": [
                  "agent-risk"
                ]
              },
              "risks": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": true
                  },
                  {
                    "type": "string",
                    "enum": [
                      "not_in_register"
                    ]
                  }
                ]
              },
              "decisions": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": true
                  },
                  {
                    "type": "string",
                    "enum": [
                      "not_in_register"
                    ]
                  }
                ]
              },
              "outcomes": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": true
                  },
                  {
                    "type": "string",
                    "enum": [
                      "not_in_register"
                    ]
                  }
                ]
              }
            }
          }
        ]
      },
      "legalArticleControlAgentResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ArticleAgentResponse"
          },
          {
            "type": "object",
            "required": [
              "controls",
              "actions"
            ],
            "properties": {
              "view": {
                "enum": [
                  "agent-control"
                ]
              },
              "controls": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {},
                    "description": "Source-defined entries are preserved without imposing one item schema across regulations."
                  },
                  {
                    "type": "string",
                    "enum": [
                      "not_in_register"
                    ]
                  }
                ]
              },
              "actions": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {},
                    "description": "Source-defined entries are preserved without imposing one item schema across regulations."
                  },
                  {
                    "type": "string",
                    "enum": [
                      "not_in_register"
                    ]
                  }
                ]
              }
            }
          }
        ]
      },
      "legalArticleEvidenceAgentResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ArticleAgentResponse"
          },
          {
            "type": "object",
            "required": [
              "evidence",
              "trust"
            ],
            "properties": {
              "view": {
                "enum": [
                  "agent-evidence"
                ]
              },
              "evidence": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {},
                    "description": "Source-defined entries are preserved without imposing one item schema across regulations."
                  },
                  {
                    "type": "string",
                    "enum": [
                      "not_in_register"
                    ]
                  }
                ]
              },
              "trust": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": true
                  },
                  {
                    "type": "string",
                    "enum": [
                      "not_in_register"
                    ]
                  }
                ]
              }
            }
          }
        ]
      },
      "legalArticleOutcomeAgentResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ArticleAgentResponse"
          },
          {
            "type": "object",
            "required": [
              "outcomes",
              "decisions",
              "sanctions"
            ],
            "properties": {
              "view": {
                "enum": [
                  "agent-outcome"
                ]
              },
              "outcomes": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": true
                  },
                  {
                    "type": "string",
                    "enum": [
                      "not_in_register"
                    ]
                  }
                ]
              },
              "decisions": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": true
                  },
                  {
                    "type": "string",
                    "enum": [
                      "not_in_register"
                    ]
                  }
                ]
              },
              "sanctions": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {},
                    "description": "Source-defined entries are preserved without imposing one item schema across regulations."
                  },
                  {
                    "type": "string",
                    "enum": [
                      "not_in_register"
                    ]
                  }
                ]
              }
            }
          }
        ]
      }
    }
  },
  "paths": {
    "/rules": {
      "get": {
        "operationId": "rules",
        "summary": "EU rules",
        "description": "Find EU law articles and rule pages (GDPR, AI Act, DSA, DMA, PSD2 and more) by words, each with its EUR-Lex based page and review date. Source: /data/omrade/eu.jsonl, /data/omrade/ovrigt.jsonl.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "description": "Words to look for, e.g. 'gdpr article 6'.",
            "example": "gdpr article 6",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "description": "Page language: en, sv, no or de. Default en.",
            "example": "en",
            "schema": {
              "type": "string",
              "enum": [
                "en",
                "sv",
                "no",
                "de"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum rows, 1 to 25. Default 10.",
            "example": "10",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Source-bound rows in the shared agent API envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query parameter, duplicate parameter or unsupported value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "403": {
            "description": "The request did not pass the upstream RapidAPI access check.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown API route or version.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "The upstream connection is not configured or a required source is unavailable. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          }
        },
        "x-billing": {
          "category": "graph",
          "quota": "GraphChangeRequests",
          "intendedUnitPrice": {
            "currency": "USD",
            "amount": 0.01
          }
        }
      }
    },
    "/applies": {
      "get": {
        "operationId": "applies",
        "summary": "Does it apply to us?",
        "description": "Rules by role in the supply chain (provider, importer, distributor, platform, cloud provider) and topic, with the short answer and the page that cites the articles. Source: /data/omrade/compliance.jsonl.",
        "parameters": [
          {
            "name": "role",
            "in": "query",
            "required": true,
            "description": "Role words, e.g. 'importer' or 'cloud provider'.",
            "example": "importer",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "topic",
            "in": "query",
            "required": false,
            "description": "Topic words, e.g. 'ai' or 'product safety'.",
            "example": "ai",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum rows, 1 to 25. Default 10.",
            "example": "10",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Source-bound rows in the shared agent API envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query parameter, duplicate parameter or unsupported value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "403": {
            "description": "The request did not pass the upstream RapidAPI access check.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown API route or version.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "The upstream connection is not configured or a required source is unavailable. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          }
        },
        "x-billing": {
          "category": "answer",
          "quota": "AnswerRequests",
          "intendedUnitPrice": {
            "currency": "USD",
            "amount": 0.05
          }
        }
      }
    },
    "/stats": {
      "get": {
        "operationId": "stats",
        "summary": "EU statistics",
        "description": "Eurostat figures per country and measure (GDP per inhabitant, employment, prices, unemployment, population), with comparisons and the Eurostat source. Source: /data/omrade/eu.jsonl, /data/omrade/statistik.jsonl.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "description": "Country and measure, e.g. 'germany unemployment'.",
            "example": "germany unemployment",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "description": "Page language: en, sv, no or de. Default en.",
            "example": "en",
            "schema": {
              "type": "string",
              "enum": [
                "en",
                "sv",
                "no",
                "de"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum rows, 1 to 25. Default 10.",
            "example": "10",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Source-bound rows in the shared agent API envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query parameter, duplicate parameter or unsupported value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "403": {
            "description": "The request did not pass the upstream RapidAPI access check.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown API route or version.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "The upstream connection is not configured or a required source is unavailable. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          }
        },
        "x-billing": {
          "category": "graph",
          "quota": "GraphChangeRequests",
          "intendedUnitPrice": {
            "currency": "USD",
            "amount": 0.01
          }
        }
      }
    },
    "/traveller": {
      "get": {
        "operationId": "traveller",
        "summary": "Traveller rights",
        "description": "Air passenger rights, delays, cancellations, entry and visa questions in Europe, answered from the official regulation and authority pages. Source: /data/omrade/ovrigt.jsonl.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "description": "Words, e.g. 'flight cancelled compensation'.",
            "example": "flight cancelled",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "description": "Page language: en, sv, no or de. Default en.",
            "example": "en",
            "schema": {
              "type": "string",
              "enum": [
                "en",
                "sv",
                "no",
                "de"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum rows, 1 to 25. Default 10.",
            "example": "10",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Source-bound rows in the shared agent API envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query parameter, duplicate parameter or unsupported value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "403": {
            "description": "The request did not pass the upstream RapidAPI access check.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown API route or version.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "The upstream connection is not configured or a required source is unavailable. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          }
        },
        "x-billing": {
          "category": "answer",
          "quota": "AnswerRequests",
          "intendedUnitPrice": {
            "currency": "USD",
            "amount": 0.05
          }
        }
      }
    },
    "/sanctions": {
      "get": {
        "operationId": "sanctions",
        "summary": "Sanctions check",
        "description": "Check a name against the EU consolidated list, the UN Security Council list and the US OFAC SDN list. Returns listed rows exactly as the list writes them. Source: /sanktioner/listor/eu.json, /sanktioner/listor/fn.json, OFAC SDN.",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": true,
            "description": "Name of a person or entity, at least 3 letters.",
            "example": "Al-Nuaymi",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum rows, 1 to 25. Default 10.",
            "example": "10",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Source-bound rows in the shared agent API envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query parameter, duplicate parameter or unsupported value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "403": {
            "description": "The request did not pass the upstream RapidAPI access check.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown API route or version.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "The upstream connection is not configured or a required source is unavailable. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          }
        },
        "x-billing": {
          "category": "graph",
          "quota": "GraphChangeRequests",
          "intendedUnitPrice": {
            "currency": "USD",
            "amount": 0.01
          }
        }
      }
    },
    "/today": {
      "get": {
        "operationId": "today",
        "summary": "Today's changes",
        "description": "What changed today: ECB reference rates, new EU Safety Gate alerts, OFAC additions and removals, and the count of pages whose read text changed. Source: ECB, EU Safety Gate, OFAC SDN, /andringar-dygn.txt.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Source-bound rows in the shared agent API envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query parameter, duplicate parameter or unsupported value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "403": {
            "description": "The request did not pass the upstream RapidAPI access check.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown API route or version.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "The upstream connection is not configured or a required source is unavailable. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          }
        },
        "x-billing": {
          "category": "change",
          "quota": "GraphChangeRequests",
          "intendedUnitPrice": {
            "currency": "USD",
            "amount": 0.01
          }
        }
      }
    },
    "/legal/obj": {
      "get": {
        "operationId": "legalObjectCatalog",
        "summary": "List object types or object links for an EU/US case",
        "tags": [
          "Published legal data"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^(?:eu|us):[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$",
              "maxLength": 211
            },
            "example": "eu:c-196-24",
            "description": "Optional EU/US case reference. Returns its object-link directory; a listed link does not establish that the individual object exists."
          }
        ],
        "description": "Original public-source JSON, without the native agent envelope. Source identifiers, hashes, provenance and public/partner access markers are preserved. A RapidAPI subscription does not grant partner fields. No documents or customer evidence are submitted.",
        "x-source-contract-reviewed-at": "2026-10-26",
        "responses": {
          "200": {
            "description": "Published source JSON. Fields vary by operation and object type; absence of data is not a legal finding.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalSourceJson"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input, or a structured source rejection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "403": {
            "description": "The RapidAPI gateway access check failed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown route, object type or source identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable, throttled, timed out, malformed, too large or returning a temporary-wait response. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          }
        },
        "x-billing": {
          "category": "graph",
          "quota": "GraphChangeRequests",
          "intendedUnitPrice": {
            "currency": "USD",
            "amount": 0.01
          }
        }
      }
    },
    "/legal/obj/{type}/{ref}": {
      "get": {
        "operationId": "legalObject",
        "summary": "Read one public legal object",
        "tags": [
          "Published legal data"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "risk",
                "relation",
                "change",
                "agent",
                "provenance",
                "status",
                "precedent",
                "edge",
                "element",
                "decision",
                "obligation",
                "sanction",
                "weight",
                "conflict",
                "outcome",
                "provision_link",
                "brief",
                "citation_graph",
                "outcome_pattern",
                "risk_chain",
                "compliance_effect",
                "answer_node",
                "exception",
                "timeline",
                "package",
                "case_kit",
                "documentation_requirement",
                "sme_kit",
                "action_kit",
                "action",
                "authority",
                "consequence",
                "decision_chain"
              ]
            },
            "example": "edge"
          },
          {
            "name": "ref",
            "in": "path",
            "required": true,
            "description": "EU/US references for all listed types. Swedish se: references are supported for provision_link, citation_graph, outcome_pattern, risk_chain and answer_node.",
            "schema": {
              "type": "string",
              "pattern": "^(?:eu|us|se):[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$",
              "maxLength": 203
            },
            "example": "eu:c-196-24"
          }
        ],
        "description": "Original public-source JSON, without the native agent envelope. Source identifiers, hashes, provenance and public/partner access markers are preserved. A RapidAPI subscription does not grant partner fields. No documents or customer evidence are submitted.",
        "x-source-contract-reviewed-at": "2026-10-26",
        "responses": {
          "200": {
            "description": "Published source JSON. Fields vary by operation and object type; absence of data is not a legal finding.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalSourceJson"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input, or a structured source rejection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "403": {
            "description": "The RapidAPI gateway access check failed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown route, object type or source identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable, throttled, timed out, malformed, too large or returning a temporary-wait response. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          }
        },
        "x-billing": {
          "selector": {
            "in": "path",
            "name": "type"
          },
          "byValue": {
            "risk": {
              "category": "risk",
              "quota": "RiskRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.03
              }
            },
            "relation": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "change": {
              "category": "change",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "agent": {
              "category": "answer",
              "quota": "AnswerRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.05
              }
            },
            "provenance": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "status": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "precedent": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "edge": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "element": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "decision": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "obligation": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "sanction": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "weight": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "conflict": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "outcome": {
              "category": "risk",
              "quota": "RiskRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.03
              }
            },
            "provision_link": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "brief": {
              "category": "answer",
              "quota": "AnswerRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.05
              }
            },
            "citation_graph": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "outcome_pattern": {
              "category": "risk",
              "quota": "RiskRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.03
              }
            },
            "risk_chain": {
              "category": "risk",
              "quota": "RiskRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.03
              }
            },
            "compliance_effect": {
              "category": "risk",
              "quota": "RiskRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.03
              }
            },
            "answer_node": {
              "category": "answer",
              "quota": "AnswerRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.05
              }
            },
            "exception": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "timeline": {
              "category": "change",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "package": {
              "category": "answer",
              "quota": "AnswerRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.05
              }
            },
            "case_kit": {
              "category": "answer",
              "quota": "AnswerRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.05
              }
            },
            "documentation_requirement": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "sme_kit": {
              "category": "answer",
              "quota": "AnswerRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.05
              }
            },
            "action_kit": {
              "category": "answer",
              "quota": "AnswerRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.05
              }
            },
            "action": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "authority": {
              "category": "graph",
              "quota": "GraphChangeRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.01
              }
            },
            "consequence": {
              "category": "risk",
              "quota": "RiskRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.03
              }
            },
            "decision_chain": {
              "category": "risk",
              "quota": "RiskRequests",
              "intendedUnitPrice": {
                "currency": "USD",
                "amount": 0.03
              }
            }
          }
        }
      }
    },
    "/legal/relations": {
      "get": {
        "operationId": "legalRelations",
        "summary": "Read published relations for a legal identifier",
        "tags": [
          "Published legal data"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^(?:se|act|compliance|eu|us):[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$",
              "maxLength": 211
            },
            "example": "act:anstallningsskydd"
          }
        ],
        "description": "Original public-source JSON, without the native agent envelope. Source identifiers, hashes, provenance and public/partner access markers are preserved. A RapidAPI subscription does not grant partner fields. No documents or customer evidence are submitted.",
        "x-source-contract-reviewed-at": "2026-10-26",
        "responses": {
          "200": {
            "description": "Published source JSON. Fields vary by operation and object type; absence of data is not a legal finding.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalSourceJson"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input, or a structured source rejection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "403": {
            "description": "The RapidAPI gateway access check failed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown route, object type or source identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable, throttled, timed out, malformed, too large or returning a temporary-wait response. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          }
        },
        "x-billing": {
          "category": "graph",
          "quota": "GraphChangeRequests",
          "intendedUnitPrice": {
            "currency": "USD",
            "amount": 0.01
          }
        }
      }
    },
    "/legal/full-judgment/{id}": {
      "get": {
        "operationId": "legalFullJudgment",
        "summary": "Read a published judgment document as JSON",
        "tags": [
          "Published legal data"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,199}$",
              "maxLength": 200
            },
            "example": "pmod-2017-2"
          }
        ],
        "description": "Original public-source JSON, without the native agent envelope. Source identifiers, hashes, provenance and public/partner access markers are preserved. A RapidAPI subscription does not grant partner fields. No documents or customer evidence are submitted.",
        "x-source-contract-reviewed-at": "2026-10-26",
        "responses": {
          "200": {
            "description": "Published source JSON. Fields vary by operation and object type; absence of data is not a legal finding.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalSourceJson"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input, or a structured source rejection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "403": {
            "description": "The RapidAPI gateway access check failed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown route, object type or source identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable, throttled, timed out, malformed, too large or returning a temporary-wait response. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          }
        },
        "x-billing": {
          "category": "graph",
          "quota": "GraphChangeRequests",
          "intendedUnitPrice": {
            "currency": "USD",
            "amount": 0.01
          }
        }
      }
    },
    "/legal/judgment-text": {
      "get": {
        "operationId": "legalJudgmentText",
        "summary": "Read published EU or US judgment text",
        "tags": [
          "Published legal data"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^(?:eu|us):[A-Za-z0-9][A-Za-z0-9._:-]{0,199}$",
              "maxLength": 211
            },
            "example": "eu:c-51-25"
          }
        ],
        "description": "Original public-source JSON, without the native agent envelope. Source identifiers, hashes, provenance and public/partner access markers are preserved. A RapidAPI subscription does not grant partner fields. No documents or customer evidence are submitted.",
        "x-source-contract-reviewed-at": "2026-10-26",
        "responses": {
          "200": {
            "description": "Published source JSON. Fields vary by operation and object type; absence of data is not a legal finding.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalSourceJson"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input, or a structured source rejection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "403": {
            "description": "The RapidAPI gateway access check failed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown route, object type or source identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable, throttled, timed out, malformed, too large or returning a temporary-wait response. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          }
        },
        "x-billing": {
          "category": "graph",
          "quota": "GraphChangeRequests",
          "intendedUnitPrice": {
            "currency": "USD",
            "amount": 0.01
          }
        }
      }
    },
    "/legal/intelligence/article/{regulation}/{article}/agent-article": {
      "get": {
        "operationId": "legalArticleAgent",
        "summary": "Article agent",
        "tags": [
          "Article intelligence"
        ],
        "parameters": [
          {
            "name": "regulation",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "eu:gdpr",
                "eu:dora",
                "eu:ai-act",
                "eu:nis2"
              ]
            },
            "example": "eu:gdpr"
          },
          {
            "name": "article",
            "in": "path",
            "required": true,
            "description": "A positive article number, 1 to 999. This validates the identifier, not register coverage.",
            "schema": {
              "type": "string",
              "pattern": "^[1-9][0-9]{0,2}$",
              "maxLength": 3
            },
            "example": "32"
          }
        ],
        "description": "Original public-source JSON, without the native agent envelope. Source identifiers, hashes, provenance and public/partner access markers are preserved. A RapidAPI subscription does not grant partner fields. No documents or customer evidence are submitted. Read registered obligations, sanction references and outcomes for one regulatory article. Root not_in_register is a 404. Missing fields inside a registered article remain unchanged in its 200 response. Scores and evidence gaps are not customer compliance assessments. Source hashes are opaque values; they are not asserted to be hashes of the whole HTTP response.",
        "x-source-contract-reviewed-at": "2026-10-26",
        "responses": {
          "200": {
            "description": "Published source JSON. Fields vary by operation and object type; absence of data is not a legal finding.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/legalArticleAgentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input, or a structured source rejection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "403": {
            "description": "The RapidAPI gateway access check failed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown route, object type or source identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable, throttled, timed out, malformed, too large or returning a temporary-wait response. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          }
        },
        "x-billing": {
          "category": "graph",
          "quota": "GraphChangeRequests",
          "intendedUnitPrice": {
            "currency": "USD",
            "amount": 0.01
          }
        }
      }
    },
    "/legal/intelligence/article/{regulation}/{article}/agent-risk": {
      "get": {
        "operationId": "legalArticleRiskAgent",
        "summary": "Risk agent",
        "tags": [
          "Article intelligence"
        ],
        "parameters": [
          {
            "name": "regulation",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "eu:gdpr",
                "eu:dora",
                "eu:ai-act",
                "eu:nis2"
              ]
            },
            "example": "eu:gdpr"
          },
          {
            "name": "article",
            "in": "path",
            "required": true,
            "description": "A positive article number, 1 to 999. This validates the identifier, not register coverage.",
            "schema": {
              "type": "string",
              "pattern": "^[1-9][0-9]{0,2}$",
              "maxLength": 3
            },
            "example": "32"
          }
        ],
        "description": "Original public-source JSON, without the native agent envelope. Source identifiers, hashes, provenance and public/partner access markers are preserved. A RapidAPI subscription does not grant partner fields. No documents or customer evidence are submitted. Read registered risk objects, authority decisions and outcome summaries. These are register data, not a risk assessment of your organization. Root not_in_register is a 404. Missing fields inside a registered article remain unchanged in its 200 response. Scores and evidence gaps are not customer compliance assessments. Source hashes are opaque values; they are not asserted to be hashes of the whole HTTP response.",
        "x-source-contract-reviewed-at": "2026-10-26",
        "responses": {
          "200": {
            "description": "Published source JSON. Fields vary by operation and object type; absence of data is not a legal finding.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/legalArticleRiskAgentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input, or a structured source rejection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "403": {
            "description": "The RapidAPI gateway access check failed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown route, object type or source identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable, throttled, timed out, malformed, too large or returning a temporary-wait response. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          }
        },
        "x-billing": {
          "category": "risk",
          "quota": "RiskRequests",
          "intendedUnitPrice": {
            "currency": "USD",
            "amount": 0.03
          }
        }
      }
    },
    "/legal/intelligence/article/{regulation}/{article}/agent-control": {
      "get": {
        "operationId": "legalArticleControlAgent",
        "summary": "Control agent",
        "tags": [
          "Article intelligence"
        ],
        "parameters": [
          {
            "name": "regulation",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "eu:gdpr",
                "eu:dora",
                "eu:ai-act",
                "eu:nis2"
              ]
            },
            "example": "eu:gdpr"
          },
          {
            "name": "article",
            "in": "path",
            "required": true,
            "description": "A positive article number, 1 to 999. This validates the identifier, not register coverage.",
            "schema": {
              "type": "string",
              "pattern": "^[1-9][0-9]{0,2}$",
              "maxLength": 3
            },
            "example": "32"
          }
        ],
        "description": "Original public-source JSON, without the native agent envelope. Source identifiers, hashes, provenance and public/partner access markers are preserved. A RapidAPI subscription does not grant partner fields. No documents or customer evidence are submitted. Read registered controls and actions. Maturity describes the registered definition, not your implementation. Root not_in_register is a 404. Missing fields inside a registered article remain unchanged in its 200 response. Scores and evidence gaps are not customer compliance assessments. Source hashes are opaque values; they are not asserted to be hashes of the whole HTTP response.",
        "x-source-contract-reviewed-at": "2026-10-26",
        "responses": {
          "200": {
            "description": "Published source JSON. Fields vary by operation and object type; absence of data is not a legal finding.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/legalArticleControlAgentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input, or a structured source rejection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "403": {
            "description": "The RapidAPI gateway access check failed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown route, object type or source identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable, throttled, timed out, malformed, too large or returning a temporary-wait response. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          }
        },
        "x-billing": {
          "category": "answer",
          "quota": "AnswerRequests",
          "intendedUnitPrice": {
            "currency": "USD",
            "amount": 0.05
          }
        }
      }
    },
    "/legal/intelligence/article/{regulation}/{article}/agent-evidence": {
      "get": {
        "operationId": "legalArticleEvidenceAgent",
        "summary": "Evidence agent",
        "tags": [
          "Article intelligence"
        ],
        "parameters": [
          {
            "name": "regulation",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "eu:gdpr",
                "eu:dora",
                "eu:ai-act",
                "eu:nis2"
              ]
            },
            "example": "eu:gdpr"
          },
          {
            "name": "article",
            "in": "path",
            "required": true,
            "description": "A positive article number, 1 to 999. This validates the identifier, not register coverage.",
            "schema": {
              "type": "string",
              "pattern": "^[1-9][0-9]{0,2}$",
              "maxLength": 3
            },
            "example": "32"
          }
        ],
        "description": "Original public-source JSON, without the native agent envelope. Source identifiers, hashes, provenance and public/partner access markers are preserved. A RapidAPI subscription does not grant partner fields. No documents or customer evidence are submitted. Read evidence requirements and explicit register gaps. Customer evidence remains unknown; no customer documents are submitted or verified. Root not_in_register is a 404. Missing fields inside a registered article remain unchanged in its 200 response. Scores and evidence gaps are not customer compliance assessments. Source hashes are opaque values; they are not asserted to be hashes of the whole HTTP response.",
        "x-source-contract-reviewed-at": "2026-10-26",
        "responses": {
          "200": {
            "description": "Published source JSON. Fields vary by operation and object type; absence of data is not a legal finding.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/legalArticleEvidenceAgentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input, or a structured source rejection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "403": {
            "description": "The RapidAPI gateway access check failed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown route, object type or source identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable, throttled, timed out, malformed, too large or returning a temporary-wait response. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          }
        },
        "x-billing": {
          "category": "graph",
          "quota": "GraphChangeRequests",
          "intendedUnitPrice": {
            "currency": "USD",
            "amount": 0.01
          }
        }
      }
    },
    "/legal/intelligence/article/{regulation}/{article}/agent-outcome": {
      "get": {
        "operationId": "legalArticleOutcomeAgent",
        "summary": "Outcome agent",
        "tags": [
          "Article intelligence"
        ],
        "parameters": [
          {
            "name": "regulation",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "eu:gdpr",
                "eu:dora",
                "eu:ai-act",
                "eu:nis2"
              ]
            },
            "example": "eu:gdpr"
          },
          {
            "name": "article",
            "in": "path",
            "required": true,
            "description": "A positive article number, 1 to 999. This validates the identifier, not register coverage.",
            "schema": {
              "type": "string",
              "pattern": "^[1-9][0-9]{0,2}$",
              "maxLength": 3
            },
            "example": "32"
          }
        ],
        "description": "Original public-source JSON, without the native agent envelope. Source identifiers, hashes, provenance and public/partner access markers are preserved. A RapidAPI subscription does not grant partner fields. No documents or customer evidence are submitted. Read registered outcomes, decisions and sanction references. Historical counts are not predictions for a customer. Root not_in_register is a 404. Missing fields inside a registered article remain unchanged in its 200 response. Scores and evidence gaps are not customer compliance assessments. Source hashes are opaque values; they are not asserted to be hashes of the whole HTTP response.",
        "x-source-contract-reviewed-at": "2026-10-26",
        "responses": {
          "200": {
            "description": "Published source JSON. Fields vary by operation and object type; absence of data is not a legal finding.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/legalArticleOutcomeAgentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input, or a structured source rejection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "403": {
            "description": "The RapidAPI gateway access check failed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "404": {
            "description": "Unknown route, object type or source identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET is supported.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable, throttled, timed out, malformed, too large or returning a temporary-wait response. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalError"
                }
              }
            }
          }
        },
        "x-billing": {
          "category": "risk",
          "quota": "RiskRequests",
          "intendedUnitPrice": {
            "currency": "USD",
            "amount": 0.03
          }
        }
      }
    }
  },
  "x-billing-configuration": {
    "object": "SuccessfulRequests",
    "objectRole": "Unpriced trial/audit counter; never an additional commercial usage charge.",
    "unit": "One validated HTTP 200 product response; metadata and errors report zero.",
    "products": {
      "graph": {
        "category": "graph",
        "quota": "GraphChangeRequests",
        "intendedUnitPrice": {
          "currency": "USD",
          "amount": 0.01
        }
      },
      "change": {
        "category": "change",
        "quota": "GraphChangeRequests",
        "intendedUnitPrice": {
          "currency": "USD",
          "amount": 0.01
        }
      },
      "risk": {
        "category": "risk",
        "quota": "RiskRequests",
        "intendedUnitPrice": {
          "currency": "USD",
          "amount": 0.03
        }
      },
      "answer": {
        "category": "answer",
        "quota": "AnswerRequests",
        "intendedUnitPrice": {
          "currency": "USD",
          "amount": 0.05
        }
      }
    },
    "pricedObjects": [
      {
        "name": "GraphChangeRequests",
        "categories": [
          "graph",
          "change"
        ],
        "intendedUnitPrice": {
          "currency": "USD",
          "amount": 0.01
        }
      },
      {
        "name": "RiskRequests",
        "categories": [
          "risk"
        ],
        "intendedUnitPrice": {
          "currency": "USD",
          "amount": 0.03
        }
      },
      {
        "name": "AnswerRequests",
        "categories": [
          "answer"
        ],
        "intendedUnitPrice": {
          "currency": "USD",
          "amount": 0.05
        }
      }
    ],
    "providerPlan": {
      "type": "Monthly Subscription",
      "subscriptionPrice": {
        "currency": "USD",
        "amount": 0
      },
      "requests": {
        "object": "Requests",
        "monthlyLimit": 500000,
        "limitType": "Hard Limit",
        "overagePrice": 0
      },
      "pricedObjects": {
        "includedUnits": 0,
        "limitType": "Soft Limit"
      }
    },
    "allZeroOverride": "SuccessfulRequests=0; GraphChangeRequests=0; RiskRequests=0; AnswerRequests=0",
    "rolloutOrder": [
      "Create all four Objects unpriced",
      "Deploy explicit zero/one overrides",
      "Verify all category counters through Rapid Runtime",
      "Configure approved USD prices and activate the completed plan"
    ],
    "providerSetupRequired": "Keep SuccessfulRequests unpriced. Configure the three priced Objects with zero included units and their approved USD unit prices. Keep mandatory Requests unpriced with a 500000/month hard limit, and configure rate limits separately. Saving a plan can activate it; keep the API private and the unfinished plan hidden.",
    "verificationRequired": "Verify exactly one priced category increment per product response, all four zero overrides on metadata/errors and gateway-generated errors in private Rapid Runtime tests before enabling paid access. This import does not configure or prove live prices."
  }
}
