Aura GraphQL API

Build powerful integrations with programmatic access to your lead and call data

v1

Getting Started

1. Create an API Key
Generate an API key from your settings page (admin-only)

API keys are scoped to your organization and enforce rate limits to prevent abuse.

2. Make Your First Request
Query your leads using the GraphQL API
curl -X POST https://yourdomain.com/api/v1/graphql \
  -H "Authorization: Bearer aura_pk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "{ leadsCollection { edges { node { id email full_name } } } }"
  }'

Authentication

All API requests must include your API key in the Authorization header:

Authorization: Bearer aura_pk_live_[your_key]

Your API key is scoped to your organization - you'll only be able to access your own data thanks to Row Level Security (RLS).

Example Queries

List Leads
Get all leads with pagination
{
  leadsCollection(
    first: 50
    orderBy: { created_at: DescNullsLast }
  ) {
    edges {
      node {
        id
        email
        full_name
        phone
        company
        status
        created_at
        updated_at
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}
Lead with Call History
Get a lead with all associated calls
{
  leadsCollection(
    filter: { id: { eq: "lead-id-here" } }
  ) {
    edges {
      node {
        id
        email
        full_name
        phone
        company
        status
        callsCollection {
          edges {
            node {
              id
              scheduled_at
              outcome
              duration_minutes
              closer {
                full_name
                email
              }
            }
          }
        }
      }
    }
  }
}
Filter Leads by Status
Query leads with specific criteria
{
  leadsCollection(
    filter: {
      status: { eq: "qualified" }
      created_at: { gte: "2026-01-01T00:00:00Z" }
    }
    orderBy: { created_at: DescNullsLast }
  ) {
    edges {
      node {
        id
        email
        full_name
        status
        created_at
      }
    }
  }
}

Error Handling

401 Unauthorized

Invalid or missing API key, or key has been revoked/expired

429 Too Many Requests

Rate limit exceeded. Check the X-RateLimit-Reset header for when you can retry.

500 Internal Server Error

Server error. Please contact support if this persists.

API Features

GraphQL API

Flexible queries with nested relations

Secure by Default

RLS ensures org-level data isolation

Global Edge Network

Low latency worldwide

Real-time Ready

WebSocket subscriptions (coming soon)

Rate Limits

Per API Key

100

requests per minute

Per Organization

1,000

requests per minute

Need Help?

Check out additional resources or contact our support team.

→ Manage API Keys→ Contact Support