{"openapi":"3.1.0","info":{"title":"Call Bullet API","version":"1.0.0","description":"Secure tenant-scoped API for Call Bullet calls, numbers, attribution, leads and delivery evidence.","contact":{"name":"Call Bullet","email":"info@callbullet.com","url":"https://callbullet.com/developers/api"}},"servers":[{"url":"https://callbullet.com/api/public/v1"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"cb_live_*"}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string","format":"uuid"}}}}},"security":[{"bearerAuth":[]}],"paths":{"/account":{"get":{"summary":"Read key account and scope","responses":{"200":{"description":"Account scope","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Invalid key","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/workspaces":{"get":{"summary":"List permitted workspaces","responses":{"200":{"description":"Workspaces","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/workspaces/{workspace_id}":{"get":{"summary":"Read a permitted workspace","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Workspace","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Outside scope","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/workspaces/{workspace_id}/numbers":{"get":{"summary":"List permitted tracking numbers","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Numbers","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/workspaces/{workspace_id}/calls":{"get":{"summary":"List calls and reporting fields","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"type":"integer","minimum":1}},{"name":"per_page","in":"query","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"from","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"updated_since","in":"query","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Paginated calls","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Invalid filter","content":{"application/json":{"schema":{"type":"object"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/workspaces/{workspace_id}/leads":{"get":{"summary":"List leads","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Leads","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/calls/{call_id}":{"get":{"summary":"Read a call","parameters":[{"name":"call_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Call","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/calls/{call_id}/attribution":{"get":{"summary":"Read attribution evidence","responses":{"200":{"description":"Attribution","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/calls/{call_id}/recording":{"get":{"summary":"Create a short-lived recording link","responses":{"200":{"description":"Recording availability","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/calls/{call_id}/transcript":{"get":{"summary":"Read transcript and summary","responses":{"200":{"description":"Transcript availability","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/integrations/google-ads/status":{"get":{"summary":"Read Google Ads delivery evidence","responses":{"200":{"description":"Delivery status","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/integrations/ga4/status":{"get":{"summary":"Read GA4 delivery evidence","responses":{"200":{"description":"Delivery status","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}