openapi: 3.0.3 info: title: Stage 2 Contracts (Operator Core) version: 1.0.0 paths: /customers: get: { summary: Search customers, responses: { '200': { description: OK } } } post: { summary: Create customer, responses: { '200': { description: OK } } } /customers/{customer_id}: get: summary: Get customer parameters: - in: path name: customer_id required: true schema: { type: string } responses: '200': { description: OK } /interactions: get: { summary: List interactions, responses: { '200': { description: OK } } } post: { summary: Create interaction, responses: { '200': { description: OK } } } /interactions/{interaction_id}/assign: patch: summary: Assign interaction parameters: - in: path name: interaction_id required: true schema: { type: string } responses: '200': { description: OK } /interactions/{interaction_id}/status: patch: summary: Update interaction status parameters: - in: path name: interaction_id required: true schema: { type: string } responses: '200': { description: OK } /interactions/{interaction_id}/escalate: post: summary: Escalate interaction parameters: - in: path name: interaction_id required: true schema: { type: string } responses: '200': { description: OK } /queues: get: { summary: List queues, responses: { '200': { description: OK } } } post: { summary: Create queue, responses: { '200': { description: OK } } } /queues/{queue_id}/rules: patch: summary: Update queue rules parameters: - in: path name: queue_id required: true schema: { type: string } responses: '200': { description: OK } /integrations/voice/events: post: { summary: Ingest Asterisk event, responses: { '200': { description: OK } } } /integrations/telegram/webhook: post: { summary: Ingest Telegram update, responses: { '200': { description: OK } } }