# Support Requests

Merchants can ask the Fluxis team for help from inside the dashboard. A request is saved first and announced to the team afterwards, so it is never lost if a notification channel is down.

## Sending a request

`POST /app/support/requests`, from a signed-in dashboard session. Any collaborator role may send one.

| Field | Required | Description |
| ----- | -------- | ----------- |
| `category` | Yes | One of `payment_issue`, `point_of_sale`, `subscriptions`, `account`, `other` |
| `message` | Yes | What happened, up to 2000 characters |
| `reference` | No | A transaction or payment link ID, up to 100 characters |

The organization and user come from the session. They are never read from the body.

```json
{
  "status": "success",
  "data": { "ticket_id": "SUP-0042" }
}
```

Quote the ticket ID in any follow-up. Replies come by email, to the address on your account.

## What happens next

1. The request is stored with the status `pending` and the call answers `201`.
2. Within about a minute the team gets one message in the support channel, showing the category, a short preview and the ticket ID.
3. The request becomes `dispatched` once that message is posted. If the post fails it stays `pending` and is tried again.

## Limits and errors

| Status | When |
| ------ | ---- |
| `400` | The message is empty or too long, or the category is not one of the five above |
| `401` | There is no signed-in session |
| `429` | The user already sent five requests in the last hour. The `Retry-After` header says how many seconds to wait |

::::note
Merchant text is never allowed to mention anyone in the support channel. Only the team member configured by Fluxis is notified.
::::
