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/graphqlThe 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
| Value | Description |
|---|---|
INTAKE | Initial intake — case opened |
DOCUMENTS_PENDING | Waiting for client documents |
SUBMITTED | Documents submitted to authority |
IN_REVIEW | Under review by authority |
APPROVED | Case approved |
REJECTED | Case rejected |
ImmigrationService enum
| Value | Label |
|---|---|
US_VISA | US Visa Application |
DIGITAL_NOMAD_VISA | Digital Nomad Visa |
CITIZENSHIP_APPLICATION | Citizenship Application |
SPANISH_DRIVERS_LICENSE | Spanish 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 → APPROVEDAPPROVED 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 } }"}'