{
  "openapi": "3.1.0",
  "info": {
    "title": "ArtyChat External API",
    "version": "1.1.0",
    "description": "Public scoped API for ArtyChat business operations. All endpoints are tenant-scoped to the authenticated business."
  },
  "servers": [
    {
      "url": "https://artychat.com/api/v1"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "Business"
    },
    {
      "name": "Analytics"
    },
    {
      "name": "Bookings"
    },
    {
      "name": "Services"
    },
    {
      "name": "Customers"
    },
    {
      "name": "Chats"
    },
    {
      "name": "Orders"
    },
    {
      "name": "POS"
    },
    {
      "name": "Invoices"
    },
    {
      "name": "Payments"
    },
    {
      "name": "Leads"
    },
    {
      "name": "Forms"
    },
    {
      "name": "Tasks"
    },
    {
      "name": "Workspace"
    },
    {
      "name": "Marketing"
    },
    {
      "name": "Team"
    },
    {
      "name": "Integrations"
    },
    {
      "name": "Webhooks"
    },
    {
      "name": "AI"
    }
  ],
  "paths": {
    "/business": {
      "get": {
        "tags": [
          "Business"
        ],
        "summary": "Get business profile",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "business:read"
      }
    },
    "/locations": {
      "get": {
        "tags": [
          "Business"
        ],
        "summary": "List locations",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "business:read"
      },
      "post": {
        "tags": [
          "Business"
        ],
        "summary": "Create location",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "business:write"
      }
    },
    "/dashboard": {
      "get": {
        "tags": [
          "Analytics"
        ],
        "summary": "Get dashboard analytics",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "dashboard:read"
      }
    },
    "/bookings": {
      "get": {
        "tags": [
          "Bookings"
        ],
        "summary": "List bookings",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "bookings:read"
      },
      "post": {
        "tags": [
          "Bookings"
        ],
        "summary": "Create booking",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "bookings:write"
      }
    },
    "/bookings/available-slots": {
      "get": {
        "tags": [
          "Bookings"
        ],
        "summary": "Check availability",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "bookings:read"
      }
    },
    "/bookings/{bookingId}": {
      "get": {
        "tags": [
          "Bookings"
        ],
        "summary": "Get booking",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "bookings:read"
      },
      "put": {
        "tags": [
          "Bookings"
        ],
        "summary": "Update booking",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "bookings:write"
      }
    },
    "/bookings/{bookingId}/status": {
      "patch": {
        "tags": [
          "Bookings"
        ],
        "summary": "Update booking status",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "bookings:write"
      }
    },
    "/services": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "List services",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "services:read"
      },
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Create service",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "services:write"
      }
    },
    "/services/{serviceId}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get service",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "services:read"
      },
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Update service",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "services:write"
      },
      "delete": {
        "tags": [
          "Services"
        ],
        "summary": "Delete service",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "services:write"
      }
    },
    "/customers": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "List customers",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "customers:read"
      },
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Create customer",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "customers:write"
      }
    },
    "/customers/{contact}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get customer",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "customers:read"
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Update customer",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "customers:write"
      }
    },
    "/conversations": {
      "get": {
        "tags": [
          "Chats"
        ],
        "summary": "List conversations",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "chats:read"
      }
    },
    "/conversations/{conversationId}": {
      "get": {
        "tags": [
          "Chats"
        ],
        "summary": "Get conversation",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "chats:read"
      },
      "patch": {
        "tags": [
          "Chats"
        ],
        "summary": "Update conversation",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "chats:write"
      }
    },
    "/conversations/{conversationId}/messages": {
      "post": {
        "tags": [
          "Chats"
        ],
        "summary": "Send message",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "chats:write"
      }
    },
    "/orders": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "List orders",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "orders:read"
      },
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Create order",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "orders:write"
      }
    },
    "/orders/{order}": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Get order",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "orders:read"
      },
      "patch": {
        "tags": [
          "Orders"
        ],
        "summary": "Update order",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "orders:write"
      }
    },
    "/orders/{order}/status": {
      "patch": {
        "tags": [
          "Orders"
        ],
        "summary": "Update order status",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "orders:write"
      }
    },
    "/pos/catalog": {
      "get": {
        "tags": [
          "POS"
        ],
        "summary": "Get POS catalog",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "pos:read"
      }
    },
    "/pos/products": {
      "get": {
        "tags": [
          "POS"
        ],
        "summary": "List POS products",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "pos:read"
      },
      "post": {
        "tags": [
          "POS"
        ],
        "summary": "Create product",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "products:write"
      }
    },
    "/pos/products/{productId}": {
      "put": {
        "tags": [
          "POS"
        ],
        "summary": "Update product",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "products:write"
      },
      "delete": {
        "tags": [
          "POS"
        ],
        "summary": "Delete product",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "products:write"
      }
    },
    "/pos/sales": {
      "get": {
        "tags": [
          "POS"
        ],
        "summary": "List POS sales",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "pos:read"
      },
      "post": {
        "tags": [
          "POS"
        ],
        "summary": "Create POS sale",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "pos:write"
      }
    },
    "/pos/sales/{order}": {
      "get": {
        "tags": [
          "POS"
        ],
        "summary": "Get POS sale",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "pos:read"
      },
      "put": {
        "tags": [
          "POS"
        ],
        "summary": "Update POS sale",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "pos:write"
      }
    },
    "/pos/sales/{order}/status": {
      "patch": {
        "tags": [
          "POS"
        ],
        "summary": "Update POS status",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "pos:write"
      }
    },
    "/pos/sales/{order}/checkout": {
      "post": {
        "tags": [
          "POS"
        ],
        "summary": "Checkout POS sale",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "pos:write"
      }
    },
    "/invoices": {
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "List invoices and quotes",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "invoices:read"
      },
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Create invoice or quote",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "invoices:write"
      }
    },
    "/invoices/{invoice}": {
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "Get invoice or quote",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "invoices:read"
      },
      "put": {
        "tags": [
          "Invoices"
        ],
        "summary": "Update invoice or quote",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "invoices:write"
      }
    },
    "/invoices/{invoice}/status": {
      "patch": {
        "tags": [
          "Invoices"
        ],
        "summary": "Update invoice status",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "invoices:write"
      }
    },
    "/invoices/{invoice}/send": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Send invoice",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "invoices:write"
      }
    },
    "/quotes/{invoice}/convert": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Convert quote",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "invoices:write"
      }
    },
    "/payments": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "List payments",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "payments:read"
      }
    },
    "/payments/{payment}": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Get payment",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "payments:read"
      }
    },
    "/bookings/{booking}/payment-links": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Create booking payment link",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "payments:write"
      }
    },
    "/orders/{order}/payment-links": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Create order payment link",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "payments:write"
      }
    },
    "/invoices/{invoice}/payment-links": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Create invoice payment link",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "payments:write"
      }
    },
    "/leads": {
      "get": {
        "tags": [
          "Leads"
        ],
        "summary": "List leads",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "leads:read"
      },
      "post": {
        "tags": [
          "Leads"
        ],
        "summary": "Create lead",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "leads:write"
      }
    },
    "/leads/{lead}": {
      "get": {
        "tags": [
          "Leads"
        ],
        "summary": "Get lead",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "leads:read"
      },
      "put": {
        "tags": [
          "Leads"
        ],
        "summary": "Update lead",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "leads:write"
      }
    },
    "/leads/{lead}/convert": {
      "post": {
        "tags": [
          "Leads"
        ],
        "summary": "Convert lead",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "leads:write"
      }
    },
    "/forms": {
      "get": {
        "tags": [
          "Forms"
        ],
        "summary": "List forms",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "forms:read"
      },
      "post": {
        "tags": [
          "Forms"
        ],
        "summary": "Create form",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "forms:write"
      }
    },
    "/forms/{formId}": {
      "get": {
        "tags": [
          "Forms"
        ],
        "summary": "Get form and submissions",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "forms:read"
      },
      "put": {
        "tags": [
          "Forms"
        ],
        "summary": "Update form",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "forms:write"
      }
    },
    "/tasks": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "List tasks",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "tasks:read"
      },
      "post": {
        "tags": [
          "Tasks"
        ],
        "summary": "Create task",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "tasks:write"
      }
    },
    "/tasks/{taskId}": {
      "put": {
        "tags": [
          "Tasks"
        ],
        "summary": "Update task",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "tasks:write"
      }
    },
    "/workspace": {
      "get": {
        "tags": [
          "Workspace"
        ],
        "summary": "Get workspace",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "workspace:read"
      }
    },
    "/workspace/messages": {
      "post": {
        "tags": [
          "Workspace"
        ],
        "summary": "Send workspace message",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "workspace:write"
      }
    },
    "/marketing/templates": {
      "get": {
        "tags": [
          "Marketing"
        ],
        "summary": "List templates",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "marketing:read"
      }
    },
    "/marketing/campaigns": {
      "get": {
        "tags": [
          "Marketing"
        ],
        "summary": "List campaigns",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "marketing:read"
      },
      "post": {
        "tags": [
          "Marketing"
        ],
        "summary": "Create campaign",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "marketing:write"
      }
    },
    "/marketing/campaigns/{campaignId}/start": {
      "post": {
        "tags": [
          "Marketing"
        ],
        "summary": "Start campaign",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "marketing:write"
      }
    },
    "/marketing/campaigns/{campaignId}/pause": {
      "post": {
        "tags": [
          "Marketing"
        ],
        "summary": "Pause campaign",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "marketing:write"
      }
    },
    "/marketing/campaigns/{campaignId}/resume": {
      "post": {
        "tags": [
          "Marketing"
        ],
        "summary": "Resume campaign",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "marketing:write"
      }
    },
    "/team": {
      "get": {
        "tags": [
          "Team"
        ],
        "summary": "List team",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "team:read"
      }
    },
    "/team/members": {
      "post": {
        "tags": [
          "Team"
        ],
        "summary": "Create team member",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "team:write"
      }
    },
    "/integrations": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "Get integration status",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "integrations:read"
      }
    },
    "/webhooks/events": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "List webhook events",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "webhooks:read"
      }
    },
    "/webhooks": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "List webhook endpoints",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "webhooks:read"
      },
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Create webhook endpoint",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "webhooks:write"
      }
    },
    "/ai/instructions": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "Get AI instructions",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "ai:instructions:read"
      },
      "put": {
        "tags": [
          "AI"
        ],
        "summary": "Update AI instructions",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "ai:instructions:write"
      }
    },
    "/ai/auto-replies": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "Get auto-reply settings",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "auto_replies:read"
      },
      "patch": {
        "tags": [
          "AI"
        ],
        "summary": "Update auto-reply settings",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "auto_replies:write"
      }
    },
    "/meta-conversations": {
      "get": {
        "tags": [
          "Chats"
        ],
        "summary": "List Instagram and Facebook conversations",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "chats:read"
      }
    },
    "/meta-conversations/{conversation}": {
      "get": {
        "tags": [
          "Chats"
        ],
        "summary": "Get Instagram or Facebook conversation",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "chats:read"
      },
      "patch": {
        "tags": [
          "Chats"
        ],
        "summary": "Update Instagram or Facebook conversation",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "chats:write"
      }
    },
    "/meta-conversations/{conversation}/messages": {
      "post": {
        "tags": [
          "Chats"
        ],
        "summary": "Send Instagram or Facebook message",
        "parameters": [
          {
            "$ref": "#/components/parameters/RequestId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Missing required scope"
          },
          "422": {
            "description": "Validation error"
          },
          "429": {
            "description": "Rate limited"
          }
        },
        "x-artychat-scope": "chats:write"
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "parameters": {
      "IdempotencyKey": {
        "name": "Idempotency-Key",
        "in": "header",
        "required": false,
        "schema": {
          "type": "string",
          "maxLength": 200
        },
        "description": "Optional idempotency key for write requests. Replays return the original JSON response."
      },
      "RequestId": {
        "name": "X-Request-Id",
        "in": "header",
        "required": false,
        "schema": {
          "type": "string",
          "maxLength": 128
        },
        "description": "Optional request correlation ID. ArtyChat returns X-Request-Id on API responses."
      }
    },
    "schemas": {
      "FlexibleObject": {
        "type": "object",
        "additionalProperties": true
      },
      "Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "errors": {
            "type": "object",
            "additionalProperties": true
          }
        }
      }
    }
  }
}