{
    "openapi": "3.0.3",
    "info": {
        "title": "handelsregister.ai API",
        "description": "REST API for official German company data (Handelsregister): company master data, Signals (normalized commercial-register changes searchable across companies), financials, management, shareholders, UBOs, shareholdings, M&A transactions, insolvencies, news, and register documents.\n\nBilling is credit-based. fetch-organization costs 5 credits base plus per-feature costs - a feature is only charged when it actually returns data. Every successful Signals list, detail, or pagination call costs exactly 20 credits; the Signals catalog is free. The response `meta.request_credit_cost` always reflects the real charge. Failed requests charge 0 credits, except the +20 AI surcharge which applies even on failure. Realtime mode (+10) is charged only when the live fetch succeeds.\n\nMonitoring is an independent product that watches selected organizations and sends signed at-least-once webhooks. It intentionally reuses the Signals topic vocabulary, organization.signal.detected, data.signal, and the Signal-detail link. Every account receives NEW_REGISTRATIONS, MASTER_DATA_CHANGES, CLOSURES, ROLE_HOLDER_CHANGES, and CAPITAL_CHANGES; Pro and Max add INSOLVENCIES; Max adds TRANSFORMATIONS (Transformations & M&A). The scanner observes all seven topics for baseline/deduplication but releases only current-plan topics. Missing or unknown topics fail closed; future catalog additions require an explicit tier assignment. Management endpoints are free. Billing per monitor: asynchronous free baseline; then a set price per prospective 30-day cycle depending on cadence (daily 50, every 3 days 40, weekly 20, monthly 10 credits), covering the checks that cadence forecasts. An interval with no listed price is billed at the next more frequent cadence. Each check beyond the forecast, such as an outage catch-up, costs 2 credits, independent of event count. Failed, partial, superseded, and unfunded checks add no run charge. Following data.links.signal is a separate authenticated Signals detail request and costs 20 credits only on success. After release, every public mutation requires Idempotency-Key. Database-only effects and replay records commit atomically; endpoint verify/test network ambiguity requires support rather than an automatic retry. Every Bearer token needs account:read; monitor mutations, endpoint verify/test and delivery retry additionally need literal monitoring:manage; endpoint create/rotate/enable/disable/archive additionally need literal account:keys.",
        "version": "1.0.0",
        "contact": {
            "url": "https://handelsregister.ai"
        }
    },
    "servers": [
        {
            "url": "https://handelsregister.ai/api"
        }
    ],
    "security": [
        {
            "ApiKeyHeader": []
        },
        {
            "ApiKeyQuery": []
        },
        {
            "BearerToken": []
        }
    ],
    "paths": {
        "/v1/search-organizations": {
            "get": {
                "operationId": "searchOrganizations",
                "summary": "Search German companies (1 credit)",
                "description": "Search by free text and/or structured filters. Either `q` or `filters` must be provided. Returns matching companies with their `entity_id`, which should be used as `q` in /v1/fetch-organization for exact retrieval.",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "minLength": 2
                        },
                        "description": "Search query (min 2 chars). Optional when filters is provided."
                    },
                    {
                        "name": "skip",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 0
                        },
                        "description": "Number of results to skip."
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 10,
                            "maximum": 30
                        },
                        "description": "Results per page (max 30)."
                    },
                    {
                        "name": "filters",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "JSON-encoded filter object. Supported keys: registration_date_from/to (ISO 8601), legal_form_code (string|array), industry_code (a single WZ2025 code as a string, or an array of codes matching any of them, e.g. [\"62.10.1\",\"62.10.3\"]), industry_scheme (default WZ2025), active (bool), postal_code, city, state, location_coordinates ({latitude, longitude}), location_max_distance_km (1-100), registration_type (HRA|HRB|GnR|PR|VR, string|array), registration_authority_name, registration_number, company_size_category (micro|small|medium|large), and financial_filters — an object nesting the range keys emp_count, bs_assets_total, bs_equity_total, bs_liabilities_total, bs_cash_and_equivalents, bs_cash_to_liabilities, bs_equity_ratio, bs_debt_to_assets, pl_revenue, pl_net_income, pl_ebit (ranges as {\"gte\": min, \"lte\": max}), e.g. {\"financial_filters\":{\"pl_revenue\":{\"gte\":1000000}}}."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Search results with entity_id per hit.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "results": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "entity_id": {
                                                        "type": "string"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "registration": {
                                                        "type": "object"
                                                    },
                                                    "address": {
                                                        "type": "object"
                                                    },
                                                    "registration_date": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "purpose": {
                                                        "type": "string",
                                                        "nullable": true
                                                    }
                                                }
                                            }
                                        },
                                        "total": {
                                            "type": "integer"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/BadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "402": {
                        "$ref": "#/components/responses/PaymentRequired"
                    },
                    "429": {
                        "$ref": "#/components/responses/TooManyRequests"
                    }
                }
            }
        },
        "/v1/fetch-organization": {
            "get": {
                "operationId": "fetchOrganization",
                "summary": "Full company profile (5 credits base + features)",
                "description": "Retrieves a company profile. Core data (entity_id, name, status, legal_form, address, registration, contact_data, purpose, keywords, products_and_services, industry_classification, registration_date) is always included for the 5-credit base price. Additional data is selected via the repeatable `feature` parameter and billed per feature - only when data is returned.",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Company name, register number, search query, or an entity_id from /v1/search-organizations (most reliable)."
                    },
                    {
                        "name": "feature",
                        "in": "query",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "financial_kpi",
                                    "balance_sheet_accounts",
                                    "profit_and_loss_account",
                                    "related_persons",
                                    "publications",
                                    "news",
                                    "insolvency_publications",
                                    "annual_financial_statements",
                                    "annual_financial_statements__html",
                                    "shareholders",
                                    "ubos",
                                    "shareholdings",
                                    "mergers_and_acquisitions",
                                    "website_content",
                                    "network"
                                ]
                            }
                        },
                        "description": "Data features to include. Repeatable (feature=a&feature=b); also accepted as features= or comma-separated. Costs in credits: financial_kpi 1, publications 1 (returned under response key `history`), related_persons 2, balance_sheet_accounts 3, profit_and_loss_account 3, insolvency_publications 5, annual_financial_statements 5, annual_financial_statements__html 5, shareholders 5, shareholdings 5, ubos 10, news 10, mergers_and_acquisitions 20, website_content 0 (requires AI mode). network (25 credits, Pro or Max plan required): relationship graph of companies and persons around the entity, charged only when at least one connection is returned; on other plans the key is ignored."
                    },
                    {
                        "name": "ai_search",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "on-default"
                            ]
                        },
                        "description": "AI enrichment and fuzzy entity resolution. +20 credits (also charged when the request fails)."
                    },
                    {
                        "name": "realtime_mode",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "handelsregister-default"
                            ]
                        },
                        "description": "Re-fetch live register data. +10 credits, charged only on success. Not compatible with the related_persons and publications features."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Company profile. Requested features appear as top-level keys (note: publications data is returned under the key `history`).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Organization"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "402": {
                        "$ref": "#/components/responses/PaymentRequired"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "429": {
                        "$ref": "#/components/responses/TooManyRequests"
                    }
                }
            }
        },
        "/v1/fetch-person": {
            "get": {
                "operationId": "fetchPerson",
                "summary": "Person profile (15 credits, Plus/Pro/Max only)",
                "description": "Merges German commercial-register data with AI web evidence into a single person profile. AI is always on; the 15-credit base includes it. Requires an active Plus, Pro, or Max subscription - otherwise 403 subscription_required.",
                "parameters": [
                    {
                        "name": "person_q",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "minLength": 2
                        },
                        "description": "Person's name."
                    },
                    {
                        "name": "organization_q",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "minLength": 2
                        },
                        "description": "Company context for disambiguation."
                    },
                    {
                        "name": "features",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "shareholdings",
                                "network"
                            ]
                        },
                        "description": "Optional: shareholdings (+5 credits, only charged when holdings data is returned). network (25 credits, Pro or Max plan required): relationship graph of companies and persons around the entity, charged only when at least one connection is returned; on other plans the key is ignored."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Person profile: entity_id, name, birth_date, name_parts, location, bio, expertise, contact, profiles, handelsregister_roles, affiliations, optionally shareholdings.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "402": {
                        "$ref": "#/components/responses/PaymentRequired"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "429": {
                        "$ref": "#/components/responses/TooManyRequests"
                    }
                }
            }
        },
        "/v1/fetch-document": {
            "get": {
                "operationId": "fetchDocument",
                "summary": "Official register documents (15 credits, 5/min)",
                "description": "Downloads official documents from the German commercial register. PDF for AD/CD/shareholders_list/articles_of_association, XML for SI.",
                "parameters": [
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Company entity_id from search results."
                    },
                    {
                        "name": "document_type",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "AD",
                                "CD",
                                "shareholders_list",
                                "articles_of_association",
                                "SI"
                            ]
                        },
                        "description": "AD = current excerpt, CD = chronological excerpt, shareholders_list, articles_of_association, SI = structured content (XML)."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The document (application/pdf or application/xml)."
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "402": {
                        "$ref": "#/components/responses/PaymentRequired"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "429": {
                        "$ref": "#/components/responses/TooManyRequests"
                    }
                }
            }
        },
        "/v1/signals": {
            "get": {
                "operationId": "listSignals",
                "summary": "List normalized company Signals (20 credits)",
                "description": "Searches normalized commercial-register changes across companies using only the stable public Handelsregister.ai Signals vocabulary.\n\n**Authentication.** An `x-api-key` header, an `api_key` query parameter, or an `Authorization: Bearer <token>` header. Bearer tokens need no particular ability for Signals. `api_key` is accepted here (unlike on `/v1/account/*`) and is removed from the query before validation, so it never counts as an unknown parameter.\n\n**Parameters.** Only `cursor`, `topics`, `organization_ids`, `from` and `to` are accepted. Any other query parameter — including `limit`, `order_by`, `projection` and `include_evidence` — is rejected with 422 `INVALID_REQUEST` and `invalid_params` `{\"<name>\": [\"Unknown Signals parameter.\"]}`; only the first unknown parameter is reported.\n\n**Plans.** Omitting `topics` does not search all topics: it searches exactly the topics the account's plan can access — the five untiered topics without a subscription and on Plus, plus `INSOLVENCIES` on Pro, plus `TRANSFORMATIONS` on Max. Nothing in the response marks that narrowing (`filters.topics` is `[]` either way). Asking for a topic above the plan returns 403 `PLAN_REQUIRED` before any lookup.\n\n**Pagination.** Cursor-only. `pagination.limit` is 20, but that is a maximum, not a guarantee: short and even empty pages with `has_more: true` are normal, because unresolved company profiles and withheld entities are dropped after the page is assembled and the per-request upstream fetch budget can end a page early. Keep paging while `has_more` is true and stop only when it is false. Delivery is at-least-once, so de-duplicate by `signals[].event.id`. Send `pagination.next_cursor` back unchanged and with a byte-identical filter set — changing a filter while paging is unsupported: it is usually rejected with 422 `INVALID_CURSOR`, but it can also return a wrongly offset page, which is still charged. To change filters, start a new query without a cursor.\n\n**Billing.** Every successful call costs exactly 20 credits — including a page that returns no matches and every subsequent pagination call. No non-2xx response is ever charged.\n\n**Rate limit.** 60 requests per minute per authenticated account, in a bucket shared with `/v1/get-organization`, `/v1/search-organizations` and `/v1/fetch-document`.\n\nResponses are private and must not be stored. Enum values are UPPERCASE, and members whose value would be null are omitted rather than returned as null.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "ApiKeyQuery": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/SignalsCursor"
                    },
                    {
                        "$ref": "#/components/parameters/SignalsTopics"
                    },
                    {
                        "$ref": "#/components/parameters/SignalsOrganizationIds"
                    },
                    {
                        "$ref": "#/components/parameters/SignalsFrom"
                    },
                    {
                        "$ref": "#/components/parameters/SignalsTo"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A normalized Signals page of up to 20 signals. Exactly 20 credits are charged, including for a page that returns none.",
                        "headers": {
                            "Cache-Control": {
                                "$ref": "#/components/headers/SignalsPrivateNoStore"
                            },
                            "X-Credits-Charged": {
                                "$ref": "#/components/headers/SignalsFiveCredits"
                            },
                            "X-Request-Id": {
                                "$ref": "#/components/headers/SignalsRequestId"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SignalsListResponse"
                                },
                                "examples": {
                                    "page": {
                                        "summary": "A page with one signal and a further page to fetch",
                                        "value": {
                                            "signals": [
                                                {
                                                    "event": {
                                                        "id": "evt_01k1n7c9d1m5r6t8v9w0x1y2z3",
                                                        "topic": "CAPITAL_CHANGES",
                                                        "topic_name": {
                                                            "de": "Kapitaländerungen",
                                                            "en": "Capital changes"
                                                        },
                                                        "occurred_on": "2026-01-14",
                                                        "announced_on": "2026-01-16",
                                                        "date_basis": "REGISTER_ENTRY"
                                                    },
                                                    "organization": {
                                                        "type": "ORGANIZATION",
                                                        "entity_id": "org_01k1n7c9d1m5r6t8v9w0x1y2z4",
                                                        "current_profile": {
                                                            "name": "Muster Technologie GmbH",
                                                            "registration": {
                                                                "register_type": "HRB",
                                                                "register_number": "123456",
                                                                "court": "Amtsgericht München"
                                                            },
                                                            "legal_form": {
                                                                "name": {
                                                                    "de": "Gesellschaft mit beschränkter Haftung",
                                                                    "en": "Limited liability company"
                                                                },
                                                                "short": {
                                                                    "de": "GmbH",
                                                                    "en": "GmbH"
                                                                }
                                                            },
                                                            "seat": {
                                                                "city": "München"
                                                            },
                                                            "status": {
                                                                "code": "ACTIVE"
                                                            }
                                                        }
                                                    },
                                                    "register_entry": {
                                                        "entry_date": "2026-01-16",
                                                        "phase": "INCREASED",
                                                        "context": "PRIMARY",
                                                        "flags": [],
                                                        "entry_number": "7"
                                                    },
                                                    "source": {
                                                        "kind": "COMMERCIAL_REGISTER",
                                                        "record_id": "src_01k1n7c9d1m5r6t8v9w0x1y2z5"
                                                    },
                                                    "details": {
                                                        "schema": "CAPITAL_CHANGE",
                                                        "capital_kind": "SHARE_CAPITAL",
                                                        "resulting_amount": {
                                                            "currency": "EUR",
                                                            "amount": "125000.00"
                                                        },
                                                        "change_amount": {
                                                            "currency": "EUR",
                                                            "amount": "100000.00"
                                                        }
                                                    }
                                                }
                                            ],
                                            "pagination": {
                                                "mode": "CURSOR",
                                                "limit": 20,
                                                "returned": 1,
                                                "has_more": true,
                                                "next_cursor": "sgc1.eyJiIjoiYTNmMmVkZWJlNWU5IiwiZyI6eyJnMTY0Mzc0ODIiOnsiYyI6InVwMSIsIm4iOjMsImwiOiJldnRfOSIsIngiOmZhbHNlfX19"
                                            },
                                            "filters": {
                                                "topics": [
                                                    "CAPITAL_CHANGES"
                                                ],
                                                "organization_ids": []
                                            },
                                            "warnings": [],
                                            "meta": {
                                                "schema_version": "1.0",
                                                "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                                "request_credit_cost": 20,
                                                "credits_remaining": 935
                                            }
                                        }
                                    },
                                    "short_page": {
                                        "summary": "A page that returned nothing yet still has more to fetch — normal, and charged",
                                        "value": {
                                            "signals": [],
                                            "pagination": {
                                                "mode": "CURSOR",
                                                "limit": 20,
                                                "returned": 0,
                                                "has_more": true,
                                                "next_cursor": "sgc1.eyJiIjoiYTNmMmVkZWJlNWU5IiwiZyI6eyJnMTY0Mzc0ODIiOnsiYyI6InVwMiIsIm4iOjAsImwiOm51bGwsIngiOmZhbHNlfX19"
                                            },
                                            "filters": {
                                                "topics": [],
                                                "organization_ids": []
                                            },
                                            "warnings": [],
                                            "meta": {
                                                "schema_version": "1.0",
                                                "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z5",
                                                "request_credit_cost": 20,
                                                "credits_remaining": 930
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/SignalsUnauthorized"
                    },
                    "402": {
                        "$ref": "#/components/responses/SignalsPaymentRequired"
                    },
                    "403": {
                        "$ref": "#/components/responses/SignalsForbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/SignalsGateNotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/SignalsValidationError"
                    },
                    "429": {
                        "$ref": "#/components/responses/SignalsTooManyRequests"
                    },
                    "503": {
                        "$ref": "#/components/responses/SignalsUnavailable"
                    }
                }
            }
        },
        "/v1/signals/catalog": {
            "get": {
                "operationId": "getSignalsCatalog",
                "summary": "Get the public Signals topic catalog (free)",
                "description": "Returns the stable public topic vocabulary and capabilities accepted by the Signals API, including the plan tier required for each topic and a flag showing which topics currently carry data. The catalog never exposes provider-specific classifications, always lists all seven topics regardless of the caller's own plan, and is served even when the credit balance is zero.\n\n**Authentication.** As on the other Signals endpoints: `x-api-key` header, `api_key` query parameter, or `Authorization: Bearer <token>`; no token ability is required.\n\n**Parameters.** None at all. Any query parameter other than `api_key` (which is removed before validation) is rejected with 422 `INVALID_REQUEST` and the detail \"The catalog endpoint does not accept query parameters.\" — that problem carries no `invalid_params` member.\n\n**Billing.** Free: 0 credits, never a credit pre-check, and failed calls cost 0 credits too. Responses are private and must not be stored.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "ApiKeyQuery": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The sanitized public Signals catalog. No credits are charged.",
                        "headers": {
                            "Cache-Control": {
                                "$ref": "#/components/headers/SignalsPrivateNoStore"
                            },
                            "X-Credits-Charged": {
                                "$ref": "#/components/headers/SignalsZeroCredits"
                            },
                            "X-Request-Id": {
                                "$ref": "#/components/headers/SignalsRequestId"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SignalsCatalogResponse"
                                },
                                "examples": {
                                    "catalog": {
                                        "summary": "The full public topic catalog",
                                        "value": {
                                            "catalog_version": "1.0",
                                            "topics": [
                                                {
                                                    "code": "NEW_REGISTRATIONS",
                                                    "label": {
                                                        "de": "Neueintragungen",
                                                        "en": "New registrations"
                                                    },
                                                    "description": {
                                                        "de": "Neu ins Handelsregister eingetragene Unternehmen.",
                                                        "en": "Companies newly registered in the commercial register."
                                                    },
                                                    "tier": "ALL",
                                                    "observed": true
                                                },
                                                {
                                                    "code": "MASTER_DATA_CHANGES",
                                                    "label": {
                                                        "de": "Stammdatenänderungen",
                                                        "en": "Master data changes"
                                                    },
                                                    "description": {
                                                        "de": "Änderungen von Firmenname, Sitz, Geschäftsanschrift oder Registerzuständigkeit.",
                                                        "en": "Changes of company name, seat, business address, or register identity."
                                                    },
                                                    "tier": "ALL",
                                                    "observed": true
                                                },
                                                {
                                                    "code": "CLOSURES",
                                                    "label": {
                                                        "de": "Löschungen & Auflösungen",
                                                        "en": "Closures & dissolutions"
                                                    },
                                                    "description": {
                                                        "de": "Auflösung, Liquidation, Löschung oder Erlöschen von Unternehmen.",
                                                        "en": "Dissolution, liquidation, deletion, or extinguishment of companies."
                                                    },
                                                    "tier": "ALL",
                                                    "observed": true
                                                },
                                                {
                                                    "code": "ROLE_HOLDER_CHANGES",
                                                    "label": {
                                                        "de": "Führungswechsel",
                                                        "en": "Management changes"
                                                    },
                                                    "description": {
                                                        "de": "Eintritte, Austritte und Wechsel von Geschäftsführung, Vorstand und Prokura.",
                                                        "en": "Entries, exits, and changes of managing directors, board members, and holders of procura."
                                                    },
                                                    "tier": "ALL",
                                                    "observed": true
                                                },
                                                {
                                                    "code": "CAPITAL_CHANGES",
                                                    "label": {
                                                        "de": "Kapitaländerungen",
                                                        "en": "Capital changes"
                                                    },
                                                    "description": {
                                                        "de": "Änderungen am Stamm-, Grund-, Haft- oder genehmigten Kapital.",
                                                        "en": "Changes to share, liable, conditional, or authorized capital."
                                                    },
                                                    "tier": "ALL",
                                                    "observed": true
                                                },
                                                {
                                                    "code": "INSOLVENCIES",
                                                    "label": {
                                                        "de": "Insolvenzen",
                                                        "en": "Insolvencies"
                                                    },
                                                    "description": {
                                                        "de": "Eröffnungen, Sicherungsmaßnahmen und Beendigungen von Insolvenzverfahren.",
                                                        "en": "Openings, protective measures, and terminations of insolvency proceedings."
                                                    },
                                                    "tier": "PRO",
                                                    "observed": true
                                                },
                                                {
                                                    "code": "TRANSFORMATIONS",
                                                    "label": {
                                                        "de": "Umwandlungen & M&A",
                                                        "en": "Transformations & M&A"
                                                    },
                                                    "description": {
                                                        "de": "Verschmelzungen, Spaltungen, Formwechsel, Vermögensübertragungen, Unternehmensverträge und Squeeze-outs.",
                                                        "en": "Mergers, splits, conversions, asset transfers, enterprise agreements, and squeeze-outs."
                                                    },
                                                    "tier": "MAX",
                                                    "observed": true
                                                }
                                            ],
                                            "capabilities": {
                                                "page_size": 20,
                                                "pagination": [
                                                    "CURSOR"
                                                ]
                                            },
                                            "meta": {
                                                "schema_version": "1.0",
                                                "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z6",
                                                "request_credit_cost": 0,
                                                "credits_remaining": 940
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/SignalsUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/SignalsForbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/SignalsGateNotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/SignalsValidationError"
                    },
                    "429": {
                        "$ref": "#/components/responses/SignalsTooManyRequests"
                    },
                    "503": {
                        "$ref": "#/components/responses/SignalsUnavailable"
                    }
                }
            }
        },
        "/v1/signals/{signalId}": {
            "get": {
                "operationId": "getSignal",
                "summary": "Get one normalized company Signal (20 credits)",
                "description": "Returns one normalized Signal by the opaque identifier the list endpoint reports in `signals[].event.id`.\n\n**Authentication.** `x-api-key` header, `api_key` query parameter, or `Authorization: Bearer <token>`; no token ability is required.\n\n**Parameters.** None at all. Every query parameter other than `api_key` (which is removed before validation) is rejected with 422 `INVALID_REQUEST` and `invalid_params` `{\"<name>\": [\"Unknown Signals parameter.\"]}`.\n\n**Plans.** The topic of the returned Signal is gated exactly like a list filter, so a Pro-only or Max-only Signal answers 403 `PLAN_REQUIRED` on a lower plan — after the lookup, but still without charging credits. Events outside the seven filterable topics are reported as `event.topic: OTHER` and are not plan-gated, so any plan can read them by id.\n\nUnlike the list endpoint, the detail endpoint does not require a resolved `organization.current_profile`, so it can return a Signal the list endpoint would have skipped.\n\n**Billing.** Every successful call costs exactly 20 credits. Failed calls, including not-found responses, cost 0 credits. Responses are private and must not be stored.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "ApiKeyQuery": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "name": "signalId",
                        "in": "path",
                        "required": true,
                        "description": "Opaque Signal identifier as returned in `signals[].event.id`. One to 255 characters: the first must be alphanumeric, the rest may also be `.`, `_`, `~` or `-`. An identifier that does not match this pattern fails route matching and returns a plain `{\"message\": \"...\"}` 404 without the Signals problem body and without the Signals headers; one that matches the route but fails validation returns 422 with `invalid_params` `{\"signal_id\": [\"signal_id is invalid.\"]}`.",
                        "schema": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 255,
                            "pattern": "^[A-Za-z0-9][A-Za-z0-9._~-]{0,254}$"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The normalized Signal. Exactly 20 credits are charged.",
                        "headers": {
                            "Cache-Control": {
                                "$ref": "#/components/headers/SignalsPrivateNoStore"
                            },
                            "X-Credits-Charged": {
                                "$ref": "#/components/headers/SignalsFiveCredits"
                            },
                            "X-Request-Id": {
                                "$ref": "#/components/headers/SignalsRequestId"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SignalsDetailResponse"
                                },
                                "examples": {
                                    "signal": {
                                        "summary": "One normalized Signal",
                                        "value": {
                                            "signal": {
                                                "event": {
                                                    "id": "evt_01k1n7c9d1m5r6t8v9w0x1y2z3",
                                                    "topic": "CAPITAL_CHANGES",
                                                    "topic_name": {
                                                        "de": "Kapitaländerungen",
                                                        "en": "Capital changes"
                                                    },
                                                    "occurred_on": "2026-01-14",
                                                    "announced_on": "2026-01-16",
                                                    "date_basis": "REGISTER_ENTRY"
                                                },
                                                "organization": {
                                                    "type": "ORGANIZATION",
                                                    "entity_id": "org_01k1n7c9d1m5r6t8v9w0x1y2z4",
                                                    "current_profile": {
                                                        "name": "Muster Technologie GmbH",
                                                        "registration": {
                                                            "register_type": "HRB",
                                                            "register_number": "123456",
                                                            "court": "Amtsgericht München"
                                                        },
                                                        "legal_form": {
                                                            "name": {
                                                                "de": "Gesellschaft mit beschränkter Haftung",
                                                                "en": "Limited liability company"
                                                            },
                                                            "short": {
                                                                "de": "GmbH",
                                                                "en": "GmbH"
                                                            }
                                                        },
                                                        "seat": {
                                                            "city": "München"
                                                        },
                                                        "status": {
                                                            "code": "ACTIVE"
                                                        }
                                                    }
                                                },
                                                "register_entry": {
                                                    "entry_date": "2026-01-16",
                                                    "phase": "INCREASED",
                                                    "context": "PRIMARY",
                                                    "flags": [],
                                                    "entry_number": "7"
                                                },
                                                "source": {
                                                    "kind": "COMMERCIAL_REGISTER",
                                                    "record_id": "src_01k1n7c9d1m5r6t8v9w0x1y2z5"
                                                },
                                                "details": {
                                                    "schema": "CAPITAL_CHANGE",
                                                    "capital_kind": "SHARE_CAPITAL",
                                                    "resulting_amount": {
                                                        "currency": "EUR",
                                                        "amount": "125000.00"
                                                    },
                                                    "change_amount": {
                                                        "currency": "EUR",
                                                        "amount": "100000.00"
                                                    }
                                                }
                                            },
                                            "meta": {
                                                "schema_version": "1.0",
                                                "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z7",
                                                "request_credit_cost": 20,
                                                "credits_remaining": 925
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/SignalsUnauthorized"
                    },
                    "402": {
                        "$ref": "#/components/responses/SignalsPaymentRequired"
                    },
                    "403": {
                        "$ref": "#/components/responses/SignalsForbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/SignalsNotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/SignalsValidationError"
                    },
                    "429": {
                        "$ref": "#/components/responses/SignalsTooManyRequests"
                    },
                    "503": {
                        "$ref": "#/components/responses/SignalsUnavailable"
                    }
                }
            }
        },
        "/v1/auth/tokens/create": {
            "post": {
                "operationId": "createToken",
                "summary": "Create a Bearer token (API-key auth)",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "ApiKeyQuery": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "token_name"
                                ],
                                "properties": {
                                    "token_name": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "abilities": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "default": [
                                            "*"
                                        ],
                                        "description": "Requested abilities. '*' is expanded to ['api:data', 'account:read']; 'account:keys' cannot be granted via API-key authentication. The response echoes the abilities actually granted."
                                    },
                                    "expires_at": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Optional expiry; must be in the future."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "The new Bearer token - store it securely, it is shown only once.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "token": {
                                            "type": "string",
                                            "description": "Plain-text Bearer token (format: id|secret)."
                                        },
                                        "name": {
                                            "type": "string"
                                        },
                                        "abilities": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        },
                                        "expires_at": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "created_at": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error (token_name is required)."
                    }
                }
            }
        },
        "/v1/auth/tokens": {
            "get": {
                "operationId": "listTokens",
                "summary": "List Bearer tokens (API-key auth)",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "ApiKeyQuery": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "All tokens for the account."
                    }
                }
            },
            "delete": {
                "operationId": "revokeAllTokens",
                "summary": "Revoke all Bearer tokens (API-key auth)",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "ApiKeyQuery": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "All tokens revoked."
                    }
                }
            }
        },
        "/v1/auth/tokens/{tokenId}": {
            "delete": {
                "operationId": "revokeToken",
                "summary": "Revoke a specific Bearer token (API-key auth)",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "ApiKeyQuery": []
                    }
                ],
                "parameters": [
                    {
                        "name": "tokenId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Token revoked."
                    }
                }
            }
        },
        "/v1/account": {
            "get": {
                "operationId": "getAccount",
                "summary": "Account profile (free)",
                "description": "Read-only profile summary of the authenticated account. All /v1/account endpoints are free (0 credits), rate-limited to 30 requests/min, and accept header or Bearer authentication only - the api_key query parameter is rejected with 400.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Profile summary.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "account": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "email_verified": {
                                                    "type": "boolean"
                                                },
                                                "language": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "plan": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "member_since": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/AccountMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication."
                    },
                    "429": {
                        "description": "Rate limit exceeded (30 requests/min)."
                    }
                }
            }
        },
        "/v1/account/credits": {
            "get": {
                "operationId": "getAccountCredits",
                "summary": "Credit balance and breakdown (free)",
                "description": "Current credit balance split into subscription and purchased credits, the next expiring grant, and a per-grant breakdown.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Balance and per-grant breakdown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "balance": {
                                            "type": "object",
                                            "properties": {
                                                "total": {
                                                    "type": "integer"
                                                },
                                                "subscription": {
                                                    "type": "integer"
                                                },
                                                "purchased": {
                                                    "type": "integer"
                                                }
                                            }
                                        },
                                        "next_expiry": {
                                            "type": "object",
                                            "nullable": true,
                                            "properties": {
                                                "amount": {
                                                    "type": "integer"
                                                },
                                                "expires_at": {
                                                    "type": "string",
                                                    "format": "date"
                                                }
                                            }
                                        },
                                        "breakdown": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "amount": {
                                                        "type": "integer"
                                                    },
                                                    "original_amount": {
                                                        "type": "integer"
                                                    },
                                                    "source": {
                                                        "type": "string",
                                                        "enum": [
                                                            "subscription",
                                                            "rollover",
                                                            "purchase",
                                                            "registration"
                                                        ]
                                                    },
                                                    "valid_until": {
                                                        "type": "string",
                                                        "format": "date",
                                                        "nullable": true,
                                                        "description": "null when the grant is non-expiring."
                                                    },
                                                    "non_expiring": {
                                                        "type": "boolean"
                                                    }
                                                }
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/AccountMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication."
                    },
                    "429": {
                        "description": "Rate limit exceeded (30 requests/min)."
                    }
                }
            }
        },
        "/v1/account/usage": {
            "get": {
                "operationId": "getAccountUsage",
                "summary": "Aggregated API usage (free)",
                "description": "Usage aggregates over a bounded date range (default: current month, max 366 days): totals, per-endpoint breakdown, and a zero-filled daily or monthly time series.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "name": "from",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Range start (Y-m-d or ISO 8601). Defaults to the start of the current month."
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Range end (Y-m-d or ISO 8601). A date-only value includes that whole day. Defaults to now."
                    },
                    {
                        "name": "group_by",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "day",
                                "month"
                            ]
                        },
                        "description": "Series bucket size. Defaults to day for ranges up to 92 days, month beyond that."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Usage aggregates for the range.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "period": {
                                            "type": "object",
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "totals": {
                                            "type": "object",
                                            "properties": {
                                                "requests": {
                                                    "type": "integer"
                                                },
                                                "credits_used": {
                                                    "type": "integer"
                                                }
                                            }
                                        },
                                        "by_endpoint": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "endpoint": {
                                                        "type": "string"
                                                    },
                                                    "requests": {
                                                        "type": "integer"
                                                    },
                                                    "credits_used": {
                                                        "type": "integer"
                                                    }
                                                }
                                            }
                                        },
                                        "series": {
                                            "type": "object",
                                            "properties": {
                                                "group_by": {
                                                    "type": "string",
                                                    "enum": [
                                                        "day",
                                                        "month"
                                                    ]
                                                },
                                                "buckets": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "date": {
                                                                "type": "string"
                                                            },
                                                            "requests": {
                                                                "type": "integer"
                                                            },
                                                            "credits_used": {
                                                                "type": "integer"
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/AccountMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid date range, group_by, or a range beyond 366 days."
                    },
                    "401": {
                        "description": "Missing or invalid authentication."
                    },
                    "429": {
                        "description": "Rate limit exceeded (30 requests/min)."
                    }
                }
            }
        },
        "/v1/account/usage/transactions": {
            "get": {
                "operationId": "getAccountTransactions",
                "summary": "Billable request ledger (free)",
                "description": "Cursor-paginated ledger of individual billable requests (newest first) within a bounded date range. Stored request parameters are echoed with credential-shaped keys removed.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "name": "from",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Range start (Y-m-d or ISO 8601). Defaults to the start of the current month."
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Range end (Y-m-d or ISO 8601). A date-only value includes that whole day. Defaults to now."
                    },
                    {
                        "name": "endpoint",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Filter to a single endpoint, e.g. /api/v1/fetch-organization."
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "cursor",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Opaque continuation cursor from pagination.next_cursor of the previous page."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "One page of the ledger.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "transactions": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "endpoint": {
                                                        "type": "string"
                                                    },
                                                    "credits": {
                                                        "type": "integer"
                                                    },
                                                    "parameters": {
                                                        "type": "object",
                                                        "nullable": true
                                                    },
                                                    "created_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "pagination": {
                                            "type": "object",
                                            "properties": {
                                                "per_page": {
                                                    "type": "integer"
                                                },
                                                "next_cursor": {
                                                    "type": "string",
                                                    "nullable": true
                                                }
                                            }
                                        },
                                        "period": {
                                            "type": "object",
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/AccountMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid date range or per_page."
                    },
                    "401": {
                        "description": "Missing or invalid authentication."
                    },
                    "429": {
                        "description": "Rate limit exceeded (30 requests/min)."
                    }
                }
            }
        },
        "/v1/account/api-keys": {
            "get": {
                "operationId": "listAccountApiKeys",
                "summary": "List API keys, masked (free)",
                "description": "Active API keys of the account. Key material is never returned - only the last 8 characters. Includes the last-use timestamp and marks the key performing this request. Once per-credential attribution is enabled, each entry also carries usage_last_30d.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Masked key list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "api_keys": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "key_last_8": {
                                                        "type": "string"
                                                    },
                                                    "is_current": {
                                                        "type": "boolean",
                                                        "description": "True for the key that authenticated this request."
                                                    },
                                                    "created_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "last_used_at": {
                                                        "type": "string",
                                                        "format": "date-time",
                                                        "nullable": true
                                                    }
                                                }
                                            }
                                        },
                                        "total": {
                                            "type": "integer"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/AccountMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication."
                    },
                    "429": {
                        "description": "Rate limit exceeded (30 requests/min)."
                    }
                }
            },
            "post": {
                "operationId": "createAccountApiKey",
                "summary": "Create an API key (Bearer token with account:keys)",
                "description": "Creates a new API key and returns it once. Requires a Bearer token carrying the account:keys ability - such tokens can only be created on the profile page, never via an API-key-authenticated call. Limited to 25 active keys per account.",
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "The new API key - full key material is shown here only.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "api_key": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "key": {
                                                    "type": "string"
                                                },
                                                "created_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/AccountMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication."
                    },
                    "403": {
                        "description": "Caller is not a Bearer token with the account:keys ability."
                    },
                    "422": {
                        "description": "Active-key limit (25) reached."
                    },
                    "429": {
                        "description": "Rate limit exceeded (10 requests/min)."
                    }
                }
            }
        },
        "/v1/account/api-keys/{apiKeyId}": {
            "delete": {
                "operationId": "revokeAccountApiKey",
                "summary": "Revoke an API key (Bearer token with account:keys)",
                "description": "Revokes the key immediately - key lookups are uncached, so in-flight use stops with the next request. Idempotent. Requires the account:keys ability.",
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "name": "apiKeyId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Key revoked (or already revoked)."
                    },
                    "401": {
                        "description": "Missing or invalid authentication."
                    },
                    "403": {
                        "description": "Caller is not a Bearer token with the account:keys ability."
                    },
                    "404": {
                        "description": "No such key on this account."
                    },
                    "429": {
                        "description": "Rate limit exceeded (10 requests/min)."
                    }
                }
            }
        },
        "/v1/account/subscription": {
            "get": {
                "operationId": "getAccountSubscription",
                "summary": "Subscription status (free)",
                "description": "The subscription currently providing benefits, including canceled or past-due subscriptions whose paid period has not ended yet. null for accounts without one.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Subscription state or null.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "subscription": {
                                            "type": "object",
                                            "nullable": true,
                                            "properties": {
                                                "plan": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string"
                                                },
                                                "billing_interval": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "cancel_at_period_end": {
                                                    "type": "boolean"
                                                },
                                                "current_period_start": {
                                                    "type": "string",
                                                    "format": "date-time",
                                                    "nullable": true
                                                },
                                                "current_period_end": {
                                                    "type": "string",
                                                    "format": "date-time",
                                                    "nullable": true
                                                },
                                                "trial_ends_at": {
                                                    "type": "string",
                                                    "format": "date-time",
                                                    "nullable": true
                                                },
                                                "canceled_at": {
                                                    "type": "string",
                                                    "format": "date-time",
                                                    "nullable": true
                                                },
                                                "features": {
                                                    "type": "object",
                                                    "properties": {
                                                        "credits_per_month": {
                                                            "type": "integer"
                                                        },
                                                        "bonus_percentage": {
                                                            "type": "number"
                                                        },
                                                        "non_expiring_credits": {
                                                            "type": "boolean"
                                                        },
                                                        "support_level": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/AccountMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication."
                    },
                    "429": {
                        "description": "Rate limit exceeded (30 requests/min)."
                    }
                }
            }
        },
        "/v1/account/monitoring/pricing": {
            "get": {
                "operationId": "getMonitoringPricing",
                "tags": [
                    "Monitoring"
                ],
                "summary": "Preview monitor pricing (free)",
                "description": "No debit. Fresh-cycle preview: included runs=ceil(30/interval); cadence price buckets are 1-2 days=50, 3-6=40, 7-29=20, and 30=10 credits; complete successful checks beyond the allowance cost 2 credits.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringPricingInterval"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Pricing preview.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringPricingResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    }
                }
            }
        },
        "/v1/account/monitors": {
            "get": {
                "operationId": "listMonitors",
                "tags": [
                    "Monitoring"
                ],
                "summary": "List monitors (free)",
                "description": "Newest 100 non-archived monitors; total is this batch count. No cursor.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Monitor list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringMonitorListResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    }
                }
            },
            "post": {
                "operationId": "createMonitor",
                "tags": [
                    "Monitoring"
                ],
                "summary": "Create monitor asynchronously",
                "description": "API key, or Bearer with account:read plus literal monitoring:manage. Exact owned active+verified endpoint set, at least one accessible Monitoring topic, and current policy. Returns 202/zero charge and queues an asynchronous all-topic baseline. After a complete baseline, including completion with non-fatal warnings, background activation attempts the cadence price for the selected interval.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringIdempotencyKey"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Created; baseline queued.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringCreateMonitorResponse"
                                }
                            }
                        },
                        "headers": {
                            "Idempotency-Status": {
                                "$ref": "#/components/headers/MonitoringIdempotencyStatus"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "409": {
                        "$ref": "#/components/responses/MonitoringConflict"
                    },
                    "422": {
                        "$ref": "#/components/responses/MonitoringValidation"
                    },
                    "428": {
                        "$ref": "#/components/responses/MonitoringIdempotencyRequired"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    },
                    "503": {
                        "$ref": "#/components/responses/MonitoringExecutionUnavailable"
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MonitoringCreateMonitorRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v1/account/monitors/{publicId}": {
            "get": {
                "operationId": "getMonitor",
                "tags": [
                    "Monitoring"
                ],
                "summary": "Get monitor and billing summary (free)",
                "description": "Monitor, active unexpired cycle or null, newest 20 runs. Known archived history remains readable.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringMonitorPublicId"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monitor detail.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringMonitorDetailResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/MonitoringNotFound"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    }
                }
            },
            "patch": {
                "operationId": "updateMonitorInterval",
                "tags": [
                    "Monitoring"
                ],
                "summary": "Change future polling interval",
                "description": "API key, or Bearer with account:read plus literal monitoring:manage. Prospective only; no endpoint/label update, refund, or settled-ledger rewrite.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringMonitorPublicId"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringIdempotencyKey"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated monitor.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringMonitorMutationResponse"
                                }
                            }
                        },
                        "headers": {
                            "Idempotency-Status": {
                                "$ref": "#/components/headers/MonitoringIdempotencyStatus"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/MonitoringNotFound"
                    },
                    "409": {
                        "$ref": "#/components/responses/MonitoringConflict"
                    },
                    "422": {
                        "$ref": "#/components/responses/MonitoringValidation"
                    },
                    "428": {
                        "$ref": "#/components/responses/MonitoringIdempotencyRequired"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MonitoringUpdateMonitorRequest"
                            }
                        }
                    }
                }
            },
            "delete": {
                "operationId": "archiveMonitor",
                "tags": [
                    "Monitoring"
                ],
                "summary": "Archive monitor",
                "description": "Archive, never hard-delete; no refund. Accepts an API key, or Bearer with account:read plus literal monitoring:manage.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringMonitorPublicId"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringIdempotencyKey"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Archived monitor.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringMonitorMutationResponse"
                                }
                            }
                        },
                        "headers": {
                            "Idempotency-Status": {
                                "$ref": "#/components/headers/MonitoringIdempotencyStatus"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/MonitoringNotFound"
                    },
                    "409": {
                        "$ref": "#/components/responses/MonitoringConflict"
                    },
                    "428": {
                        "$ref": "#/components/responses/MonitoringIdempotencyRequired"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    }
                }
            }
        },
        "/v1/account/monitors/{publicId}/pause": {
            "post": {
                "operationId": "pauseMonitor",
                "tags": [
                    "Monitoring"
                ],
                "summary": "Pause monitor",
                "description": "Active becomes paused_user; other states are harmless no-op responses. No refund.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringMonitorPublicId"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringIdempotencyKey"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Current monitor.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringMonitorMutationResponse"
                                }
                            }
                        },
                        "headers": {
                            "Idempotency-Status": {
                                "$ref": "#/components/headers/MonitoringIdempotencyStatus"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/MonitoringNotFound"
                    },
                    "409": {
                        "$ref": "#/components/responses/MonitoringConflict"
                    },
                    "428": {
                        "$ref": "#/components/responses/MonitoringIdempotencyRequired"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    }
                }
            }
        },
        "/v1/account/monitors/{publicId}/resume": {
            "post": {
                "operationId": "resumeMonitor",
                "tags": [
                    "Monitoring"
                ],
                "summary": "Resume monitor",
                "description": "Execution required. An incomplete baseline requeues free. A completed baseline rechecks policy, endpoint, and at least one accessible Monitoring topic before funding; an existing live cycle costs zero, otherwise activation can debit the current cadence price. A failed gate can return 200 activated=false and paused status.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringMonitorPublicId"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringIdempotencyKey"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Resume outcome.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringResumeResponse"
                                }
                            }
                        },
                        "headers": {
                            "Idempotency-Status": {
                                "$ref": "#/components/headers/MonitoringIdempotencyStatus"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/MonitoringNotFound"
                    },
                    "409": {
                        "$ref": "#/components/responses/MonitoringConflict"
                    },
                    "422": {
                        "$ref": "#/components/responses/MonitoringValidation"
                    },
                    "428": {
                        "$ref": "#/components/responses/MonitoringIdempotencyRequired"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    },
                    "503": {
                        "$ref": "#/components/responses/MonitoringExecutionUnavailable"
                    }
                },
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MonitoringResumeMonitorRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v1/account/webhook-endpoints": {
            "get": {
                "operationId": "listWebhookEndpoints",
                "tags": [
                    "Monitoring Webhooks"
                ],
                "summary": "List endpoints (free)",
                "description": "All non-archived endpoints (maximum 10); URL path/query and header values stay masked.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Endpoint list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringEndpointListResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    }
                }
            },
            "post": {
                "operationId": "createWebhookEndpoint",
                "tags": [
                    "Monitoring Webhooks"
                ],
                "summary": "Create endpoint",
                "description": "Released API requires Bearer with account:read plus literal account:keys; API keys are denied. Creates pending_verification and reveals replayable one-time signing_secret. Execution need not be enabled.",
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringIdempotencyKey"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Endpoint and one-time secret.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringCreateEndpointResponse"
                                }
                            }
                        },
                        "headers": {
                            "Idempotency-Status": {
                                "$ref": "#/components/headers/MonitoringIdempotencyStatus"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "409": {
                        "$ref": "#/components/responses/MonitoringConflict"
                    },
                    "422": {
                        "$ref": "#/components/responses/MonitoringValidation"
                    },
                    "428": {
                        "$ref": "#/components/responses/MonitoringIdempotencyRequired"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MonitoringCreateEndpointRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v1/account/webhook-endpoints/{publicId}/verify": {
            "post": {
                "operationId": "verifyWebhookEndpoint",
                "tags": [
                    "Monitoring Webhooks"
                ],
                "summary": "Verify endpoint control",
                "description": "API key, or Bearer with account:read plus literal monitoring:manage; execution required. Only pending_verification sends a signed network challenge; the receiver must return 2xx and the exact webhook-verification echo. An already verified or disabled endpoint returns its stored verification state without network I/O and is not enabled. A failed challenge is the normal 422 response shape.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringEndpointPublicId"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringIdempotencyKey"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Verified/already verified.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringVerifyEndpointResponse"
                                }
                            }
                        },
                        "headers": {
                            "Idempotency-Status": {
                                "$ref": "#/components/headers/MonitoringIdempotencyStatus"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/MonitoringNotFound"
                    },
                    "409": {
                        "$ref": "#/components/responses/MonitoringConflict"
                    },
                    "422": {
                        "description": "Challenge failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringVerifyEndpointResponse"
                                }
                            }
                        },
                        "headers": {
                            "Idempotency-Status": {
                                "$ref": "#/components/headers/MonitoringIdempotencyStatus"
                            }
                        }
                    },
                    "428": {
                        "$ref": "#/components/responses/MonitoringIdempotencyRequired"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    },
                    "503": {
                        "$ref": "#/components/responses/MonitoringExecutionUnavailable"
                    }
                }
            }
        },
        "/v1/account/webhook-endpoints/{publicId}/rotate-secret": {
            "post": {
                "operationId": "rotateWebhookSecret",
                "tags": [
                    "Monitoring Webhooks"
                ],
                "summary": "Rotate signing secret",
                "description": "Bearer with account:read plus literal account:keys. New secret shown once; normal deliveries, tests and samples carry current and predecessor signatures for seven days, while verification challenges use only the current secret. Execution not required.",
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringEndpointPublicId"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringIdempotencyKey"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "New one-time secret.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringRotateSecretResponse"
                                }
                            }
                        },
                        "headers": {
                            "Idempotency-Status": {
                                "$ref": "#/components/headers/MonitoringIdempotencyStatus"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/MonitoringNotFound"
                    },
                    "409": {
                        "$ref": "#/components/responses/MonitoringConflict"
                    },
                    "428": {
                        "$ref": "#/components/responses/MonitoringIdempotencyRequired"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    }
                }
            }
        },
        "/v1/account/webhook-endpoints/{publicId}/test": {
            "post": {
                "operationId": "testWebhookEndpoint",
                "tags": [
                    "Monitoring Webhooks"
                ],
                "summary": "Send signed test",
                "description": "API key, or Bearer with account:read plus literal monitoring:manage; execution required; endpoint active+verified. API returns 200 even on receiver failure: inspect delivery status.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringEndpointPublicId"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringIdempotencyKey"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Actual test delivery state.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringDeliveryResponse"
                                }
                            }
                        },
                        "headers": {
                            "Idempotency-Status": {
                                "$ref": "#/components/headers/MonitoringIdempotencyStatus"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/MonitoringNotFound"
                    },
                    "409": {
                        "$ref": "#/components/responses/MonitoringConflict"
                    },
                    "428": {
                        "$ref": "#/components/responses/MonitoringIdempotencyRequired"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    },
                    "503": {
                        "$ref": "#/components/responses/MonitoringExecutionUnavailable"
                    }
                }
            }
        },
        "/v1/account/webhook-endpoints/{publicId}/{state}": {
            "post": {
                "operationId": "setWebhookEndpointState",
                "tags": [
                    "Monitoring Webhooks"
                ],
                "summary": "Enable or disable endpoint",
                "description": "Bearer with account:read plus literal account:keys. Enable requires verified and resets circuit; disable parks monitors losing last destination. Execution not required.",
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringEndpointPublicId"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringEndpointState"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringIdempotencyKey"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringEndpointMutationResponse"
                                }
                            }
                        },
                        "headers": {
                            "Idempotency-Status": {
                                "$ref": "#/components/headers/MonitoringIdempotencyStatus"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/MonitoringNotFound"
                    },
                    "409": {
                        "$ref": "#/components/responses/MonitoringConflict"
                    },
                    "428": {
                        "$ref": "#/components/responses/MonitoringIdempotencyRequired"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    }
                }
            }
        },
        "/v1/account/webhook-endpoints/{publicId}": {
            "delete": {
                "operationId": "archiveWebhookEndpoint",
                "tags": [
                    "Monitoring Webhooks"
                ],
                "summary": "Archive endpoint",
                "description": "Bearer with account:read plus literal account:keys. Archives endpoint/subscriptions and parks monitors without destination; never hard-deletes.",
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringEndpointPublicId"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringIdempotencyKey"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Archived endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringArchiveEndpointResponse"
                                }
                            }
                        },
                        "headers": {
                            "Idempotency-Status": {
                                "$ref": "#/components/headers/MonitoringIdempotencyStatus"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/MonitoringNotFound"
                    },
                    "409": {
                        "$ref": "#/components/responses/MonitoringConflict"
                    },
                    "428": {
                        "$ref": "#/components/responses/MonitoringIdempotencyRequired"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    }
                }
            }
        },
        "/v1/account/webhook-deliveries": {
            "get": {
                "operationId": "listWebhookDeliveries",
                "tags": [
                    "Monitoring Webhooks"
                ],
                "summary": "List recent deliveries (free)",
                "description": "Newest 50; optional owned endpoint filter. total is batch count. No cursor/detail route.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringEndpointFilter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Delivery list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringDeliveryListResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/MonitoringNotFound"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    }
                }
            }
        },
        "/v1/account/webhook-deliveries/{publicId}/retry": {
            "post": {
                "operationId": "retryWebhookDelivery",
                "tags": [
                    "Monitoring Webhooks"
                ],
                "summary": "Retry eligible failed delivery",
                "description": "API key, or Bearer with account:read plus literal monitoring:manage; execution required. Only retained exhausted/non-policy-blocked delivery with active verified endpoint. Same webhook-id/body; retry-pass counter restarts.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringDeliveryPublicId"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringIdempotencyKey"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Pending delivery.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringDeliveryResponse"
                                }
                            }
                        },
                        "headers": {
                            "Idempotency-Status": {
                                "$ref": "#/components/headers/MonitoringIdempotencyStatus"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/MonitoringNotFound"
                    },
                    "409": {
                        "$ref": "#/components/responses/MonitoringConflict"
                    },
                    "428": {
                        "$ref": "#/components/responses/MonitoringIdempotencyRequired"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    },
                    "503": {
                        "$ref": "#/components/responses/MonitoringExecutionUnavailable"
                    }
                }
            }
        },
        "/v1/account/webhook-events": {
            "get": {
                "operationId": "listWebhookEvents",
                "tags": [
                    "Monitoring Webhooks"
                ],
                "summary": "List recent events (free)",
                "description": "Newest 50 summaries; data_available becomes false after tombstone. No body/detail/replay route.",
                "security": [
                    {
                        "ApiKeyHeader": []
                    },
                    {
                        "BearerToken": []
                    }
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Event list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MonitoringEventListResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MonitoringBadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/MonitoringUnauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/MonitoringForbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/MonitoringRateLimited"
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "ApiKeyHeader": {
                "type": "apiKey",
                "in": "header",
                "name": "x-api-key"
            },
            "ApiKeyQuery": {
                "type": "apiKey",
                "in": "query",
                "name": "api_key"
            },
            "BearerToken": {
                "type": "http",
                "scheme": "bearer"
            }
        },
        "parameters": {
            "SignalsCursor": {
                "name": "cursor",
                "in": "query",
                "description": "Opaque continuation token taken verbatim from `pagination.next_cursor` of the previous page. Resend it unchanged together with a byte-identical filter set; to change any filter, start a new query without a cursor. A page carries up to 20 signals — never more, often fewer — so keep paging while `pagination.has_more` is true even after a short or empty page. Maximum 8192 characters. An empty value, an over-long value, control characters, or a cursor whose group binding does not match the current query are rejected with 422 `INVALID_REQUEST` and `invalid_params` `{\"cursor\": [\"cursor is invalid.\"]}` or `{\"cursor\": [\"cursor does not match these filters.\"]}`. A cursor the upstream service rejects yields 422 `INVALID_CURSOR`. The binding covers only the internal query grouping and the sort order, so a cursor replayed against different `topics`, `organization_ids`, `from` or `to` values is not reliably rejected — it can also return a wrongly offset page, which is still charged.",
                "schema": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 8192,
                    "example": "sgc1.eyJiIjoiYTNmMmVkZWJlNWU5IiwiZyI6eyJnMTY0Mzc0ODIiOnsiYyI6InVwMSIsIm4iOjMsImwiOiJldnRfOSIsIngiOmZhbHNlfX19"
                }
            },
            "SignalsTopics": {
                "name": "topics",
                "in": "query",
                "style": "form",
                "explode": true,
                "description": "One or more public topic codes. Repeat the parameter (`topics=A&topics=B`), bracket it (`topics[]=A&topics[]=B`) or comma-separate it (`topics=A,B`) — all three are equivalent; values are de-duplicated and sorted. Codes are case-sensitive UPPER_SNAKE: `insolvencies` or an internal key such as `new-registrations` is rejected with 422 `INVALID_REQUEST` and `invalid_params` `{\"topics\": [\"Unknown topics value.\"]}`. `OTHER` is a response-only value and is not accepted here. Requesting a topic above your plan returns 403 `PLAN_REQUIRED` before any lookup (INSOLVENCIES needs Pro, TRANSFORMATIONS needs Max; the other five are available on every plan, Plus included). Omitting the parameter does NOT search all topics: it searches exactly the topics your plan can access — five without a subscription or on Plus, six on Pro, seven on Max — and the response does not reveal the narrowing, because `filters.topics` is `[]` in every one of those cases. An empty value (`topics=`) behaves like omitting the parameter.",
                "schema": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "$ref": "#/components/schemas/SignalTopicFilterCode"
                    }
                }
            },
            "SignalsOrganizationIds": {
                "name": "organization_ids",
                "in": "query",
                "style": "form",
                "explode": true,
                "description": "Organization identifiers to include. Repeat the parameter, bracket it, or use a comma-separated list; values are de-duplicated and sorted. At most 5 values — 6 or more are rejected with 422 `INVALID_REQUEST` and `invalid_params` `{\"organization_ids\": [\"organization_ids accepts at most 5 values.\"]}`. Each value must be 1–128 characters of `A-Z a-z 0-9 . _ ~ -`; anything else (or an identifier withheld for privacy reasons) yields `{\"organization_ids\": [\"organization_ids contains an invalid identifier.\"]}`.",
                "schema": {
                    "type": "array",
                    "maxItems": 50,
                    "uniqueItems": true,
                    "items": {
                        "$ref": "#/components/schemas/SignalEntityId"
                    }
                }
            },
            "SignalsFrom": {
                "name": "from",
                "in": "query",
                "description": "Lower date bound. Accepted formats are exactly `YYYY-MM-DD` (a real calendar date; `2026-02-30` is rejected) or a timezone-naive `YYYY-MM-DDTHH:MM:SS` with an optional `.ffffff` fraction of one to six digits. A trailing `Z`, a numeric UTC offset such as `+02:00`, a space instead of the literal `T`, and a value without seconds are all rejected with 422 `INVALID_REQUEST` and `invalid_params` `{\"from\": [\"from must use YYYY-MM-DD or a timezone-naive ISO datetime with seconds.\"]}`; a present-but-empty value yields `{\"from\": [\"from is invalid.\"]}`. For the range check a bare `from` date is anchored at `00:00:00.000000`. Signals are merged and sorted newest first by announcement date.",
                "schema": {
                    "$ref": "#/components/schemas/SignalsDateFilter"
                }
            },
            "SignalsTo": {
                "name": "to",
                "in": "query",
                "description": "Upper date bound, same accepted formats and same rejections as `from` (no trailing `Z`, no UTC offset). `to` must be the same as or later than `from`, otherwise 422 `INVALID_REQUEST` with `invalid_params` `{\"to\": [\"to must be the same as or later than from.\"]}`; a bare `to` date is anchored at `23:59:59.999999`, so `from` and `to` on the same day is a valid one-day window.",
                "schema": {
                    "$ref": "#/components/schemas/SignalsDateFilter"
                }
            },
            "MonitoringIdempotencyKey": {
                "name": "Idempotency-Key",
                "in": "header",
                "required": true,
                "description": "Required for every public mutation after Monitoring release. Database-backed (not Redis), retained 24 hours per account+operation; the same request replays and different parameters conflict. Database-only mutations commit effect+replay atomically and can safely re-drive a stale atomic claim with the same key. Verify/test network ambiguity requires support and must not be automatically retried.",
                "schema": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
                },
                "example": "req-20260802-01"
            },
            "MonitoringMonitorPublicId": {
                "name": "publicId",
                "in": "path",
                "required": true,
                "schema": {
                    "type": "string",
                    "pattern": "^mon_[a-z0-9]{26}$"
                }
            },
            "MonitoringEndpointPublicId": {
                "name": "publicId",
                "in": "path",
                "required": true,
                "schema": {
                    "type": "string",
                    "pattern": "^wep_[a-z0-9]{26}$"
                }
            },
            "MonitoringDeliveryPublicId": {
                "name": "publicId",
                "in": "path",
                "required": true,
                "schema": {
                    "type": "string",
                    "pattern": "^del_[a-z0-9]{26}$"
                }
            },
            "MonitoringEndpointState": {
                "name": "state",
                "in": "path",
                "required": true,
                "schema": {
                    "type": "string",
                    "enum": [
                        "enable",
                        "disable"
                    ]
                }
            },
            "MonitoringEndpointFilter": {
                "name": "endpoint",
                "in": "query",
                "required": false,
                "schema": {
                    "type": "string",
                    "pattern": "^wep_[a-z0-9]{26}$"
                }
            },
            "MonitoringPricingInterval": {
                "name": "poll_interval_days",
                "in": "query",
                "required": false,
                "description": "Integer, default 30.",
                "schema": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 30,
                    "default": 30
                }
            },
            "MonitoringWebhookId": {
                "name": "webhook-id",
                "in": "header",
                "required": true,
                "schema": {
                    "type": "string",
                    "pattern": "^msg_[a-z0-9]{26}$"
                }
            },
            "MonitoringWebhookTimestamp": {
                "name": "webhook-timestamp",
                "in": "header",
                "required": true,
                "description": "Unix seconds; changes per attempt.",
                "schema": {
                    "type": "integer",
                    "format": "int64"
                }
            },
            "MonitoringWebhookSignature": {
                "name": "webhook-signature",
                "in": "header",
                "required": true,
                "description": "Space-separated v1,<base64> signatures. HMAC-SHA256 input: id.timestamp.exact_raw_body; key: base64-decoded whsec_ suffix.",
                "schema": {
                    "type": "string"
                }
            }
        },
        "headers": {
            "SignalsPrivateNoStore": {
                "description": "Signals responses are private and must not be cached or stored. Set on every response the Signals pipeline produces. It is NOT set on the 429 from the rate limiter or on a route-level 404 for a malformed `signalId`, because both are produced outside that pipeline.",
                "schema": {
                    "type": "string",
                    "example": "private, no-store, max-age=0"
                }
            },
            "SignalsFiveCredits": {
                "description": "Credits charged for a successful Signals call.",
                "schema": {
                    "type": "integer",
                    "enum": [
                        5
                    ]
                }
            },
            "SignalsZeroCredits": {
                "description": "No credits were charged for this call.",
                "schema": {
                    "type": "integer",
                    "enum": [
                        0
                    ]
                }
            },
            "SignalsRequestId": {
                "description": "Opaque per-request identifier (`req_` followed by a lowercase ULID); quote it in support requests. It is set on every response the Signals controller produces, success or problem, and is also echoed in `meta.request_id`. It is absent on the 401/403 raised by the authentication layer and on the 429 from the rate limiter, because the controller never ran.",
                "schema": {
                    "type": "string",
                    "maxLength": 64,
                    "example": "req_01k1n8d0e2m6r7t9v0w1x2y3z4"
                }
            },
            "SignalsRetryAfter": {
                "description": "Present only when the upstream Signals service sent a `Retry-After` of one to three digits; the value is forwarded as whole seconds and clamped to at most 5. Absent otherwise — never an HTTP date.",
                "schema": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 5,
                    "example": 5
                }
            },
            "MonitoringIdempotencyStatus": {
                "description": "created or replayed; processing marks a network-bearing verify/test ambiguity that requires support and must not be automatically retried.",
                "schema": {
                    "type": "string",
                    "enum": [
                        "created",
                        "replayed",
                        "processing"
                    ]
                }
            }
        },
        "schemas": {
            "AccountMeta": {
                "type": "object",
                "description": "Billing meta attached to every account endpoint response. Account endpoints are always free.",
                "properties": {
                    "request_credit_cost": {
                        "type": "integer",
                        "enum": [
                            0
                        ]
                    },
                    "credits_remaining": {
                        "type": "integer"
                    }
                }
            },
            "SignalTopicCode": {
                "description": "Stable public topic code (UPPER_SNAKE) as returned in `event.topic`. In addition to the seven filterable codes, `OTHER` is returned for any event outside them: routinely on the detail endpoint (for example a purpose or bylaws change fetched by id), and on the list endpoint only if the upstream catalogue drifts. `OTHER` events are not plan-gated, and `OTHER` cannot be used as a filter value.",
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/SignalTopicFilterCode"
                    },
                    {
                        "type": "string",
                        "enum": [
                            "OTHER"
                        ]
                    }
                ]
            },
            "SignalSourceCode": {
                "type": "string",
                "description": "Public source classification of a Signal.",
                "enum": [
                    "COMMERCIAL_REGISTER",
                    "ROLE_HOLDER_REGISTER",
                    "INSOLVENCY_COURT",
                    "COMPANY_REGISTER",
                    "OTHER"
                ]
            },
            "SignalRoleCode": {
                "type": "string",
                "description": "Stable public role code.",
                "enum": [
                    "BOARD_CHAIR",
                    "BOARD_MEMBER",
                    "DIRECTOR",
                    "FULLY_LIABLE_PARTNER",
                    "INSOLVENCY_ADMINISTRATOR",
                    "LIMITED_PARTNER",
                    "LIQUIDATOR",
                    "MANAGING_DIRECTOR",
                    "OTHER",
                    "OWNER",
                    "PARTNER",
                    "AUTHORIZED_SIGNATORY",
                    "PROPRIETOR",
                    "REPRESENTATIVE",
                    "SECRETARY",
                    "SHAREHOLDER",
                    "TEMPORARY_MANAGING_DIRECTOR",
                    "TREASURER",
                    "WATER_WARDEN",
                    "YOUTH_WARDEN"
                ]
            },
            "SignalEntryContextCode": {
                "type": "string",
                "description": "Public register-entry context of a Signal.",
                "enum": [
                    "PRIMARY",
                    "REGISTRATION_NOTICE",
                    "OTHER"
                ]
            },
            "SignalEntryFlagCode": {
                "type": "string",
                "description": "Public register-entry flag of a Signal.",
                "enum": [
                    "SUCCESSOR_INFORMATION",
                    "OTHER"
                ]
            },
            "SignalsDateFilter": {
                "type": "string",
                "maxLength": 32,
                "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?)?$",
                "example": "2026-01-01",
                "description": "Date filter value: `YYYY-MM-DD`, or a timezone-naive `YYYY-MM-DDTHH:MM:SS` with an optional one-to-six-digit fraction. Timezone designators are rejected — neither a trailing `Z` nor an offset like `+02:00` is accepted."
            },
            "SignalEntityId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[A-Za-z0-9._~-]+$",
                "description": "Opaque organization or party identifier."
            },
            "SignalLocalizedText": {
                "type": "object",
                "description": "Localized public text keyed by language code.",
                "properties": {
                    "de": {
                        "type": "string"
                    },
                    "en": {
                        "type": "string"
                    }
                },
                "additionalProperties": {
                    "type": "string"
                }
            },
            "SignalDateBasis": {
                "type": "string",
                "enum": [
                    "COURT_PUBLICATION",
                    "PUBLICATION",
                    "REGISTER_ENTRY",
                    "ROLE_HOLDER_EVENT",
                    "SOURCE_EVENT",
                    "OTHER"
                ]
            },
            "SignalDetailSchemaCode": {
                "type": "string",
                "description": "Stable public details shape discriminator.",
                "enum": [
                    "ADDRESS_CHANGE",
                    "BRANCH_CHANGE",
                    "BUSINESS_PERMISSION",
                    "BYLAWS_CHANGE",
                    "CAPITAL_CHANGE",
                    "CORRECTION",
                    "DURATION_CHANGE",
                    "ENTERPRISE_AGREEMENT",
                    "FINANCIAL_REPORT",
                    "INSOLVENCY_PROCEEDING",
                    "INSOLVENCY_PUBLICATION",
                    "LEGAL_FORM_CHANGE",
                    "NAME_CHANGE",
                    "PARTY_EVENT",
                    "POST_FORMATION_CONTRACT",
                    "PURPOSE_CHANGE",
                    "REGISTER_TRANSFER",
                    "REGISTRATION",
                    "REPRESENTATION_RULE_CHANGE",
                    "SEAT_CHANGE",
                    "TRANSFORMATION",
                    "OTHER"
                ]
            },
            "SignalsSuccessMeta": {
                "type": "object",
                "required": [
                    "schema_version",
                    "request_id",
                    "request_credit_cost",
                    "credits_remaining"
                ],
                "properties": {
                    "schema_version": {
                        "type": "string",
                        "enum": [
                            "1.0"
                        ],
                        "description": "Version of the public wire format."
                    },
                    "request_id": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "Opaque per-request identifier, also returned in the `X-Request-Id` header; quote it in support requests."
                    },
                    "generated_at": {
                        "type": "string",
                        "maxLength": 128,
                        "description": "Upstream generation timestamp. Omitted (never null) when the source did not provide it."
                    },
                    "profiles_resolved_at": {
                        "type": "string",
                        "maxLength": 128,
                        "description": "When the company profiles merged into this response were resolved. Omitted (never null) when unavailable."
                    },
                    "request_credit_cost": {
                        "type": "integer",
                        "enum": [
                            0,
                            5
                        ],
                        "description": "Credits charged for this successful call: 5 for a list page or a detail lookup, 0 for the catalog."
                    },
                    "credits_remaining": {
                        "type": "integer",
                        "description": "Account balance after the charge."
                    }
                }
            },
            "SignalEvent": {
                "type": "object",
                "description": "The normalized event. `occurred_on` (event date) and `announced_on` (announcement date) are omitted when the source date is missing or cannot be normalized, so neither is required. Merging and sorting are newest-first on the announcement date.",
                "required": [
                    "topic",
                    "topic_name",
                    "date_basis"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255,
                        "pattern": "^[A-Za-z0-9._~-]+$",
                        "description": "Opaque Signal identifier; pass it to `/v1/signals/{signalId}`. The member is omitted (never null) in the rare case that the source identifier is not representable. Delivery is at-least-once, so use this value to de-duplicate across pages."
                    },
                    "topic": {
                        "$ref": "#/components/schemas/SignalTopicCode"
                    },
                    "topic_name": {
                        "$ref": "#/components/schemas/SignalLocalizedText"
                    },
                    "type": {
                        "type": "string",
                        "nullable": true,
                        "description": "Granular public event type. OPEN ENUM: currently emitted for role-holder events (ROLE_HOLDER_ENTRY, ROLE_HOLDER_EXIT, ROLE_HOLDER_TRANSITION, ROLE_HOLDER_CHANGE); more values will be released over time — treat unknown values as valid and fall back to the topic. AUTHORITY_CHANGE is also defined here but no signal emits it at present. Absent where no type has been released yet."
                    },
                    "type_name": {
                        "$ref": "#/components/schemas/SignalLocalizedText",
                        "nullable": true,
                        "description": "Display labels for the released event type (de/en). Present only alongside `type`."
                    },
                    "occurred_on": {
                        "$ref": "#/components/schemas/SignalNormalizedDate"
                    },
                    "announced_on": {
                        "$ref": "#/components/schemas/SignalNormalizedDate"
                    },
                    "date_basis": {
                        "$ref": "#/components/schemas/SignalDateBasis"
                    }
                },
                "additionalProperties": false
            },
            "SignalNormalizedDate": {
                "type": "string",
                "format": "date",
                "description": "Normalized calendar date (`YYYY-MM-DD`). The member is omitted when the source value was absent or could not be normalized — it is never returned as null."
            },
            "SignalNullableLocalizedText": {
                "type": "object",
                "description": "Sanitized localized text. Individual language values may be null when invalid.",
                "additionalProperties": {
                    "type": "string",
                    "nullable": true
                }
            },
            "SignalRegisterReference": {
                "type": "object",
                "description": "Sanitized public register reference. Values are descriptive source data, not Signals taxonomy codes.",
                "properties": {
                    "register_type": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "register_number": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "register_number_extra": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "court": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "register_locality": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "registration_authority_id": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "register_raw": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "register_entity_name": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "SignalLegalFormReference": {
                "type": "object",
                "description": "Sanitized legal-form labels. Internal legal-form codes are not returned.",
                "properties": {
                    "name": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalNullableLocalizedText"
                            }
                        ]
                    },
                    "short": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalNullableLocalizedText"
                            }
                        ]
                    },
                    "raw": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "SignalPostalAddress": {
                "type": "object",
                "description": "Sanitized postal address.",
                "properties": {
                    "street": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "house_number": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "postal_code": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "city": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "country_code": {
                        "type": "string",
                        "pattern": "^[A-Z]{2}$",
                        "nullable": true
                    },
                    "raw": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "SignalCoordinate": {
                "type": "object",
                "properties": {
                    "latitude": {
                        "type": "number",
                        "minimum": -90,
                        "maximum": 90,
                        "nullable": true
                    },
                    "longitude": {
                        "type": "number",
                        "minimum": -180,
                        "maximum": 180,
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "SignalLocation": {
                "type": "object",
                "description": "Sanitized geocoded location.",
                "properties": {
                    "entity_id": {
                        "type": "string",
                        "maxLength": 128,
                        "pattern": "^[A-Za-z0-9._~-]+$",
                        "nullable": true,
                        "description": "Opaque location identifier."
                    },
                    "formatted_address": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "coordinate": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalCoordinate"
                            }
                        ]
                    }
                },
                "additionalProperties": false
            },
            "SignalCurrentProfile": {
                "type": "object",
                "description": "Sanitized current profile. Person profiles contain only a name; organization profiles may include the other listed fields.",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "registration": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalRegisterReference"
                            }
                        ]
                    },
                    "legal_form": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalLegalFormReference"
                            }
                        ]
                    },
                    "seat": {
                        "type": "object",
                        "nullable": true,
                        "description": "Registered seat (Sitz) of the company — distinct from the business address.",
                        "properties": {
                            "city": {
                                "type": "string",
                                "maxLength": 1024,
                                "nullable": true
                            }
                        }
                    },
                    "status": {
                        "type": "object",
                        "nullable": true,
                        "description": "Company status. Nested so sub-states can be added without a breaking change.",
                        "properties": {
                            "code": {
                                "type": "string",
                                "enum": [
                                    "ACTIVE",
                                    "INACTIVE",
                                    "INSOLVENT",
                                    "OTHER"
                                ],
                                "description": "Mapped public organization status."
                            }
                        }
                    }
                },
                "additionalProperties": false
            },
            "SignalEntityReference": {
                "type": "object",
                "required": [
                    "type"
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "ORGANIZATION",
                            "PERSON",
                            "OTHER"
                        ]
                    },
                    "entity_id": {
                        "type": "string",
                        "maxLength": 128,
                        "pattern": "^[A-Za-z0-9._~-]+$",
                        "nullable": true,
                        "description": "Opaque entity identifier."
                    },
                    "current_profile": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalCurrentProfile"
                            }
                        ]
                    }
                },
                "additionalProperties": false
            },
            "SignalPartyRole": {
                "type": "object",
                "required": [
                    "code",
                    "representation_scheme"
                ],
                "properties": {
                    "code": {
                        "$ref": "#/components/schemas/SignalRoleCode"
                    },
                    "representation_scheme": {
                        "type": "array",
                        "maxItems": 100,
                        "uniqueItems": true,
                        "description": "Sanitized descriptive source phrases; not provider taxonomy values.",
                        "items": {
                            "type": "string",
                            "maxLength": 1024
                        }
                    }
                },
                "additionalProperties": false
            },
            "SignalRoleHolder": {
                "type": "object",
                "required": [
                    "entity",
                    "role"
                ],
                "properties": {
                    "entity": {
                        "$ref": "#/components/schemas/SignalEntityReference"
                    },
                    "role": {
                        "$ref": "#/components/schemas/SignalPartyRole"
                    }
                },
                "additionalProperties": false
            },
            "SignalCounterparty": {
                "type": "object",
                "required": [
                    "entity"
                ],
                "properties": {
                    "entity": {
                        "$ref": "#/components/schemas/SignalEntityReference"
                    },
                    "relationship": {
                        "type": "string",
                        "enum": [
                            "ABSORBING_COMPANY",
                            "TRANSFERRING_COMPANY",
                            "CONTROLLING_COMPANY",
                            "MAIN_SHAREHOLDER",
                            "PARENT_COMPANY",
                            "PREDECESSOR",
                            "SUCCESSOR",
                            "CONTRACT_COUNTERPARTY",
                            "OTHER"
                        ],
                        "nullable": true,
                        "description": "Mapped public relationship."
                    },
                    "source_annotation": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true,
                        "description": "Sanitized verbatim source annotation."
                    }
                },
                "additionalProperties": false
            },
            "SignalParties": {
                "type": "object",
                "properties": {
                    "role_holder": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalRoleHolder"
                            }
                        ]
                    },
                    "counterparty": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalCounterparty"
                            }
                        ]
                    }
                },
                "additionalProperties": false
            },
            "SignalRegisterEntry": {
                "type": "object",
                "description": "Sanitized public register-entry context.",
                "required": [
                    "context",
                    "flags"
                ],
                "properties": {
                    "entry_date": {
                        "$ref": "#/components/schemas/SignalNormalizedDate"
                    },
                    "phase": {
                        "type": "string",
                        "enum": [
                            "SET",
                            "CHANGED",
                            "INCREASED",
                            "DECREASED",
                            "REGISTERED",
                            "OTHER"
                        ],
                        "nullable": true,
                        "description": "How the entry relates to the value it carries: SET at founding, CHANGED later; INCREASED/DECREASED carry capital direction."
                    },
                    "legal_basis": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "description_text": {
                        "type": "string",
                        "maxLength": 100000,
                        "nullable": true
                    },
                    "context": {
                        "$ref": "#/components/schemas/SignalEntryContextCode"
                    },
                    "flags": {
                        "type": "array",
                        "maxItems": 100,
                        "uniqueItems": true,
                        "items": {
                            "$ref": "#/components/schemas/SignalEntryFlagCode"
                        }
                    },
                    "entry_number": {
                        "type": "string",
                        "maxLength": 128,
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "SignalMoney": {
                "type": "object",
                "description": "Sanitized decimal monetary value used by non-financial-report details. A safe source rendering may be present in `raw`.",
                "properties": {
                    "currency": {
                        "type": "string",
                        "pattern": "^[A-Z]{3}$",
                        "nullable": true
                    },
                    "amount": {
                        "type": "string",
                        "maxLength": 128,
                        "pattern": "^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
                        "nullable": true
                    },
                    "source_text": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "SignalFinancialMoney": {
                "type": "object",
                "description": "Sanitized financial-figure amount. Financial figures never include raw source text.",
                "properties": {
                    "currency": {
                        "type": "string",
                        "pattern": "^[A-Z]{3}$",
                        "nullable": true
                    },
                    "amount": {
                        "type": "string",
                        "maxLength": 128,
                        "pattern": "^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "SignalTransformationSpecifics": {
                "type": "object",
                "description": "Curated public transformation facts.",
                "properties": {
                    "merger_target": {
                        "type": "string",
                        "enum": [
                            "ABSORPTION",
                            "NEW_ENTITY",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "split_kind": {
                        "type": "string",
                        "enum": [
                            "SPLIT_UP",
                            "SPIN_OFF",
                            "HIVE_DOWN",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "split_target": {
                        "type": "string",
                        "enum": [
                            "ABSORPTION",
                            "NEW_ENTITY",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "conversion_type": {
                        "type": "string",
                        "enum": [
                            "LEGAL_FORM_CHANGE",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "transfer_kind": {
                        "type": "string",
                        "enum": [
                            "FULL_TRANSFER",
                            "PARTIAL_TRANSFER",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "partial_structure": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "hgb_paragraph": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "liability_modification": {
                        "type": "string",
                        "enum": [
                            "EXCLUDED",
                            "LIMITED",
                            "ASSUMED",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "duration_kind": {
                        "type": "string",
                        "enum": [
                            "FIXED_TERM",
                            "INDEFINITE",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "duration_description": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "duration_end_date": {
                        "$ref": "#/components/schemas/SignalNormalizedDate"
                    },
                    "duration_end_date_raw": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "agreement_kind": {
                        "type": "string",
                        "enum": [
                            "CONTROL_AGREEMENT",
                            "PROFIT_TRANSFER_AGREEMENT",
                            "PROFIT_AND_LOSS_TRANSFER_AGREEMENT",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "termination_reason": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "contract_date": {
                        "$ref": "#/components/schemas/SignalNormalizedDate"
                    },
                    "contract_date_raw": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "SignalFinancialFigures": {
                "type": "object",
                "description": "Curated public financial figures.",
                "properties": {
                    "assets_total": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalFinancialMoney"
                            }
                        ]
                    },
                    "equity_total": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalFinancialMoney"
                            }
                        ]
                    },
                    "provisions_total": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalFinancialMoney"
                            }
                        ]
                    },
                    "payables_total": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalFinancialMoney"
                            }
                        ]
                    },
                    "revenue": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalFinancialMoney"
                            }
                        ]
                    },
                    "net_income": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalFinancialMoney"
                            }
                        ]
                    },
                    "employees": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2000000000,
                        "nullable": true
                    },
                    "company_size_by_assets": {
                        "type": "string",
                        "enum": [
                            "MICRO",
                            "SMALL",
                            "MEDIUM",
                            "LARGE",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "company_size_by_revenue": {
                        "type": "string",
                        "enum": [
                            "MICRO",
                            "SMALL",
                            "MEDIUM",
                            "LARGE",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "company_size_by_employees": {
                        "type": "string",
                        "enum": [
                            "MICRO",
                            "SMALL",
                            "MEDIUM",
                            "LARGE",
                            "OTHER"
                        ],
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "SignalFigureQuality": {
                "type": "object",
                "description": "Public extraction-quality labels keyed by curated figure name.",
                "properties": {
                    "assets_total": {
                        "type": "string",
                        "enum": [
                            "AMBIGUOUS_ZERO",
                            "NOT_EXTRACTED",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "equity_total": {
                        "type": "string",
                        "enum": [
                            "AMBIGUOUS_ZERO",
                            "NOT_EXTRACTED",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "provisions_total": {
                        "type": "string",
                        "enum": [
                            "AMBIGUOUS_ZERO",
                            "NOT_EXTRACTED",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "payables_total": {
                        "type": "string",
                        "enum": [
                            "AMBIGUOUS_ZERO",
                            "NOT_EXTRACTED",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "revenue": {
                        "type": "string",
                        "enum": [
                            "AMBIGUOUS_ZERO",
                            "NOT_EXTRACTED",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "net_income": {
                        "type": "string",
                        "enum": [
                            "AMBIGUOUS_ZERO",
                            "NOT_EXTRACTED",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "employees": {
                        "type": "string",
                        "enum": [
                            "AMBIGUOUS_ZERO",
                            "NOT_EXTRACTED",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "company_size_by_assets": {
                        "type": "string",
                        "enum": [
                            "AMBIGUOUS_ZERO",
                            "NOT_EXTRACTED",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "company_size_by_revenue": {
                        "type": "string",
                        "enum": [
                            "AMBIGUOUS_ZERO",
                            "NOT_EXTRACTED",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "company_size_by_employees": {
                        "type": "string",
                        "enum": [
                            "AMBIGUOUS_ZERO",
                            "NOT_EXTRACTED",
                            "OTHER"
                        ],
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "SignalFinancialDocument": {
                "type": "object",
                "description": "Sanitized financial-document metadata; this is not a download URL.",
                "properties": {
                    "id": {
                        "type": "string",
                        "maxLength": 255,
                        "pattern": "^[A-Za-z0-9._~-]+$",
                        "nullable": true,
                        "description": "Opaque document identifier."
                    },
                    "available_formats": {
                        "type": "array",
                        "maxItems": 20,
                        "uniqueItems": true,
                        "items": {
                            "type": "string",
                            "enum": [
                                "MARKDOWN",
                                "HTML",
                                "OTHER"
                            ]
                        }
                    },
                    "size_markdown_chars": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2000000000,
                        "nullable": true
                    },
                    "size_html_chars": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2000000000,
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "SignalSource": {
                "type": "object",
                "required": [
                    "kind"
                ],
                "properties": {
                    "kind": {
                        "$ref": "#/components/schemas/SignalSourceCode"
                    },
                    "record_id": {
                        "type": "string",
                        "maxLength": 255,
                        "pattern": "^[A-Za-z0-9._~-]+$",
                        "nullable": true,
                        "description": "Opaque public source-record identifier."
                    }
                },
                "additionalProperties": false
            },
            "SignalDetails": {
                "type": "object",
                "required": [
                    "schema"
                ],
                "description": "Curated public details. `schema` identifies the stable public shape. Listed properties are the currently known sanitized fields; future additive fields remain in the public vocabulary and never expose provider discriminators. Source-evidence members are always stripped from public responses, so the `PARTY_EVENT` shape reduces to `schema` plus `scope`.",
                "properties": {
                    "schema": {
                        "$ref": "#/components/schemas/SignalDetailSchemaCode"
                    },
                    "resulting_name": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "resulting_purpose": {
                        "type": "string",
                        "maxLength": 100000,
                        "nullable": true
                    },
                    "resulting_rule": {
                        "type": "string",
                        "maxLength": 100000,
                        "nullable": true
                    },
                    "resulting_legal_form": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalLegalFormReference"
                            }
                        ]
                    },
                    "capital_kind": {
                        "type": "string",
                        "enum": [
                            "SHARE_CAPITAL",
                            "LIABLE_CAPITAL",
                            "AUTHORIZED_CAPITAL",
                            "CONDITIONAL_CAPITAL",
                            "VARIABLE_CAPITAL",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "resulting_amount": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalMoney"
                            }
                        ]
                    },
                    "change_amount": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalMoney"
                            }
                        ]
                    },
                    "resulting_address": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalPostalAddress"
                            }
                        ]
                    },
                    "location": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalLocation"
                            }
                        ]
                    },
                    "resulting_seat": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "sections_amended": {
                        "oneOf": [
                            {
                                "type": "string",
                                "maxLength": 1024,
                                "nullable": true
                            },
                            {
                                "type": "array",
                                "maxItems": 100,
                                "uniqueItems": true,
                                "items": {
                                    "type": "string",
                                    "maxLength": 1024
                                }
                            }
                        ]
                    },
                    "resolution_date": {
                        "$ref": "#/components/schemas/SignalNormalizedDate"
                    },
                    "resolution_body": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "description": {
                        "type": "string",
                        "maxLength": 100000,
                        "nullable": true
                    },
                    "duration_kind": {
                        "type": "string",
                        "enum": [
                            "FIXED_TERM",
                            "INDEFINITE",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "permission_date": {
                        "$ref": "#/components/schemas/SignalNormalizedDate"
                    },
                    "contract_date": {
                        "$ref": "#/components/schemas/SignalNormalizedDate"
                    },
                    "agreement_kind": {
                        "type": "string",
                        "enum": [
                            "CONTROL_AGREEMENT",
                            "PROFIT_TRANSFER_AGREEMENT",
                            "PROFIT_AND_LOSS_TRANSFER_AGREEMENT",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "termination_reason": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "action": {
                        "type": "string",
                        "enum": [
                            "OPENED",
                            "CLOSED",
                            "UPDATED",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "location_name": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "postal_code": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "register_data": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalRegisterReference"
                            }
                        ]
                    },
                    "first_registration_date": {
                        "$ref": "#/components/schemas/SignalNormalizedDate"
                    },
                    "constitution_date": {
                        "$ref": "#/components/schemas/SignalNormalizedDate"
                    },
                    "constitution_basis": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "is_migration_or_transfer": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "kind": {
                        "type": "string",
                        "enum": [
                            "REGISTER_COURT_CHANGE",
                            "REGISTER_STATUS_CHANGE",
                            "MERGER",
                            "SPLIT",
                            "LEGAL_FORM_CONVERSION",
                            "ASSET_TRANSFER",
                            "GROUP_INTEGRATION",
                            "SQUEEZE_OUT",
                            "BUSINESS_TRANSFER",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "to_registration": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalRegisterReference"
                            }
                        ]
                    },
                    "from_registration": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalRegisterReference"
                            }
                        ]
                    },
                    "to_seat": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "target_legal_form": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalLegalFormReference"
                            }
                        ]
                    },
                    "direction": {
                        "type": "string",
                        "enum": [
                            "INCOMING",
                            "OUTGOING",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "specifics": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalTransformationSpecifics"
                            }
                        ]
                    },
                    "is_cross_border": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "agreement_date": {
                        "$ref": "#/components/schemas/SignalNormalizedDate"
                    },
                    "correction_type": {
                        "type": "string",
                        "enum": [
                            "CORRECTION",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "scope": {
                        "type": "string",
                        "enum": [
                            "SIGNING_AUTHORITY",
                            "ROLE",
                            "IDENTITY",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "evidence_excerpt": {
                        "type": "string",
                        "maxLength": 100000,
                        "nullable": true,
                        "description": "Reserved; never returned by the public Signals API — source evidence is always stripped."
                    },
                    "evidence_redactions": {
                        "type": "array",
                        "maxItems": 100,
                        "uniqueItems": true,
                        "items": {
                            "type": "string",
                            "enum": [
                                "BIRTH_DATE",
                                "OTHER"
                            ]
                        },
                        "description": "Reserved; never returned by the public Signals API — source evidence is always stripped."
                    },
                    "evidence_text_status": {
                        "type": "string",
                        "enum": [
                            "AVAILABLE_ON_REQUEST",
                            "INCLUDED",
                            "UNAVAILABLE",
                            "OTHER"
                        ],
                        "nullable": true,
                        "description": "Reserved; never returned by the public Signals API — source evidence is always stripped."
                    },
                    "evidence_text": {
                        "type": "string",
                        "maxLength": 2000000,
                        "nullable": true,
                        "description": "Reserved; never returned by the public Signals API — source evidence is always stripped."
                    },
                    "court": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "decision_date": {
                        "$ref": "#/components/schemas/SignalNormalizedDate"
                    },
                    "content_status": {
                        "type": "string",
                        "enum": [
                            "INCLUDED",
                            "OMITTED",
                            "UNAVAILABLE",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "content": {
                        "type": "string",
                        "maxLength": 2000000,
                        "nullable": true
                    },
                    "content_excerpt": {
                        "type": "string",
                        "maxLength": 100000,
                        "nullable": true
                    },
                    "content_length_chars": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2000000000,
                        "nullable": true
                    },
                    "publication_type": {
                        "type": "string",
                        "enum": [
                            "OPENING_NOTICE",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "publication_date": {
                        "$ref": "#/components/schemas/SignalNormalizedDate"
                    },
                    "federal_state": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "report_type": {
                        "type": "string",
                        "enum": [
                            "ANNUAL_REPORT",
                            "GROUP_REPORT",
                            "BALANCE_REPORT",
                            "OTHER_REPORT",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "fiscal_year": {
                        "type": "integer",
                        "minimum": 1800,
                        "maximum": 9999,
                        "nullable": true
                    },
                    "period_start": {
                        "$ref": "#/components/schemas/SignalNormalizedDate"
                    },
                    "period_end": {
                        "$ref": "#/components/schemas/SignalNormalizedDate"
                    },
                    "period_basis": {
                        "type": "string",
                        "enum": [
                            "REPORTED",
                            "TITLE_DERIVED",
                            "INFERRED",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "language": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "is_consolidated": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "correction_basis": {
                        "type": "string",
                        "enum": [
                            "NONE",
                            "TITLE_DERIVED",
                            "SOURCE_MARKED",
                            "OTHER"
                        ],
                        "nullable": true
                    },
                    "document_title": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "figures_schema_version": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 1000000,
                        "nullable": true
                    },
                    "figures_generation": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 1000000,
                        "nullable": true
                    },
                    "figures_complete": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "figures": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalFinancialFigures"
                            }
                        ]
                    },
                    "figures_quality": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalFigureQuality"
                            }
                        ]
                    },
                    "document": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalFinancialDocument"
                            }
                        ]
                    },
                    "case_number": {
                        "type": "string",
                        "maxLength": 1024,
                        "nullable": true
                    },
                    "corrected_entry_number": {
                        "type": "string",
                        "maxLength": 128,
                        "nullable": true
                    },
                    "registration_kind": {
                        "type": "string",
                        "enum": [
                            "NEW_REGISTRATION",
                            "MIGRATION_OR_TRANSFER",
                            "OTHER"
                        ],
                        "nullable": true,
                        "description": "Distinguishes genuinely new companies from register transfers/migrations of existing ones (REGISTRATION schema)."
                    },
                    "proceeding_id": {
                        "type": "string",
                        "maxLength": 255,
                        "nullable": true,
                        "description": "Opaque insolvency proceeding identifier — threads events of one case across pipelines (insolvency schemas)."
                    }
                },
                "additionalProperties": true
            },
            "SignalItem": {
                "type": "object",
                "required": [
                    "event",
                    "organization",
                    "source"
                ],
                "properties": {
                    "event": {
                        "$ref": "#/components/schemas/SignalEvent"
                    },
                    "organization": {
                        "$ref": "#/components/schemas/SignalEntityReference"
                    },
                    "parties": {
                        "$ref": "#/components/schemas/SignalParties"
                    },
                    "register_entry": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalRegisterEntry"
                            }
                        ]
                    },
                    "source": {
                        "$ref": "#/components/schemas/SignalSource"
                    },
                    "details": {
                        "type": "object",
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SignalDetails"
                            }
                        ]
                    }
                },
                "additionalProperties": false
            },
            "SignalsPagination": {
                "type": "object",
                "description": "Cursor pagination state. `limit` is a ceiling, not a promise: pages can be short or even empty while `has_more` is true, because unresolved company profiles and blocked entities are dropped after the page is assembled and the per-request upstream fetch budget can end a page early. Follow `has_more`, not `returned`.",
                "required": [
                    "mode",
                    "limit",
                    "returned",
                    "has_more"
                ],
                "properties": {
                    "mode": {
                        "type": "string",
                        "enum": [
                            "CURSOR"
                        ],
                        "description": "Always the uppercase literal `CURSOR`."
                    },
                    "limit": {
                        "type": "integer",
                        "enum": [
                            20
                        ],
                        "description": "Maximum number of signals a page can contain. `returned` is frequently lower."
                    },
                    "returned": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 20,
                        "description": "Number of items actually present in `signals`; may be 0 on a page that still has `has_more: true`."
                    },
                    "has_more": {
                        "type": "boolean",
                        "description": "True while more pages can be fetched with `next_cursor`. A short or empty page with `has_more: true` must still be followed. Forced to false whenever no usable `next_cursor` exists."
                    },
                    "next_cursor": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 8192,
                        "description": "Opaque cursor for the next page. The member is omitted (never null) on the last page and whenever no usable cursor could be produced. Resend it unchanged with a byte-identical filter set. Each successful next-page call costs 20 credits."
                    }
                },
                "additionalProperties": false
            },
            "SignalsFilters": {
                "type": "object",
                "description": "Echo of the normalized public filters applied to this page. `topics` and `organization_ids` are always present (empty arrays when the filter was not used), so this object is never `{}`; `from`, `to` and `cursor` appear only when they were supplied. An empty `topics` array means no explicit topic filter was sent — the search still covered only the topics the caller's plan can access.",
                "required": [
                    "topics",
                    "organization_ids"
                ],
                "properties": {
                    "cursor": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 8192,
                        "description": "Echoed verbatim when a cursor was supplied; omitted otherwise."
                    },
                    "topics": {
                        "type": "array",
                        "description": "Requested public topic codes, de-duplicated and sorted. Empty when `topics` was omitted.",
                        "items": {
                            "$ref": "#/components/schemas/SignalTopicFilterCode"
                        }
                    },
                    "organization_ids": {
                        "type": "array",
                        "description": "Requested organization identifiers, de-duplicated and sorted. Empty when the filter was not used.",
                        "maxItems": 50,
                        "items": {
                            "$ref": "#/components/schemas/SignalEntityId"
                        }
                    },
                    "from": {
                        "$ref": "#/components/schemas/SignalsDateFilter"
                    },
                    "to": {
                        "$ref": "#/components/schemas/SignalsDateFilter"
                    }
                },
                "additionalProperties": false
            },
            "SignalsWarning": {
                "type": "object",
                "description": "Non-fatal notice about the request. The list endpoint currently emits at most one warning, `SOURCE_CATALOG_WARNING`; upstream warning detail is never passed through.",
                "required": [
                    "code",
                    "message"
                ],
                "properties": {
                    "code": {
                        "type": "string",
                        "description": "Stable public warning code."
                    },
                    "message": {
                        "type": "string"
                    }
                },
                "additionalProperties": false
            },
            "SignalsListResponse": {
                "type": "object",
                "required": [
                    "signals",
                    "pagination",
                    "filters",
                    "warnings",
                    "meta"
                ],
                "properties": {
                    "signals": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SignalItem"
                        }
                    },
                    "pagination": {
                        "$ref": "#/components/schemas/SignalsPagination"
                    },
                    "filters": {
                        "$ref": "#/components/schemas/SignalsFilters"
                    },
                    "warnings": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SignalsWarning"
                        }
                    },
                    "meta": {
                        "$ref": "#/components/schemas/SignalsSuccessMeta"
                    }
                },
                "additionalProperties": false
            },
            "SignalsDetailResponse": {
                "type": "object",
                "required": [
                    "signal",
                    "meta"
                ],
                "properties": {
                    "signal": {
                        "$ref": "#/components/schemas/SignalItem"
                    },
                    "meta": {
                        "$ref": "#/components/schemas/SignalsSuccessMeta"
                    }
                },
                "additionalProperties": false
            },
            "SignalsCatalogTopic": {
                "type": "object",
                "required": [
                    "code",
                    "label",
                    "description",
                    "tier",
                    "observed"
                ],
                "properties": {
                    "code": {
                        "$ref": "#/components/schemas/SignalTopicFilterCode"
                    },
                    "label": {
                        "$ref": "#/components/schemas/SignalLocalizedText"
                    },
                    "description": {
                        "$ref": "#/components/schemas/SignalLocalizedText"
                    },
                    "observed": {
                        "type": "boolean",
                        "description": "Whether the upstream catalogue currently reports records for this topic."
                    },
                    "tier": {
                        "type": "string",
                        "enum": [
                            "ALL",
                            "PRO",
                            "MAX"
                        ],
                        "description": "Minimum plan required to read this topic: `ALL` on every plan (Plus included), `PRO` from the Pro plan, `MAX` from the Max plan. Always emitted in uppercase and never null. The catalog lists every topic with its tier regardless of the caller's own plan."
                    }
                },
                "additionalProperties": false
            },
            "SignalsCatalogCapabilities": {
                "type": "object",
                "required": [
                    "page_size",
                    "pagination"
                ],
                "properties": {
                    "page_size": {
                        "type": "integer",
                        "enum": [
                            20
                        ],
                        "description": "Maximum number of signals a list page can contain."
                    },
                    "pagination": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "CURSOR"
                            ]
                        },
                        "description": "Supported pagination modes; currently cursor pagination only."
                    }
                },
                "additionalProperties": false
            },
            "SignalsCatalogResponse": {
                "type": "object",
                "required": [
                    "catalog_version",
                    "topics",
                    "capabilities",
                    "meta"
                ],
                "properties": {
                    "catalog_version": {
                        "type": "string"
                    },
                    "topics": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SignalsCatalogTopic"
                        }
                    },
                    "capabilities": {
                        "$ref": "#/components/schemas/SignalsCatalogCapabilities"
                    },
                    "meta": {
                        "$ref": "#/components/schemas/SignalsSuccessMeta"
                    }
                },
                "additionalProperties": false
            },
            "Meta": {
                "type": "object",
                "properties": {
                    "request_credit_cost": {
                        "type": "integer",
                        "description": "Credits actually charged for this request."
                    },
                    "credits_remaining": {
                        "type": "integer",
                        "description": "Account balance after the request."
                    },
                    "message": {
                        "type": "string"
                    }
                }
            },
            "CapitalMoney": {
                "type": "object",
                "description": "A capital amount as recorded in the commercial register.",
                "properties": {
                    "amount": {
                        "type": "number",
                        "nullable": true
                    },
                    "currency": {
                        "type": "string",
                        "nullable": true,
                        "description": "ISO 4217 code, e.g. EUR."
                    },
                    "kind": {
                        "type": "string",
                        "nullable": true,
                        "description": "Kind of registered capital. Known values: STAMMKAPITAL, GRUNDKAPITAL, HAFTSUMME, GENEHMIGTES_KAPITAL, BEDINGTES_KAPITAL, VARIABLES_KAPITAL. Treat this as an open enum.",
                        "example": "GRUNDKAPITAL"
                    },
                    "change_amount": {
                        "type": "object",
                        "nullable": true,
                        "description": "Amount stated in the register entry for this change. UNSIGNED: a decrease also carries a positive amount, and the value does not always equal the difference between two consecutive amounts. Derive the direction by comparing the amounts themselves.",
                        "properties": {
                            "amount": {
                                "type": "number",
                                "nullable": true
                            },
                            "currency": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    }
                }
            },
            "CapitalHistoryEntry": {
                "type": "object",
                "properties": {
                    "value": {
                        "$ref": "#/components/schemas/CapitalMoney"
                    },
                    "effective_from": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "effective_to": {
                        "type": "string",
                        "format": "date",
                        "nullable": true,
                        "description": "null while this version is still in force."
                    }
                }
            },
            "Capital": {
                "type": "object",
                "description": "Registered capital and its full history. Part of the core company data - included in the 5-credit base price, no feature parameter required. Entities without registered capital, such as partnerships, return current: null and an empty history.",
                "properties": {
                    "current": {
                        "nullable": true,
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/CapitalMoney"
                            }
                        ]
                    },
                    "history": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CapitalHistoryEntry"
                        }
                    }
                }
            },
            "RepresentationScheme": {
                "type": "object",
                "description": "General representation scheme (Vertretungsregelung) with every recorded version. Part of the core company data.",
                "properties": {
                    "current": {
                        "type": "array",
                        "nullable": true,
                        "items": {
                            "type": "string"
                        }
                    },
                    "history": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "value": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "effective_from": {
                                    "type": "string",
                                    "format": "date",
                                    "nullable": true
                                },
                                "effective_to": {
                                    "type": "string",
                                    "format": "date",
                                    "nullable": true,
                                    "description": "null while this version is still in force."
                                }
                            }
                        }
                    }
                }
            },
            "Organization": {
                "type": "object",
                "description": "Core company data plus one top-level key per requested feature. The publications feature is returned under the key `history`.",
                "properties": {
                    "entity_id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "description": "e.g. ACTIVE, INACTIVE, INSOLVENT"
                    },
                    "legal_form": {
                        "type": "string"
                    },
                    "purpose": {
                        "type": "string"
                    },
                    "registration_date": {
                        "type": "string"
                    },
                    "address": {
                        "type": "object"
                    },
                    "registration": {
                        "type": "object",
                        "properties": {
                            "court": {
                                "type": "string"
                            },
                            "register_type": {
                                "type": "string"
                            },
                            "register_number": {
                                "type": "string"
                            }
                        }
                    },
                    "contact_data": {
                        "type": "object"
                    },
                    "representation_scheme": {
                        "$ref": "#/components/schemas/RepresentationScheme"
                    },
                    "capital": {
                        "$ref": "#/components/schemas/Capital"
                    },
                    "keywords": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "products_and_services": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "industry_classification": {
                        "type": "object"
                    },
                    "financial_kpi": {
                        "type": "array",
                        "nullable": true,
                        "description": "Yearly financial KPI rows, one object per fiscal year. Every plan receives the base fields listed below; higher plans can receive additional balance-sheet, income-statement and ratio fields in the same objects at no extra credit cost.",
                        "items": {
                            "type": "object",
                            "properties": {
                                "year": {
                                    "type": "integer",
                                    "nullable": true,
                                    "description": "Fiscal year"
                                },
                                "employees": {
                                    "type": "number",
                                    "nullable": true,
                                    "description": "Employee count"
                                },
                                "revenue": {
                                    "type": "number",
                                    "nullable": true,
                                    "description": "Revenue in EUR"
                                },
                                "net_income": {
                                    "type": "number",
                                    "nullable": true,
                                    "description": "Net income or loss in EUR"
                                },
                                "active_total": {
                                    "type": "number",
                                    "nullable": true,
                                    "description": "Balance sheet total in EUR"
                                },
                                "material_expenses": {
                                    "type": "number",
                                    "nullable": true,
                                    "description": "Material expenses in EUR (negative)"
                                },
                                "personnel_expenses": {
                                    "type": "number",
                                    "nullable": true,
                                    "description": "Personnel expenses in EUR (negative)"
                                }
                            },
                            "additionalProperties": true
                        }
                    },
                    "balance_sheet_accounts": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "nullable": true
                    },
                    "profit_and_loss_account": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "nullable": true
                    },
                    "related_persons": {
                        "type": "object",
                        "nullable": true
                    },
                    "history": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "nullable": true,
                        "description": "Payload of the publications feature."
                    },
                    "news": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "nullable": true
                    },
                    "insolvency_publications": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "nullable": true
                    },
                    "annual_financial_statements": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "nullable": true
                    },
                    "annual_financial_statements__html": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "nullable": true
                    },
                    "shareholders": {
                        "type": "object",
                        "nullable": true
                    },
                    "ubos": {
                        "type": "object",
                        "nullable": true
                    },
                    "shareholdings": {
                        "type": "object",
                        "nullable": true
                    },
                    "mergers_and_acquisitions": {
                        "type": "object",
                        "nullable": true,
                        "properties": {
                            "transactions": {
                                "type": "array",
                                "items": {
                                    "type": "object"
                                }
                            },
                            "succession": {
                                "type": "object",
                                "nullable": true
                            },
                            "control": {
                                "type": "object",
                                "properties": {
                                    "controlled_by": {
                                        "type": "array",
                                        "items": {
                                            "type": "object"
                                        }
                                    },
                                    "controls": {
                                        "type": "array",
                                        "items": {
                                            "type": "object"
                                        }
                                    },
                                    "former": {
                                        "type": "array",
                                        "items": {
                                            "type": "object"
                                        }
                                    }
                                }
                            },
                            "summary": {
                                "type": "object"
                            }
                        }
                    },
                    "website_content": {
                        "type": "string",
                        "nullable": true
                    },
                    "meta": {
                        "$ref": "#/components/schemas/Meta"
                    },
                    "network": {
                        "type": "object",
                        "nullable": true,
                        "description": "Relationship graph around the entity (network feature, 25 credits, requires a Pro or Max plan, charged only when at least one connection exists). Nodes carry node_id, entity_id, type (ORGANIZATION|PERSON), name, depth (0 = root) and is_root; connections carry source, target, connection_type (GROUP|ROLE|OWNERSHIP), label, a localized role object, start_date, end_date and is_current.",
                        "properties": {
                            "depth": {
                                "type": "integer",
                                "description": "Maximum depth of the returned graph"
                            },
                            "nodes": {
                                "type": "array",
                                "items": {
                                    "type": "object"
                                }
                            },
                            "connections": {
                                "type": "array",
                                "items": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "additionalProperties": true
            },
            "SignalTopicFilterCode": {
                "type": "string",
                "description": "Stable public topic code accepted as a filter. Case-sensitive: only the exact UPPER_SNAKE spelling is accepted. `INSOLVENCIES` requires the Pro plan and `TRANSFORMATIONS` the Max plan; the other five are available on every plan.",
                "enum": [
                    "NEW_REGISTRATIONS",
                    "MASTER_DATA_CHANGES",
                    "CLOSURES",
                    "ROLE_HOLDER_CHANGES",
                    "CAPITAL_CHANGES",
                    "INSOLVENCIES",
                    "TRANSFORMATIONS"
                ]
            },
            "SignalsProblemMeta": {
                "type": "object",
                "required": [
                    "request_credit_cost",
                    "credits_remaining"
                ],
                "properties": {
                    "request_id": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "Opaque per-request identifier, mirrored in `X-Request-Id`. Absent on the 401/403 raised by the authentication layer, because the Signals controller never ran."
                    },
                    "request_credit_cost": {
                        "type": "integer",
                        "enum": [
                            0
                        ],
                        "description": "Failed Signals calls are not charged."
                    },
                    "credits_remaining": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Unchanged account balance; null on the 401/403 raised by the authentication layer."
                    }
                }
            },
            "SignalsProblemCode": {
                "type": "string",
                "description": "Stable public problem code. Provider diagnostics are never returned.\n\n* `UNAUTHORIZED` — 401 (no or invalid credentials) and 403 (unverified email address or blocked account; the two are deliberately indistinguishable).\n* `INSUFFICIENT_CREDITS` — 402, balance below 20 credits; never raised by the catalog.\n* `BILLING_FAILED` — 402, the charge could not be booked after a successful lookup; the data is discarded.\n* `PLAN_REQUIRED` — 403, a requested (list) or resolved (detail) topic is above the account's plan.\n* `EVIDENCE_NOT_AVAILABLE` — 403, reserved; not reachable through the public parameters.\n* `NOT_FOUND` — 404, Signals is not enabled for this account; returned by all three endpoints and deliberately indistinguishable from an unknown route.\n* `SIGNAL_NOT_FOUND` — 404, the detail lookup found no readable Signal for that id.\n* `INVALID_REQUEST` — 422, local parameter validation (with `invalid_params`), the catalog rejecting query parameters (without `invalid_params`), or an upstream validation refusal.\n* `INVALID_CURSOR` — 422, the cursor was rejected upstream; start again without a cursor.\n* `SIGNALS_UNAVAILABLE` — 503, Signals or cursor pagination is temporarily unavailable.\n\nA 429 is NOT a Signals problem document and therefore carries no code — see the 429 response.",
                "enum": [
                    "UNAUTHORIZED",
                    "INSUFFICIENT_CREDITS",
                    "BILLING_FAILED",
                    "PLAN_REQUIRED",
                    "EVIDENCE_NOT_AVAILABLE",
                    "NOT_FOUND",
                    "SIGNAL_NOT_FOUND",
                    "INVALID_REQUEST",
                    "INVALID_CURSOR",
                    "SIGNALS_UNAVAILABLE"
                ]
            },
            "SignalsProblem": {
                "type": "object",
                "description": "RFC 9457 problem document returned with `Content-Type: application/problem+json` for every Signals failure except the 429 (produced by the rate limiter outside the Signals pipeline) and a route-level 404 for a malformed `signalId`.",
                "required": [
                    "type",
                    "title",
                    "status",
                    "code",
                    "detail",
                    "meta"
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "format": "uri",
                        "description": "`https://handelsregister.ai/problems/` followed by the lowercase, hyphenated `code`, for example `.../problems/plan-required`."
                    },
                    "title": {
                        "type": "string"
                    },
                    "status": {
                        "type": "integer",
                        "enum": [
                            401,
                            402,
                            403,
                            404,
                            422,
                            503
                        ],
                        "description": "Repeats the HTTP status code."
                    },
                    "code": {
                        "$ref": "#/components/schemas/SignalsProblemCode"
                    },
                    "detail": {
                        "type": "string"
                    },
                    "invalid_params": {
                        "type": "object",
                        "description": "Present only on a 422 produced by local parameter validation, keyed by public parameter name. Only the first unknown parameter is reported. Messages seen in practice: \"Unknown Signals parameter.\", \"Unknown topics value.\", \"organization_ids accepts at most 5 values.\", \"organization_ids contains an invalid identifier.\", \"from is invalid.\", \"from must use YYYY-MM-DD or a timezone-naive ISO datetime with seconds.\", \"to must be the same as or later than from.\", \"cursor is invalid.\", \"cursor does not match these filters.\", \"signal_id is invalid.\".",
                        "additionalProperties": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    "meta": {
                        "$ref": "#/components/schemas/SignalsProblemMeta"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringMeta": {
                "type": "object",
                "required": [
                    "request_credit_cost",
                    "credits_remaining"
                ],
                "properties": {
                    "request_credit_cost": {
                        "type": "integer",
                        "minimum": 0,
                        "description": "Credits charged synchronously by this HTTP request."
                    },
                    "credits_remaining": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "message": {
                        "type": "string"
                    }
                },
                "additionalProperties": true,
                "example": {
                    "request_credit_cost": 0,
                    "credits_remaining": 90
                }
            },
            "MonitoringProblem": {
                "type": "object",
                "required": [
                    "error"
                ],
                "properties": {
                    "error": {
                        "type": "string"
                    },
                    "meta": {
                        "type": "object",
                        "nullable": true,
                        "additionalProperties": true
                    }
                },
                "additionalProperties": true,
                "example": {
                    "error": "not_found",
                    "meta": {
                        "request_credit_cost": 0,
                        "credits_remaining": 90
                    }
                }
            },
            "MonitoringValidationProblem": {
                "type": "object",
                "required": [
                    "message",
                    "errors"
                ],
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "errors": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                },
                "additionalProperties": false
            },
            "MonitoringBillingOutcome": {
                "type": "object",
                "required": [
                    "charged_credits",
                    "new_cycle",
                    "floor_transaction_id"
                ],
                "properties": {
                    "charged_credits": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "new_cycle": {
                        "type": "boolean"
                    },
                    "floor_transaction_id": {
                        "type": "integer",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "MonitoringPricing": {
                "type": "object",
                "required": [
                    "policy_version",
                    "credits_per_run",
                    "cycle_minimum_credits",
                    "included_runs",
                    "cycle_days",
                    "estimated_runs",
                    "estimated_credits"
                ],
                "properties": {
                    "policy_version": {
                        "type": "string",
                        "example": "2026-08.v2"
                    },
                    "credits_per_run": {
                        "type": "integer",
                        "example": 2
                    },
                    "cycle_minimum_credits": {
                        "type": "integer",
                        "example": 10
                    },
                    "included_runs": {
                        "type": "integer",
                        "example": 1
                    },
                    "cycle_days": {
                        "type": "integer",
                        "example": 30
                    },
                    "estimated_runs": {
                        "type": "integer",
                        "minimum": 1
                    },
                    "estimated_credits": {
                        "type": "integer",
                        "minimum": 10
                    }
                },
                "additionalProperties": false
            },
            "MonitoringMonitor": {
                "type": "object",
                "required": [
                    "id",
                    "type",
                    "entity_id",
                    "label",
                    "poll_interval_days",
                    "status",
                    "status_reason",
                    "pricing_policy_version",
                    "baseline_completed_at",
                    "activated_at",
                    "last_succeeded_at",
                    "next_poll_at",
                    "created_at"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "pattern": "^mon_[a-z0-9]{26}$"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "organization.signals"
                        ]
                    },
                    "entity_id": {
                        "type": "string",
                        "maxLength": 128
                    },
                    "label": {
                        "type": "string",
                        "nullable": true,
                        "maxLength": 200
                    },
                    "poll_interval_days": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 30
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "initializing",
                            "active",
                            "paused_user",
                            "paused_configuration",
                            "paused_entitlement",
                            "paused_billing",
                            "error",
                            "archived"
                        ]
                    },
                    "status_reason": {
                        "type": "string",
                        "nullable": true
                    },
                    "pricing_policy_version": {
                        "type": "string",
                        "maxLength": 32
                    },
                    "baseline_completed_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "activated_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "last_succeeded_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "next_poll_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "example": {
                    "id": "mon_01hzy2q6j3g5m8v9x0abcde123",
                    "type": "organization.signals",
                    "entity_id": "org_123456789",
                    "label": "Example GmbH",
                    "poll_interval_days": 7,
                    "status": "initializing",
                    "status_reason": null,
                    "pricing_policy_version": "2026-08.v2",
                    "baseline_completed_at": null,
                    "activated_at": null,
                    "last_succeeded_at": null,
                    "next_poll_at": null,
                    "created_at": "2026-08-02T14:30:00+00:00"
                }
            },
            "MonitoringPricingResponse": {
                "type": "object",
                "required": [
                    "pricing",
                    "entitled",
                    "meta"
                ],
                "properties": {
                    "pricing": {
                        "$ref": "#/components/schemas/MonitoringPricing"
                    },
                    "entitled": {
                        "type": "boolean",
                        "description": "True when the account has at least one accessible Monitoring topic. The five core topics are available even without a paid plan; configured testers also bypass entitlement checks."
                    },
                    "meta": {
                        "$ref": "#/components/schemas/MonitoringMeta"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringMonitorListResponse": {
                "type": "object",
                "required": [
                    "monitors",
                    "total",
                    "meta"
                ],
                "properties": {
                    "monitors": {
                        "type": "array",
                        "maxItems": 100,
                        "items": {
                            "$ref": "#/components/schemas/MonitoringMonitor"
                        }
                    },
                    "total": {
                        "type": "integer",
                        "description": "Returned batch count, not an all-time count."
                    },
                    "meta": {
                        "$ref": "#/components/schemas/MonitoringMeta"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringCreateMonitorRequest": {
                "type": "object",
                "required": [
                    "entity_id",
                    "poll_interval_days",
                    "endpoint_ids"
                ],
                "properties": {
                    "entity_id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^[A-Za-z0-9._~-]+$"
                    },
                    "label": {
                        "type": "string",
                        "nullable": true,
                        "maxLength": 200
                    },
                    "poll_interval_days": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 30
                    },
                    "endpoint_ids": {
                        "type": "array",
                        "minItems": 1,
                        "uniqueItems": true,
                        "items": {
                            "type": "string",
                            "pattern": "^wep_[a-z0-9]{26}$"
                        }
                    }
                },
                "additionalProperties": false,
                "example": {
                    "entity_id": "org_123456789",
                    "label": "Example GmbH",
                    "poll_interval_days": 7,
                    "endpoint_ids": [
                        "wep_01hzy2q6j3g5m8v9x0abcde123"
                    ],
                    "pricing_policy_version": "2026-08.v2"
                }
            },
            "MonitoringCreateMonitorResponse": {
                "type": "object",
                "required": [
                    "monitor",
                    "meta"
                ],
                "properties": {
                    "monitor": {
                        "$ref": "#/components/schemas/MonitoringMonitor"
                    },
                    "meta": {
                        "type": "object",
                        "required": [
                            "message",
                            "baseline_queued",
                            "billing",
                            "request_credit_cost",
                            "credits_remaining"
                        ],
                        "properties": {
                            "message": {
                                "type": "string"
                            },
                            "baseline_queued": {
                                "type": "boolean",
                                "enum": [
                                    true
                                ]
                            },
                            "billing": {
                                "$ref": "#/components/schemas/MonitoringBillingOutcome"
                            },
                            "request_credit_cost": {
                                "type": "integer",
                                "enum": [
                                    0
                                ]
                            },
                            "credits_remaining": {
                                "type": "integer",
                                "minimum": 0
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "additionalProperties": false
            },
            "MonitoringBillingCycle": {
                "type": "object",
                "required": [
                    "starts_at",
                    "ends_at",
                    "floor_credits",
                    "credits_per_run",
                    "included_runs",
                    "successful_runs",
                    "extra_credits_settled",
                    "pricing_policy_version"
                ],
                "properties": {
                    "starts_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "ends_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "floor_credits": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "credits_per_run": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "included_runs": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "successful_runs": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "extra_credits_settled": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "pricing_policy_version": {
                        "type": "string"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringPollRun": {
                "type": "object",
                "required": [
                    "due_slot_at",
                    "kind",
                    "status",
                    "charge_state",
                    "charge_credits",
                    "events_new",
                    "finished_at"
                ],
                "properties": {
                    "due_slot_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "kind": {
                        "type": "string",
                        "enum": [
                            "baseline",
                            "activation_catchup",
                            "scheduled",
                            "outage_catchup"
                        ]
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "scheduled",
                            "running",
                            "succeeded",
                            "failed",
                            "superseded"
                        ]
                    },
                    "charge_state": {
                        "type": "string",
                        "enum": [
                            "pending",
                            "covered",
                            "settled",
                            "void",
                            "unfunded"
                        ],
                        "nullable": true
                    },
                    "charge_credits": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "events_new": {
                        "type": "integer",
                        "minimum": 0,
                        "description": "For a succeeded run, the distinct count of plan-eligible new notifications released by that run; endpoint fanout does not multiply it. A scheduled continuation can show accumulated progress. An unfunded failed run can show candidates that remained undelivered, so this is not an unconditional delivery count."
                    },
                    "finished_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "MonitoringMonitorDetailResponse": {
                "type": "object",
                "required": [
                    "monitor",
                    "billing_cycle",
                    "recent_runs",
                    "meta"
                ],
                "properties": {
                    "monitor": {
                        "$ref": "#/components/schemas/MonitoringMonitor"
                    },
                    "billing_cycle": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MonitoringBillingCycle"
                            }
                        ],
                        "nullable": true
                    },
                    "recent_runs": {
                        "type": "array",
                        "maxItems": 20,
                        "items": {
                            "$ref": "#/components/schemas/MonitoringPollRun"
                        }
                    },
                    "meta": {
                        "$ref": "#/components/schemas/MonitoringMeta"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringUpdateMonitorRequest": {
                "type": "object",
                "required": [
                    "poll_interval_days"
                ],
                "properties": {
                    "poll_interval_days": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 30
                    }
                },
                "additionalProperties": false
            },
            "MonitoringResumeMonitorRequest": {
                "type": "object",
                "properties": [],
                "additionalProperties": false,
                "required": []
            },
            "MonitoringMonitorMutationResponse": {
                "type": "object",
                "required": [
                    "monitor",
                    "meta"
                ],
                "properties": {
                    "monitor": {
                        "$ref": "#/components/schemas/MonitoringMonitor"
                    },
                    "meta": {
                        "$ref": "#/components/schemas/MonitoringMeta"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringResumeResponse": {
                "type": "object",
                "required": [
                    "monitor",
                    "meta"
                ],
                "properties": {
                    "monitor": {
                        "$ref": "#/components/schemas/MonitoringMonitor"
                    },
                    "meta": {
                        "type": "object",
                        "required": [
                            "request_credit_cost",
                            "credits_remaining",
                            "activated",
                            "baseline_queued",
                            "billing"
                        ],
                        "properties": {
                            "request_credit_cost": {
                                "type": "integer",
                                "minimum": 0
                            },
                            "credits_remaining": {
                                "type": "integer",
                                "minimum": 0
                            },
                            "activated": {
                                "type": "boolean"
                            },
                            "baseline_queued": {
                                "type": "boolean"
                            },
                            "billing": {
                                "$ref": "#/components/schemas/MonitoringBillingOutcome"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "additionalProperties": false
            },
            "MonitoringWebhookEndpoint": {
                "type": "object",
                "required": [
                    "id",
                    "name",
                    "url",
                    "status",
                    "verified_at",
                    "header_names",
                    "consecutive_failures",
                    "created_at"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "pattern": "^wep_[a-z0-9]{26}$"
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 120
                    },
                    "url": {
                        "type": "string",
                        "description": "Masked host only, plus /… for a non-root path; stored path/query secrets are never returned."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "pending_verification",
                            "active",
                            "disabled_user",
                            "disabled_failures",
                            "archived"
                        ]
                    },
                    "verified_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "header_names": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "consecutive_failures": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "example": {
                    "id": "wep_01hzy2q6j3g5m8v9x0abcde123",
                    "name": "Production receiver",
                    "url": "hooks.example.com/…",
                    "status": "pending_verification",
                    "verified_at": null,
                    "header_names": [
                        "X-Tenant"
                    ],
                    "consecutive_failures": 0,
                    "created_at": "2026-08-02T14:20:00+00:00"
                }
            },
            "MonitoringEndpointListResponse": {
                "type": "object",
                "required": [
                    "endpoints",
                    "total",
                    "meta"
                ],
                "properties": {
                    "endpoints": {
                        "type": "array",
                        "maxItems": 10,
                        "items": {
                            "$ref": "#/components/schemas/MonitoringWebhookEndpoint"
                        }
                    },
                    "total": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "meta": {
                        "$ref": "#/components/schemas/MonitoringMeta"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringCreateEndpointRequest": {
                "type": "object",
                "required": [
                    "name",
                    "url"
                ],
                "properties": {
                    "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 120
                    },
                    "url": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048,
                        "format": "uri",
                        "description": "HTTPS port 443 and public DNS only. IP literals, userinfo, fragments and any private/special-use DNS answer are rejected."
                    },
                    "headers": {
                        "type": "object",
                        "maxProperties": 10,
                        "additionalProperties": {
                            "type": "string",
                            "maxLength": 1024
                        },
                        "description": "Encrypted, write-only custom headers. Transport, forwarding and webhook-* names are reserved."
                    }
                },
                "additionalProperties": false,
                "example": {
                    "name": "Production receiver",
                    "url": "https://hooks.example.com/handelsregister",
                    "headers": {
                        "X-Tenant": "customer-42"
                    }
                }
            },
            "MonitoringCreateEndpointResponse": {
                "type": "object",
                "required": [
                    "endpoint",
                    "signing_secret",
                    "meta"
                ],
                "properties": {
                    "endpoint": {
                        "$ref": "#/components/schemas/MonitoringWebhookEndpoint"
                    },
                    "signing_secret": {
                        "type": "string",
                        "pattern": "^whsec_",
                        "description": "Shown only here; the same Idempotency-Key can replay it for 24 hours."
                    },
                    "meta": {
                        "$ref": "#/components/schemas/MonitoringMeta"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringEndpointMutationResponse": {
                "type": "object",
                "required": [
                    "endpoint",
                    "meta"
                ],
                "properties": {
                    "endpoint": {
                        "$ref": "#/components/schemas/MonitoringWebhookEndpoint"
                    },
                    "meta": {
                        "$ref": "#/components/schemas/MonitoringMeta"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringRotateSecretResponse": {
                "type": "object",
                "required": [
                    "endpoint",
                    "signing_secret",
                    "meta"
                ],
                "properties": {
                    "endpoint": {
                        "$ref": "#/components/schemas/MonitoringWebhookEndpoint"
                    },
                    "signing_secret": {
                        "type": "string",
                        "pattern": "^whsec_"
                    },
                    "meta": {
                        "$ref": "#/components/schemas/MonitoringMeta"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringVerifyEndpointResponse": {
                "type": "object",
                "required": [
                    "verified",
                    "endpoint",
                    "meta"
                ],
                "properties": {
                    "verified": {
                        "type": "boolean"
                    },
                    "endpoint": {
                        "$ref": "#/components/schemas/MonitoringWebhookEndpoint"
                    },
                    "meta": {
                        "$ref": "#/components/schemas/MonitoringMeta"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringArchiveEndpointResponse": {
                "type": "object",
                "required": [
                    "message",
                    "meta"
                ],
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "meta": {
                        "$ref": "#/components/schemas/MonitoringMeta"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringWebhookDelivery": {
                "type": "object",
                "required": [
                    "id",
                    "message_id",
                    "event_id",
                    "event_type",
                    "endpoint_id",
                    "status",
                    "attempts",
                    "last_status_code",
                    "last_error_category",
                    "next_attempt_at",
                    "succeeded_at",
                    "created_at"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "pattern": "^del_[a-z0-9]{26}$"
                    },
                    "message_id": {
                        "type": "string",
                        "pattern": "^msg_[a-z0-9]{26}$",
                        "nullable": true
                    },
                    "event_id": {
                        "type": "string",
                        "pattern": "^evt_[a-z0-9]{26}$",
                        "nullable": true
                    },
                    "event_type": {
                        "type": "string",
                        "nullable": true
                    },
                    "endpoint_id": {
                        "type": "string",
                        "pattern": "^wep_[a-z0-9]{26}$",
                        "nullable": true
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "withheld",
                            "pending",
                            "in_flight",
                            "retry_wait",
                            "succeeded",
                            "blocked_endpoint",
                            "exhausted",
                            "cancelled"
                        ]
                    },
                    "attempts": {
                        "type": "integer",
                        "minimum": 0,
                        "description": "Current retry-pass count; manual retry resets it, but retained internal attempt numbering remains monotonic."
                    },
                    "last_status_code": {
                        "type": "integer",
                        "nullable": true
                    },
                    "last_error_category": {
                        "type": "string",
                        "nullable": true
                    },
                    "next_attempt_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "succeeded_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "example": {
                    "id": "del_01hzy2q6j3g5m8v9x0abcde123",
                    "message_id": "msg_01hzy2q6j3g5m8v9x0abcde123",
                    "event_id": "evt_01hzy2q6j3g5m8v9x0abcde123",
                    "event_type": "endpoint.test",
                    "endpoint_id": "wep_01hzy2q6j3g5m8v9x0abcde123",
                    "status": "succeeded",
                    "attempts": 1,
                    "last_status_code": 204,
                    "last_error_category": null,
                    "next_attempt_at": null,
                    "succeeded_at": "2026-08-02T14:35:01+00:00",
                    "created_at": "2026-08-02T14:35:00+00:00"
                }
            },
            "MonitoringDeliveryListResponse": {
                "type": "object",
                "required": [
                    "deliveries",
                    "total",
                    "meta"
                ],
                "properties": {
                    "deliveries": {
                        "type": "array",
                        "maxItems": 50,
                        "items": {
                            "$ref": "#/components/schemas/MonitoringWebhookDelivery"
                        }
                    },
                    "total": {
                        "type": "integer",
                        "description": "Returned batch count."
                    },
                    "meta": {
                        "$ref": "#/components/schemas/MonitoringMeta"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringDeliveryResponse": {
                "type": "object",
                "required": [
                    "delivery",
                    "meta"
                ],
                "properties": {
                    "delivery": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MonitoringWebhookDelivery"
                            }
                        ],
                        "nullable": true
                    },
                    "meta": {
                        "$ref": "#/components/schemas/MonitoringMeta"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringWebhookEventSummary": {
                "type": "object",
                "required": [
                    "id",
                    "type",
                    "schema_version",
                    "detected_at",
                    "data_available"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "pattern": "^evt_[a-z0-9]{26}$"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "organization.signal.detected",
                            "organization.signal.sample",
                            "endpoint.test"
                        ]
                    },
                    "schema_version": {
                        "type": "integer",
                        "enum": [
                            1
                        ]
                    },
                    "detected_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "data_available": {
                        "type": "boolean"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringEventListResponse": {
                "type": "object",
                "required": [
                    "events",
                    "total",
                    "meta"
                ],
                "properties": {
                    "events": {
                        "type": "array",
                        "maxItems": 50,
                        "items": {
                            "$ref": "#/components/schemas/MonitoringWebhookEventSummary"
                        }
                    },
                    "total": {
                        "type": "integer",
                        "description": "Returned batch count."
                    },
                    "meta": {
                        "$ref": "#/components/schemas/MonitoringMeta"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringSignalItem": {
                "type": "object",
                "required": [
                    "event",
                    "organization",
                    "source"
                ],
                "properties": {
                    "event": {
                        "type": "object",
                        "description": "Normalized public Signal event fields.",
                        "additionalProperties": true
                    },
                    "organization": {
                        "type": "object",
                        "description": "Normalized organization reference including entity_id.",
                        "additionalProperties": true
                    },
                    "parties": {
                        "type": "object",
                        "additionalProperties": true
                    },
                    "register_entry": {
                        "type": "object",
                        "nullable": true,
                        "additionalProperties": true
                    },
                    "source": {
                        "type": "object",
                        "additionalProperties": true
                    },
                    "details": {
                        "type": "object",
                        "nullable": true,
                        "additionalProperties": true
                    }
                },
                "additionalProperties": false
            },
            "MonitoringSignalWebhookData": {
                "type": "object",
                "required": [
                    "monitor",
                    "signal",
                    "links"
                ],
                "properties": {
                    "monitor": {
                        "type": "object",
                        "required": [
                            "id",
                            "type"
                        ],
                        "properties": {
                            "id": {
                                "type": "string",
                                "pattern": "^mon_[a-z0-9]{26}$"
                            },
                            "type": {
                                "type": "string",
                                "enum": [
                                    "organization.signals"
                                ]
                            }
                        },
                        "additionalProperties": false
                    },
                    "signal": {
                        "$ref": "#/components/schemas/MonitoringSignalItem"
                    },
                    "links": {
                        "type": "object",
                        "required": [
                            "signal"
                        ],
                        "properties": {
                            "signal": {
                                "type": "string",
                                "format": "uri",
                                "description": "Independent Signals detail API link. The webhook does not call or charge it. Following it is a separate authenticated request, costs 20 credits only on success, and can return 401, 402, 403 PLAN_REQUIRED, 404, or upstream errors."
                            }
                        },
                        "additionalProperties": false
                    },
                    "truncated": {
                        "type": "boolean",
                        "nullable": true,
                        "description": "When true, heavy signal details/register_entry were removed to keep the signed body within 20 KiB."
                    }
                },
                "additionalProperties": false
            },
            "MonitoringSignalSampleWebhookData": {
                "type": "object",
                "required": [
                    "monitor",
                    "signal",
                    "links",
                    "sample"
                ],
                "properties": {
                    "monitor": {
                        "type": "object",
                        "required": [
                            "id",
                            "type"
                        ],
                        "properties": {
                            "id": {
                                "type": "string",
                                "pattern": "^mon_[a-z0-9]{26}$"
                            },
                            "type": {
                                "type": "string",
                                "enum": [
                                    "organization.signals"
                                ]
                            }
                        },
                        "additionalProperties": false
                    },
                    "signal": {
                        "$ref": "#/components/schemas/MonitoringSignalItem"
                    },
                    "links": {
                        "type": "object",
                        "required": [
                            "signal"
                        ],
                        "properties": {
                            "signal": {
                                "type": "string",
                                "format": "uri",
                                "description": "Independent Signals detail API link. The sample does not call or charge it. Following it is a separate authenticated request, costs 20 credits only on success, and can return 401, 402, 403 PLAN_REQUIRED, 404, or upstream errors."
                            }
                        },
                        "additionalProperties": false
                    },
                    "sample": {
                        "type": "boolean",
                        "enum": [
                            true
                        ]
                    },
                    "truncated": {
                        "type": "boolean",
                        "nullable": true,
                        "description": "When true, heavy signal details/register_entry were removed to keep the signed body within 20 KiB."
                    }
                },
                "additionalProperties": false
            },
            "MonitoringSignalDetectedWebhook": {
                "type": "object",
                "required": [
                    "id",
                    "event_id",
                    "type",
                    "timestamp",
                    "schema_version",
                    "data"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "pattern": "^msg_[a-z0-9]{26}$"
                    },
                    "event_id": {
                        "type": "string",
                        "pattern": "^evt_[a-z0-9]{26}$"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "organization.signal.detected"
                        ]
                    },
                    "timestamp": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "schema_version": {
                        "type": "integer",
                        "enum": [
                            1
                        ]
                    },
                    "data": {
                        "$ref": "#/components/schemas/MonitoringSignalWebhookData"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringSignalSampleWebhook": {
                "type": "object",
                "required": [
                    "id",
                    "event_id",
                    "type",
                    "timestamp",
                    "schema_version",
                    "data"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "pattern": "^msg_[a-z0-9]{26}$"
                    },
                    "event_id": {
                        "type": "string",
                        "pattern": "^evt_[a-z0-9]{26}$"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "organization.signal.sample"
                        ]
                    },
                    "timestamp": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "schema_version": {
                        "type": "integer",
                        "enum": [
                            1
                        ]
                    },
                    "data": {
                        "$ref": "#/components/schemas/MonitoringSignalSampleWebhookData"
                    }
                },
                "additionalProperties": false
            },
            "MonitoringEndpointTestWebhook": {
                "type": "object",
                "required": [
                    "id",
                    "event_id",
                    "type",
                    "timestamp",
                    "schema_version",
                    "data"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "pattern": "^msg_[a-z0-9]{26}$"
                    },
                    "event_id": {
                        "type": "string",
                        "pattern": "^evt_[a-z0-9]{26}$"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "endpoint.test"
                        ]
                    },
                    "timestamp": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "schema_version": {
                        "type": "integer",
                        "enum": [
                            1
                        ]
                    },
                    "data": {
                        "type": "object",
                        "required": [
                            "message"
                        ],
                        "properties": {
                            "message": {
                                "type": "string"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "additionalProperties": false
            },
            "MonitoringEndpointVerificationWebhook": {
                "type": "object",
                "required": [
                    "id",
                    "type",
                    "timestamp",
                    "schema_version",
                    "data"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "pattern": "^msg_[a-z0-9]{26}$"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "endpoint.verification"
                        ]
                    },
                    "timestamp": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "schema_version": {
                        "type": "integer",
                        "enum": [
                            1
                        ]
                    },
                    "data": {
                        "type": "object",
                        "required": [
                            "challenge"
                        ],
                        "properties": {
                            "challenge": {
                                "type": "string",
                                "pattern": "^[a-f0-9]{32}$"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "additionalProperties": false
            }
        },
        "responses": {
            "SignalsUnauthorized": {
                "description": "No credentials, or credentials that are not valid. Send an `x-api-key` header, an `api_key` query parameter, or an `Authorization: Bearer <token>` header — Bearer tokens need no particular ability for Signals. This problem is produced before the Signals controller runs, so it carries no `X-Request-Id` and `meta.credits_remaining` is null. No credits are charged.",
                "headers": {
                    "Cache-Control": {
                        "$ref": "#/components/headers/SignalsPrivateNoStore"
                    },
                    "X-Credits-Charged": {
                        "$ref": "#/components/headers/SignalsZeroCredits"
                    }
                },
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/SignalsProblem"
                        },
                        "examples": {
                            "unauthorized": {
                                "summary": "Missing or invalid credentials",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/unauthorized",
                                    "title": "Authentication required",
                                    "status": 401,
                                    "code": "UNAUTHORIZED",
                                    "detail": "Provide a valid API key or Bearer token.",
                                    "meta": {
                                        "request_credit_cost": 0,
                                        "credits_remaining": null
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "SignalsPaymentRequired": {
                "description": "The account has fewer than the 20 credits a Signals list or detail call costs (`INSUFFICIENT_CREDITS`, raised before any lookup), or the charge could not be booked after a successful lookup, in which case the fetched data is discarded (`BILLING_FAILED`). Neither occurs on the free catalog endpoint. No credits are charged.",
                "headers": {
                    "Cache-Control": {
                        "$ref": "#/components/headers/SignalsPrivateNoStore"
                    },
                    "X-Credits-Charged": {
                        "$ref": "#/components/headers/SignalsZeroCredits"
                    },
                    "X-Request-Id": {
                        "$ref": "#/components/headers/SignalsRequestId"
                    }
                },
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/SignalsProblem"
                        },
                        "examples": {
                            "insufficient_credits": {
                                "summary": "Balance below 20 credits",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/insufficient-credits",
                                    "title": "Insufficient credits",
                                    "status": 402,
                                    "code": "INSUFFICIENT_CREDITS",
                                    "detail": "This Signals request requires 20 credits.",
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 3
                                    }
                                }
                            },
                            "billing_failed": {
                                "summary": "The charge could not be booked",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/billing-failed",
                                    "title": "Billing failed",
                                    "status": 402,
                                    "code": "BILLING_FAILED",
                                    "detail": "Credits could not be deducted. Refresh your balance and try again.",
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "SignalsForbidden": {
                "description": "Either Signals is not available for this account — an unverified email address or a blocked account, deliberately indistinguishable from each other, reported as `UNAUTHORIZED` before the Signals controller runs (no `X-Request-Id`, `meta.credits_remaining` null) — or the requested topic is above the account's plan (`PLAN_REQUIRED`: `INSOLVENCIES` needs Pro, `TRANSFORMATIONS` needs Max). On the list endpoint `PLAN_REQUIRED` is raised before any lookup; on the detail endpoint it is raised after the lookup, from the resolved topic of the Signal. `EVIDENCE_NOT_AVAILABLE` is reserved and not reachable through the public parameters. No credits are charged.",
                "headers": {
                    "Cache-Control": {
                        "$ref": "#/components/headers/SignalsPrivateNoStore"
                    },
                    "X-Credits-Charged": {
                        "$ref": "#/components/headers/SignalsZeroCredits"
                    },
                    "X-Request-Id": {
                        "$ref": "#/components/headers/SignalsRequestId"
                    }
                },
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/SignalsProblem"
                        },
                        "examples": {
                            "access_denied": {
                                "summary": "Unverified email address or blocked account",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/unauthorized",
                                    "title": "Access denied",
                                    "status": 403,
                                    "code": "UNAUTHORIZED",
                                    "detail": "Signals access is not available for this account.",
                                    "meta": {
                                        "request_credit_cost": 0,
                                        "credits_remaining": null
                                    }
                                }
                            },
                            "plan_required": {
                                "summary": "A requested topic is above the plan",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/plan-required",
                                    "title": "Plan upgrade required",
                                    "status": 403,
                                    "code": "PLAN_REQUIRED",
                                    "detail": "Your current plan does not include the requested topic(s): INSOLVENCIES requires the Pro plan.",
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "SignalsGateNotFound": {
                "description": "Signals is not enabled for this account. While the feature is unreleased all three Signals endpoints answer with this generic 404, deliberately indistinguishable from an unknown route. No credits are charged.",
                "headers": {
                    "Cache-Control": {
                        "$ref": "#/components/headers/SignalsPrivateNoStore"
                    },
                    "X-Credits-Charged": {
                        "$ref": "#/components/headers/SignalsZeroCredits"
                    },
                    "X-Request-Id": {
                        "$ref": "#/components/headers/SignalsRequestId"
                    }
                },
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/SignalsProblem"
                        },
                        "examples": {
                            "not_found": {
                                "summary": "Signals not enabled for this account",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/not-found",
                                    "title": "Not found",
                                    "status": 404,
                                    "code": "NOT_FOUND",
                                    "detail": "The requested resource was not found.",
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "SignalsNotFound": {
                "description": "No readable Signal exists for that identifier — it is unknown to the service, or its subject is withheld (`SIGNAL_NOT_FOUND`) — or Signals is not enabled for this account (`NOT_FOUND`, the same generic answer the other Signals endpoints give while the feature is unreleased). An identifier that does not match the path pattern never reaches Signals at all: it fails route matching and returns a plain `{\"message\": \"...\"}` 404 without the problem body and without the Signals headers. No credits are charged.",
                "headers": {
                    "Cache-Control": {
                        "$ref": "#/components/headers/SignalsPrivateNoStore"
                    },
                    "X-Credits-Charged": {
                        "$ref": "#/components/headers/SignalsZeroCredits"
                    },
                    "X-Request-Id": {
                        "$ref": "#/components/headers/SignalsRequestId"
                    }
                },
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/SignalsProblem"
                        },
                        "examples": {
                            "signal_not_found": {
                                "summary": "Unknown or unreadable Signal id",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/signal-not-found",
                                    "title": "Signal not found",
                                    "status": 404,
                                    "code": "SIGNAL_NOT_FOUND",
                                    "detail": "The requested signal could not be found.",
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            },
                            "not_found": {
                                "summary": "Signals not enabled for this account",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/not-found",
                                    "title": "Not found",
                                    "status": 404,
                                    "code": "NOT_FOUND",
                                    "detail": "The requested resource was not found.",
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "SignalsValidationError": {
                "description": "A parameter, value, date range, identifier, or cursor is invalid. Locally validated problems carry `invalid_params` keyed by the public parameter name; only the first unknown parameter is reported. The catalog's refusal of query parameters and any validation refusal relayed from upstream carry no `invalid_params`. `INVALID_CURSOR` means the cursor must be dropped and the query started again. No credits are charged.",
                "headers": {
                    "Cache-Control": {
                        "$ref": "#/components/headers/SignalsPrivateNoStore"
                    },
                    "X-Credits-Charged": {
                        "$ref": "#/components/headers/SignalsZeroCredits"
                    },
                    "X-Request-Id": {
                        "$ref": "#/components/headers/SignalsRequestId"
                    }
                },
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/SignalsProblem"
                        },
                        "examples": {
                            "unknown_parameter": {
                                "summary": "A parameter outside cursor/topics/organization_ids/from/to",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/invalid-request",
                                    "title": "Invalid request",
                                    "status": 422,
                                    "code": "INVALID_REQUEST",
                                    "detail": "One or more Signals parameters are invalid.",
                                    "invalid_params": {
                                        "limit": [
                                            "Unknown Signals parameter."
                                        ]
                                    },
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            },
                            "unknown_topic": {
                                "summary": "A topic code that is not in the public vocabulary (values are case-sensitive)",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/invalid-request",
                                    "title": "Invalid request",
                                    "status": 422,
                                    "code": "INVALID_REQUEST",
                                    "detail": "One or more Signals parameters are invalid.",
                                    "invalid_params": {
                                        "topics": [
                                            "Unknown topics value."
                                        ]
                                    },
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            },
                            "too_many_organization_ids": {
                                "summary": "More than 5 organization identifiers",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/invalid-request",
                                    "title": "Invalid request",
                                    "status": 422,
                                    "code": "INVALID_REQUEST",
                                    "detail": "One or more Signals parameters are invalid.",
                                    "invalid_params": {
                                        "organization_ids": [
                                            "organization_ids accepts at most 5 values."
                                        ]
                                    },
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            },
                            "invalid_date": {
                                "summary": "A date with a timezone designator, for example 2026-01-01T00:00:00Z",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/invalid-request",
                                    "title": "Invalid request",
                                    "status": 422,
                                    "code": "INVALID_REQUEST",
                                    "detail": "One or more Signals parameters are invalid.",
                                    "invalid_params": {
                                        "from": [
                                            "from must use YYYY-MM-DD or a timezone-naive ISO datetime with seconds."
                                        ]
                                    },
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            },
                            "inverted_range": {
                                "summary": "to earlier than from",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/invalid-request",
                                    "title": "Invalid request",
                                    "status": 422,
                                    "code": "INVALID_REQUEST",
                                    "detail": "One or more Signals parameters are invalid.",
                                    "invalid_params": {
                                        "to": [
                                            "to must be the same as or later than from."
                                        ]
                                    },
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            },
                            "cursor_filter_mismatch": {
                                "summary": "A cursor replayed against a different query",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/invalid-request",
                                    "title": "Invalid request",
                                    "status": 422,
                                    "code": "INVALID_REQUEST",
                                    "detail": "One or more Signals parameters are invalid.",
                                    "invalid_params": {
                                        "cursor": [
                                            "cursor does not match these filters."
                                        ]
                                    },
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            },
                            "catalog_query_parameters": {
                                "summary": "Any query parameter sent to /v1/signals/catalog — no invalid_params member",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/invalid-request",
                                    "title": "Invalid request",
                                    "status": 422,
                                    "code": "INVALID_REQUEST",
                                    "detail": "The catalog endpoint does not accept query parameters.",
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            },
                            "invalid_signal_id": {
                                "summary": "An identifier that matches the route pattern but fails validation",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/invalid-request",
                                    "title": "Invalid request",
                                    "status": 422,
                                    "code": "INVALID_REQUEST",
                                    "detail": "One or more Signals parameters are invalid.",
                                    "invalid_params": {
                                        "signal_id": [
                                            "signal_id is invalid."
                                        ]
                                    },
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            },
                            "invalid_cursor": {
                                "summary": "The cursor was rejected upstream — no invalid_params member",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/invalid-cursor",
                                    "title": "Invalid cursor",
                                    "status": 422,
                                    "code": "INVALID_CURSOR",
                                    "detail": "The cursor is invalid for this request. Start again without a cursor.",
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "SignalsTooManyRequests": {
                "description": "Rate limit exceeded: 60 requests per minute for an authenticated account, in a bucket shared with `/v1/get-organization`, `/v1/search-organizations` and `/v1/fetch-document`. The rate limiter answers outside the Signals pipeline, so — unlike every other Signals failure — this response is NOT a `application/problem+json` document: it carries no `type`, `title`, `code`, `detail` or `meta`, no `X-Credits-Charged` and no `X-Request-Id`, and its `Cache-Control` is the framework default rather than the Signals no-store value. Without an `Accept: application/json` request header the framework may render an HTML error page instead. No credits are charged.",
                "headers": {
                    "Cache-Control": {
                        "description": "Framework default `no-cache, private`, not the `private, no-store, max-age=0` of Signals responses.",
                        "schema": {
                            "type": "string",
                            "example": "no-cache, private"
                        }
                    },
                    "Retry-After": {
                        "description": "Whole seconds until the limit resets.",
                        "schema": {
                            "type": "integer",
                            "example": 16
                        }
                    },
                    "X-Ratelimit-Limit": {
                        "description": "Requests allowed per minute in the shared bucket.",
                        "schema": {
                            "type": "integer",
                            "example": 60
                        }
                    },
                    "X-Ratelimit-Remaining": {
                        "description": "Requests left in the current window.",
                        "schema": {
                            "type": "integer",
                            "example": 0
                        }
                    },
                    "X-Ratelimit-Reset": {
                        "description": "Unix timestamp at which the window resets.",
                        "schema": {
                            "type": "integer",
                            "example": 1785911508
                        }
                    }
                },
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string"
                                },
                                "error": {
                                    "type": "string"
                                }
                            }
                        },
                        "examples": {
                            "throttled": {
                                "summary": "Framework throttle response",
                                "value": {
                                    "message": "Too Many Attempts."
                                }
                            },
                            "throttled_production": {
                                "summary": "The same throttle response behind the production error renderer",
                                "value": {
                                    "message": "An error occurred while processing your request.",
                                    "error": "Server Error"
                                }
                            }
                        }
                    }
                }
            },
            "SignalsUnavailable": {
                "description": "Signals is temporarily unavailable — any upstream failure that is not a validation, cursor, or not-found condition ends here, including upstream authentication, rate-limit, transport, and 5xx failures. `CURSOR_NOT_CONFIGURED` upstream reports the same status with the detail \"Cursor pagination is temporarily unavailable.\" Retry the request; no credits are charged.",
                "headers": {
                    "Cache-Control": {
                        "$ref": "#/components/headers/SignalsPrivateNoStore"
                    },
                    "X-Credits-Charged": {
                        "$ref": "#/components/headers/SignalsZeroCredits"
                    },
                    "X-Request-Id": {
                        "$ref": "#/components/headers/SignalsRequestId"
                    },
                    "Retry-After": {
                        "$ref": "#/components/headers/SignalsRetryAfter"
                    }
                },
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/SignalsProblem"
                        },
                        "examples": {
                            "unavailable": {
                                "summary": "Upstream Signals failure",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/signals-unavailable",
                                    "title": "Signals unavailable",
                                    "status": 503,
                                    "code": "SIGNALS_UNAVAILABLE",
                                    "detail": "Signals are temporarily unavailable. Please try again.",
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            },
                            "cursor_unavailable": {
                                "summary": "Cursor pagination temporarily unavailable",
                                "value": {
                                    "type": "https://handelsregister.ai/problems/signals-unavailable",
                                    "title": "Signals unavailable",
                                    "status": 503,
                                    "code": "SIGNALS_UNAVAILABLE",
                                    "detail": "Cursor pagination is temporarily unavailable.",
                                    "meta": {
                                        "request_id": "req_01k1n8d0e2m6r7t9v0w1x2y3z4",
                                        "request_credit_cost": 0,
                                        "credits_remaining": 940
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "BadRequest": {
                "description": "Invalid parameters.",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "string"
                                },
                                "meta": {
                                    "$ref": "#/components/schemas/Meta"
                                }
                            }
                        }
                    }
                }
            },
            "Unauthorized": {
                "description": "Missing or invalid authentication.",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "PaymentRequired": {
                "description": "Insufficient credits.",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "meta": {
                                    "$ref": "#/components/schemas/Meta"
                                }
                            }
                        }
                    }
                }
            },
            "Forbidden": {
                "description": "Missing subscription (fetch-person), unverified email, or blocked account.",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "string"
                                },
                                "meta": {
                                    "$ref": "#/components/schemas/Meta"
                                }
                            }
                        }
                    }
                }
            },
            "NotFound": {
                "description": "No company matches the query. No credits are charged.",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "detail": {
                                    "type": "array",
                                    "items": {
                                        "type": "object"
                                    }
                                },
                                "meta": {
                                    "$ref": "#/components/schemas/Meta"
                                }
                            }
                        }
                    }
                }
            },
            "TooManyRequests": {
                "description": "Rate limit exceeded (most endpoints 60/min, fetch-document 5/min)."
            },
            "MonitoringUnauthorized": {
                "description": "Missing or invalid x-api-key/Bearer authentication.",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/MonitoringProblem"
                        },
                        "example": {
                            "error": "Unauthorized: Missing or invalid authentication."
                        }
                    }
                }
            },
            "MonitoringForbidden": {
                "description": "Account/plan or literal Bearer ability is insufficient.",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/MonitoringProblem"
                        },
                        "example": {
                            "error": "forbidden",
                            "meta": {
                                "request_credit_cost": 0,
                                "credits_remaining": 90
                            }
                        }
                    }
                }
            },
            "MonitoringNotFound": {
                "description": "Missing or cross-tenant resource.",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/MonitoringProblem"
                        },
                        "example": {
                            "error": "not_found",
                            "meta": {
                                "request_credit_cost": 0,
                                "credits_remaining": 90
                            }
                        }
                    }
                }
            },
            "MonitoringBadRequest": {
                "description": "Invalid idempotency key or webhook request/policy.",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/MonitoringProblem"
                        },
                        "example": {
                            "error": "invalid_request",
                            "meta": {
                                "request_credit_cost": 0,
                                "credits_remaining": 90
                            }
                        }
                    }
                }
            },
            "MonitoringConflict": {
                "description": "Domain or idempotency conflict/in-progress/expired state. For verify/test, processing ambiguity requires support because receiver-side effects cannot be proven; do not automatically retry.",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/MonitoringProblem"
                        },
                        "example": {
                            "error": "idempotency_conflict",
                            "meta": {
                                "request_credit_cost": 0,
                                "credits_remaining": 90
                            }
                        }
                    }
                }
            },
            "MonitoringValidation": {
                "description": "Laravel structural validation or Monitoring domain validation.",
                "content": {
                    "application/json": {
                        "schema": {
                            "oneOf": [
                                {
                                    "$ref": "#/components/schemas/MonitoringValidationProblem"
                                },
                                {
                                    "$ref": "#/components/schemas/MonitoringProblem"
                                }
                            ]
                        }
                    }
                }
            },
            "MonitoringIdempotencyRequired": {
                "description": "Idempotency-Key is required.",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/MonitoringProblem"
                        },
                        "example": {
                            "error": "idempotency_key_required",
                            "meta": {
                                "request_credit_cost": 0,
                                "credits_remaining": 90
                            }
                        }
                    }
                }
            },
            "MonitoringRateLimited": {
                "description": "Shared account limit (normally 30/min) or operation-specific 10/min or 6/min exceeded."
            },
            "MonitoringExecutionUnavailable": {
                "description": "Execution kill switch is off; no work/debit/network send starts.",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/MonitoringProblem"
                        },
                        "example": {
                            "error": "temporarily_unavailable",
                            "meta": {
                                "request_credit_cost": 0,
                                "credits_remaining": 90
                            }
                        }
                    }
                }
            }
        }
    },
    "tags": [
        {
            "name": "Monitoring",
            "description": "Monitor lifecycle, pricing, run and billing state."
        },
        {
            "name": "Monitoring Webhooks",
            "description": "Signed endpoint configuration and delivery/event history."
        }
    ],
    "x-webhooks": {
        "organization.signal.detected": {
            "post": {
                "summary": "New monitored Signal",
                "description": "At-least-once. Same webhook-id and exact body on automatic retry; timestamp/signature change. No cross-event ordering guarantee. data.sample is never present. Heavy details/register_entry may be removed with data.truncated=true.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringWebhookId"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringWebhookTimestamp"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringWebhookSignature"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MonitoringSignalDetectedWebhook"
                            }
                        }
                    }
                },
                "responses": {
                    "2XX": {
                        "description": "Any 2xx acknowledges delivery."
                    }
                }
            }
        },
        "organization.signal.sample": {
            "post": {
                "summary": "Historical sample",
                "description": "UI-only, signed sample with a distinct type and required data.sample=true. Discovery is a bounded scan of at most the last 48 months, returns at most 10 current-plan items, can be partial, and is not exhaustive. Sending is free and rechecks the current plan.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringWebhookId"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringWebhookTimestamp"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringWebhookSignature"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MonitoringSignalSampleWebhook"
                            }
                        }
                    }
                },
                "responses": {
                    "2XX": {
                        "description": "Any 2xx acknowledges delivery."
                    }
                }
            }
        },
        "endpoint.test": {
            "post": {
                "summary": "Signed endpoint test",
                "description": "Sent by the endpoint test API.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringWebhookId"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringWebhookTimestamp"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringWebhookSignature"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MonitoringEndpointTestWebhook"
                            }
                        }
                    }
                },
                "responses": {
                    "2XX": {
                        "description": "Any 2xx acknowledges delivery."
                    }
                }
            }
        },
        "endpoint.verification": {
            "post": {
                "summary": "Proof-of-control challenge",
                "description": "Echo data.challenge exactly in webhook-verification.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/MonitoringWebhookId"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringWebhookTimestamp"
                    },
                    {
                        "$ref": "#/components/parameters/MonitoringWebhookSignature"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MonitoringEndpointVerificationWebhook"
                            }
                        }
                    }
                },
                "responses": {
                    "2XX": {
                        "description": "Return any 2xx and echo the exact challenge.",
                        "headers": {
                            "webhook-verification": {
                                "description": "Exact data.challenge value.",
                                "required": true,
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}