{"openapi":"3.1.0","info":{"title":"Debriefing Read API","version":"1.0.0","summary":"Read competitors, signals, digests, and battlecards for one workspace.","description":"A JSON API for one organization. Create an API key in Settings → Integrations.\nThe same key authenticates the MCP endpoint at `POST /mcp`.\n\nEvery key reads. A key writes only through a scope ticked when the key is made. The one\nscope today is `watchlist:add`, which lets `POST /api/v1/competitors` add a competitor and\nnothing else. Existing keys have no scopes and stay read-only.\n\nClients may name themselves in the `X-Debriefing-Source` header, a short lowercase slug\nsuch as `google-sheets-addon`. A competitor added through the API records it.\n\nEvery request is scoped to the organization that owns the key. The free week that unlocks\nthe dashboard does not unlock this API. A paid subscription is required.\n\nBlank fields are omitted from response objects. Empty summary domains are omitted from a\ncompetitor dossier.\n\nEvery error is RFC 9457 problem details, sent as `application/problem+json`, with a\nmachine-readable `code` and a `hint`. See the `Problem` schema and\nhttps://debriefing.io/developers#errors.\n\nThis file is also served as JSON at `/openapi.json`.\n","contact":{"name":"Debriefing","url":"https://debriefing.io"}},"servers":[{"url":"https://debriefing.io","description":"Production"}],"security":[{"bearerAuth":[]},{"apiKeyHeader":[]}],"tags":[{"name":"Competitors","description":"Competitors this workspace tracks."},{"name":"Signals","description":"Evidence-backed competitor moves."},{"name":"Digests","description":"Generated digests for this workspace."},{"name":"Battlecards","description":"Generated battlecards for this workspace."}],"paths":{}}