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

# API overview

> Endpoints, request format, and how to read responses from the Fluz GraphQL API.

The Fluz API is a single GraphQL endpoint per environment. This page is the reference companion to [How the GraphQL API works](/concepts/graphql).

## Browse the reference

<CardGroup cols={2}>
  <Card title="Queries" icon="search" href="/api-reference/queries/approval-requests">
    Read operations — fetch wallets, transactions, merchants, card offers, and account data.
  </Card>

  <Card title="Mutations" icon="square-pen" href="/api-reference/mutations/add-authorized-user">
    Write operations — issue cards, move money, register users and businesses, and manage approvals.
  </Card>
</CardGroup>

### Types

<CardGroup cols={3}>
  <Card title="Objects" icon="box" href="/api-reference/types/account">
    Response shapes returned by queries and mutations.
  </Card>

  <Card title="Input objects" icon="text-cursor-input" href="/api-reference/types/add-bank-card-input">
    Arguments you pass to operations.
  </Card>

  <Card title="Enums" icon="list-ordered" href="/api-reference/types/account-type">
    Fixed sets of allowed values, like statuses and card networks.
  </Card>

  <Card title="Unions" icon="combine" href="/api-reference/types/stock-info-type">
    Fields that resolve to one of several object types.
  </Card>

  <Card title="Interfaces" icon="plug" href="/api-reference/types/basic-user-cash-balance">
    Shared field contracts implemented by multiple objects.
  </Card>

  <Card title="Scalars" icon="hash" href="/api-reference/types/date-time">
    Primitive values like DateTime and UUID.
  </Card>
</CardGroup>

### Conventions

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/api-reference/authentication">
    The Authorization header, token endpoints, and the OAuth authorization redirect.
  </Card>

  <Card title="Errors" icon="triangle-alert" href="/api-reference/errors">
    The error envelope, domain code prefixes, and retry guidance.
  </Card>

  <Card title="Rate limits" icon="gauge" href="/api-reference/rate-limits">
    Per-surface request limits and what a 429 looks like.
  </Card>

  <Card title="Pagination" icon="chevrons-right" href="/api-reference/pagination">
    Offset inputs, page-size caps, and connection responses.
  </Card>
</CardGroup>

<Card title="REST endpoints" icon="route" horizontal href="/api-reference/rest/upload-sole-proprietorship-document">
  One operation lives outside GraphQL — the file upload used for sole proprietorship registration.
</Card>

## Endpoints

| Environment | GraphQL endpoint                                                 |
| ----------- | ---------------------------------------------------------------- |
| Staging     | `https://transactional-graph.staging.fluzapp.com/api/v1/graphql` |
| Live        | `https://transactional-graph.fluzapp.com/api/v1/graphql`         |

Access tokens are minted at the same endpoint via the `generateUserAccessToken` mutation, authorized with your API Key — see [Authentication](/api-reference/authentication).

## Headers

| Header          | Required | Notes                                                                              |
| --------------- | -------- | ---------------------------------------------------------------------------------- |
| `Authorization` | Yes      | `Bearer <access_token>` (`Basic <API_KEY>` when calling `generateUserAccessToken`) |
| `Content-Type`  | Yes      | `application/json`                                                                 |

## Response envelope

```json theme={null}
{
  "data": { ... },
  "errors": [ ... ]
}
```

* `data` — the successful payload (may be partial on error).
* `errors` — array of failures, each with `code`, `message`, and `path`.

## Schema

Staging exposes introspection so you can point tooling (Apollo Studio, GraphiQL, codegen) at it directly. In live, request the current SDL from your account team.
