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

# Errors and messages

A `401`, `413`, or `429` answer has no body.

## Request an access token

| Status | `error`                  | `error_description`                                                   |
| ------ | ------------------------ | --------------------------------------------------------------------- |
| `400`  | `unsupported_grant_type` | `The grant_type must be client_credentials.`                          |
| `400`  | `invalid_request`        | `Use either HTTP Basic authentication or form credentials, not both.` |
| `401`  | `invalid_client`         | `Client authentication failed.`                                       |

## Validate a customer

| Status | `resultCode` | `message`            |
| ------ | ------------ | -------------------- |
| `200`  | `0`          | `Customer found`     |
| `404`  | `1`          | `Customer not found` |

## Notify a payment

Only the first failed rule is reported.

| Status | `resultCode` | `resultDesc`                                                                        |
| ------ | ------------ | ----------------------------------------------------------------------------------- |
| `200`  | `0`          | `Payment received`                                                                  |
| `400`  | `1`          | `Payment not recorded: paymentType is required.`                                    |
| `400`  | `1`          | `Payment not recorded: paymentType is not supported.`                               |
| `400`  | `1`          | `Payment not recorded: transactionReference is required.`                           |
| `400`  | `1`          | `Payment not recorded: transactionDate is required.`                                |
| `400`  | `1`          | `Payment not recorded: transactionDate must be Nairobi local time with no offset.`  |
| `400`  | `1`          | `Payment not recorded: amount is required.`                                         |
| `400`  | `1`          | `Payment not recorded: amount must be positive.`                                    |
| `400`  | `1`          | `Payment not recorded: amount must have at most two decimal places.`                |
| `400`  | `1`          | `Payment not recorded: currency is required.`                                       |
| `400`  | `1`          | `Payment not recorded: currency must be KES.`                                       |
| `400`  | `1`          | `Payment not recorded: shortCode is required.`                                      |
| `400`  | `1`          | `Payment not recorded: additions is required.`                                      |
| `400`  | `1`          | `Payment not recorded: additions.customerRef is required.`                          |
| `400`  | `1`          | `Payment not recorded: request body is invalid.`                                    |
| `400`  | `1`          | `Payment not recorded: customer not found`                                          |
| `400`  | `1`          | `Payment not recorded: a different payment already uses this transaction reference` |
| `500`  | `1`          | `Payment not recorded`                                                              |
