{
  "name": "Whitelabel API AI Index",
  "version": "1.0.0",
  "language": "pt-BR",
  "base_urls": {
    "production": "https://api-gateway.apiwhitelabel.com/v1"
  },
  "auth": {
    "type": "bearer",
    "header": "Authorization: Bearer <token>",
    "login_endpoint": {
      "method": "POST",
      "path": "/auth/login",
      "required": [
        "email",
        "password"
      ]
    }
  },
  "endpoints": [
    {
      "name": "send_sms_simple",
      "method": "POST",
      "path": "/messages/send",
      "required_fields": [
        "to",
        "message"
      ],
      "optional_fields": [
        "campaign"
      ],
      "success_status": 202
    },
    {
      "name": "campaign_create",
      "method": "POST",
      "path": "/campaigns",
      "required_fields": [
        "name",
        "description",
        "webhook",
        "delay",
        "template"
      ],
      "success_status": 201
    },
    {
      "name": "campaign_update",
      "method": "PATCH",
      "path": "/campaigns/{campaign}",
      "required_fields": [],
      "optional_fields": [
        "description",
        "delay",
        "template"
      ],
      "success_status": 200
    },
    {
      "name": "campaign_delete",
      "method": "DELETE",
      "path": "/campaigns/{campaign}",
      "success_status": 204
    },
    {
      "name": "contact_create_one",
      "method": "POST",
      "path": "/campaigns/{campaign}/contacts",
      "required_fields": [
        "phone"
      ],
      "optional_fields": [
        "name",
        "email",
        "document",
        "tags"
      ],
      "success_status": 201
    },
    {
      "name": "contact_import",
      "method": "POST",
      "path": "/campaigns/{campaign}/contacts/import",
      "required_form_fields": [
        "file",
        "file_format",
        "phone_column"
      ],
      "optional_form_fields": [
        "name_column",
        "email_column",
        "document_column",
        "tags_column",
        "delimiter",
        "has_header"
      ],
      "success_status": 202
    },
    {
      "name": "templates_get",
      "method": "GET",
      "path": "/templates",
      "query": [
        "page",
        "per_page"
      ],
      "success_status": 200
    },
    {
      "name": "templates_create",
      "method": "POST",
      "path": "/templates",
      "required_fields": [
        "name",
        "content"
      ],
      "success_status": 201
    },
    {
      "name": "templates_update",
      "method": "PATCH",
      "path": "/templates/{template}",
      "required_fields": [
        "content"
      ],
      "success_status": 200
    },
    {
      "name": "templates_delete",
      "method": "DELETE",
      "path": "/templates/{template}",
      "success_status": 204
    },
    {
      "name": "webhook_create",
      "method": "POST",
      "path": "/webhooks",
      "required_fields": [
        "url",
        "events"
      ],
      "success_status": 201
    },
    {
      "name": "settings_get",
      "method": "GET",
      "path": "/settings",
      "success_status": 200
    }
  ],
  "error_format": {
    "shape": {
      "error": {
        "code": "string",
        "message": "string",
        "details": [
          {
            "field": "string",
            "issue": "string"
          }
        ]
      },
      "request": "string"
    },
    "http_statuses": [
      400,
      401,
      403,
      404,
      422,
      429,
      500
    ]
  },
  "resources": {
    "docs": "/api/documentacao",
    "postman": "/postman/viasms.postman_collection.json",
    "ai_index": "/machine/viasms.ai-index.json"
  }
}