{"openapi":"3.1.0","info":{"title":"GET /api/v1/businesses/slack/status","version":"1.0.0","description":"Get Slack integration status"},"servers":[{"url":"https://api.ondayzero.com","description":"Production"}],"paths":{"/api/v1/businesses/slack/status":{"get":{"tags":["businesses"],"summary":"Get Slack integration status","description":"Check whether a Slack webhook is configured for this business.","operationId":"get_slack_status_api_v1_businesses_slack_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-business-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Business-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackIntegrationStatus"}}}},"401":{"description":"Unauthorized - Authentication required","content":{"application/json":{"example":{"detail":"Not authenticated"}}}},"403":{"description":"Forbidden - Insufficient permissions","content":{"application/json":{"example":{"detail":"Not enough permissions"}}}},"404":{"description":"Not Found - Resource does not exist","content":{"application/json":{"example":{"detail":"Resource not found"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"SlackCategoryItem":{"properties":{"key":{"type":"string","title":"Key","description":"Stable category key"},"label":{"type":"string","title":"Label","description":"User-facing label"},"description":{"type":"string","title":"Description","description":"One-line explanation"},"group":{"type":"string","title":"Group","description":"Group key used to render the UI in sections"},"enabled":{"type":"boolean","title":"Enabled","description":"Whether the user has this category enabled"}},"type":"object","required":["key","label","description","group","enabled"],"title":"SlackCategoryItem","description":"One toggleable notification category in a Slack integration status."},"SlackGroupInfo":{"properties":{"key":{"type":"string","title":"Key","description":"Group key (matches SlackCategoryItem.group)"},"label":{"type":"string","title":"Label","description":"User-facing section label"}},"type":"object","required":["key","label"],"title":"SlackGroupInfo","description":"Render metadata for a category group."},"SlackIntegrationStatus":{"properties":{"connected":{"type":"boolean","title":"Connected","description":"Whether at least one webhook URL is configured"},"webhooks":{"items":{"$ref":"#/components/schemas/SlackWebhookItem"},"type":"array","title":"Webhooks","description":"List of configured webhooks"},"groups":{"items":{"$ref":"#/components/schemas/SlackGroupInfo"},"type":"array","title":"Groups","description":"Group definitions for UI section rendering"}},"type":"object","required":["connected"],"title":"SlackIntegrationStatus","description":"Status of a business- or firm-level Slack incoming-webhook integration."},"SlackWebhookItem":{"properties":{"id":{"type":"string","title":"Id","description":"Webhook ID"},"channel_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel Name","description":"User-defined channel or webhook name"},"webhook_url_masked":{"type":"string","title":"Webhook Url Masked","description":"Masked URL for display"},"notification_preferences":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Notification Preferences","description":"Per-category enabled flags"},"notification_categories":{"items":{"$ref":"#/components/schemas/SlackCategoryItem"},"type":"array","title":"Notification Categories","description":"Categories with metadata for UI rendering"}},"type":"object","required":["id","webhook_url_masked","notification_preferences","notification_categories"],"title":"SlackWebhookItem","description":"A configured Slack webhook."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Token","description":"API token authentication. Format: `Bearer dz_...`"}}},"security":[{"BearerAuth":[]}]}