smskitdocs

Webhooks

Cadastre uma URL, veja as últimas entregas e dispare um evento de teste.

Base https://api.smskit.dev · Autorização Bearer <token> · como obter o token

POST/v1/webhooks

Criar webhook

O secret é exibido apenas nesta resposta. Use-o para verificar X-SMSKit-Signature.

Corpo · WebhookIn

descriptionstring
até 200 caracteres
eventsWebhookEventType[]obrigatório
valores: message.sent, message.delivered, message.failed, message.replied, sms.completed, webhook.test
urlstringobrigatório
até 500 caracteres

Respostas

  • 201Objeto WebhookOutactive, created_at, description, events, id, object, secret, url
  • 401Credencial ausente, inválida ou expirada
  • 422validation_error
  • 429rate_limited — respeite Retry-After
curl -X POST https://api.smskit.dev/v1/webhooks \
  -H "Authorization: Bearer $SMSKIT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/webhooks/smskit",
    "events": [
      "message.delivered",
      "sms.completed"
    ]
  }'
201 · resposta
{
  "id": "wh_4d8q1z",
  "object": "webhook",
  "url": "https://example.com/webhooks/smskit",
  "events": [
    "message.delivered",
    "sms.completed"
  ],
  "active": true,
  "created_at": "2026-09-11T14:03:00Z",
  "description": "Entregas em produção",
  "secret": "whsec_6k2p9v4d1z8m"
}

GET/v1/webhooks

Listar webhooks

Respostas

  • 200Objeto WebhookListdata, object
  • 401Credencial ausente, inválida ou expirada
  • 422validation_error
  • 429rate_limited — respeite Retry-After
curl https://api.smskit.dev/v1/webhooks \
  -H "Authorization: Bearer $SMSKIT_TOKEN"
200 · resposta
{
  "object": "list",
  "data": [
    {
      "id": "wh_4d8q1z",
      "object": "webhook",
      "url": "https://example.com/webhooks/smskit",
      "events": [
        "message.delivered",
        "sms.completed"
      ],
      "active": true,
      "created_at": "2026-09-11T14:03:00Z",
      "description": "Entregas em produção",
      "secret": "whsec_6k2p9v4d1z8m"
    }
  ]
}

DELETE/v1/webhooks/{webhook_id}

Remover webhook

Parâmetros

webhook_idstringobrigatório

Respostas

  • 204Sucesso
  • 401Credencial ausente, inválida ou expirada
  • 404not_found
  • 422validation_error
  • 429rate_limited — respeite Retry-After
curl -X DELETE https://api.smskit.dev/v1/webhooks/wh_4d8q1z \
  -H "Authorization: Bearer $SMSKIT_TOKEN"

GET/v1/webhooks/{webhook_id}/deliveries

Entregas recentes de um webhook

Parâmetros

webhook_idstringobrigatório

Respostas

  • 200Objeto WebhookDeliveryListdata, object
  • 401Credencial ausente, inválida ou expirada
  • 422validation_error
  • 429rate_limited — respeite Retry-After
curl https://api.smskit.dev/v1/webhooks/wh_4d8q1z/deliveries \
  -H "Authorization: Bearer $SMSKIT_TOKEN"
200 · resposta
{
  "object": "list",
  "data": [
    {
      "id": "whd_9k2p7r",
      "object": "webhook_delivery",
      "status": "pending",
      "attempts": 1,
      "created_at": "2026-09-11T14:03:00Z",
      "event_id": "evt_8n3v5t",
      "event_type": "message.delivered",
      "delivered_at": "2026-09-11T14:03:05Z",
      "last_error": null,
      "last_status_code": 200,
      "next_attempt_at": null,
      "test": false
    }
  ]
}

POST/v1/webhooks/{webhook_id}/test

Disparar um evento webhook.test

Parâmetros

webhook_idstringobrigatório

Respostas

  • 202Sucesso
  • 401Credencial ausente, inválida ou expirada
  • 422validation_error
  • 429rate_limited — respeite Retry-After
curl -X POST https://api.smskit.dev/v1/webhooks/wh_4d8q1z/test \
  -H "Authorization: Bearer $SMSKIT_TOKEN"