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 } } }
