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, generated from the same checked
SDL artifact as the API. See Making requests
for authentication. Send a partner API key or a Clerk organization JWT in the
Authorization header.
Your first query
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 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.
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.
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.
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.