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

# GraphQL

> Query your organization and follow cursor pagination

Send GraphQL operations as JSON to `POST https://api.aura-app.ai/graphql`.
Download the [GraphQL schema](https://docs.api.aura-app.ai/schema.graphql), generated from the same checked
SDL artifact as the API. See [Making requests](https://docs.api.aura-app.ai/requests.md#authentication-and-scopes)
for authentication. Send a partner API key or a Clerk organization JWT in the
`Authorization` header.

## Your first query

```bash theme={null}
curl https://api.aura-app.ai/graphql \
  -H "Authorization: Bearer $AURA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{"query":"query { leads(first: 10) { edges { node { id name } cursor } pageInfo { hasNextPage endCursor } } }"}'
```

Production does not expose the interactive GraphiQL playground. Schema
introspection is disabled on deployed builds, including staging. Use the published
schema reference to discover fields. The
[staging playground](https://staging-api.aura-app.ai/graphql) can execute
authenticated operations; its schema discovery panel is unavailable.

## Pagination

Choose a page size with `first`. When `pageInfo.hasNextPage` is true, pass
`pageInfo.endCursor` unchanged as the next request's `after` argument. Keep your
filters the same while reading consecutive pages.

```graphql theme={null}
query NextLeads($after: String) {
  leads(first: 10, after: $after) {
    edges {
      node { id name }
      cursor
    }
    pageInfo { hasNextPage endCursor }
  }
}
```

Pass variables as the JSON request's `variables` object, for example
`{"after":"RETURNED_CURSOR"}`.

## Intent calls and form answers

The calls list defaults to booked meetings. To find pre-booking activity for a
lead, filter by `callKind: intent` and `leadId`. Select the call's `id` and
`formAnswers`. The reference describes each answer's fields and types.

```graphql theme={null}
query LeadIntents($leadId: String) {
  calls(first: 10, callKind: intent, leadId: $leadId) {
    edges {
      node {
        id
        callKind
        formAnswers { fieldId label value }
      }
    }
    pageInfo { hasNextPage endCursor }
  }
}
```

For the REST equivalent, see [Calls: intent calls and form answers](https://docs.api.aura-app.ai/openapi/v1/calls/get.md#intent-calls-and-form-answers).

## Errors

Check both the HTTP status and the GraphQL `errors` array. A GraphQL operation
can return errors alongside partial `data`. Do not treat a `200` status alone as
success. Invalid authentication, rate limits and document-size checks can
reject the request before query execution. If an operation is too large or
complex, request fewer fields or use smaller pages before retrying.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.