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

# Log Error Codes

> Closed set of errorCode values shown on failed sends in Logs and the dashboard API.

# Log Error Codes

On **Logs** (`/logs`), the **Error code** shown in failed-send details is always one of the values below. The dashboard API exposes the same as **`errorCode`** on `GET /api/logs` (server-derived from stored fields; not the same as `errorMessage`).

## Codes (closed set)

| Code                                 | Meaning                                                                                                                                                                                                           |
| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DELIVERED_NOT_CONFIRMED`            | Message was **sent successfully**, but delivery confirmation did not arrive before the deadline (**deliverUntil**); marked **FAILED** after the deadline.                                                         |
| `TEMPLATE_VERSION_NOT_FOUND`         | Template or template version not found for the message.                                                                                                                                                           |
| `INVALID_DESTINATION`                | Invalid destination or E.164 normalization failed.                                                                                                                                                                |
| `PILOT_SELF_NUMBER`                  | Blocked send to Pilot Status's own number on the Pilot Status instance.                                                                                                                                           |
| `NEVER_ATTEMPTED_MAX_AGE_EXCEEDED`   | Message remained **QUEUED** for 7 days with zero send attempts (instance was offline the entire time); expired after automatic deadline checks.                                                                   |
| `EXPIRED_AFTER_ATTEMPTS`             | **deliverUntil** passed after at least one real send attempt. The delivery window expired while the destination was unreachable.                                                                                  |
| `MESSAGE_EXPIRED`                    | Legacy: **deliverUntil** expiration or older expiration behavior not covered by the codes above.                                                                                                                  |
| `DELIVERY_TIMEOUT`                   | Delivery timeout, disconnected/closed instance, instance not found at provider, or other delivery failures without a more specific code above.                                                                    |
| `NUMBER_NOT_FOUND_REMOVED`           | The connected instance/number was removed at the provider.                                                                                                                                                        |
| `LINKED_WHATSAPP_INSTANCE_NOT_FOUND` | The API key was linked to a WhatsApp instance that no longer exists (removed record or invalid id).                                                                                                               |
| `WHATSAPP_NOT_EXIST`                 | The destination number is not registered on WhatsApp (provider response indicating number not registered).                                                                                                        |
| `META_TEMPLATE_NOT_APPROVED`         | Template not approved for Meta Cloud API. Template must be submitted and approved by Meta before sending messages via a Meta number.                                                                              |
| `META_OUTSIDE_24H_WINDOW`            | 24h conversation window closed. Use an approved template to message this number.                                                                                                                                  |
| `META_NO_CONVERSATION`               | No conversation exists with this number. Start with an approved template.                                                                                                                                         |
| `META_RATE_LIMITED`                  | Meta sending limit reached. Wait a few minutes and try again.                                                                                                                                                     |
| `META_TOKEN_INVALID`                 | Meta token is invalid or expired. Update the System Token in number settings.                                                                                                                                     |
| `META_SEND_FAILED`                   | Generic Meta Cloud API send failure.                                                                                                                                                                              |
| `FREE_FORM_NOT_SUPPORTED`            | Free-form messages are not supported for this WhatsApp provider.                                                                                                                                                  |
| `NUMBER_CONNECTION_LIMIT_REACHED`    | A single WhatsApp number has reached its 4-connection cap. Remove an existing connection before adding a new one. HTTP 409.                                                                                       |
| `META_WABA_NOT_ACCESSIBLE`           | The WABA (WhatsApp Business Account) ID associated with this number does not exist or the system token lacks permission to access it. Returned when "Sync with Meta" fails with Meta error code 100 / subcode 33. |
| `SEND_FAILED`                        | All other failures (including HTTP or provider send errors, generic diagnostic messages, and any case without a more specific code above).                                                                        |

<Note>
  A `CANCELED` message (canceled via [`DELETE /v1/messages/cancel`](/api/messages/cancel)) is not a delivery error and does not carry one of these codes.
</Note>
