> ## Documentation Index
> Fetch the complete documentation index at: https://developers.staging01.melio.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Eligibility

> Check which faster-than-standard delivery options a prospective payment qualifies for.

The fast-payment eligibility tool checks which faster-than-standard delivery options a payment between two of an entity's accounts is eligible for, **without creating a payment**. Use it to decide which delivery preferences to offer a business before making the payment.

Eligibility depends on the originating (debit) account, the receiving (credit) account, and the `amount`. The response has one entry per fast option valid for the receiving account's rail, for example `same-day-ach` and `rtp` for ACH, or `express-check` and `overnight-check` for check.

```text theme={null}
POST /tools/fast-payment-eligibility
```

**Authentication:** API key (`Authorization: Bearer <api-key>`). **Required header:** `Melio-Entity-Id` - the entity that owns the accounts, either an entity id (`ent_<uuid>`) or `me` for the partner's sole entity.

<Note>
  `amount` is in **minor units** (cents). An `amount` of `125000` means \$1,250.00.
</Note>

## Request

| Field                  | Type    | Required | Description                                                       |
| ---------------------- | ------- | -------- | ----------------------------------------------------------------- |
| `originatingAccountId` | string  | Yes      | Internal originating account id (`acct_<id>`), the debit account. |
| `receivingAccountId`   | string  | Yes      | External receiving account id (`acct_<id>`), the credit account.  |
| `amount`               | integer | Yes      | The prospective payment amount to check, in minor units (cents).  |
| `currency`             | string  | No       | Defaults to `USD`.                                                |

### Example request

```bash theme={null}
curl -X POST https://api.example.com/v2/tools/fast-payment-eligibility \
  -H "Authorization: Bearer <api-key>" \
  -H "Melio-Entity-Id: me" \
  -H "Content-Type: application/json" \
  -d '{
    "originatingAccountId": "acct_3f2504e0-4f89-41d3-9a0c-0305e82c3301",
    "receivingAccountId": "acct_9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
    "amount": 125000
  }'
```

## Response

The request `amount` and `currency` are echoed back, alongside an `eligibilities` array with one decision per fast delivery preference valid for the receiving rail.

```json theme={null}
{
  "originatingAccountId": "acct_3f2504e0-4f89-41d3-9a0c-0305e82c3301",
  "receivingAccountId": "acct_9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
  "amount": 125000,
  "currency": "USD",
  "eligibilities": [
    { "deliveryPreference": "same-day-ach", "eligible": true },
    { "deliveryPreference": "rtp", "eligible": false }
  ]
}
```

| Field                                | Description                                                                                                                                                                        |
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `eligibilities[].deliveryPreference` | A faster-than-standard preference valid for the receiving rail: one of `same-day-ach`, `rtp`, `express-check`, `overnight-check`, `instant-domestic-wire`, `instant-virtual-card`. |
| `eligibilities[].eligible`           | `true` when the fast preference can be used for this payment.                                                                                                                      |

The array is **empty** when the receiving rail has no fast variants.

<Warning>
  When `eligible` is `false` - including when the eligibility engine is temporarily unavailable - fall back to the receiving rail's standard-speed preference (for example `standard-ach`). Do not assume a fast option is available unless it is explicitly returned as `eligible: true`.
</Warning>

## Errors

| Status | When                                         |
| ------ | -------------------------------------------- |
| `400`  | Validation error or an invalid account type. |
| `404`  | The entity or an account was not found.      |

See [Errors](/docs/errors) for the response shape.

## Related tools

* [Fee Calculator](/docs/fee-calculator) - the cost of each delivery preference.
* [Delivery ETA](/docs/delivery-eta) - when a payment would be delivered.
