Update a webhook endpoint
const url = 'https://api-staging.asqary.com/v1/webhooks/example';const options = { method: 'PATCH', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"url":"https://example.com","description":"example","events":["*"],"status":"enabled"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://api-staging.asqary.com/v1/webhooks/example \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "url": "https://example.com", "description": "example", "events": [ "*" ], "status": "enabled" }'Changes only the fields sent. An empty description clears it.
Setting status to disabled fails pending deliveries; setting it
back to enabled clears the failure state.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”object
Responses
Section titled “Responses”The updated endpoint
object
When deliveries started failing. The endpoint is disabled after three days of failures.
Set after a rotation while the old secret still signs deliveries.
Example
{ "events": [ "*" ], "status": "enabled", "environment": "live"}Malformed request (invalid_request), including unknown fields.
object
Invalid_request, unauthorized, key_expired, key_revoked, forbidden, ip_not_allowed, quota_exceeded, not_found, method_not_allowed, conflict, policy_in_use, policy_active, policy_archived, idempotency_key_reused, validation_failed, rule_not_available, backtest_invalid_rows, backtest_too_large, rate_limited, internal_error
object
object
Example generated
{ "error_code": "example", "message": "example", "retryable": true, "request_id": "example", "details": {}}Missing scope or role, IP not allowed, or monthly quota exceeded (quota_exceeded).
object
Invalid_request, unauthorized, key_expired, key_revoked, forbidden, ip_not_allowed, quota_exceeded, not_found, method_not_allowed, conflict, policy_in_use, policy_active, policy_archived, idempotency_key_reused, validation_failed, rule_not_available, backtest_invalid_rows, backtest_too_large, rate_limited, internal_error
object
object
Example generated
{ "error_code": "example", "message": "example", "retryable": true, "request_id": "example", "details": {}}Resource or endpoint not found.
object
Invalid_request, unauthorized, key_expired, key_revoked, forbidden, ip_not_allowed, quota_exceeded, not_found, method_not_allowed, conflict, policy_in_use, policy_active, policy_archived, idempotency_key_reused, validation_failed, rule_not_available, backtest_invalid_rows, backtest_too_large, rate_limited, internal_error
object
object
Example generated
{ "error_code": "example", "message": "example", "retryable": true, "request_id": "example", "details": {}}validation_failed (details: field errors), rule_not_available, or backtest_invalid_rows.
object
Invalid_request, unauthorized, key_expired, key_revoked, forbidden, ip_not_allowed, quota_exceeded, not_found, method_not_allowed, conflict, policy_in_use, policy_active, policy_archived, idempotency_key_reused, validation_failed, rule_not_available, backtest_invalid_rows, backtest_too_large, rate_limited, internal_error
object
object
Example generated
{ "error_code": "example", "message": "example", "retryable": true, "request_id": "example", "details": {}}