# Webhooks

<Callout type="caution" title="Not available">
  The partner API emits no webhooks today. No date is announced: we will not promise one we cannot keep.

  This page exists so you do not have to search: there is nothing to hook up, and nothing to wait for right now.
</Callout>

Concretely, there is no callback URL to register, no signature to verify, no redelivery queue. Every integration works by polling the API.

## In the meantime: poll properly

Three events matter to most integrations. Here is how to track them without webhooks.

### Has a credit request been approved?

```http title="Endpoints"
GET /v1/papi/credit-requests?status=PENDING_APPROVAL
```

Poll at a **human** rhythm: an Instafuel approval takes hours, not seconds. Every 15 minutes is plenty, and a daily sweep over requests nearing their 7-day expiry avoids bad surprises.

### Have new transactions landed?

```http title="Endpoints"
GET /v1/papi/transactions?from=2026-08-30&to=2026-08-31
```

Bound the period, deduplicate on `ref` on arrival, and keep the most recent `ref` you have processed. A transaction already seen must not trigger your business logic twice — which is the right discipline anyway, webhooks or not.

### Where does a payment declaration stand?

```http title="Endpoints"
GET /v1/papi/credit-requests/{id}
```

`PENDING_APPROVAL` → `APPROVED` or `REJECTED`. A bank reconciliation takes hours, not seconds: polling every 15 minutes is plenty. See [Limits and quotas](/en/guides/limites-et-quotas).

## What to prepare now

If you want to be able to plug webhooks in without rewriting your integration the day they exist:

- **Make your processing idempotent.** Processing the same transaction twice must break nothing. That is the precondition for any event delivery, which is always "at least once".
- **Isolate ingestion.** Funnel data through a single ingestion function, fed today by your polling loop. A webhook will only have to call the same function.
- **Keep track of what you have processed**, by `ref`. That is what lets you reconcile after an outage, in either model.

## Getting notified

Ask your Instafuel contact to be told when webhooks become available. Partner API changes are announced to integrated partners before they go to production.
