{
  "basePath": "/",
  "definitions": {
    "handler.ABTestRequest": {
      "properties": {
        "name": {
          "type": "string"
        },
        "recipients": {
          "items": {
            "$ref": "#/definitions/handler.EmailRecipient"
          },
          "type": "array"
        },
        "split_percentage": {
          "type": "integer"
        },
        "variants": {
          "items": {
            "$ref": "#/definitions/handler.ABVariantRequest"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "handler.ABVariantRequest": {
      "properties": {
        "body": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.AiHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.ApiKeysHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.AuthHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.AuthResponse": {
      "properties": {
        "token": {
          "type": "string"
        },
        "user": {
          "$ref": "#/definitions/models.UserResponse"
        }
      },
      "type": "object"
    },
    "handler.AutomationHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.BulkEmailRequest": {
      "properties": {
        "contact_tag": {
          "type": "string"
        },
        "recipients": {
          "items": {
            "$ref": "#/definitions/handler.EmailRecipient"
          },
          "type": "array"
        },
        "scheduled_at": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        },
        "template_id": {
          "type": "string"
        },
        "track": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "handler.CampaignRequest": {
      "properties": {
        "contact_tag": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "recipients": {
          "items": {
            "$ref": "#/definitions/handler.EmailRecipient"
          },
          "type": "array"
        },
        "scheduled_at": {
          "type": "string"
        },
        "subject_override": {
          "type": "string"
        },
        "template_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.ChartData": {
      "properties": {
        "categories": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "delivered": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "sent": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "handler.CloudAccountRequest": {
      "example": {
        "access_token": "YOUR_META_SYSTEM_USER_TOKEN",
        "name": "Support number",
        "phone_number_id": "YOUR_PHONE_NUMBER_ID",
        "waba_id": "YOUR_WABA_ID"
      },
      "properties": {
        "access_token": {
          "format": "password",
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "phone_number_id": {
          "type": "string"
        },
        "waba_id": {
          "type": "string"
        },
        "webhook_url": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.CloudBulkSendRequest": {
      "example": {
        "message": "Your order is ready.",
        "recipients": [
          "254700000000",
          "254711111111"
        ],
        "scheduled_at": "2026-09-18T09:00:00Z",
        "type": "text"
      },
      "properties": {
        "caption": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        },
        "media_id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "params": {
          "additionalProperties": true,
          "type": "object"
        },
        "preview_url": {
          "type": "boolean"
        },
        "recipients": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "scheduled_at": {
          "type": "string"
        },
        "template_components": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        "template_language": {
          "type": "string"
        },
        "template_name": {
          "type": "string"
        },
        "time_delay": {
          "type": "integer"
        },
        "type": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.CloudTemplateRequest": {
      "properties": {
        "category": {
          "type": "string"
        },
        "components": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        "language": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.Contact": {
      "properties": {
        "business_name": {
          "type": "string"
        },
        "full_name": {
          "type": "string"
        },
        "jid": {
          "type": "string"
        },
        "push_name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.ContactRequest": {
      "properties": {
        "email": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.ContactsHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.ConversationHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.CreateApiKeyRequest": {
      "properties": {
        "name": {
          "type": "string"
        },
        "whatsapp_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.CreateContactRequest": {
      "properties": {
        "custom_data": {
          "additionalProperties": true,
          "type": "object"
        },
        "email": {
          "type": "string"
        },
        "groups": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "handler.CreateGroupRequest": {
      "properties": {
        "color": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.CreatePlanRequest": {
      "properties": {
        "currency": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "features": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "is_active": {
          "type": "boolean"
        },
        "is_recommended": {
          "type": "boolean"
        },
        "messages_per_month": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "price": {
          "type": "number"
        },
        "stripe_price_id": {
          "type": "string"
        },
        "whatsapp_sessions": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "handler.CreateSubscriptionRequest": {
      "properties": {
        "plan_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.CreateTemplateRequest": {
      "properties": {
        "content": {
          "type": "string"
        },
        "is_default": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "params": {
          "additionalProperties": true,
          "type": "object"
        },
        "provider_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.CreateUserProviderRequest": {
      "properties": {
        "auth_key": {
          "type": "string"
        },
        "headers": {
          "additionalProperties": true,
          "type": "object"
        },
        "is_default": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "provider_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.CronHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.DashboardData": {
      "properties": {
        "chart_data": {
          "$ref": "#/definitions/handler.ChartData"
        },
        "stats": {
          "$ref": "#/definitions/handler.DashboardStats"
        }
      },
      "type": "object"
    },
    "handler.DashboardHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.DashboardStats": {
      "properties": {
        "active_devices": {
          "type": "integer"
        },
        "messages_delivered": {
          "type": "integer"
        },
        "messages_failed": {
          "type": "integer"
        },
        "messages_sent": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "handler.DeviceAuthResponse": {
      "properties": {
        "device": {
          "$ref": "#/definitions/models.SmsDeviceResponse"
        },
        "token": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.DeviceHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.EmailABTestHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.EmailHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.EmailRecipient": {
      "properties": {
        "email": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "variables": {
          "additionalProperties": true,
          "type": "object"
        }
      },
      "type": "object"
    },
    "handler.EmailSettingsRequest": {
      "properties": {
        "encryption": {
          "type": "string"
        },
        "from_email": {
          "type": "string"
        },
        "from_name": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        },
        "resend_api_key": {
          "type": "string"
        },
        "smtp_host": {
          "type": "string"
        },
        "smtp_pass": {
          "type": "string"
        },
        "smtp_port": {
          "type": "string"
        },
        "smtp_user": {
          "type": "string"
        },
        "weekly_report": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "handler.EmailTemplateHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.EmailTemplateRequest": {
      "properties": {
        "body": {
          "type": "string"
        },
        "category": {
          "type": "string"
        },
        "design": {
          "additionalProperties": true,
          "type": "object"
        },
        "name": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.ForgotPasswordRequest": {
      "properties": {
        "email": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.GatewayHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.GetUserInfoRequest": {
      "properties": {
        "phone": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.LoginRequest": {
      "properties": {
        "email": {
          "type": "string"
        },
        "password": {
          "format": "password",
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.MarkAsReadRequest": {
      "properties": {
        "phone": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.MediaHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.MediaURLRequest": {
      "properties": {
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.MpesaCallback": {
      "properties": {
        "Body": {
          "$ref": "#/definitions/handler.MpesaCallbackBody"
        }
      },
      "type": "object"
    },
    "handler.MpesaCallbackBody": {
      "properties": {
        "stkCallback": {
          "$ref": "#/definitions/handler.MpesaCallbackSTK"
        }
      },
      "type": "object"
    },
    "handler.MpesaCallbackMetadata": {
      "properties": {
        "Item": {
          "items": {
            "$ref": "#/definitions/handler.MpesaCallbackMetadataItem"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "handler.MpesaCallbackMetadataItem": {
      "properties": {
        "Name": {
          "type": "string"
        },
        "Value": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.MpesaCallbackRequest": {
      "properties": {
        "checkout_request_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.MpesaCallbackSTK": {
      "properties": {
        "CallbackMetadata": {
          "$ref": "#/definitions/handler.MpesaCallbackMetadata"
        },
        "CheckoutRequestID": {
          "type": "string"
        },
        "ResultCode": {
          "type": "integer"
        },
        "ResultDesc": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.MpesaPaymentRequest": {
      "properties": {
        "amount": {
          "type": "number"
        },
        "credits": {
          "type": "number"
        },
        "kind": {
          "type": "string"
        },
        "phone_number": {
          "type": "string"
        },
        "plan_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.MpesaQueryResponse": {
      "properties": {
        "CheckoutRequestID": {
          "type": "string"
        },
        "MerchantRequestID": {
          "type": "string"
        },
        "ResponseCode": {
          "type": "string"
        },
        "ResponseDescription": {
          "type": "string"
        },
        "ResultCode": {
          "type": "string"
        },
        "ResultDesc": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.MpesaSTKResponse": {
      "properties": {
        "CheckoutRequestID": {
          "type": "string"
        },
        "ConversationID": {
          "type": "string"
        },
        "CustomerMessage": {
          "type": "string"
        },
        "OriginatorConversationID": {
          "type": "string"
        },
        "ResponseCode": {
          "type": "string"
        },
        "ResponseDescription": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.MpesaTokenResponse": {
      "properties": {
        "access_token": {
          "format": "password",
          "type": "string"
        },
        "expires_in": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.NotificationHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.PaymentResponse": {
      "properties": {
        "amount": {
          "type": "number"
        },
        "attempt_number": {
          "type": "integer"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "error_message": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "is_retry": {
          "type": "boolean"
        },
        "mpesa_checkout_id": {
          "type": "string"
        },
        "mpesa_phone": {
          "type": "string"
        },
        "mpesa_transaction_id": {
          "type": "string"
        },
        "paid_at": {
          "format": "date-time",
          "type": "string"
        },
        "payment_method": {
          "type": "string"
        },
        "plan_name": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.PlanHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.PublicContact": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_read": {
          "type": "boolean"
        },
        "message": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.PublicContactHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.ReactMessageRequest": {
      "properties": {
        "emoji": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.RealtimeHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.RegisterRequest": {
      "properties": {
        "email": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "password": {
          "format": "password",
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "plan_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.ReplyRequest": {
      "properties": {
        "channel": {
          "type": "string"
        },
        "device_id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.ResendWebhookHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.ResetPasswordRequest": {
      "properties": {
        "password": {
          "format": "password",
          "type": "string"
        },
        "token": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.RetryMpesaPaymentRequest": {
      "properties": {
        "payment_id": {
          "type": "string"
        },
        "phone_number": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.RevokeMessageRequest": {
      "properties": {
        "phone": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.SendAudioRequest": {
      "properties": {
        "audio": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.SendBulkSmsRequest": {
      "properties": {
        "message": {
          "type": "string"
        },
        "provider_id": {
          "type": "string"
        },
        "recipients": {
          "items": {
            "$ref": "#/definitions/services.SmsRecipient"
          },
          "type": "array"
        },
        "scheduled_at": {
          "type": "string"
        },
        "time_delay": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "handler.SendContactRequest": {
      "properties": {
        "contact_name": {
          "type": "string"
        },
        "contact_phone": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.SendDocumentRequest": {
      "properties": {
        "document": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.SendEmailAPIRequest": {
      "example": {
        "html_body": "<p>Your order is ready.</p>",
        "subject": "Order confirmation",
        "to": "customer@example.com"
      },
      "properties": {
        "body": {
          "type": "string"
        },
        "scheduled_at": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        },
        "template_id": {
          "type": "string"
        },
        "to": {
          "type": "string"
        },
        "to_name": {
          "type": "string"
        },
        "track": {
          "type": "boolean"
        },
        "variables": {
          "additionalProperties": true,
          "type": "object"
        }
      },
      "type": "object"
    },
    "handler.SendImageRequest": {
      "properties": {
        "caption": {
          "type": "string"
        },
        "image": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.SendInteractiveRequest": {
      "properties": {
        "body": {
          "type": "string"
        },
        "buttons": {
          "items": {
            "$ref": "#/definitions/services.InteractiveButton"
          },
          "type": "array"
        },
        "footer": {
          "type": "string"
        },
        "header": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.SendLinkRequest": {
      "properties": {
        "caption": {
          "type": "string"
        },
        "link": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.SendListRequest": {
      "properties": {
        "button_text": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "sections": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        "title": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.SendLocationRequest": {
      "properties": {
        "latitude": {
          "type": "number"
        },
        "longitude": {
          "type": "number"
        },
        "phone": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.SendPollRequest": {
      "properties": {
        "max_answer": {
          "type": "integer"
        },
        "options": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "phone": {
          "type": "string"
        },
        "question": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.SendSmsRequest": {
      "example": {
        "message": "Your order is ready.",
        "phone_number": "254700000000"
      },
      "properties": {
        "message": {
          "type": "string"
        },
        "phone_number": {
          "type": "string"
        },
        "provider_id": {
          "type": "string"
        },
        "scheduled_at": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.SendVideoRequest": {
      "properties": {
        "caption": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "video": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.ShortenerHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.SmsCampaignHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.SmsDeviceHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.SmsHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.SmsTemplateHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.SmsUserProviderHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.SubscriptionHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.SubscriptionResponse": {
      "properties": {
        "cancel_at_period_end": {
          "type": "boolean"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "current_period_end": {
          "format": "date-time",
          "type": "string"
        },
        "current_period_start": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "messages_per_month": {
          "type": "integer"
        },
        "messages_used": {
          "type": "integer"
        },
        "payment_method": {
          "type": "string"
        },
        "plan_name": {
          "type": "string"
        },
        "price": {
          "type": "number"
        },
        "status": {
          "type": "string"
        },
        "stripe_customer_id": {
          "type": "string"
        },
        "stripe_sub_id": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "type": "string"
        },
        "whatsapp_sessions": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "handler.UnifiedHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.UnifiedSendRequest": {
      "example": {
        "channel": "sms",
        "message": "Your order is ready.",
        "recipient": "254700000000"
      },
      "properties": {
        "channel": {
          "type": "string"
        },
        "device_id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "provider_id": {
          "type": "string"
        },
        "recipient": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        },
        "template_id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "variables": {
          "additionalProperties": true,
          "type": "object"
        }
      },
      "type": "object"
    },
    "handler.UnsubscribeHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.UpdateDeviceRequest": {
      "properties": {
        "webhook_url": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.UpdatePlanRequest": {
      "properties": {
        "currency": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "features": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "is_active": {
          "type": "boolean"
        },
        "is_recommended": {
          "type": "boolean"
        },
        "messages_per_month": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "price": {
          "type": "number"
        },
        "stripe_price_id": {
          "type": "string"
        },
        "whatsapp_sessions": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "handler.UpdateProfileRequest": {
      "properties": {
        "email": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.UpdateSubscriptionRequest": {
      "properties": {
        "plan_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.WalletHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.WebhookHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.WhatsAppCloudHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.WhatsappHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.WorkflowHandler": {
      "properties": {},
      "type": "object"
    },
    "handler.WorkflowRequest": {
      "properties": {
        "actions": {
          "items": {
            "$ref": "#/definitions/models.WorkflowAction"
          },
          "type": "array"
        },
        "conditions": {
          "items": {
            "$ref": "#/definitions/models.WorkflowCondition"
          },
          "type": "array"
        },
        "is_active": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "trigger": {
          "$ref": "#/definitions/models.WorkflowTrigger"
        }
      },
      "type": "object"
    },
    "handler.actionRequest": {
      "properties": {
        "ai_key_id": {
          "type": "string"
        },
        "attachment": {
          "type": "string"
        },
        "is_active": {
          "type": "boolean"
        },
        "match": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "priority": {
          "type": "integer"
        },
        "source": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.aiKeyRequest": {
      "properties": {
        "api_key": {
          "type": "string"
        },
        "history": {
          "type": "integer"
        },
        "is_active": {
          "type": "boolean"
        },
        "max_tokens": {
          "type": "integer"
        },
        "model": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "post_prompt": {
          "type": "string"
        },
        "prompt": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        },
        "transcription": {
          "type": "boolean"
        },
        "vision": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "handler.bulkDeviceSmsRequest": {
      "properties": {
        "message": {
          "type": "string"
        },
        "priority": {
          "type": "integer"
        },
        "recipients": {
          "items": {
            "$ref": "#/definitions/services.SmsRecipient"
          },
          "type": "array"
        },
        "scheduled_at": {
          "type": "string"
        },
        "sim": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "handler.campaignRequest": {
      "properties": {
        "device_id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "mode": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "recipients": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "handler.cloudWebhookPayload": {
      "properties": {
        "field": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "object": {
          "type": "string"
        },
        "value": {
          "$ref": "#/definitions/handler.cloudWebhookValue"
        }
      },
      "type": "object"
    },
    "handler.cloudWebhookValue": {
      "properties": {
        "body": {
          "type": "string"
        },
        "conversation": {
          "additionalProperties": true,
          "type": "object"
        },
        "display_phone_number": {
          "type": "string"
        },
        "from": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "messaging_product": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "phone_number_id": {
          "type": "string"
        },
        "pricing": {
          "additionalProperties": true,
          "type": "object"
        },
        "recipient_id": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "timestamp": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "wa_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.deviceLoginRequest": {
      "properties": {
        "did": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "manufacturer": {
          "type": "string"
        },
        "model": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "password": {
          "format": "password",
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.devicePairRequest": {
      "properties": {
        "did": {
          "type": "string"
        },
        "manufacturer": {
          "type": "string"
        },
        "model": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "token": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.flowRequest": {
      "properties": {
        "flow_data": {
          "items": {
            "$ref": "#/definitions/models.FlowNode"
          },
          "type": "array"
        },
        "is_active": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "source": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.gatewayRequest": {
      "properties": {
        "auth_type": {
          "type": "string"
        },
        "callback_url": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "endpoint": {
          "type": "string"
        },
        "headers": {
          "additionalProperties": true,
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "kind": {
          "type": "string"
        },
        "method": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "pricing": {
          "additionalProperties": true,
          "type": "object"
        },
        "pricing_per_sms": {
          "type": "number"
        },
        "request_template": {
          "type": "string"
        },
        "response_template": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.resendWebhookPayload": {
      "properties": {
        "created_at": {
          "type": "string"
        },
        "link": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "message_id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "handler.sendDeviceSmsRequest": {
      "properties": {
        "attachment": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "priority": {
          "type": "integer"
        },
        "scheduled_at": {
          "type": "string"
        },
        "sim": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "handler.updateDeviceRequest": {
      "properties": {
        "country": {
          "type": "string"
        },
        "global_device": {
          "type": "integer"
        },
        "global_priority": {
          "type": "integer"
        },
        "global_slots": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        },
        "random_max": {
          "type": "integer"
        },
        "random_min": {
          "type": "integer"
        },
        "random_send": {
          "type": "boolean"
        },
        "rate": {
          "type": "number"
        },
        "receive_sms": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "handler.walletSummary": {
      "properties": {
        "credits": {
          "type": "number"
        },
        "currency": {
          "type": "string"
        },
        "earnings": {
          "type": "number"
        },
        "partner": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "models.ABVariant": {
      "properties": {
        "body": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.APIKey": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "expires_at": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "key_hash": {
          "type": "string"
        },
        "key_hint": {
          "type": "string"
        },
        "last_used_at": {
          "format": "date-time",
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "rate_limit": {
          "type": "integer"
        },
        "requests": {
          "type": "integer"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "whatsapp_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.APIKeyResponse": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "expires_at": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "key": {
          "type": "string"
        },
        "key_hint": {
          "type": "string"
        },
        "last_used_at": {
          "format": "date-time",
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "rate_limit": {
          "type": "integer"
        },
        "requests": {
          "type": "integer"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "whatsapp_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.Action": {
      "properties": {
        "ai_key_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "attachment": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "match": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "priority": {
          "type": "integer"
        },
        "source": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.AiConversation": {
      "properties": {
        "content": {
          "type": "string"
        },
        "conversation_key": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "role": {
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.AiKey": {
      "properties": {
        "api_key": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "history": {
          "type": "integer"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "max_tokens": {
          "type": "integer"
        },
        "model": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "post_prompt": {
          "type": "string"
        },
        "prompt": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        },
        "transcription": {
          "type": "boolean"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "vision": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "models.AiKeyResponse": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "history": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "is_active": {
          "type": "boolean"
        },
        "max_tokens": {
          "type": "integer"
        },
        "model": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "post_prompt": {
          "type": "string"
        },
        "prompt": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        },
        "transcription": {
          "type": "boolean"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "type": "string"
        },
        "vision": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "models.Analytics": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "device_id": {
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "last_message_at": {
          "format": "date-time",
          "type": "string"
        },
        "media_messages": {
          "type": "integer"
        },
        "messages_received": {
          "type": "integer"
        },
        "messages_sent": {
          "type": "integer"
        },
        "phone_number": {
          "type": "string"
        },
        "text_messages": {
          "type": "integer"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.CampaignRecipient": {
      "properties": {
        "email": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "vars": {
          "additionalProperties": true,
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.Commission": {
      "properties": {
        "amount": {
          "type": "number"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "device_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "message_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "owner_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "rate": {
          "type": "number"
        },
        "sender_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.Contact": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "custom_data": {
          "additionalProperties": true,
          "type": "object"
        },
        "email": {
          "type": "string"
        },
        "groups": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.ContactGroup": {
      "properties": {
        "color": {
          "type": "string"
        },
        "contacts": {
          "type": "integer"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "name": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.ContactRequest": {
      "properties": {
        "email": {
          "type": "string"
        },
        "is_read": {
          "type": "boolean"
        },
        "message": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.ContactResponse": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "is_read": {
          "type": "boolean"
        },
        "message": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.DevicePairing": {
      "properties": {
        "claimed_at": {
          "format": "date-time",
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "expires_at": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "token": {
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.DeviceRemovedMessage": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "did": {
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "rid": {
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.EmailABTest": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "ended_at": {
          "format": "date-time",
          "type": "string"
        },
        "holdout": {
          "items": {
            "$ref": "#/definitions/models.CampaignRecipient"
          },
          "type": "array"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "name": {
          "type": "string"
        },
        "recipients": {
          "items": {
            "$ref": "#/definitions/models.CampaignRecipient"
          },
          "type": "array"
        },
        "split_percentage": {
          "type": "integer"
        },
        "started_at": {
          "format": "date-time",
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "variants": {
          "items": {
            "$ref": "#/definitions/models.ABVariant"
          },
          "type": "array"
        },
        "winner_variant_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.EmailCampaign": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "failed_count": {
          "type": "integer"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "name": {
          "type": "string"
        },
        "recipients": {
          "items": {
            "$ref": "#/definitions/models.CampaignRecipient"
          },
          "type": "array"
        },
        "scheduled_at": {
          "format": "date-time",
          "type": "string"
        },
        "sent_at": {
          "format": "date-time",
          "type": "string"
        },
        "sent_count": {
          "type": "integer"
        },
        "status": {
          "type": "string"
        },
        "subject_override": {
          "type": "string"
        },
        "template_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "total_count": {
          "type": "integer"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.EmailLog": {
      "properties": {
        "ab_test_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "campaign_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "clicked_at": {
          "format": "date-time",
          "type": "string"
        },
        "clicked_url": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "error_message": {
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "opened_at": {
          "format": "date-time",
          "type": "string"
        },
        "provider": {
          "type": "string"
        },
        "provider_message_id": {
          "type": "string"
        },
        "recipient": {
          "type": "string"
        },
        "recipient_name": {
          "type": "string"
        },
        "scheduled_at": {
          "format": "date-time",
          "type": "string"
        },
        "sent_at": {
          "format": "date-time",
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        },
        "unsubscribed_at": {
          "format": "date-time",
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "variant": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.EmailSettings": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "encryption": {
          "type": "string"
        },
        "from_email": {
          "type": "string"
        },
        "from_name": {
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "provider": {
          "type": "string"
        },
        "smtp_host": {
          "type": "string"
        },
        "smtp_port": {
          "type": "string"
        },
        "smtp_user": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "weekly_report": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "models.EmailTemplate": {
      "properties": {
        "body": {
          "type": "string"
        },
        "category": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "design": {
          "additionalProperties": true,
          "type": "object"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.Flow": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "flow_data": {
          "items": {
            "$ref": "#/definitions/models.FlowNode"
          },
          "type": "array"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "source": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.FlowNode": {
      "properties": {
        "config": {
          "additionalProperties": true,
          "type": "object"
        },
        "id": {
          "type": "string"
        },
        "next": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.FlowRun": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "flow_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "log": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "status": {
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.MediaAsset": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "mime_type": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "size_bytes": {
          "type": "integer"
        },
        "source": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.Message": {
      "properties": {
        "channel": {
          "type": "string"
        },
        "chat_id": {
          "type": "string"
        },
        "contact_name": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "device_id": {
          "type": "string"
        },
        "direction": {
          "type": "string"
        },
        "from": {
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "msg_type": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        },
        "provider_message_id": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "timestamp": {
          "format": "date-time",
          "type": "string"
        },
        "to": {
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.Notification": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "data": {
          "additionalProperties": true,
          "type": "object"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_read": {
          "type": "boolean"
        },
        "message": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "user_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.PasswordReset": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "expires_at": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "token_hash": {
          "type": "string"
        },
        "used": {
          "type": "boolean"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.Payment": {
      "properties": {
        "amount": {
          "type": "number"
        },
        "attempt_number": {
          "type": "integer"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "credits": {
          "type": "number"
        },
        "currency": {
          "type": "string"
        },
        "error_message": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "is_retry": {
          "type": "boolean"
        },
        "kind": {
          "type": "string"
        },
        "mpesa_checkout_id": {
          "type": "string"
        },
        "mpesa_phone": {
          "type": "string"
        },
        "mpesa_transaction_id": {
          "type": "string"
        },
        "paid_at": {
          "format": "date-time",
          "type": "string"
        },
        "parent_payment_id": {
          "type": "string"
        },
        "payment_method": {
          "type": "string"
        },
        "plan_id": {
          "type": "string"
        },
        "plan_name": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "subscription_id": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.Payout": {
      "properties": {
        "address": {
          "type": "string"
        },
        "amount": {
          "type": "number"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "note": {
          "type": "string"
        },
        "processed_at": {
          "format": "date-time",
          "type": "string"
        },
        "provider": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.Plan": {
      "properties": {
        "contact_limit": {
          "type": "integer"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "device_limit": {
          "type": "integer"
        },
        "features": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "footer_mark": {
          "type": "boolean"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "is_default": {
          "type": "boolean"
        },
        "is_recommended": {
          "type": "boolean"
        },
        "key_limit": {
          "type": "integer"
        },
        "messages_per_month": {
          "type": "integer"
        },
        "monthly_credits": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "price": {
          "type": "number"
        },
        "receive_limit": {
          "type": "integer"
        },
        "send_limit": {
          "type": "integer"
        },
        "services": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "stripe_price_id": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "webhook_limit": {
          "type": "integer"
        },
        "whatsapp_sessions": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "models.RateCard": {
      "properties": {
        "channel": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "credits": {
          "type": "number"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "label": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.SenderId": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "name": {
          "type": "string"
        },
        "reason": {
          "type": "string"
        },
        "reviewed_at": {
          "format": "date-time",
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.Shortener": {
      "properties": {
        "api_key": {
          "type": "string"
        },
        "api_url": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "is_default": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.ShortenerResponse": {
      "properties": {
        "api_url": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "is_active": {
          "type": "boolean"
        },
        "is_default": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.SmsCampaign": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "device_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "failed": {
          "type": "integer"
        },
        "gateway_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "message": {
          "type": "string"
        },
        "mode": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "recipients": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "sent": {
          "type": "integer"
        },
        "status": {
          "type": "string"
        },
        "total": {
          "type": "integer"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.SmsDevice": {
      "properties": {
        "country": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "did": {
          "type": "string"
        },
        "fcm_token": {
          "type": "string"
        },
        "global_device": {
          "type": "integer"
        },
        "global_priority": {
          "type": "integer"
        },
        "global_slots": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "last_seen_at": {
          "format": "date-time",
          "type": "string"
        },
        "manufacturer": {
          "type": "string"
        },
        "model": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "random_max": {
          "type": "integer"
        },
        "random_min": {
          "type": "integer"
        },
        "random_send": {
          "type": "boolean"
        },
        "rate": {
          "type": "number"
        },
        "receive_sms": {
          "type": "integer"
        },
        "status": {
          "type": "string"
        },
        "token_hash": {
          "type": "string"
        },
        "token_last4": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "version": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.SmsDeviceResponse": {
      "properties": {
        "country": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "did": {
          "type": "string"
        },
        "global_device": {
          "type": "integer"
        },
        "global_priority": {
          "type": "integer"
        },
        "global_slots": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "id": {
          "type": "string"
        },
        "last_seen_at": {
          "format": "date-time",
          "type": "string"
        },
        "manufacturer": {
          "type": "string"
        },
        "model": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "random_max": {
          "type": "integer"
        },
        "random_min": {
          "type": "integer"
        },
        "random_send": {
          "type": "boolean"
        },
        "rate": {
          "type": "number"
        },
        "receive_sms": {
          "type": "integer"
        },
        "status": {
          "type": "string"
        },
        "token_last4": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.SmsInbound": {
      "properties": {
        "attachment": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "device_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "message": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "received_at": {
          "format": "date-time",
          "type": "string"
        },
        "rid": {
          "type": "string"
        },
        "sim": {
          "type": "integer"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.SmsLog": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "error_message": {
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "message": {
          "type": "string"
        },
        "provider_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "recipient": {
          "type": "string"
        },
        "scheduled_at": {
          "format": "date-time",
          "type": "string"
        },
        "segments": {
          "type": "integer"
        },
        "sent_at": {
          "format": "date-time",
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.SmsOutbound": {
      "properties": {
        "attachment": {
          "type": "string"
        },
        "attempts": {
          "type": "integer"
        },
        "campaign_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "charge": {
          "type": "number"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "device_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "gateway_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "message": {
          "type": "string"
        },
        "mode": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "priority": {
          "type": "integer"
        },
        "queued_at": {
          "format": "date-time",
          "type": "string"
        },
        "scheduled_at": {
          "format": "date-time",
          "type": "string"
        },
        "sender": {
          "type": "string"
        },
        "sent_at": {
          "format": "date-time",
          "type": "string"
        },
        "sim": {
          "type": "integer"
        },
        "source": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "status_code": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.SmsProvider": {
      "properties": {
        "auth_type": {
          "type": "string"
        },
        "callback_url": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "endpoint": {
          "type": "string"
        },
        "headers": {
          "additionalProperties": true,
          "type": "object"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "kind": {
          "type": "string"
        },
        "method": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "pricing": {
          "additionalProperties": true,
          "type": "object"
        },
        "pricing_per_sms": {
          "type": "number"
        },
        "request_template": {
          "type": "string"
        },
        "response_template": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.SmsTemplate": {
      "properties": {
        "content": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "is_default": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "params": {
          "additionalProperties": true,
          "type": "object"
        },
        "provider_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "variables": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "models.SmsUserProvider": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "endpoint": {
          "type": "string"
        },
        "headers": {
          "additionalProperties": true,
          "type": "object"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "is_default": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "provider_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.Subscription": {
      "properties": {
        "cancel_at_period_end": {
          "type": "boolean"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "current_period_end": {
          "format": "date-time",
          "type": "string"
        },
        "current_period_start": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "messages_per_month": {
          "type": "integer"
        },
        "messages_used": {
          "type": "integer"
        },
        "monthly_credits": {
          "type": "integer"
        },
        "payment_method": {
          "type": "string"
        },
        "plan_name": {
          "type": "string"
        },
        "price": {
          "type": "number"
        },
        "status": {
          "type": "string"
        },
        "stripe_customer_id": {
          "type": "string"
        },
        "stripe_sub_id": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "whatsapp_sessions": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "models.Unsubscribed": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "phone": {
          "type": "string"
        },
        "source": {
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.User": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "credits": {
          "type": "number"
        },
        "earnings": {
          "type": "number"
        },
        "email": {
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "language": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "partner": {
          "type": "boolean"
        },
        "password": {
          "format": "password",
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "role": {
          "type": "string"
        },
        "suspended": {
          "type": "boolean"
        },
        "timezone": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.UserResponse": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "credits": {
          "type": "number"
        },
        "earnings": {
          "type": "number"
        },
        "email": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "language": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "partner": {
          "type": "boolean"
        },
        "phone": {
          "type": "string"
        },
        "role": {
          "type": "string"
        },
        "suspended": {
          "type": "boolean"
        },
        "timezone": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.UssdRequest": {
      "properties": {
        "code": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "device_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "response": {
          "type": "string"
        },
        "sim": {
          "type": "integer"
        },
        "status": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.Voucher": {
      "properties": {
        "batch": {
          "type": "string"
        },
        "code": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "duration_days": {
          "type": "integer"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "name": {
          "type": "string"
        },
        "plan_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "redeemed_at": {
          "format": "date-time",
          "type": "string"
        },
        "redeemed_by": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.WalletTransaction": {
      "properties": {
        "amount": {
          "type": "number"
        },
        "balance_after": {
          "type": "number"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "reference": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.Webhook": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "events": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "secret": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.WebhookDelivery": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "duration_ms": {
          "type": "integer"
        },
        "event": {
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "ok": {
          "type": "boolean"
        },
        "response": {
          "type": "string"
        },
        "status_code": {
          "type": "integer"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "webhook_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.WhatsAppCloudAccount": {
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "display_phone_number": {
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "phone_number_id": {
          "type": "string"
        },
        "quality_rating": {
          "type": "string"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "verified_name": {
          "type": "string"
        },
        "waba_id": {
          "type": "string"
        },
        "webhook_url": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.WhatsAppSession": {
      "properties": {
        "connected_at": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "last_activity_at": {
          "format": "date-time",
          "type": "string"
        },
        "phone_number_id": {
          "type": "string"
        },
        "session_name": {
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "webhook_url": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.Workflow": {
      "properties": {
        "actions": {
          "items": {
            "$ref": "#/definitions/models.WorkflowAction"
          },
          "type": "array"
        },
        "conditions": {
          "items": {
            "$ref": "#/definitions/models.WorkflowCondition"
          },
          "type": "array"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "is_active": {
          "type": "boolean"
        },
        "last_run_at": {
          "format": "date-time",
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "run_count": {
          "type": "integer"
        },
        "trigger": {
          "$ref": "#/definitions/models.WorkflowTrigger"
        },
        "updated_at": {
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.WorkflowAction": {
      "properties": {
        "config": {
          "additionalProperties": true,
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.WorkflowCondition": {
      "properties": {
        "field": {
          "type": "string"
        },
        "operator": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "models.WorkflowRun": {
      "properties": {
        "completed_at": {
          "format": "date-time",
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "error": {
          "type": "string"
        },
        "id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "logs": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "status": {
          "type": "string"
        },
        "trigger_type": {
          "type": "string"
        },
        "user_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "workflow_id": {
          "properties": {
            "ID": {
              "type": "string"
            },
            "Table": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "models.WorkflowTrigger": {
      "properties": {
        "config": {
          "additionalProperties": true,
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.ApiKeyService": {
      "properties": {},
      "type": "object"
    },
    "services.BaseMessageRequest": {
      "properties": {
        "button_text": {
          "type": "string"
        },
        "caption": {
          "type": "string"
        },
        "contact_name": {
          "type": "string"
        },
        "contact_phone": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        },
        "latitude": {
          "type": "number"
        },
        "link": {
          "type": "string"
        },
        "longitude": {
          "type": "number"
        },
        "max_answer": {
          "type": "integer"
        },
        "message": {
          "type": "string"
        },
        "options": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "question": {
          "type": "string"
        },
        "sections": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "urls": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "services.BulkMessageRequest": {
      "properties": {
        "params": {
          "additionalProperties": true,
          "type": "object"
        },
        "phone_numbers": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "time_delay": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "services.CampaignRecipient": {
      "properties": {
        "email": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "vars": {
          "additionalProperties": true,
          "type": "object"
        }
      },
      "type": "object"
    },
    "services.ChatInfo": {
      "properties": {
        "is_archived": {
          "type": "boolean"
        },
        "is_muted": {
          "type": "boolean"
        },
        "is_pinned": {
          "type": "boolean"
        },
        "jid": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.CloudClient": {
      "properties": {},
      "type": "object"
    },
    "services.CloudCredentials": {
      "properties": {},
      "type": "object"
    },
    "services.CloudPhoneNumberInfo": {
      "properties": {
        "display_phone_number": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "quality_rating": {
          "type": "string"
        },
        "verified_name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.CloudScheduledBulkPayload": {
      "properties": {
        "account_id": {
          "type": "string"
        },
        "params": {
          "additionalProperties": true,
          "type": "object"
        },
        "recipients": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "request": {
          "$ref": "#/definitions/services.CloudSendRequest"
        },
        "time_delay": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "services.CloudSendRequest": {
      "example": {
        "template_language": "en_US",
        "template_name": "hello_world",
        "to": "254700000000",
        "type": "template"
      },
      "properties": {
        "address": {
          "type": "string"
        },
        "buttons": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        "caption": {
          "type": "string"
        },
        "contact_name": {
          "type": "string"
        },
        "contact_phone": {
          "type": "string"
        },
        "emoji": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        },
        "latitude": {
          "type": "number"
        },
        "location_name": {
          "type": "string"
        },
        "longitude": {
          "type": "number"
        },
        "media_id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "message_id": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "preview_url": {
          "type": "boolean"
        },
        "template_components": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        "template_language": {
          "type": "string"
        },
        "template_name": {
          "type": "string"
        },
        "to": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.CloudSendResponse": {
      "properties": {
        "id": {
          "type": "string"
        },
        "input": {
          "type": "string"
        },
        "message_status": {
          "type": "string"
        },
        "messaging_product": {
          "type": "string"
        },
        "wa_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.CloudTemplate": {
      "properties": {
        "category": {
          "type": "string"
        },
        "components": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        "id": {
          "type": "string"
        },
        "language": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.DeviceInfo": {
      "properties": {},
      "type": "object"
    },
    "services.DeviceMessage": {
      "properties": {
        "attachment": {
          "type": "string"
        },
        "campaign_id": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "priority": {
          "type": "integer"
        },
        "sender": {
          "type": "string"
        },
        "sim": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "services.DeviceUssd": {
      "properties": {
        "code": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "sim": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "services.EmailBulkPayload": {
      "properties": {
        "ab_test_id": {
          "type": "string"
        },
        "campaign_id": {
          "type": "string"
        },
        "html": {
          "type": "string"
        },
        "recipients": {
          "items": {
            "$ref": "#/definitions/services.CampaignRecipient"
          },
          "type": "array"
        },
        "subject": {
          "type": "string"
        },
        "track": {
          "type": "boolean"
        },
        "user_id": {
          "type": "string"
        },
        "variant": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.EmailDeliverySettings": {
      "properties": {
        "encryption": {
          "type": "string"
        },
        "from_email": {
          "type": "string"
        },
        "from_name": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        },
        "smtp_host": {
          "type": "string"
        },
        "smtp_port": {
          "type": "string"
        },
        "smtp_user": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.EmailSendPayload": {
      "properties": {
        "ab_test_id": {
          "type": "string"
        },
        "campaign_id": {
          "type": "string"
        },
        "html": {
          "type": "string"
        },
        "log_id": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        },
        "to": {
          "type": "string"
        },
        "to_name": {
          "type": "string"
        },
        "track": {
          "type": "boolean"
        },
        "unsubscribe": {
          "type": "boolean"
        },
        "user_id": {
          "type": "string"
        },
        "variant": {
          "type": "string"
        },
        "vars": {
          "additionalProperties": true,
          "type": "object"
        }
      },
      "type": "object"
    },
    "services.EmailService": {
      "properties": {},
      "type": "object"
    },
    "services.InteractiveButton": {
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.MediaItem": {
      "properties": {},
      "type": "object"
    },
    "services.MessageRequest": {
      "properties": {
        "phone": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.QuotaExceededError": {
      "properties": {},
      "type": "object"
    },
    "services.RealtimeEvent": {
      "properties": {
        "at": {
          "format": "date-time",
          "type": "string"
        },
        "data": {
          "additionalProperties": true,
          "type": "object"
        },
        "event": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.ScheduleBulkWhatsappMessageInput": {
      "properties": {},
      "type": "object"
    },
    "services.ScheduleBulkWhatsappMessagePayload": {
      "properties": {},
      "type": "object"
    },
    "services.ScheduleBulkWhatsappMessageRequest": {
      "properties": {
        "scheduled_date": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.ScheduleWhatsappMessageInput": {
      "properties": {},
      "type": "object"
    },
    "services.ScheduleWhatsappMessagePayload": {
      "properties": {},
      "type": "object"
    },
    "services.ScheduleWhatsappMessageRequest": {
      "properties": {
        "scheduled_date": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.SendBulkMessageInput": {
      "properties": {},
      "type": "object"
    },
    "services.SendBulkMessagePayload": {
      "properties": {},
      "type": "object"
    },
    "services.SendEmailRequest": {
      "properties": {
        "html": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "to": {
          "type": "string"
        },
        "to_name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.SendMessageInput": {
      "properties": {},
      "type": "object"
    },
    "services.SendPayload": {
      "properties": {},
      "type": "object"
    },
    "services.SendSmsMessageRequest": {
      "properties": {
        "message": {
          "type": "string"
        },
        "phone_number": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.SmsBulkPayload": {
      "properties": {
        "message": {
          "type": "string"
        },
        "provider_id": {
          "type": "string"
        },
        "recipients": {
          "items": {
            "$ref": "#/definitions/services.SmsRecipient"
          },
          "type": "array"
        },
        "scheduled_at": {
          "format": "date-time",
          "type": "string"
        },
        "time_delay": {
          "type": "integer"
        },
        "user_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.SmsRecipient": {
      "properties": {
        "name": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "variables": {
          "additionalProperties": true,
          "type": "object"
        }
      },
      "type": "object"
    },
    "services.SmsService": {
      "properties": {},
      "type": "object"
    },
    "services.WebhookPayload": {
      "properties": {
        "data": {
          "additionalProperties": true,
          "type": "object"
        },
        "event": {
          "type": "string"
        },
        "webhook_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.Whatsapp": {
      "properties": {},
      "type": "object"
    },
    "services.WorkflowProcessPayload": {
      "properties": {
        "trigger_data": {
          "additionalProperties": true,
          "type": "object"
        },
        "trigger_type": {
          "type": "string"
        },
        "workflow_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.aiChatMessage": {
      "properties": {
        "content": {
          "type": "string"
        },
        "role": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "services.cloudTemplateListResponse": {
      "properties": {
        "data": {
          "items": {
            "$ref": "#/definitions/services.CloudTemplate"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "services.graphErrorBody": {
      "properties": {
        "code": {
          "type": "integer"
        },
        "message": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "info": {
    "description": "Send messages over WhatsApp Cloud, linked WhatsApp devices, SMS and email. Create an API key in Dashboard \u2192 API keys, then pass it as Authorization: Bearer YOUR_API_KEY. Meta access tokens are separate and only used when connecting a Cloud account.",
    "title": "WhatsAPI \u00b7 Integration API",
    "version": "1.0"
  },
  "paths": {
    "/api/v1/analytics/overview": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_unifiedHandler_Overview",
        "parameters": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Overview",
        "tags": [
          "Account"
        ]
      }
    },
    "/api/v1/email/send": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_emailHandler_SendEmailMessage",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.SendEmailAPIRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Email Message",
        "tags": [
          "Email"
        ]
      }
    },
    "/api/v1/email/send-bulk": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_emailHandler_SendBulkEmail",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.BulkEmailRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Bulk Email",
        "tags": [
          "Email"
        ]
      }
    },
    "/api/v1/messages/send": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_unifiedHandler_Send",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.UnifiedSendRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send",
        "tags": [
          "Account"
        ]
      }
    },
    "/api/v1/sms/analytics": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_smsHandler_GetAnalytics",
        "parameters": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Analytics",
        "tags": [
          "SMS"
        ]
      }
    },
    "/api/v1/sms/devices": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_smsDeviceHandler_ListDevices",
        "parameters": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Devices",
        "tags": [
          "SMS"
        ]
      }
    },
    "/api/v1/sms/devices/{id}": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_smsDeviceHandler_GetDevice",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Device",
        "tags": [
          "SMS"
        ]
      }
    },
    "/api/v1/sms/devices/{id}/send": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_smsDeviceHandler_SendSMS",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.sendDeviceSmsRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send SMS",
        "tags": [
          "SMS"
        ]
      }
    },
    "/api/v1/sms/devices/{id}/send-bulk": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_smsDeviceHandler_SendBulkSMS",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.bulkDeviceSmsRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Bulk SMS",
        "tags": [
          "SMS"
        ]
      }
    },
    "/api/v1/sms/logs": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_smsHandler_GetLogs",
        "parameters": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Logs",
        "tags": [
          "SMS"
        ]
      }
    },
    "/api/v1/sms/messages": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_smsDeviceHandler_ListMessages",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "type": "string"
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "in": "query",
            "name": "status",
            "required": false,
            "type": "string"
          },
          {
            "in": "query",
            "name": "device_id",
            "required": false,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Messages",
        "tags": [
          "SMS"
        ]
      }
    },
    "/api/v1/sms/received": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_smsDeviceHandler_ListReceived",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "type": "string"
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Received",
        "tags": [
          "SMS"
        ]
      }
    },
    "/api/v1/sms/send": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_smsHandler_SendMessage",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.SendSmsRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Message",
        "tags": [
          "SMS"
        ]
      }
    },
    "/api/v1/sms/send-bulk": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_smsHandler_SendBulkMessage",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.SendBulkSmsRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Bulk Message",
        "tags": [
          "SMS"
        ]
      }
    },
    "/api/v1/sms/ussd": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_smsDeviceHandler_ListUssd",
        "parameters": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Ussd",
        "tags": [
          "SMS"
        ]
      },
      "post": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_smsDeviceHandler_QueueUssd",
        "parameters": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Queue Ussd",
        "tags": [
          "SMS"
        ]
      }
    },
    "/api/v1/whatsapp/cloud/accounts": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappCloudHandler_GetCloudAccounts",
        "parameters": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Accounts",
        "tags": [
          "WhatsApp Cloud"
        ]
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappCloudHandler_CreateCloudAccount",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.CloudAccountRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Create Account",
        "tags": [
          "WhatsApp Cloud"
        ]
      }
    },
    "/api/v1/whatsapp/cloud/accounts/verify": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappCloudHandler_VerifyCloudAccountCredentials",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.CloudAccountRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Verify Account Credentials",
        "tags": [
          "WhatsApp Cloud"
        ]
      }
    },
    "/api/v1/whatsapp/cloud/accounts/{id}": {
      "delete": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappCloudHandler_DeleteCloudAccount",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Delete Account",
        "tags": [
          "WhatsApp Cloud"
        ]
      },
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappCloudHandler_GetCloudAccount",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Account",
        "tags": [
          "WhatsApp Cloud"
        ]
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappCloudHandler_UpdateCloudAccount",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.CloudAccountRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Update Account",
        "tags": [
          "WhatsApp Cloud"
        ]
      }
    },
    "/api/v1/whatsapp/cloud/accounts/{id}/mark-read": {
      "post": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappCloudHandler_CloudMarkRead",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Mark Read",
        "tags": [
          "WhatsApp Cloud"
        ]
      }
    },
    "/api/v1/whatsapp/cloud/accounts/{id}/send": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappCloudHandler_CloudSendMessage",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/services.CloudSendRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Message",
        "tags": [
          "WhatsApp Cloud"
        ]
      }
    },
    "/api/v1/whatsapp/cloud/accounts/{id}/send-bulk": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nFor immediate bulk sending omit scheduled_at. To schedule, set scheduled_at to a future RFC3339 timestamp. The queued response means accepted for processing; run the Asynq worker and Valkey.\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappCloudHandler_CloudSendBulk",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.CloudBulkSendRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Bulk",
        "tags": [
          "WhatsApp Cloud"
        ]
      }
    },
    "/api/v1/whatsapp/cloud/accounts/{id}/templates": {
      "delete": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappCloudHandler_DeleteCloudTemplate",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "name",
            "required": false,
            "type": "string"
          },
          {
            "in": "query",
            "name": "hsm_id",
            "required": false,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Delete Template",
        "tags": [
          "WhatsApp Cloud"
        ]
      },
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappCloudHandler_GetCloudTemplates",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Templates",
        "tags": [
          "WhatsApp Cloud"
        ]
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappCloudHandler_CreateCloudTemplate",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.CloudTemplateRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Create Template",
        "tags": [
          "WhatsApp Cloud"
        ]
      }
    },
    "/api/v1/whatsapp/devices": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_GetDevices",
        "parameters": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Devices",
        "tags": [
          "WhatsApp devices"
        ]
      },
      "post": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_RegisterDevice",
        "parameters": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Register Device",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}": {
      "delete": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_DeleteDevice",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Delete Device",
        "tags": [
          "WhatsApp devices"
        ]
      },
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_GetDevice",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Device",
        "tags": [
          "WhatsApp devices"
        ]
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_UpdateDevice",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.UpdateDeviceRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Update Device",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/chats": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_GetChats",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Chats",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/chats/{chatJid}/archive": {
      "post": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_ArchiveChat",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "chatJid",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Archive Chat",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/contacts": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_GetContacts",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Contacts",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/groups": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_GetGroups",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Groups",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/groups/create": {
      "post": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_CreateGroup",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Create Group",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/groups/join": {
      "post": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_JoinGroupWithLink",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Join Group With Link",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/groups/{groupJid}": {
      "delete": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_LeaveGroup",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "groupJid",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Leave Group",
        "tags": [
          "WhatsApp devices"
        ]
      },
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_GetGroupInfo",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "groupJid",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Group Info",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/groups/{groupJid}/announce": {
      "put": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_SetGroupAnnounce",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "groupJid",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Set Group Announce",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/groups/{groupJid}/invite-link": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_GetGroupInviteLink",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "groupJid",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "reset",
            "required": false,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Group Invite Link",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/groups/{groupJid}/join-requests": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_GetGroupJoinRequests",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "groupJid",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Group Join Requests",
        "tags": [
          "WhatsApp devices"
        ]
      },
      "put": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_ManageGroupJoinRequests",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "groupJid",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Manage Group Join Requests",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/groups/{groupJid}/locked": {
      "put": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_SetGroupLocked",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "groupJid",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Set Group Locked",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/groups/{groupJid}/name": {
      "put": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_SetGroupName",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "groupJid",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Set Group Name",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/groups/{groupJid}/participants": {
      "put": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_ManageGroupParticipants",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "groupJid",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Manage Group Participants",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/groups/{groupJid}/topic": {
      "put": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_SetGroupTopic",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "groupJid",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Set Group Topic",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/logout": {
      "post": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_LogoutDevice",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Logout Device",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/messages/{messageId}/react": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_ReactMessage",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "messageId",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.ReactMessageRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "React Message",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/messages/{messageId}/read": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_MarkAsRead",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "messageId",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.MarkAsReadRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Mark As Read",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/messages/{messageId}/revoke": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_RevokeMessage",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "messageId",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.RevokeMessageRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Revoke Message",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/reconnect": {
      "post": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_ReconnectDevice",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Reconnect Device",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/send": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_SendMessage",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/services.MessageRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Message",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/send-audio": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_SendAudio",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.SendAudioRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Audio",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/send-contact": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_SendContact",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.SendContactRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Contact",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/send-document": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_SendDocument",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.SendDocumentRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Document",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/send-image": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_SendImage",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.SendImageRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Image",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/send-interactive": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_SendInteractive",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.SendInteractiveRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Interactive",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/send-link": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_SendLink",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.SendLinkRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Link",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/send-list": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_SendList",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.SendListRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send List",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/send-location": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_SendLocation",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.SendLocationRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Location",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/send-poll": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_SendPoll",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.SendPollRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Poll",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/send-video": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_SendVideo",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/handler.SendVideoRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send Video",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/status": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_GetDeviceStatus",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Device Status",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/user/check": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_CheckUserOnWhatsApp",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "phone",
            "required": false,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Check User On Whats App",
        "tags": [
          "WhatsApp devices"
        ]
      }
    },
    "/api/v1/whatsapp/devices/{id}/user/info": {
      "get": {
        "description": "\nAuthenticate with Authorization: Bearer YOUR_API_KEY. IDs in paths are the record ID suffix (the ID property), without the table prefix.",
        "operationId": "public_whatsappHandler_GetUserInfo",
        "parameters": [
          {
            "description": "Record ID suffix or identifier returned by the corresponding list endpoint.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "phone",
            "required": false,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Record not found or not owned by this account",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "429": {
            "description": "Rate limit or message quota exceeded",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "500": {
            "description": "Internal error",
            "schema": {
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List User Info",
        "tags": [
          "WhatsApp devices"
        ]
      }
    }
  },
  "securityDefinitions": {
    "ApiKeyAuth": {
      "description": "Bearer YOUR_API_KEY",
      "in": "header",
      "name": "Authorization",
      "type": "apiKey"
    },
    "BearerAuth": {
      "description": "Bearer YOUR_JWT",
      "in": "header",
      "name": "Authorization",
      "type": "apiKey"
    }
  },
  "swagger": "2.0"
}
