# Troubleshooting

> Symptom map: what a response code means and where to go next.

Find the row for the response code or the observed behaviour in the table; it links to the detailed analysis.

| Symptom                                                      | Most likely                                                                                | Where to go                                             |
| ------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------- |
| `403 access denied`                                          | the route is not in the list allowed for the key                                           | [403 and 404](/en/troubleshooting/403-and-404/)         |
| `403 company is blocked` / `user hasn't been activated`      | the company is blocked or the key is not activated                                         | [403 and 404](/en/troubleshooting/403-and-404/)         |
| `404` on a method that is in the documentation               | wrong HTTP method, or the method does not exist                                            | [403 and 404](/en/troubleshooting/403-and-404/)         |
| `200`, the body contains only a single UUID                  | asynchronous method without the `Billz-Response-Channel` header                            | [Response codes and errors](/en/reference/errors/)      |
| `200`, the document is created but the stock has not changed | the document is still a draft — it must be posted                                          | [Warehouse processes](/en/concepts/processes/)          |
| `200`, but a field is zeroed out or a filter did not apply   | the corresponding access switch is turned off for the key role                             | [Key role permissions](/en/reference/role-permissions/) |
| `408`                                                        | waiting for the response over the HTTP channel timed out; the operation may have completed | [Response codes and errors](/en/reference/errors/)      |
| `429`                                                        | rate limit exceeded                                                                        | [Response codes and errors](/en/reference/errors/)      |
| `400` with `error_code: 20084` on payment                    | items were added by a method that does not mark the cart as recalculated                   | [Online order](/en/guides/ecommerce-order/)             |
| `400` with `error_code: 20082` or `20010` on payment         | there is no open shift in the shop of the sale                                             | [Online order](/en/guides/ecommerce-order/)             |
| `400 invalid_grant` on token refresh                         | the refresh token is unusable; sign in again                                               | [Authentication and permissions](/en/concepts/auth/)    |
| Stock in the external system drifts away from BILLZ          | date-based incremental sync does not catch stock movements                                 | [Catalog synchronization](/en/guides/sync-catalog/)     |

## What to attach to a support request

The investigation goes faster when the request includes from the start:

* the full URL with query parameters and the HTTP method exactly as the client sent them;
* the response code and the **full response body**;
* `correlation_id`, if the method is asynchronous, and the request time with the time zone;
* the name of the integration key or the first 7 characters of the key.

> **The secret key and the access token are never sent to support**
>
> A key that has appeared in correspondence must be reissued.