Reenviar entrega
Põe a entrega na fila de novo; sai no próximo minuto.
Escopo do app: webhooks:write. Só a chave do app; pelo OAuth, 403.
curl --request POST \
--url https://api.westhetics.io/v1/webhooks/{id}/deliveries/{deliveryId}/retry \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.westhetics.io/v1/webhooks/{id}/deliveries/{deliveryId}/retry', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.westhetics.io/v1/webhooks/{id}/deliveries/{deliveryId}/retry"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text){
"data": {
"id": "1f2e3d4c-5b6a-4978-8695-a4b3c2d1e0f9",
"webhookId": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"eventId": "0e9d8c7b-6a5f-4e3d-9c2b-1a0f9e8d7c6b",
"eventType": "signature_request.completed",
"status": "pending",
"attempts": 1,
"nextAttemptAt": null,
"lastAttemptAt": "2026-10-15T14:30:00Z",
"responseStatus": 200,
"durationMs": 184,
"error": null,
"createdAt": "2026-10-15T14:30:00Z"
}
}{
"error": {
"code": "bad_request",
"message": "<string>",
"requestId": "<string>",
"fields": {}
}
}{
"error": {
"code": "bad_request",
"message": "<string>",
"requestId": "<string>",
"fields": {}
}
}{
"error": {
"code": "bad_request",
"message": "<string>",
"requestId": "<string>",
"fields": {}
}
}{
"error": {
"code": "bad_request",
"message": "<string>",
"requestId": "<string>",
"fields": {}
}
}{
"error": {
"code": "bad_request",
"message": "<string>",
"requestId": "<string>",
"fields": {}
}
}Autorizações
A chave do app de integração, criada em Integrações. Escopos: patients:read (Listar, buscar e ler pacientes; os eventos patient..); patients:write (Criar e editar pacientes. Inclui ler.); anamneses:read (Listar e ler anamneses, sem as respostas; os eventos anamnesis..); anamneses:write (Enviar, reenviar e cancelar anamnese. Inclui ler.); anamneses:answers (Ler as respostas da anamnese preenchida. É dado de saúde.); documents:read (Atendimentos, documentos, status da assinatura e o PDF; os eventos appointment.* e signature_request.*.); documents:write (Gerar contrato e termos e enviar para assinatura, reenviar e cancelar. Inclui ler.); catalog:read (Procedimentos, prestadores e modelos de documento da clínica.); webhooks:write (Criar, alterar e remover os webhooks do próprio app pela API.)
curl --request POST \
--url https://api.westhetics.io/v1/webhooks/{id}/deliveries/{deliveryId}/retry \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.westhetics.io/v1/webhooks/{id}/deliveries/{deliveryId}/retry', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.westhetics.io/v1/webhooks/{id}/deliveries/{deliveryId}/retry"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text){
"data": {
"id": "1f2e3d4c-5b6a-4978-8695-a4b3c2d1e0f9",
"webhookId": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"eventId": "0e9d8c7b-6a5f-4e3d-9c2b-1a0f9e8d7c6b",
"eventType": "signature_request.completed",
"status": "pending",
"attempts": 1,
"nextAttemptAt": null,
"lastAttemptAt": "2026-10-15T14:30:00Z",
"responseStatus": 200,
"durationMs": 184,
"error": null,
"createdAt": "2026-10-15T14:30:00Z"
}
}{
"error": {
"code": "bad_request",
"message": "<string>",
"requestId": "<string>",
"fields": {}
}
}{
"error": {
"code": "bad_request",
"message": "<string>",
"requestId": "<string>",
"fields": {}
}
}{
"error": {
"code": "bad_request",
"message": "<string>",
"requestId": "<string>",
"fields": {}
}
}{
"error": {
"code": "bad_request",
"message": "<string>",
"requestId": "<string>",
"fields": {}
}
}{
"error": {
"code": "bad_request",
"message": "<string>",
"requestId": "<string>",
"fields": {}
}
}