{
  "components": {
    "headers": {
      "Retry-After": {
        "description": "Seconds to wait before retrying. Sent on both 429 variants: the per-minute window for rate_limited, or the seconds until the monthly reset for quota_exhausted.",
        "schema": {
          "type": "string"
        }
      },
      "X-Synorb-Available": {
        "description": "Synorb quota metadata header: X-Synorb-Available.",
        "schema": {
          "type": "string"
        }
      },
      "X-Synorb-Period": {
        "description": "Synorb quota metadata header: X-Synorb-Period.",
        "schema": {
          "type": "string"
        }
      },
      "X-Synorb-Quota-Limit": {
        "description": "Synorb quota metadata header: X-Synorb-Quota-Limit.",
        "schema": {
          "type": "string"
        }
      },
      "X-Synorb-Quota-Remaining": {
        "description": "Synorb quota metadata header: X-Synorb-Quota-Remaining.",
        "schema": {
          "type": "string"
        }
      },
      "X-Synorb-Quota-Reset-Date": {
        "description": "Synorb quota metadata header: X-Synorb-Quota-Reset-Date.",
        "schema": {
          "type": "string"
        }
      },
      "X-Synorb-Quota-Reset-Days": {
        "description": "Synorb quota metadata header: X-Synorb-Quota-Reset-Days.",
        "schema": {
          "type": "string"
        }
      },
      "X-Synorb-Quota-Used": {
        "description": "Synorb quota metadata header: X-Synorb-Quota-Used.",
        "schema": {
          "type": "string"
        }
      }
    },
    "responses": {
      "IdempotencyConflict": {
        "content": {
          "application/json": {
            "examples": {
              "idempotency_conflict": {
                "value": {
                  "detail": {
                    "error_code": "idempotency_conflict",
                    "message": "Idempotency-Key has already been used with a different request payload."
                  }
                }
              }
            },
            "schema": {
              "properties": {
                "detail": {
                  "$ref": "#/components/schemas/IdempotencyConflictDetail"
                }
              },
              "required": [
                "detail"
              ],
              "type": "object"
            }
          }
        },
        "description": "Idempotency-Key was reused with a different request payload. Generate a fresh key for a genuinely new request."
      },
      "RateLimitedOrQuotaExhausted": {
        "content": {
          "application/json": {
            "examples": {
              "quota_exhausted": {
                "summary": "Monthly Manifest quota exhausted \u2014 do not retry before reset",
                "value": {
                  "detail": {
                    "error_code": "quota_exhausted",
                    "message": "Monthly Manifest quota completed. Used 1000/1000 manifests.",
                    "quota_resets_on": "2026-08-01"
                  }
                }
              },
              "rate_limited": {
                "summary": "Per-minute rate limit \u2014 retry after Retry-After seconds",
                "value": {
                  "detail": {
                    "error_code": "rate_limited",
                    "message": "Rate limit exceeded. 60 requests/minute for your plan.",
                    "retry_after_seconds": 60
                  }
                }
              }
            },
            "schema": {
              "properties": {
                "detail": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/RateLimitedDetail"
                    },
                    {
                      "$ref": "#/components/schemas/QuotaExhaustedDetail"
                    }
                  ]
                }
              },
              "required": [
                "detail"
              ],
              "type": "object"
            }
          }
        },
        "description": "Two distinct 429 causes \u2014 branch on detail.error_code. rate_limited: per-minute limit; wait Retry-After seconds and retry. quota_exhausted: monthly Manifest quota done; do not retry before detail.quota_resets_on.",
        "headers": {
          "Retry-After": {
            "$ref": "#/components/headers/Retry-After"
          }
        }
      }
    },
    "schemas": {
      "BeaconListEnvelope": {
        "description": "Beacon list endpoints keep their existing top-level list envelope.",
        "properties": {
          "items": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array"
          },
          "limit": {
            "minimum": 0,
            "type": "integer"
          },
          "offset": {
            "minimum": 0,
            "type": "integer"
          },
          "total": {
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total",
          "limit",
          "offset"
        ],
        "type": "object"
      },
      "Brief": {
        "additionalProperties": true,
        "properties": {
          "body": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BriefBody"
              },
              {
                "description": "Plan-gating message on plans without Brief access.",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "body"
        ],
        "type": "object"
      },
      "BriefBody": {
        "additionalProperties": true,
        "description": "Stable Brief body returned by REST Manifest and Digest surfaces. Additional editorial fields are additive.",
        "properties": {
          "actionable_takeaways": {
            "items": {},
            "type": "array"
          },
          "cross_promotion": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "cultural_relevance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "guest_details": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array"
          },
          "key_insights": {
            "items": {},
            "type": "array"
          },
          "key_points": {
            "items": {},
            "type": "array"
          },
          "notable_quotes": {
            "items": {},
            "type": "array"
          }
        },
        "required": [
          "key_insights",
          "key_points",
          "notable_quotes",
          "actionable_takeaways",
          "guest_details",
          "cross_promotion",
          "cultural_relevance"
        ],
        "type": "object"
      },
      "BriefListData": {
        "additionalProperties": true,
        "properties": {
          "briefs": {
            "items": {
              "$ref": "#/components/schemas/Brief"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "briefs",
          "pagination"
        ],
        "type": "object"
      },
      "BriefListEnvelope": {
        "additionalProperties": true,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/BriefListData"
          },
          "usage": {
            "$ref": "#/components/schemas/Usage"
          }
        },
        "required": [
          "data",
          "usage"
        ],
        "type": "object"
      },
      "ClientBrief": {
        "additionalProperties": true,
        "properties": {
          "body": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ClientBriefBody"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body"
          }
        },
        "required": [
          "body"
        ],
        "title": "ClientBrief",
        "type": "object"
      },
      "ClientBriefBody": {
        "additionalProperties": true,
        "properties": {
          "actionable_takeaways": {
            "items": {},
            "title": "Actionable Takeaways",
            "type": "array"
          },
          "cross_promotion": {
            "items": {
              "type": "string"
            },
            "title": "Cross Promotion",
            "type": "array"
          },
          "cultural_relevance": {
            "title": "Cultural Relevance"
          },
          "guest_details": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Guest Details",
            "type": "array"
          },
          "key_insights": {
            "items": {},
            "title": "Key Insights",
            "type": "array"
          },
          "key_points": {
            "items": {},
            "title": "Key Points",
            "type": "array"
          },
          "notable_quotes": {
            "items": {},
            "title": "Notable Quotes",
            "type": "array"
          }
        },
        "required": [
          "key_insights",
          "key_points",
          "notable_quotes",
          "actionable_takeaways",
          "guest_details",
          "cross_promotion",
          "cultural_relevance"
        ],
        "title": "ClientBriefBody",
        "type": "object"
      },
      "ClientManifest": {
        "additionalProperties": true,
        "properties": {
          "brief": {
            "$ref": "#/components/schemas/ClientBrief"
          }
        },
        "required": [
          "brief"
        ],
        "title": "ClientManifest",
        "type": "object"
      },
      "ErrorDetail": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "additionalProperties": true,
            "properties": {
              "error_code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "quota_resets_on": {
                "format": "date",
                "type": "string"
              },
              "retry_after_seconds": {
                "minimum": 0,
                "type": "integer"
              }
            },
            "type": "object"
          }
        ],
        "description": "FastAPI error detail. Existing responses may be a string or a structured object."
      },
      "ErrorResponse": {
        "properties": {
          "detail": {
            "$ref": "#/components/schemas/ErrorDetail"
          }
        },
        "required": [
          "detail"
        ],
        "type": "object"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
          }
        },
        "title": "HTTPValidationError",
        "type": "object"
      },
      "IdempotencyConflictDetail": {
        "description": "409 body when an Idempotency-Key is reused with a different request payload.",
        "properties": {
          "error_code": {
            "const": "idempotency_conflict"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "error_code",
          "message"
        ],
        "type": "object"
      },
      "Manifest": {
        "additionalProperties": true,
        "description": "Customer Manifest. Signal, Brief, and Record fields remain additive by plan.",
        "properties": {
          "brief": {
            "$ref": "#/components/schemas/Brief"
          }
        },
        "required": [
          "brief"
        ],
        "type": "object"
      },
      "ManifestDetailData": {
        "additionalProperties": true,
        "properties": {
          "manifest": {
            "$ref": "#/components/schemas/Manifest"
          }
        },
        "required": [
          "manifest"
        ],
        "type": "object"
      },
      "ManifestDetailEnvelope": {
        "additionalProperties": true,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ManifestDetailData"
          },
          "usage": {
            "$ref": "#/components/schemas/Usage"
          }
        },
        "required": [
          "data",
          "usage"
        ],
        "type": "object"
      },
      "ManifestListData": {
        "additionalProperties": true,
        "properties": {
          "manifests": {
            "items": {
              "$ref": "#/components/schemas/Manifest"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "manifests",
          "pagination"
        ],
        "type": "object"
      },
      "ManifestListEnvelope": {
        "additionalProperties": true,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ManifestListData"
          },
          "usage": {
            "$ref": "#/components/schemas/Usage"
          }
        },
        "required": [
          "data",
          "usage"
        ],
        "type": "object"
      },
      "ManifestQueryCoverage": {
        "additionalProperties": true,
        "properties": {
          "authoritative": {
            "title": "Authoritative",
            "type": "boolean"
          },
          "covered_facets": {
            "items": {
              "type": "string"
            },
            "title": "Covered Facets",
            "type": "array"
          },
          "generation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Generation"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "status": {
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "status",
          "authoritative"
        ],
        "title": "ManifestQueryCoverage",
        "type": "object"
      },
      "ManifestQueryData": {
        "additionalProperties": true,
        "properties": {
          "cache_admission": {
            "additionalProperties": true,
            "title": "Cache Admission",
            "type": "object"
          },
          "coverage": {
            "$ref": "#/components/schemas/ManifestQueryCoverage"
          },
          "diagnostics": {
            "additionalProperties": true,
            "title": "Diagnostics",
            "type": "object"
          },
          "does_not_consume_quota": {
            "title": "Does Not Consume Quota",
            "type": "boolean"
          },
          "manifests": {
            "items": {
              "$ref": "#/components/schemas/ClientManifest"
            },
            "title": "Manifests",
            "type": "array"
          },
          "pagination": {
            "additionalProperties": true,
            "title": "Pagination",
            "type": "object"
          },
          "quota": {
            "$ref": "#/components/schemas/ManifestQueryQuota"
          },
          "quota_charged": {
            "title": "Quota Charged",
            "type": "boolean"
          }
        },
        "required": [
          "manifests",
          "pagination",
          "coverage",
          "quota_charged",
          "quota",
          "does_not_consume_quota",
          "cache_admission",
          "diagnostics"
        ],
        "title": "ManifestQueryData",
        "type": "object"
      },
      "ManifestQueryQuota": {
        "properties": {
          "manifests_billed_this_call": {
            "minimum": 0.0,
            "title": "Manifests Billed This Call",
            "type": "integer"
          }
        },
        "required": [
          "manifests_billed_this_call"
        ],
        "title": "ManifestQueryQuota",
        "type": "object"
      },
      "ManifestQueryRequest": {
        "additionalProperties": false,
        "description": "Published REST analogue of the canonical synorb-manifests contract.",
        "properties": {
          "auto_plan": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Auto Plan"
          },
          "beacon_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Beacon Id"
          },
          "broaden_sources": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Broaden Sources"
          },
          "compact": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Compact"
          },
          "cross_domain_logic": {
            "anyOf": [
              {
                "enum": [
                  "and",
                  "or"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cross Domain Logic"
          },
          "cross_domains": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cross Domains"
          },
          "days": {
            "anyOf": [
              {
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Days"
          },
          "evidence_type": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Evidence Type"
          },
          "exclude_home_domains": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exclude Home Domains"
          },
          "exclude_query_terms": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exclude Query Terms"
          },
          "exclude_source_channel_ids": {
            "anyOf": [
              {
                "items": {
                  "pattern": "^\\d{17}$",
                  "type": "string"
                },
                "type": "array"
              },
              {
                "pattern": "^\\d{17}$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exclude Source Channel Ids"
          },
          "exclude_tag_ids": {
            "anyOf": [
              {
                "items": {
                  "pattern": "^\\d{17}$",
                  "type": "string"
                },
                "type": "array"
              },
              {
                "pattern": "^\\d{17}$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exclude Tag Ids"
          },
          "exclude_tag_names": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exclude Tag Names"
          },
          "home_domains": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Home Domains"
          },
          "isin": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Isin"
          },
          "lookback_hours": {
            "anyOf": [
              {
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lookback Hours"
          },
          "markdown_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Markdown Version"
          },
          "media_format": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Media Format"
          },
          "mode": {
            "anyOf": [
              {
                "enum": [
                  "default",
                  "count",
                  "orient"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mode"
          },
          "page": {
            "anyOf": [
              {
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Page"
          },
          "page_size": {
            "anyOf": [
              {
                "maximum": 200.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Page Size"
          },
          "published_date_from": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Published Date From"
          },
          "published_date_to": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Published Date To"
          },
          "query": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Query"
          },
          "sec_cik": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sec Cik"
          },
          "sec_exhibit_type": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sec Exhibit Type"
          },
          "sec_form_type": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sec Form Type"
          },
          "sec_form_variant": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sec Form Variant"
          },
          "sec_item_code": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sec Item Code"
          },
          "sec_item_subsection": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sec Item Subsection"
          },
          "sec_ticker": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sec Ticker"
          },
          "session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Id"
          },
          "significance": {
            "anyOf": [
              {
                "items": {
                  "enum": [
                    "high",
                    "medium",
                    "low"
                  ],
                  "type": "string"
                },
                "type": "array"
              },
              {
                "enum": [
                  "high",
                  "medium",
                  "low"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Significance"
          },
          "source_channel_ids": {
            "anyOf": [
              {
                "items": {
                  "pattern": "^\\d{17}$",
                  "type": "string"
                },
                "type": "array"
              },
              {
                "pattern": "^\\d{17}$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source Channel Ids"
          },
          "source_channel_names": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source Channel Names"
          },
          "source_class": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source Class"
          },
          "stream_id": {
            "anyOf": [
              {
                "pattern": "^\\d{17}$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Stream Id"
          },
          "stream_ids": {
            "anyOf": [
              {
                "items": {
                  "pattern": "^\\d{17}$",
                  "type": "string"
                },
                "type": "array"
              },
              {
                "pattern": "^\\d{17}$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Stream Ids"
          },
          "subtype": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Subtype"
          },
          "tag_ids": {
            "anyOf": [
              {
                "items": {
                  "pattern": "^\\d{17}$",
                  "type": "string"
                },
                "type": "array"
              },
              {
                "pattern": "^\\d{17}$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tag Ids"
          },
          "tag_logic": {
            "anyOf": [
              {
                "enum": [
                  "and",
                  "or"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tag Logic"
          },
          "tag_names": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tag Names"
          },
          "tag_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tag Type"
          },
          "target_count": {
            "anyOf": [
              {
                "maximum": 200.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Count"
          },
          "ticker": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ticker"
          },
          "timeout_ms": {
            "anyOf": [
              {
                "maximum": 15000.0,
                "minimum": 100.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Timeout Ms"
          },
          "verbosity": {
            "anyOf": [
              {
                "enum": [
                  "minimal",
                  "standard",
                  "verbose"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Verbosity"
          }
        },
        "title": "ManifestQueryRequest",
        "type": "object"
      },
      "ManifestQueryResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ManifestQueryData"
          },
          "usage": {
            "$ref": "#/components/schemas/ManifestQueryUsage"
          }
        },
        "required": [
          "data",
          "usage"
        ],
        "title": "ManifestQueryResponse",
        "type": "object"
      },
      "ManifestQueryUsage": {
        "properties": {
          "available": {
            "title": "Available",
            "type": "string"
          },
          "days_to_reset": {
            "title": "Days To Reset",
            "type": "integer"
          },
          "items_in_response": {
            "title": "Items In Response",
            "type": "integer"
          },
          "period": {
            "title": "Period",
            "type": "string"
          },
          "quota_limit": {
            "title": "Quota Limit",
            "type": "integer"
          },
          "quota_remaining": {
            "title": "Quota Remaining",
            "type": "integer"
          },
          "quota_used": {
            "title": "Quota Used",
            "type": "integer"
          },
          "reset_date": {
            "title": "Reset Date",
            "type": "string"
          },
          "upgrade_url": {
            "title": "Upgrade Url",
            "type": "string"
          }
        },
        "required": [
          "quota_limit",
          "quota_used",
          "quota_remaining",
          "period",
          "reset_date",
          "days_to_reset",
          "available",
          "items_in_response",
          "upgrade_url"
        ],
        "title": "ManifestQueryUsage",
        "type": "object"
      },
      "Pagination": {
        "description": "Stable pagination object returned inside data for paginated REST resources.",
        "properties": {
          "next": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "page_num": {
            "minimum": 0,
            "type": "integer"
          },
          "page_size": {
            "minimum": 0,
            "type": "integer"
          },
          "prev": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "total_count": {
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "total_count",
          "page_num",
          "page_size",
          "next",
          "prev"
        ],
        "type": "object"
      },
      "QuotaExhaustedDetail": {
        "description": "429 body for monthly Manifest quota exhaustion. Retrying will not help before quota_resets_on; upgrade or wait. Never retry-loop on this error_code.",
        "properties": {
          "error_code": {
            "const": "quota_exhausted"
          },
          "message": {
            "type": "string"
          },
          "quota_resets_on": {
            "format": "date",
            "type": "string"
          }
        },
        "required": [
          "error_code",
          "message",
          "quota_resets_on"
        ],
        "type": "object"
      },
      "RateLimitedDetail": {
        "description": "429 body for the per-minute rate limit. Wait Retry-After seconds and retry the same request.",
        "properties": {
          "error_code": {
            "const": "rate_limited"
          },
          "message": {
            "type": "string"
          },
          "retry_after_seconds": {
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "error_code",
          "message",
          "retry_after_seconds"
        ],
        "type": "object"
      },
      "ResponseEnvelope": {
        "description": "Stable authenticated response envelope. The data object contains the endpoint payload.",
        "properties": {
          "data": {
            "additionalProperties": true,
            "type": "object"
          },
          "usage": {
            "$ref": "#/components/schemas/Usage"
          }
        },
        "required": [
          "data",
          "usage"
        ],
        "type": "object"
      },
      "Usage": {
        "description": "Quota and access metadata returned as the usage block on authenticated REST responses.",
        "properties": {
          "available": {
            "example": "signal, brief",
            "type": "string"
          },
          "days_to_reset": {
            "minimum": 0,
            "type": "integer"
          },
          "items_in_response": {
            "minimum": 0,
            "type": "integer"
          },
          "period": {
            "example": "2026-07",
            "type": "string"
          },
          "quota_limit": {
            "minimum": 0,
            "type": "integer"
          },
          "quota_remaining": {
            "minimum": 0,
            "type": "integer"
          },
          "quota_used": {
            "minimum": 0,
            "type": "integer"
          },
          "reset_date": {
            "format": "date",
            "type": "string"
          },
          "upgrade_url": {
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "quota_limit",
          "quota_used",
          "quota_remaining",
          "period",
          "reset_date",
          "days_to_reset",
          "available",
          "items_in_response",
          "upgrade_url"
        ],
        "type": "object"
      },
      "ValidationError": {
        "properties": {
          "ctx": {
            "title": "Context",
            "type": "object"
          },
          "input": {
            "title": "Input"
          },
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "title": "Location",
            "type": "array"
          },
          "msg": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "title": "Error Type",
            "type": "string"
          }
        },
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError",
        "type": "object"
      }
    },
    "securitySchemes": {
      "AccessTokenHeader": {
        "in": "header",
        "name": "x-access-token",
        "type": "apiKey"
      },
      "ApiKeyHeader": {
        "in": "header",
        "name": "api-key",
        "type": "apiKey"
      },
      "ApiSecretHeader": {
        "in": "header",
        "name": "secret",
        "type": "apiKey"
      }
    }
  },
  "info": {
    "description": "Generated from the live FastAPI route table and filtered to customer-facing REST tags. Dashboard, playground, internal, pipeline, and recrawl routes are intentionally excluded.\n\nCompatibility: the REST contract is unversioned-stable. Synorb may add fields or endpoints at any time. Breaking changes require Deprecation and Sunset response headers with at least 90 days notice and a changelog entry. Existing api-key/secret headers, x-access-token compatibility, the data/usage envelope, pagination fields, quota headers, stories_* aliases, page_num alias, /api content aliases, /v3/beacons shapes, and optional Idempotency-Key write retries remain supported.\n\nSearch and trending discovery endpoints require API key/secret headers or x-access-token.",
    "title": "Synorb Customer REST API",
    "version": "3.0.0"
  },
  "openapi": "3.1.0",
  "paths": {
    "/account": {
      "get": {
        "description": "Org info + usage \u2014 cached 60s per org.",
        "operationId": "api_get_account_account_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Account",
        "tags": [
          "account"
        ]
      }
    },
    "/backfill/grants": {
      "get": {
        "description": "Backfill grants \u2014 cached 300s per org.\n\nS3/backfill is available to all plans. Grants are created via\npayment (per stream, per years of backfill).",
        "operationId": "api_backfill_grants_backfill_grants_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Backfill Grants",
        "tags": [
          "backfill"
        ]
      }
    },
    "/backfill/{grant_id}/download": {
      "post": {
        "description": "Generate a presigned S3 download URL for a backfill grant.\n\nS3/backfill is available to all plans. Access is gated by the grant\nsystem \u2014 grants are created via payment (per stream, per years of backfill).",
        "operationId": "api_backfill_download_backfill__grant_id__download_post",
        "parameters": [
          {
            "in": "path",
            "name": "grant_id",
            "required": true,
            "schema": {
              "title": "Grant Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Backfill Download",
        "tags": [
          "backfill"
        ]
      }
    },
    "/brief/{manifest_id}": {
      "get": {
        "description": "Brief by manifest ID - Platform (Firehose) customers only.\n\nBrief bodies include legacy narrative fields and may include additive,\nsource-backed scan fields such as tldr, facts, why_it_matters, timeline,\nunresolved, signal_digest, and media/family facets.",
        "operationId": "api_get_brief_brief__manifest_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "manifest_id",
            "required": true,
            "schema": {
              "title": "Manifest Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Brief",
        "tags": [
          "manifests"
        ]
      }
    },
    "/digests": {
      "get": {
        "description": "List user digests for this org \u2014 cached 300s per org.\n\nReturns user digests owned by the org. For Synorb Digests,\nuse GET /api/digests (public catalog) or GET /my/digests (added digests).\nRequires: Startup+ plan (endpoint_digests).",
        "operationId": "api_get_digests_digests_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Digests",
        "tags": [
          "digests"
        ]
      },
      "post": {
        "description": "Create a new user digest.\n\nBody JSON: {\n    \"name\": str,\n    \"description\": str?,\n    \"stream_ids\": int[]?,\n    \"filter_spec\": dict?,\n    \"content_filters\": {\"media_format\": str[]?, \"source_channel_ids\": int[]?}?\n}\nAt least one of stream_ids or filter_spec is required.\nCreates in digest_library with digest_creator='user', org-scoped.\n\ncontent_filters apply at delivery time to filter content within matched streams:\n  media_format:       [\"audio\", \"text\", \"video\", \"social\", \"data\", \"regulatory\"]\n  source_channel_ids: [42, 87] \u2014 specific source channels to include",
        "operationId": "api_create_digest_digests_post",
        "parameters": [
          {
            "description": "Optional write-safety key. Successful responses are replayed for 24 hours; reusing the same key with a different payload returns 409 idempotency_conflict.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "$ref": "#/components/responses/IdempotencyConflict"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Create Digest",
        "tags": [
          "digests"
        ]
      }
    },
    "/digests/preview-filter": {
      "post": {
        "description": "Preview which streams match a filter_spec.\n\nBody JSON: {\"filter_spec\": {\"rules\": [...]}}\nReturns matching streams (up to 50) without creating a digest.",
        "operationId": "api_preview_filter_digests_preview_filter_post",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Preview Filter",
        "tags": [
          "digests"
        ]
      }
    },
    "/digests/synorb": {
      "get": {
        "description": "List Synorb Digests added to your account (Enterprise access).\n\nReturns Synorb Digests added via the org_synorb_digest link table.\nFor the full public catalog, use GET /api/digests.",
        "operationId": "api_list_synorb_digests_digests_synorb_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api List Synorb Digests",
        "tags": [
          "digests"
        ]
      }
    },
    "/digests/synorb/{digest_id}/add": {
      "post": {
        "description": "Add a Synorb Digest to your account (Enterprise plans - included).\n\nNo billing, no clone. The canonical Synorb Digest is shared read-only.\nChanges to the digest flow through automatically.",
        "operationId": "api_add_synorb_digest_digests_synorb__digest_id__add_post",
        "parameters": [
          {
            "in": "path",
            "name": "digest_id",
            "required": true,
            "schema": {
              "title": "Digest Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Add Synorb Digest",
        "tags": [
          "digests"
        ]
      }
    },
    "/digests/synorb/{digest_id}/remove": {
      "delete": {
        "description": "Remove a Synorb Digest from your account.\n\nSoft-remove. Can be re-added later.",
        "operationId": "api_remove_synorb_digest_digests_synorb__digest_id__remove_delete",
        "parameters": [
          {
            "in": "path",
            "name": "digest_id",
            "required": true,
            "schema": {
              "title": "Digest Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Remove Synorb Digest",
        "tags": [
          "digests"
        ]
      }
    },
    "/digests/{digest_id}": {
      "delete": {
        "description": "Soft-delete a user digest (set is_active=FALSE).\n\nOnly user digests (digest_creator='user') owned by the org can be deleted.",
        "operationId": "api_delete_digest_digests__digest_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "digest_id",
            "required": true,
            "schema": {
              "title": "Digest Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Delete Digest",
        "tags": [
          "digests"
        ]
      },
      "get": {
        "description": "Digest detail \u2014 resolved streams, volume metrics.",
        "operationId": "api_get_digest_detail_digests__digest_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "digest_id",
            "required": true,
            "schema": {
              "title": "Digest Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Digest Detail",
        "tags": [
          "digests"
        ]
      },
      "put": {
        "description": "Update a user digest.\n\nBody JSON: {\n    \"name\": str?,\n    \"description\": str?,\n    \"filter_spec\": dict?,\n    \"content_filters\": {\"media_format\": str[]?, \"source_channel_ids\": int[]?}?\n}\n\nSet content_filters to null to remove delivery-time filters.",
        "operationId": "api_update_digest_digests__digest_id__put",
        "parameters": [
          {
            "in": "path",
            "name": "digest_id",
            "required": true,
            "schema": {
              "title": "Digest Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Update Digest",
        "tags": [
          "digests"
        ]
      }
    },
    "/digests/{digest_id}/activate": {
      "post": {
        "description": "Activate a user digest (set is_active=TRUE).",
        "operationId": "api_activate_digest_digests__digest_id__activate_post",
        "parameters": [
          {
            "in": "path",
            "name": "digest_id",
            "required": true,
            "schema": {
              "title": "Digest Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Activate Digest",
        "tags": [
          "digests"
        ]
      }
    },
    "/digests/{digest_id}/briefs": {
      "get": {
        "description": "Briefs (editorial stories) across all streams in a digest - Level 2.\n\nBrief bodies include legacy narrative fields and may include additive,\nsource-backed scan fields such as tldr, facts, why_it_matters, timeline,\nunresolved, signal_digest, and media/family facets.",
        "operationId": "api_get_digest_briefs_digests__digest_id__briefs_get",
        "parameters": [
          {
            "in": "path",
            "name": "digest_id",
            "required": true,
            "schema": {
              "title": "Digest Id",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "published_date_from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Published Date From"
            }
          },
          {
            "in": "query",
            "name": "published_date_to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Published Date To"
            }
          },
          {
            "in": "query",
            "name": "source_channel_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Source Channel Id"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 0,
              "maximum": 10000,
              "minimum": 0,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BriefListEnvelope"
                }
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Digest Briefs",
        "tags": [
          "digests"
        ]
      }
    },
    "/digests/{digest_id}/deactivate": {
      "post": {
        "description": "Deactivate a user digest (set is_active=FALSE). Unlike delete, this is reversible via activate.",
        "operationId": "api_deactivate_digest_digests__digest_id__deactivate_post",
        "parameters": [
          {
            "in": "path",
            "name": "digest_id",
            "required": true,
            "schema": {
              "title": "Digest Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Deactivate Digest",
        "tags": [
          "digests"
        ]
      }
    },
    "/digests/{digest_id}/manifests": {
      "get": {
        "description": "Full Manifests (source metadata + Signal + Brief; Record gated by plan) across all streams in a digest.\n\nBrief bodies are additive: legacy fields remain, and optional richer\nfields such as tldr, facts, why_it_matters, timeline, unresolved,\nsignal_digest, and family facets may be present when source-backed.\n\nFilter by tags, topics, or source channels:\n  tag_ids            \u2014 comma-separated tag IDs (e.g. \"123,456\"). Returns manifests mentioning ANY of these tags.\n  tag_type           \u2014 filter to a specific tag type (person, organization, place, topic, data, resource).\n  sec_item_code      \u2014 comma-separated SEC 8-K item codes (e.g. \"5.02,9.01\").\n  sec_item_subsection \u2014 comma-separated SEC 8-K subsections (e.g. \"5.02(e)\").\n  sec_exhibit_type   \u2014 comma-separated SEC exhibit types (e.g. \"EX-10.1\").\n  sec_ticker         \u2014 comma-separated SEC ticker symbols (e.g. \"CTVA,AAPL\").\n  sec_has_exec_comp  \u2014 boolean filter for Item 5.02 + Exhibit 10.1 signal.\n  source_channel_id  \u2014 comma-separated source channel IDs to filter by.\n  source_channel     \u2014 comma-separated source channel display names (case-insensitive match).",
        "operationId": "api_get_digest_manifests_digests__digest_id__manifests_get",
        "parameters": [
          {
            "in": "path",
            "name": "digest_id",
            "required": true,
            "schema": {
              "title": "Digest Id",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "published_date_from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Published Date From"
            }
          },
          {
            "in": "query",
            "name": "published_date_to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Published Date To"
            }
          },
          {
            "description": "Comma-separated tag IDs to filter by",
            "in": "query",
            "name": "tag_ids",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated tag IDs to filter by",
              "title": "Tag Ids"
            }
          },
          {
            "description": "Filter by tag type: person, organization, place, topic, data, resource",
            "in": "query",
            "name": "tag_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by tag type: person, organization, place, topic, data, resource",
              "title": "Tag Type"
            }
          },
          {
            "description": "Tag match logic: 'or'/'any' for any selected tag, 'and'/'all' for co-mentions",
            "in": "query",
            "name": "tag_logic",
            "required": false,
            "schema": {
              "default": "or",
              "description": "Tag match logic: 'or'/'any' for any selected tag, 'and'/'all' for co-mentions",
              "title": "Tag Logic",
              "type": "string"
            }
          },
          {
            "description": "Comma-separated SEC 8-K item codes (e.g. 5.02,9.01)",
            "in": "query",
            "name": "sec_item_code",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated SEC 8-K item codes (e.g. 5.02,9.01)",
              "title": "Sec Item Code"
            }
          },
          {
            "description": "Comma-separated SEC 8-K item subsections (e.g. 5.02(e),5.02(c))",
            "in": "query",
            "name": "sec_item_subsection",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated SEC 8-K item subsections (e.g. 5.02(e),5.02(c))",
              "title": "Sec Item Subsection"
            }
          },
          {
            "description": "Comma-separated SEC exhibit types (e.g. EX-10.1,99.1)",
            "in": "query",
            "name": "sec_exhibit_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated SEC exhibit types (e.g. EX-10.1,99.1)",
              "title": "Sec Exhibit Type"
            }
          },
          {
            "description": "Comma-separated SEC ticker symbols (e.g. CTVA,AAPL)",
            "in": "query",
            "name": "sec_ticker",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated SEC ticker symbols (e.g. CTVA,AAPL)",
              "title": "Sec Ticker"
            }
          },
          {
            "description": "Comma-separated SEC form types (e.g. 8-K,10-Q,10-K). Exact, case-insensitive.",
            "in": "query",
            "name": "sec_form_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated SEC form types (e.g. 8-K,10-Q,10-K). Exact, case-insensitive.",
              "title": "Sec Form Type"
            }
          },
          {
            "description": "Filter filings flagged as executive compensation signal (Item 5.02 + Exhibit 10.1)",
            "in": "query",
            "name": "sec_has_exec_comp",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter filings flagged as executive compensation signal (Item 5.02 + Exhibit 10.1)",
              "title": "Sec Has Exec Comp"
            }
          },
          {
            "description": "Comma-separated stock tickers (e.g. AAPL,MSFT). Resolves to the company tag and filters manifests to that company across the digest. Exact, case-insensitive. Distinct from sec_ticker.",
            "in": "query",
            "name": "ticker",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated stock tickers (e.g. AAPL,MSFT). Resolves to the company tag and filters manifests to that company across the digest. Exact, case-insensitive. Distinct from sec_ticker.",
              "title": "Ticker"
            }
          },
          {
            "description": "Comma-separated ISINs (e.g. US0378331005). Resolves to the company tag.",
            "in": "query",
            "name": "isin",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated ISINs (e.g. US0378331005). Resolves to the company tag.",
              "title": "Isin"
            }
          },
          {
            "description": "Comma-separated source channel IDs to filter by",
            "in": "query",
            "name": "source_channel_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated source channel IDs to filter by",
              "title": "Source Channel Id"
            }
          },
          {
            "description": "Comma-separated source channel display names to filter by (fuzzy match)",
            "in": "query",
            "name": "source_channel",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated source channel display names to filter by (fuzzy match)",
              "title": "Source Channel"
            }
          },
          {
            "description": "Execute a saved Beacon by its public ID. The Beacon's stream_ids/source_channel_ids/topic_filters apply; the caller must still supply a date window or lookback_hours.",
            "in": "query",
            "name": "beacon_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Execute a saved Beacon by its public ID. The Beacon's stream_ids/source_channel_ids/topic_filters apply; the caller must still supply a date window or lookback_hours.",
              "title": "Beacon Id"
            }
          },
          {
            "description": "Alternative date window when executing via beacon_id.",
            "in": "query",
            "name": "lookback_hours",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "minimum": 1,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Alternative date window when executing via beacon_id.",
              "title": "Lookback Hours"
            }
          },
          {
            "description": "When executing via beacon_id, allow request-supplied source_channel/topic filters to REPLACE the Beacon's saved scope.",
            "in": "query",
            "name": "broaden_sources",
            "required": false,
            "schema": {
              "default": false,
              "description": "When executing via beacon_id, allow request-supplied source_channel/topic filters to REPLACE the Beacon's saved scope.",
              "title": "Broaden Sources",
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 0,
              "maximum": 10000,
              "minimum": 0,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          },
          {
            "description": "Set to 2 to include additive brief.body_markdown_v2.",
            "in": "query",
            "name": "markdown_version",
            "required": false,
            "schema": {
              "default": "1",
              "description": "Set to 2 to include additive brief.body_markdown_v2.",
              "title": "Markdown Version",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManifestListEnvelope"
                }
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Digest Manifests",
        "tags": [
          "digests"
        ]
      }
    },
    "/digests/{digest_id}/signals": {
      "get": {
        "description": "Signals (structured claims) across all streams in a digest \u2014 Level 1.",
        "operationId": "api_get_digest_signals_digests__digest_id__signals_get",
        "parameters": [
          {
            "in": "path",
            "name": "digest_id",
            "required": true,
            "schema": {
              "title": "Digest Id",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "published_date_from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Published Date From"
            }
          },
          {
            "in": "query",
            "name": "published_date_to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Published Date To"
            }
          },
          {
            "in": "query",
            "name": "source_channel_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Source Channel Id"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 0,
              "maximum": 10000,
              "minimum": 0,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Digest Signals",
        "tags": [
          "digests"
        ]
      }
    },
    "/digests/{digest_id}/streams": {
      "delete": {
        "description": "Remove streams from a user digest.\n\nBody JSON: {\"stream_ids\": [1, 2, 3]}",
        "operationId": "api_remove_digest_streams_digests__digest_id__streams_delete",
        "parameters": [
          {
            "in": "path",
            "name": "digest_id",
            "required": true,
            "schema": {
              "title": "Digest Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Remove Digest Streams",
        "tags": [
          "digests"
        ]
      },
      "post": {
        "description": "Add streams to a user digest.\n\nBody JSON: {\"stream_ids\": [1, 2, 3]}",
        "operationId": "api_add_digest_streams_digests__digest_id__streams_post",
        "parameters": [
          {
            "in": "path",
            "name": "digest_id",
            "required": true,
            "schema": {
              "title": "Digest Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Add Digest Streams",
        "tags": [
          "digests"
        ]
      }
    },
    "/digests/{digest_id}/webhook": {
      "post": {
        "description": "Register a webhook for a user digest.\n\nFires ``digest.new_content`` when new manifests route to streams\nin this digest. Returns the webhook record with the signing secret\n(shown only once).\n\nBody JSON: {\"url\": \"https://your-app.com/hook\", \"label\": \"My alerts\"}",
        "operationId": "api_create_digest_webhook_digests__digest_id__webhook_post",
        "parameters": [
          {
            "in": "path",
            "name": "digest_id",
            "required": true,
            "schema": {
              "title": "Digest Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Create Digest Webhook",
        "tags": [
          "digests"
        ]
      }
    },
    "/digests/{digest_id}/webhooks": {
      "get": {
        "description": "List webhooks registered for a specific user digest.",
        "operationId": "api_list_digest_webhooks_digests__digest_id__webhooks_get",
        "parameters": [
          {
            "in": "path",
            "name": "digest_id",
            "required": true,
            "schema": {
              "title": "Digest Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api List Digest Webhooks",
        "tags": [
          "digests"
        ]
      }
    },
    "/export/trigger": {
      "post": {
        "description": "Trigger a bulk S3 export. Available to all plans.",
        "operationId": "api_trigger_export_export_trigger_post",
        "parameters": [
          {
            "in": "query",
            "name": "stream_id",
            "required": true,
            "schema": {
              "title": "Stream Id",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "date_from",
            "required": true,
            "schema": {
              "title": "Date From",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "date_to",
            "required": true,
            "schema": {
              "title": "Date To",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "story_type",
            "required": false,
            "schema": {
              "default": "signals",
              "title": "Story Type",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Trigger Export",
        "tags": [
          "backfill"
        ]
      }
    },
    "/keys": {
      "get": {
        "description": "Active credentials \u2014 cached 300s per org.",
        "operationId": "api_get_keys_keys_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Keys",
        "tags": [
          "keys"
        ]
      }
    },
    "/keys/regenerate": {
      "post": {
        "operationId": "api_regenerate_keys_keys_regenerate_post",
        "parameters": [
          {
            "description": "Optional write-safety key. Successful responses are replayed for 24 hours; reusing the same key with a different payload returns 409 idempotency_conflict.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "$ref": "#/components/responses/IdempotencyConflict"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Regenerate Keys",
        "tags": [
          "keys"
        ]
      }
    },
    "/manifests/by-id/{manifest_id}": {
      "get": {
        "description": "Full manifest by canonical manifest ID - cached 1h per item.\n\nReturns source metadata plus Signal and Brief. Brief bodies are additive:\nlegacy fields remain, and richer optional fields such as tldr, facts,\nwhy_it_matters, timeline, unresolved, signal_digest, and family facets\nmay be present when source-backed.",
        "operationId": "api_get_manifest_by_id_manifests_by_id__manifest_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "manifest_id",
            "required": true,
            "schema": {
              "title": "Manifest Id",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "markdown_version",
            "required": false,
            "schema": {
              "default": "1",
              "title": "Markdown Version",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManifestDetailEnvelope"
                }
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Manifest By Id",
        "tags": [
          "manifests"
        ]
      }
    },
    "/manifests/query": {
      "post": {
        "description": "Execute the canonical customer Manifest query contract.\n\nAPI key/secret authentication is required. Default-mode responses bill\nonly returned Manifests; count, orient, impossible, and clean empty\nresponses explicitly bill zero. Every success includes authoritative\ncoverage status/reason, quota evidence, cache admission, and per-stage\ndiagnostics. Exact structured filters fail closed rather than silently\nbroadening or substituting adjacent regulatory forms.",
        "operationId": "api_query_manifests_manifests_query_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/ManifestQueryRequest"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Body"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManifestQueryResponse"
                }
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Query Manifests",
        "tags": [
          "manifests"
        ]
      }
    },
    "/manifests/{record_id}": {
      "get": {
        "description": "Full manifest - cached 1h per item.\n\nReturns source metadata plus Signal and Brief. Brief bodies are additive:\nlegacy fields remain, and richer optional fields such as tldr, facts,\nwhy_it_matters, timeline, unresolved, signal_digest, and family facets\nmay be present when source-backed.",
        "operationId": "api_get_manifest_manifests__record_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "record_id",
            "required": true,
            "schema": {
              "title": "Record Id",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "markdown_version",
            "required": false,
            "schema": {
              "default": "1",
              "title": "Markdown Version",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManifestDetailEnvelope"
                }
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Manifest",
        "tags": [
          "manifests"
        ]
      }
    },
    "/ontology/labels": {
      "get": {
        "description": "List label definitions for the org.",
        "operationId": "api_ontology_list_labels_ontology_labels_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Ontology List Labels",
        "tags": [
          "ontology"
        ]
      },
      "post": {
        "description": "Create a custom label definition.",
        "operationId": "api_ontology_create_label_ontology_labels_post",
        "parameters": [
          {
            "in": "query",
            "name": "label_name",
            "required": true,
            "schema": {
              "title": "Label Name",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "label_group",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Label Group"
            }
          },
          {
            "in": "query",
            "name": "description",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Description"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Ontology Create Label",
        "tags": [
          "ontology"
        ]
      }
    },
    "/ontology/sync": {
      "post": {
        "description": "Create or update a sync.",
        "operationId": "api_ontology_sync_ontology_sync_post",
        "parameters": [
          {
            "in": "query",
            "name": "object_type",
            "required": true,
            "schema": {
              "title": "Object Type",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "object_id",
            "required": true,
            "schema": {
              "title": "Object Id",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "external_id",
            "required": true,
            "schema": {
              "title": "External Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "external_name",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "External Name"
            }
          },
          {
            "in": "query",
            "name": "labels",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Labels"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Ontology Sync",
        "tags": [
          "ontology"
        ]
      }
    },
    "/ontology/sync/{sync_id}": {
      "delete": {
        "description": "Remove a sync.",
        "operationId": "api_ontology_unsync_ontology_sync__sync_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "sync_id",
            "required": true,
            "schema": {
              "title": "Sync Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Ontology Unsync",
        "tags": [
          "ontology"
        ]
      }
    },
    "/ontology/syncs": {
      "get": {
        "description": "List active syncs for the org.",
        "operationId": "api_ontology_syncs_ontology_syncs_get",
        "parameters": [
          {
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Type"
            }
          },
          {
            "in": "query",
            "name": "label",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Label"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 0,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 100,
              "title": "Page Size",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Ontology Syncs",
        "tags": [
          "ontology"
        ]
      }
    },
    "/ontology/tags": {
      "get": {
        "description": "Browse all tags (person, org, place, data, topic). Redis cached 10min.",
        "operationId": "api_ontology_entities_ontology_tags_get",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "required": false,
            "schema": {
              "default": "",
              "title": "Search",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Type"
            }
          },
          {
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Domain"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 0,
              "maximum": 10000,
              "minimum": 0,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Ontology Entities",
        "tags": [
          "ontology"
        ]
      }
    },
    "/ontology/topics": {
      "get": {
        "description": "Browse topic catalog.",
        "operationId": "api_ontology_topics_ontology_topics_get",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "required": false,
            "schema": {
              "default": "",
              "title": "Search",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "domain",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Domain"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 0,
              "maximum": 10000,
              "minimum": 0,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Ontology Topics",
        "tags": [
          "ontology"
        ]
      }
    },
    "/plans": {
      "get": {
        "description": "List all available subscription plans with pricing and features.\n\nPublic endpoint \u2014 no auth required. Lets customers see what they\ncan upgrade/downgrade to before authenticating.",
        "operationId": "api_list_plans_plans_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "summary": "Api List Plans",
        "tags": [
          "billing"
        ]
      }
    },
    "/record/{manifest_id}": {
      "get": {
        "description": "Record by manifest ID \u2014 Platform (Firehose) customers only.",
        "operationId": "api_get_record_by_manifest_record__manifest_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "manifest_id",
            "required": true,
            "schema": {
              "title": "Manifest Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Record By Manifest",
        "tags": [
          "manifests"
        ]
      }
    },
    "/search": {
      "get": {
        "description": "Smart search \u2014 tag/entity graph first, FTS fallback. Redis cached.",
        "operationId": "api_search_search_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Search",
        "tags": [
          "streams"
        ]
      }
    },
    "/signal/{manifest_id}": {
      "get": {
        "description": "Signal by manifest ID \u2014 Platform (Firehose) customers only.",
        "operationId": "api_get_signal_signal__manifest_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "manifest_id",
            "required": true,
            "schema": {
              "title": "Manifest Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Signal",
        "tags": [
          "manifests"
        ]
      }
    },
    "/streams": {
      "get": {
        "operationId": "api_list_streams_streams_get",
        "parameters": [
          {
            "in": "query",
            "name": "home_domain",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Home Domain"
            }
          },
          {
            "in": "query",
            "name": "is_public",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is Public"
            }
          },
          {
            "in": "query",
            "name": "active_only",
            "required": false,
            "schema": {
              "default": true,
              "title": "Active Only",
              "type": "boolean"
            }
          },
          {
            "description": "Comma-separated stock tickers (e.g. AAPL,MSFT). Exact, case-insensitive. Returns streams for the matching public company. Distinct from the SEC filing-context sec_ticker.",
            "in": "query",
            "name": "ticker",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated stock tickers (e.g. AAPL,MSFT). Exact, case-insensitive. Returns streams for the matching public company. Distinct from the SEC filing-context sec_ticker.",
              "title": "Ticker"
            }
          },
          {
            "description": "Comma-separated ISINs (e.g. US0378331005). Exact, case-insensitive.",
            "in": "query",
            "name": "isin",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated ISINs (e.g. US0378331005). Exact, case-insensitive.",
              "title": "Isin"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 0,
              "maximum": 10000,
              "minimum": 0,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api List Streams",
        "tags": [
          "streams"
        ]
      }
    },
    "/streams/query": {
      "post": {
        "description": "Query briefs/signals across multiple streams in one call.\n\nBody JSON: {\n    \"stream_ids\": [123, 456, 789],          # optional; mutex with home_domains\n    \"home_domains\": [\"engineering-technology\", ...],  # optional; ['all'] for all 12\n    \"story_type\": \"briefs\" | \"signals\",\n    \"published_date_from\": \"YYYY-MM-DD\",\n    \"published_date_to\": \"YYYY-MM-DD\",\n    \"significance\": \"high\" | \"medium\" | \"low\",\n    \"tag_ids\": \"101,102\",                    # comma-separated canonical IDs\n    \"tag_names\": [\"Tesla\", \"OpenAI\"],        # optional; resolved server-side\n    \"media_format\": \"audio\" | \"text\" | \"social\" | \"data\" | \"regulatory\",  # optional\n    \"page_size\": 20\n}\n\n``home_domains`` and ``tag_names`` were added in PR #5/#6 of the\nplayground cache series so the playground Topic templates can pass\na topic name + 'all domains' in one round-trip and get cached\nresults \u2014 no synorb-tags discovery call needed.",
        "operationId": "api_streams_query_streams_query_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Body",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Streams Query",
        "tags": [
          "streams"
        ]
      }
    },
    "/streams/{stream_id}": {
      "get": {
        "description": "Stream details \u2014 cached 300s.\n\nVisibility is enforced inside `get_stream` (returns None for hidden\nstreams, which the existing 404 path catches). Centralizing the\ngate in the helper means MCP `synorb-stream-info` (which calls the\nsame helper) gets the same protection.",
        "operationId": "api_get_stream_streams__stream_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "stream_id",
            "required": true,
            "schema": {
              "title": "Stream Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Stream",
        "tags": [
          "streams"
        ]
      }
    },
    "/streams/{stream_id}/briefs": {
      "get": {
        "operationId": "api_get_briefs_streams__stream_id__briefs_get",
        "parameters": [
          {
            "in": "path",
            "name": "stream_id",
            "required": true,
            "schema": {
              "title": "Stream Id",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "published_date_from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Published Date From"
            }
          },
          {
            "in": "query",
            "name": "published_date_to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Published Date To"
            }
          },
          {
            "in": "query",
            "name": "source_channel_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Source Channel Id"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 0,
              "maximum": 10000,
              "minimum": 0,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BriefListEnvelope"
                }
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Briefs",
        "tags": [
          "streams"
        ]
      }
    },
    "/streams/{stream_id}/manifests": {
      "get": {
        "description": "Stream Manifests: source metadata + Signal + Brief; Record gated by plan.\n\nBrief bodies are additive: legacy fields remain, and optional richer\nfields such as tldr, facts, why_it_matters, timeline, unresolved,\nsignal_digest, and family facets may be present when source-backed.\n\nFilter by tags or topics:\n  tag_ids  \u2014 comma-separated tag IDs (e.g. \"123,456\"). Returns manifests mentioning ANY of these tags.\n  tag_type \u2014 filter to a specific tag type (person, organization, place, topic, data, resource).",
        "operationId": "api_get_manifests_streams__stream_id__manifests_get",
        "parameters": [
          {
            "in": "path",
            "name": "stream_id",
            "required": true,
            "schema": {
              "title": "Stream Id",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "published_date_from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Published Date From"
            }
          },
          {
            "in": "query",
            "name": "published_date_to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Published Date To"
            }
          },
          {
            "description": "Comma-separated tag IDs to filter by (person, org, place, topic, data)",
            "in": "query",
            "name": "tag_ids",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated tag IDs to filter by (person, org, place, topic, data)",
              "title": "Tag Ids"
            }
          },
          {
            "description": "Filter by tag type: person, organization, place, topic, data, resource",
            "in": "query",
            "name": "tag_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by tag type: person, organization, place, topic, data, resource",
              "title": "Tag Type"
            }
          },
          {
            "description": "Tag match logic: 'or'/'any' for any selected tag, 'and'/'all' for co-mentions",
            "in": "query",
            "name": "tag_logic",
            "required": false,
            "schema": {
              "default": "or",
              "description": "Tag match logic: 'or'/'any' for any selected tag, 'and'/'all' for co-mentions",
              "title": "Tag Logic",
              "type": "string"
            }
          },
          {
            "description": "Comma-separated SEC 8-K item codes (e.g. 5.02,9.01)",
            "in": "query",
            "name": "sec_item_code",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated SEC 8-K item codes (e.g. 5.02,9.01)",
              "title": "Sec Item Code"
            }
          },
          {
            "description": "Comma-separated SEC 8-K item subsections (e.g. 5.02(e),5.02(c))",
            "in": "query",
            "name": "sec_item_subsection",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated SEC 8-K item subsections (e.g. 5.02(e),5.02(c))",
              "title": "Sec Item Subsection"
            }
          },
          {
            "description": "Comma-separated SEC exhibit types (e.g. EX-10.1,99.1)",
            "in": "query",
            "name": "sec_exhibit_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated SEC exhibit types (e.g. EX-10.1,99.1)",
              "title": "Sec Exhibit Type"
            }
          },
          {
            "description": "Comma-separated SEC ticker symbols (e.g. CTVA,AAPL)",
            "in": "query",
            "name": "sec_ticker",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated SEC ticker symbols (e.g. CTVA,AAPL)",
              "title": "Sec Ticker"
            }
          },
          {
            "description": "Comma-separated SEC form types (e.g. 8-K,10-Q,10-K). Exact, case-insensitive.",
            "in": "query",
            "name": "sec_form_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated SEC form types (e.g. 8-K,10-Q,10-K). Exact, case-insensitive.",
              "title": "Sec Form Type"
            }
          },
          {
            "description": "Filter filings flagged as executive compensation signal (Item 5.02 + Exhibit 10.1)",
            "in": "query",
            "name": "sec_has_exec_comp",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter filings flagged as executive compensation signal (Item 5.02 + Exhibit 10.1)",
              "title": "Sec Has Exec Comp"
            }
          },
          {
            "description": "Comma-separated stock tickers (e.g. AAPL,MSFT). Resolves to the company tag and filters this stream's manifests to that company. Exact, case-insensitive. Distinct from the filing-context sec_ticker.",
            "in": "query",
            "name": "ticker",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated stock tickers (e.g. AAPL,MSFT). Resolves to the company tag and filters this stream's manifests to that company. Exact, case-insensitive. Distinct from the filing-context sec_ticker.",
              "title": "Ticker"
            }
          },
          {
            "description": "Comma-separated ISINs (e.g. US0378331005). Resolves to the company tag.",
            "in": "query",
            "name": "isin",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated ISINs (e.g. US0378331005). Resolves to the company tag.",
              "title": "Isin"
            }
          },
          {
            "description": "Execute a saved Beacon by its public ID. The Beacon's stream_ids/source_channel_ids/topic_filters apply; the caller must still supply a date window. See knowledge/product/beacons.md.",
            "in": "query",
            "name": "beacon_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Execute a saved Beacon by its public ID. The Beacon's stream_ids/source_channel_ids/topic_filters apply; the caller must still supply a date window. See knowledge/product/beacons.md.",
              "title": "Beacon Id"
            }
          },
          {
            "description": "Alternative to published_date_from+published_date_to when executing via beacon_id. Synorb does not own 'since last run' state.",
            "in": "query",
            "name": "lookback_hours",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "minimum": 1,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Alternative to published_date_from+published_date_to when executing via beacon_id. Synorb does not own 'since last run' state.",
              "title": "Lookback Hours"
            }
          },
          {
            "description": "When executing via beacon_id, allow stream/source-channel/topic filters from the request to REPLACE the Beacon's saved scope. Default false fails closed against accidental broadening.",
            "in": "query",
            "name": "broaden_sources",
            "required": false,
            "schema": {
              "default": false,
              "description": "When executing via beacon_id, allow stream/source-channel/topic filters from the request to REPLACE the Beacon's saved scope. Default false fails closed against accidental broadening.",
              "title": "Broaden Sources",
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 0,
              "maximum": 10000,
              "minimum": 0,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          },
          {
            "description": "Set to 2 to include additive brief.body_markdown_v2.",
            "in": "query",
            "name": "markdown_version",
            "required": false,
            "schema": {
              "default": "1",
              "description": "Set to 2 to include additive brief.body_markdown_v2.",
              "title": "Markdown Version",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManifestListEnvelope"
                }
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Manifests",
        "tags": [
          "streams"
        ]
      }
    },
    "/streams/{stream_id}/records": {
      "get": {
        "operationId": "api_get_records_streams__stream_id__records_get",
        "parameters": [
          {
            "in": "path",
            "name": "stream_id",
            "required": true,
            "schema": {
              "title": "Stream Id",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "published_date_from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Published Date From"
            }
          },
          {
            "in": "query",
            "name": "published_date_to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Published Date To"
            }
          },
          {
            "in": "query",
            "name": "source_channel_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Source Channel Id"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 0,
              "maximum": 10000,
              "minimum": 0,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Records",
        "tags": [
          "streams"
        ]
      }
    },
    "/streams/{stream_id}/signals": {
      "get": {
        "operationId": "api_get_signals_streams__stream_id__signals_get",
        "parameters": [
          {
            "in": "path",
            "name": "stream_id",
            "required": true,
            "schema": {
              "title": "Stream Id",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "published_date_from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Published Date From"
            }
          },
          {
            "in": "query",
            "name": "published_date_to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Published Date To"
            }
          },
          {
            "in": "query",
            "name": "source_channel_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Source Channel Id"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 0,
              "maximum": 10000,
              "minimum": 0,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Signals",
        "tags": [
          "streams"
        ]
      }
    },
    "/subscription": {
      "get": {
        "description": "Current subscription details including plan, add-ons, usage, and MCP connector.",
        "operationId": "api_get_subscription_subscription_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Subscription",
        "tags": [
          "billing"
        ]
      }
    },
    "/subscription/cancel": {
      "post": {
        "description": "Cancel subscription.\n\nBy default, cancels at the end of the current billing period (soft cancel).\nSet at_period_end=false for immediate cancellation (hard cancel).\n\nImmediate cancellation deactivates all API keys.",
        "operationId": "api_cancel_subscription_subscription_cancel_post",
        "parameters": [
          {
            "description": "If true, stay active until period ends",
            "in": "query",
            "name": "at_period_end",
            "required": false,
            "schema": {
              "default": true,
              "description": "If true, stay active until period ends",
              "title": "At Period End",
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Cancel Subscription",
        "tags": [
          "billing"
        ]
      }
    },
    "/subscription/change": {
      "post": {
        "description": "Upgrade or downgrade subscription.\n\nPlans available through this endpoint: free, individual, professional, startup.\nCustom plans cannot be changed via this endpoint \u2014 contact sales@synorb.com.\n\nEach plan tier requires specific account info:\n    free / individual:      email\n    developer:              email, name\n    startup:                email, name, company_name\n\nStripe plans are prorated automatically. Switching between Stripe and\nnon-Stripe plans creates a new Stripe subscription.",
        "operationId": "api_change_plan_subscription_change_post",
        "parameters": [
          {
            "description": "Target plan: free, individual, professional, startup",
            "in": "query",
            "name": "plan_id",
            "required": true,
            "schema": {
              "description": "Target plan: free, individual, professional, startup",
              "title": "Plan Id",
              "type": "string"
            }
          },
          {
            "description": "Account email (required for all plan changes)",
            "in": "query",
            "name": "email",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Account email (required for all plan changes)",
              "title": "Email"
            }
          },
          {
            "description": "Account holder name (required for professional, startup)",
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Account holder name (required for professional, startup)",
              "title": "Name"
            }
          },
          {
            "description": "Company name (required for startup)",
            "in": "query",
            "name": "company_name",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Company name (required for startup)",
              "title": "Company Name"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Change Plan",
        "tags": [
          "billing"
        ]
      }
    },
    "/subscription/reactivate": {
      "post": {
        "description": "Reactivate a subscription that was cancelled but hasn't expired yet.\n\nOnly works when the subscription is in 'cancelling' state (soft cancel\npending period end). If the subscription has already expired, you must\ncreate a new one via /subscription/change.",
        "operationId": "api_reactivate_subscription_subscription_reactivate_post",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Reactivate Subscription",
        "tags": [
          "billing"
        ]
      }
    },
    "/trending": {
      "get": {
        "description": "Trending topics \u2014 topics with accelerating mention frequency. Redis cached.",
        "operationId": "api_trending_trending_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Trending",
        "tags": [
          "streams"
        ]
      }
    },
    "/usage": {
      "get": {
        "description": "Detailed usage \u2014 cached 60s per org.",
        "operationId": "api_get_usage_usage_get",
        "parameters": [
          {
            "in": "query",
            "name": "months",
            "required": false,
            "schema": {
              "default": 3,
              "maximum": 12,
              "minimum": 1,
              "title": "Months",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Usage",
        "tags": [
          "usage"
        ]
      }
    },
    "/v3/beacons": {
      "get": {
        "description": "List Beacons on the caller's org with optional filters.\n\nQuery params:\n    status:        draft | active | archived; empty string means all\n                   statuses (parity with the MCP synorb-beacons tool)\n    tag:           exact-match tag string\n    q:             case-insensitive substring across name + description\n    collection_id: integer collection filter\n    limit:         page size (default 50, max 200)\n    offset:        page offset (default 0)\n\nReturns ``{items: [...], total: int, limit, offset}``.",
        "operationId": "api_list_beacons_v3_beacons_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api List Beacons",
        "tags": [
          "beacons"
        ]
      },
      "post": {
        "description": "Create a Beacon on the caller's org.\n\nBody JSON: ``BeaconCreate`` payload (see users.beacons.BeaconCreate).\nOnly ``name`` is required.\n\nPlan-cap and hidden payload caps are enforced via\n``users.beacons.validate_beacon_payload``. Returns the full Beacon on\nsuccess.",
        "operationId": "api_create_beacon_v3_beacons_post",
        "parameters": [
          {
            "description": "Optional write-safety key. Successful responses are replayed for 24 hours; reusing the same key with a different payload returns 409 idempotency_conflict.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "$ref": "#/components/responses/IdempotencyConflict"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Create Beacon",
        "tags": [
          "beacons"
        ]
      }
    },
    "/v3/beacons/{beacon_id}": {
      "delete": {
        "description": "Soft-delete a Beacon. Returns 204 No Content.",
        "operationId": "api_delete_beacon_v3_beacons__beacon_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "beacon_id",
            "required": true,
            "schema": {
              "title": "Beacon Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Delete Beacon",
        "tags": [
          "beacons"
        ]
      },
      "get": {
        "description": "Fetch a single Beacon by public ID, scoped to the caller's org.\n\nReturns 404 (NOT 403) for unknown / cross-org / soft-deleted Beacons\nto avoid leaking the existence of Beacons belonging to other orgs.",
        "operationId": "api_get_beacon_v3_beacons__beacon_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "beacon_id",
            "required": true,
            "schema": {
              "title": "Beacon Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Get Beacon",
        "tags": [
          "beacons"
        ]
      },
      "patch": {
        "description": "Partial update of a Beacon.\n\nBody JSON: ``BeaconUpdate`` payload (all fields optional). Bumps\n``revision`` and appends to ``account_beacon_revision`` (handled by\n``users.beacons.update_beacon``).",
        "operationId": "api_update_beacon_v3_beacons__beacon_id__patch",
        "parameters": [
          {
            "in": "path",
            "name": "beacon_id",
            "required": true,
            "schema": {
              "title": "Beacon Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Update Beacon",
        "tags": [
          "beacons"
        ]
      }
    },
    "/v3/beacons/{beacon_id}/archive": {
      "post": {
        "description": "Archive a Beacon (status='archived'). Idempotent.",
        "operationId": "api_archive_beacon_v3_beacons__beacon_id__archive_post",
        "parameters": [
          {
            "in": "path",
            "name": "beacon_id",
            "required": true,
            "schema": {
              "title": "Beacon Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Archive Beacon",
        "tags": [
          "beacons"
        ]
      }
    },
    "/v3/beacons/{beacon_id}/restore": {
      "post": {
        "description": "Restore an archived Beacon back to draft.\n\nEnterprise-only (write path). Self-serve plans receive the\n``enterprise_required`` polite error envelope. Read paths and the\narchive endpoint remain accessible on every plan so a downgraded\nEnterprise customer can still inspect or clean up existing Beacons.",
        "operationId": "api_restore_beacon_v3_beacons__beacon_id__restore_post",
        "parameters": [
          {
            "in": "path",
            "name": "beacon_id",
            "required": true,
            "schema": {
              "title": "Beacon Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Restore Beacon",
        "tags": [
          "beacons"
        ]
      }
    },
    "/v3/beacons/{beacon_id}/revisions": {
      "get": {
        "description": "List up to the last 20 revisions for a Beacon, newest first.\n\nReturns ``{items: [{revision, payload, changed_by, changed_at}, ...]}``.\nRevision rows beyond ``BEACON_REVISION_RETAIN`` are pruned by\n``users.beacons.update_beacon`` after each update.",
        "operationId": "api_list_beacon_revisions_v3_beacons__beacon_id__revisions_get",
        "parameters": [
          {
            "in": "path",
            "name": "beacon_id",
            "required": true,
            "schema": {
              "title": "Beacon Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api List Beacon Revisions",
        "tags": [
          "beacons"
        ]
      }
    },
    "/webhooks": {
      "get": {
        "description": "List all webhooks for the authenticated org.",
        "operationId": "api_list_webhooks_webhooks_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api List Webhooks",
        "tags": [
          "webhooks"
        ]
      },
      "post": {
        "description": "Register a new webhook endpoint. Optionally scope to a digest via digest_id.",
        "operationId": "api_create_webhook_webhooks_post",
        "parameters": [
          {
            "description": "Optional write-safety key. Successful responses are replayed for 24 hours; reusing the same key with a different payload returns 409 idempotency_conflict.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "$ref": "#/components/responses/IdempotencyConflict"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Create Webhook",
        "tags": [
          "webhooks"
        ]
      }
    },
    "/webhooks/{webhook_id}": {
      "delete": {
        "description": "Permanently delete a webhook and its delivery logs.",
        "operationId": "api_delete_webhook_webhooks__webhook_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "webhook_id",
            "required": true,
            "schema": {
              "title": "Webhook Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Delete Webhook",
        "tags": [
          "webhooks"
        ]
      }
    },
    "/webhooks/{webhook_id}/disable": {
      "post": {
        "description": "Disable a webhook (soft \u2014 can be reactivated).",
        "operationId": "api_disable_webhook_webhooks__webhook_id__disable_post",
        "parameters": [
          {
            "in": "path",
            "name": "webhook_id",
            "required": true,
            "schema": {
              "title": "Webhook Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Disable Webhook",
        "tags": [
          "webhooks"
        ]
      }
    },
    "/webhooks/{webhook_id}/logs": {
      "get": {
        "description": "Get delivery log for a webhook. Verifies ownership.",
        "operationId": "api_webhook_logs_webhooks__webhook_id__logs_get",
        "parameters": [
          {
            "in": "path",
            "name": "webhook_id",
            "required": true,
            "schema": {
              "title": "Webhook Id",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Webhook Logs",
        "tags": [
          "webhooks"
        ]
      }
    },
    "/webhooks/{webhook_id}/reactivate": {
      "post": {
        "description": "Reactivate a disabled webhook.",
        "operationId": "api_reactivate_webhook_webhooks__webhook_id__reactivate_post",
        "parameters": [
          {
            "in": "path",
            "name": "webhook_id",
            "required": true,
            "schema": {
              "title": "Webhook Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Reactivate Webhook",
        "tags": [
          "webhooks"
        ]
      }
    },
    "/webhooks/{webhook_id}/test": {
      "post": {
        "description": "Send a test event to a webhook. Verifies ownership.",
        "operationId": "api_test_webhook_webhooks__webhook_id__test_post",
        "parameters": [
          {
            "in": "path",
            "name": "webhook_id",
            "required": true,
            "schema": {
              "title": "Webhook Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response",
            "headers": {
              "X-Synorb-Available": {
                "$ref": "#/components/headers/X-Synorb-Available"
              },
              "X-Synorb-Period": {
                "$ref": "#/components/headers/X-Synorb-Period"
              },
              "X-Synorb-Quota-Limit": {
                "$ref": "#/components/headers/X-Synorb-Quota-Limit"
              },
              "X-Synorb-Quota-Remaining": {
                "$ref": "#/components/headers/X-Synorb-Quota-Remaining"
              },
              "X-Synorb-Quota-Reset-Date": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Date"
              },
              "X-Synorb-Quota-Reset-Days": {
                "$ref": "#/components/headers/X-Synorb-Quota-Reset-Days"
              },
              "X-Synorb-Quota-Used": {
                "$ref": "#/components/headers/X-Synorb-Quota-Used"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error response. detail is currently a string or structured object, depending on route."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitedOrQuotaExhausted"
          }
        },
        "security": [
          {
            "ApiKeyHeader": [],
            "ApiSecretHeader": []
          },
          {
            "AccessTokenHeader": []
          }
        ],
        "summary": "Api Test Webhook",
        "tags": [
          "webhooks"
        ]
      }
    }
  },
  "tags": [
    {
      "name": "account"
    },
    {
      "name": "backfill"
    },
    {
      "name": "beacons"
    },
    {
      "name": "billing"
    },
    {
      "name": "digests"
    },
    {
      "name": "keys"
    },
    {
      "name": "manifests"
    },
    {
      "name": "ontology"
    },
    {
      "name": "streams"
    },
    {
      "name": "usage"
    },
    {
      "name": "webhooks"
    }
  ]
}
