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

# Errors

> How the API reports errors, and which ones to retry.

Errors use [RFC 7807 problem details](https://www.rfc-editor.org/rfc/rfc7807). `title` is a stable code to branch on; `detail` is a sentence for people and may change.

```json theme={null}
{
  "type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
  "title": "PaymentLink.CallbackMustBeHttps",
  "status": 400,
  "detail": "The callback URL must be an absolute https URL."
}
```

| Status | Meaning | Retry? |
| - | - | - |
| `400` | The request is invalid (`*.Validation` codes) | No: fix the request |
| `401` | Missing, unknown or revoked API key | No |
| `403` | The key can't do this | No |
| `404` | No such link, order or key | No |
| `409` | The request conflicts with the current state (disabled gateway, inactive link, too many keys) | No, unless the state changes |
| `503` | Temporarily unavailable: no trustworthy price, or a deposit address couldn't be issued | **Yes**, after a few seconds |
| `5xx` | Something went wrong on our side | Yes, with backoff |

## Codes you may see

| Code | Status | When |
| - | - | - |
| `PaymentLink.NoAllowedAssets` | 400 | `allowedAssets` is empty |
| `PaymentLink.AssetNotSupported` | 400 | An asset isn't enabled on the platform |
| `PaymentLink.AssetNotAllowed` | 400 | The payer chose a coin that isn't on the link |
| `PaymentLink.AmountMustBePositive` | 400 | `amount` is zero or negative |
| `PaymentLink.CallbackMustBeHttps` | 400 | `callbackUrl` missing or not `https` |
| `PaymentLink.ReturnUrlMustBeHttps` | 400 | `returnUrl` not `https` |
| `PaymentLink.OrderTtlOutOfRange` | 400 | `orderTtlMinutes` outside 5–1440 |
| `Policy.AmountBelowMinimum` | 400 | Below the platform minimum |
| `Policy.AmountAboveMaximum` | 400 | Above the platform maximum |
| `Order.InvalidRefundAddress` | 400 | Refund address not valid on that network |
| `PaymentLink.NotFound` | 404 | Unknown link id |
| `Order.NotFound` | 404 | Unknown order id |
| `Merchant.KeyNotFound` | 404 | Unknown API key id |
| `PaymentLink.Inactive` | 409 | The link no longer takes payments |
| `Merchant.Disabled` | 409 | The gateway is disabled |
| `Merchant.TooManyKeys` | 409 | 5 active keys already |
| `Order.PriceUnavailable` | 503 | No trustworthy price right now |
| `Order.DepositAddressUnavailable` | 503 | No deposit address right now |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.