Managing Webhooks

List All Webhooks

curl https://api.inflowpay.xyz/api/webhook \
  -H "X-Inflow-Api-Key: inflow_priv_your_key"

Response:

[
  {
    "webhookId": "wh_abc123",
    "webhookUrl": "https://yourserver.com/webhooks/inflow"
  }
]

Get a Specific Webhook

curl https://api.inflowpay.xyz/api/webhook/{webhookId} \
  -H "X-Inflow-Api-Key: inflow_priv_your_key"

Check Webhook Status

See whether a webhook is active or has failures:

curl https://api.inflowpay.xyz/api/webhook/{webhookId}/status \
  -H "X-Inflow-Api-Key: inflow_priv_your_key"

Response:

{
  "webhookId": "wh_abc123",
  "webhookUrl": "https://yourserver.com/webhooks/inflow",
  "status": "enabled",
  "failureReason": null
}

Status Values

StatusDescription
enabledWebhook is active and receiving events
disabledWebhook has been manually disabled

If your endpoint consistently fails to respond with a 200 status, Inflow may disable it. The failureReason field will explain why.

Enable or Disable a Webhook

# Disable
curl -X PATCH https://api.inflowpay.xyz/api/webhook/{webhookId} \
  -H "X-Inflow-Api-Key: inflow_priv_your_key" \
  -H "Content-Type: application/json" \
  -d '{ "status": "disabled" }'

# Re-enable
curl -X PATCH https://api.inflowpay.xyz/api/webhook/{webhookId} \
  -H "X-Inflow-Api-Key: inflow_priv_your_key" \
  -H "Content-Type: application/json" \
  -d '{ "status": "enabled" }'

Delete a Webhook

curl -X DELETE https://api.inflowpay.xyz/api/webhook/{webhookId} \
  -H "X-Inflow-Api-Key: inflow_priv_your_key"

Response:

{
  "message": "Webhook deleted successfully"
}

API Summary

ActionMethodEndpoint
Create webhookPOST/api/webhook
List webhooksGET/api/webhook
Get webhookGET/api/webhook/{webhookId}
Get statusGET/api/webhook/{webhookId}/status
Update statusPATCH/api/webhook/{webhookId}
Delete webhookDELETE/api/webhook/{webhookId}

All webhook endpoints require the private API key (X-Inflow-Api-Key). Webhook management is API-only — it is not available from the Dashboard.

Limits

  • Maximum 5 webhooks per account.
  • Each webhook URL must be unique within your account.
  • URLs must use HTTPS.

Retry & Failure Policy

If your endpoint does not respond with a 2xx within 15 seconds, Inflow retries with exponential backoff — up to 10 attempts spread over several hours to days. If all retries fail, the webhook is automatically disabled.

Check the webhook status endpoint and the failureReason field to diagnose issues. Once fixed, re-enable the webhook via the update status endpoint.