{"openapi":"3.1.0","info":{"title":"POST /api/v1/webhooks/slack/o2c-hours","version":"1.0.0","description":"Slack webhook: inbound O2C hours submission"},"servers":[{"url":"https://api.ondayzero.com","description":"Production"}],"paths":{"/api/v1/webhooks/slack/o2c-hours":{"post":{"tags":["o2c-webhooks"],"summary":"Slack webhook: inbound O2C hours submission","description":"Receives the `/hours` slash command and `app_mention` events from Slack and turns them into pending drawdown entries awaiting approval. Requests are verified against the Slack signing secret; the Slack workspace must be linked to a business via the O2C settings `slack_team_id`.","operationId":"slack_o2c_hours_webhook_api_v1_webhooks_slack_o2c_hours_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"403":{"description":"Forbidden - Insufficient permissions","content":{"application/json":{"example":{"detail":"Not enough permissions"}}}}}}}},"components":{"schemas":{},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Token","description":"API token authentication. Format: `Bearer dz_...`"}}},"security":[{"BearerAuth":[]}]}