Aurea Docs
API Reference

GraphQL API

The Aurea GraphQL API — schema, queries, mutations, and how to connect from the dashboard or any GraphQL client.

Endpoint

POST http://localhost:4000/graphql

The Apollo Sandbox playground is available at the same URL in a browser during development.

Authentication

Currently open for development. A Clerk JWT guard is planned before production.

Schema

Types

Case

Represents an active immigration or relocation case managed by Aurea.

Prop

Type

CaseStatus enum

ValueDescription
INTAKEInitial intake — case opened
DOCUMENTS_PENDINGWaiting for client documents
SUBMITTEDDocuments submitted to authority
IN_REVIEWUnder review by authority
APPROVEDCase approved
REJECTEDCase rejected

ImmigrationService enum

ValueLabel
US_VISAUS Visa Application
DIGITAL_NOMAD_VISADigital Nomad Visa
CITIZENSHIP_APPLICATIONCitizenship Application
SPANISH_DRIVERS_LICENSESpanish Driver's License Exchange

Queries

cases

List all active cases.

query ListCases {
  cases {
    id
    clientName
    service
    status
    country
    createdAt
  }
}

case(id: ID!)

Fetch a single case by ID.

query GetCase($id: ID!) {
  case(id: $id) {
    id
    clientName
    service
    status
    country
    createdAt
  }
}

Mutations

advanceCaseStatus(id: ID!)

Advance a case to its next lifecycle status following the progression:

INTAKE → DOCUMENTS_PENDING → SUBMITTED → IN_REVIEW → APPROVED

APPROVED and REJECTED are terminal states — calling advanceCaseStatus on them is a no-op (the status is returned unchanged).

mutation AdvanceCase($id: ID!) {
  advanceCaseStatus(id: $id) {
    id
    status
  }
}

Example with curl

curl -X POST http://localhost:4000/graphql \
  -H 'Content-Type: application/json' \
  -d '{"query":"{ cases { id clientName status } }"}'

On this page