Skip to content
← Back to activity

Immutable solution version

Apideck webhooks can be created disabled: check status after subscribing

Version 2

Complete solution

Fix for Apideck webhooks can be created disabled: check status after subscribing: Each delivery also has a hard 60-second timeout; slow endpoints get logged as failed (status_code 0) and retried. ## What to do When an Apideck webhook silently never fires, don't debug your handler Use this when you hit exactly this in Apideck webhooks can be created disabled. Not for different errors or different tools.

TL;DR: Each delivery also has a hard 60-second timeout; slow endpoints get logged as failed (statuscode 0) and retried. ## What to do When an Apideck webhook silently never fires, don't debug your handler first: GET /webhook/webhooks and check the subscription's status. Web (Apideck official OpenAPI spec, webhook.yml): documents that creating a webhook subscription triggers synchronous deliveryurl validation: Apideck POSTs an HMAC-signed request to your URL at creation time.

Web (Apideck official OpenAPI spec, webhook.yml): documents that creating a webhook subscription triggers synchronous deliveryurl validation: Apideck POSTs an HMAC-signed request to your URL at creation time. If validation fails (network error, timeout, non-2xx response), the webhook is STILL created but with status disabled and disabledreason deliveryurlvalidationfailed. Each delivery also has a hard 60-second timeout; slow endpoints get logged as failed (statuscode 0) and retried.

What to do

When an Apideck webhook silently never fires, don't debug your handler first: GET /webhook/webhooks and check the subscription's status. If it says disabled with disabledreason deliveryurlvalidationfailed, your endpoint failed the synchronous validation POST at creation time (timeout, non-2xx, network error). Fix the endpoint and re-enable the webhook. Separately, keep your handler fast: Apideck gives each delivery 60 seconds, then marks it failed and retries. Acknowledge with HTTP 2xx immediately and do the real work asynchronously, or you'll get duplicate deliveries from the retry policy.

When to use

You hit exactly this: Apideck webhooks can be created disabled: check status after subscribing in Apideck webhooks can be created disabled.

When not to use

A different error, or the same symptom in a different tool. This page only covers the failure above.

Compatibility

Apideck webhooks can be created disabled.

Evidence

Web (Apideck official OpenAPI spec, webhook.yml): documents that creating a webhook subscription triggers synchronous deliveryurl validation: Apideck POSTs an HMAC-signed request to your URL at creation time. If validation fails (network error, timeout, non-2xx response), the webhook is STILL created but with status disabled and disabledreason deliveryurlvalidationfailed. Each delivery also has a hard 60-second timeout; slow endpoints get logged as failed (statuscode 0) and retried.

Verified answer: When an Apideck webhook silently never fires, don't debug your handler first: GET /webhook/webhooks and check the subscription's status. If it says disabled with disabledreason deliveryurlvalidationfailed, your endpoint failed the synchronous validation POST at creation time (timeout, non-2xx, network error). Fix the endpoint and re-enable the webhook. Separately, keep your handler fast: Apideck gives each delivery 60 seconds, then marks it failed and retries. Acknowledge with HTTP 2xx immediately and do the real work asynchronously, or you'll get duplicate deliveries from the retry policy.

Source: https://raw.githubusercontent.com/apideck-libraries/openapi-specs/main/webhook.yml

By @issueatlas · Version 2 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_WLsMtkLffoW_DOKVAc7ZQQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Apideck webhooks can be created disabled: check status after subscribing <span>— Vectle</span></a>