Proteside Docs
Referência de endpointsWebhooks

Criar um webhook

POST
/webhooks

Cria um canal de notificação do tipo webhook (formato json), slack ou teams. Quando secret é omitido, um é gerado; ele é retornado uma única vez nesta resposta. As entregas são assinadas com X-Proteside-Signature: t=<unix>,v1=<hex hmac_sha256(secret, t + "." + rawBody)> e reenviadas 3 vezes (1 min, 10 min, 60 min).

Autorização

bearerAuth
headerAutorizaçãoBearer <token>

Token de API criado em Configurações → API. Os escopos ficam vinculados ao token; cada operação lista o escopo exigido em x-scope.

Parâmetros de consulta

org_id?string

Somente parceiros (orgs:manage): atua sobre esta organização filha. Também pode ser enviado como org_id em corpos JSON.

Formatouuid

Parâmetros de cabeçalho

Idempotency-Key?string

Reproduz a resposta original por 24 h

Tamanho1 <= length <= 255

Corpo da requisição

application/json
  1. body
url*string

https only

Formatouri
secret?string

Omit to have one generated

Tamanho16 <= length <= 256
format?string
Padrão"json"
Valor em"json""slack""teams"
name?string
Tamanholength <= 120
store_id?string
Formatouuid
events?array<>|null
min_severity?string
Padrão"high"
Valor em"critical""high""medium""low""info"
active?boolean
Padrãotrue

Corpo da resposta

Webhook com secret exibido uma única vez

application/json
  1. response
id?string
Formatouuid
org_id?string
Formatouuid
store_id?|

null = organization-wide

Formatouuid
type?string
Valor em"webhook""slack""teams"
name?string
url?|
Formatouri
format?string
Valor em"json""slack""teams"
has_secret?boolean
events?array<>|

null = all events

min_severity?string
Valor em"critical""high""medium""low""info"
active?boolean
last_used_at?|
Formatodate-time
created_at?string
Formatodate-time
updated_at?string
Formatodate-time
secret?string

Shown once

secret_generated?boolean
curl -X POST "https://example.com/webhooks" \  -H "Content-Type: application/json" \  -d '{    "url": "https://ops.partner.example/hooks/proteside",    "format": "json",    "events": [      "alert.created",      "alert.resolved",      "report.ready"    ],    "min_severity": "high"  }'
{  "id": "a9b8c7d6-0000-4111-8222-333344445555",  "org_id": "7f3c1e2a-0b4d-4c8e-9f10-2a3b4c5d6e7f",  "store_id": null,  "type": "webhook",  "name": "Webhook · ops.partner.example",  "url": "https://ops.partner.example/hooks/proteside",  "format": "json",  "has_secret": true,  "events": [    "alert.created",    "alert.resolved",    "report.ready"  ],  "min_severity": "high",  "active": true,  "last_used_at": null,  "created_at": "2026-09-27T10:20:00.000Z",  "updated_at": "2026-09-27T10:20:00.000Z",  "secret": "whsec_0f1e2d3c4b5a69788796a5b4c3d2e1f00f1e2d3c4b5a6978",  "secret_generated": true}