Atlas API Overview
Atlas exposes a read-only REST API for explorer data. All endpoints live under /v1 and require a network query parameter.
Base URL
| Environment | URL |
|---|---|
| Local | http://localhost:8080 |
| Production | Configure via ATLAS_API_URL |
The web app proxies browser requests through /api/atlas/* (BFF).
Common parameters
| Parameter | Description |
|---|---|
network | Stellar network (testnet, mainnet) |
page | Page number (1-based, default 1) |
page_size | Items per page (default 20, max 100) |
Paginated response
List endpoints return:
{
"items": [],
"total": 0,
"page": 1,
"page_size": 20
}Endpoints
Explore (read)
| Method | Path | Description |
|---|---|---|
| GET | /health | Service health |
| GET | /v1/stats | Network statistics |
| GET | /v1/home | Homepage aggregate payload |
| GET | /v1/events | Paginated events list |
| GET | /v1/events/{id} | Event detail |
| GET | /v1/contracts | Paginated contracts list |
| GET | /v1/contracts/{id} | Contract detail |
| GET | /v1/contracts/{id}/events | Contract events (paginated) |
Schema registry (SEP-0048)
| Method | Path | Description |
|---|---|---|
| POST | /v1/schemas | Publish new schema version |
| GET | /v1/schemas | List schemas (limit, offset, search) |
| GET | /v1/schemas/{contract_id} | Latest schema per event on a contract |
| GET | /v1/schemas/{contract_id}/{event_name} | Get schema (?version= optional) |
Registry list pagination uses limit / offset, not page / page_size.
Auth
| Method | Path | Description |
|---|---|---|
| POST | /v1/auth/register | Register account |
| POST | /v1/auth/login | Login |
| POST | /v1/auth/verify-email | Verify email token |
| POST | /v1/auth/resend-verification | Resend verification |
| GET | /v1/auth/me | Current user (Bearer JWT) |
OpenAPI / Scalar
In development, Atlas serves interactive API docs at /docs on the Atlas server (Scalar UI).
Authentication
Explore and schema registry read/publish endpoints do not require authentication today. Auth endpoints (/v1/auth/*) issue and validate JWT sessions for the web app login flow; GET /v1/auth/me requires a Bearer token.
Last updated on