# Support (https://upapi.io/docs/platform/support)



Support requests go through [app.upapi.io/support](https://app.upapi.io/support).

The form works **without being signed in**, which is deliberate — a login
problem is a support request, and a support channel you can only reach after
logging in is useless to the people who most need it. If you are signed in, your
account email is filled in for you.

## What to include [#what-to-include]

The more of this you supply, the faster the answer:

* **The `x-request-id`** from the failing response. Every gateway response
  carries one and it identifies your exact call in our logs. This is the single
  most useful thing you can send.
* **The error `code`** from the [envelope](https://upapi.io/docs/errors) — not just the HTTP
  status. `RATE_LIMITED`, `QUOTA_EXCEEDED` and `SERVICE_BUSY` are all `429` and
  have completely different answers. For a `QUOTA_EXCEEDED`, include the message
  too: it names which budget is gone — the month's units, a trial's, or compute.
* **The operation slug** and the input you sent, with any secrets removed.
* **Roughly when it happened**, with a timezone.

## Before you write [#before-you-write]

A few checks answer most questions immediately:

* [Status](https://upapi.io/docs/platform/status) — is a component degraded right now?
* [`/api/usage`](https://upapi.io/docs/usage-api) — have you run out of units, or of trial
  budget?
* [Errors](https://upapi.io/docs/errors) — several codes mean something other than what their
  status suggests. A `503` on a keyed call is an outage, not a bad key;
  `MEMORY_EXCEEDED` is a client error you receive as a `422`; a `404` may mean an
  operation exists but is not published to you.
