Appearance
Atlas API Reference
All API routes are mounted inside the Next.js app at /api/rpc/* using oRPC. The router modules live in packages/api/src/routers/.
Route Structure
/api/rpc/
├── users/v1/ # User profile & subscriptions
├── auth/ # Admin-only user management
├── search/v1/ # Property search & saved searches
├── payments/ # Subscription & credit management
├── leads/v1/ # Lead groups & skip tracing
├── divorce-leads/v1/# Divorce lead intelligence
├── scout/v1/ # Scout city-based property data
├── helpcenter/v1/ # Help articles
├── feature-requests/v1/ # Feature request inbox
├── webhooks/v1/ # Chargebee webhook receiver
└── fetchPropertyImages/ # Property image fetchingUsers (/users/v1)
| Method | Path | Description |
|---|---|---|
PUT | /update | Update profile (name, phone, location, profession) |
POST | /subscription | Create Chargebee subscription for a plan |
PUT | /onboarding/complete | Mark user onboarding complete |
POST | /waitlist | Add email to public waitlist (ConvertKit) |
Auth / Admin (/auth)
All routes require
ADMINrole.
| Method | Path | Description |
|---|---|---|
GET | /getAllCredits | All user credit balances (paginated) |
GET | /getAllPayments | All payment transactions (paginated) |
GET | /getCreditStats | Global credit statistics |
GET | /getCreditWeights | Credit weight config per operation type |
PUT | /updateEnrichmentWeight | Update skip-trace credit weight |
POST | /uploadProfileImage | Upload user profile image to S3 |
Search (/search/v1)
| Method | Path | Description |
|---|---|---|
POST | / | Execute property search with filters — deducts credits |
POST | /preview | Preview result count without deducting credits |
POST | /export | Export results to CSV |
POST | /save | Save search results under a name |
GET | /saved | List all saved searches for user |
GET | /saved/:id | Get saved search with all properties |
PATCH | /saved/:id | Rename a saved search |
DELETE | /saved/:id | Delete a saved search |
Search Filters
The POST / body supports filtering across:
- Address fields (state, city, county, zip)
- Property type, bedrooms, bathrooms, square footage
- Owner type (individual, corporate, LLC)
- Equity, LTV, estimated value range
- Foreclosure status, lien presence
- Last sale date range
- BatchData dataset-specific fields
Dataset Unlocking
Individual dataset fields within a property result can be unlocked on-demand:
| Method | Path | Description |
|---|---|---|
POST | /unlockPropertyData | Unlock a specific dataset field for a property (deducts credits) |
Payments (/payments)
| Method | Path | Description |
|---|---|---|
GET | /getSubscriptionStatus | Current subscription + available credit balance |
GET | /getPaymentHistory | Paginated payment/invoice history |
GET | /getPlans | Available subscription plans from Chargebee |
GET | /getCreditUsage | Credit usage breakdown (SEARCH vs SKIPTRACE) |
GET | /getCreditWeights | Credit cost per operation type |
POST | /purchaseCredits | One-time credit top-up |
POST | /createSubscription | Start a recurring subscription |
PUT | /updateSubscription | Upgrade/downgrade plan or billing period |
POST | /cancelSubscription | Cancel subscription (stays active until end of billing period) |
POST | /reactivateSubscription | Reactivate a cancelled subscription |
Leads / Skip Tracing (/leads/v1)
| Method | Path | Description |
|---|---|---|
GET | /list | List lead groups with enrichment status |
GET | /list/all-ids | Get all lead group IDs |
GET | /:id | Get contacts in a group (paginated, searchable) |
GET | /:id/contacts/all-ids | All contact IDs in group (for bulk ops) |
GET | /:id/export | Export lead group to CSV |
POST | /upload | Upload contacts from CSV/Excel file |
PUT | /:id | Update lead group metadata (name, description, tags) |
DELETE | /:id | Delete lead group |
DELETE | /contacts/:id | Delete individual contact |
GET | /skiptracing | Get skip tracing job status/results |
See Leads & Enrichment for the full upload + enrichment flow.
Divorce Leads (/divorce-leads/v1)
| Method | Path | Description |
|---|---|---|
GET | /overview | Summary counts across subscribed states |
GET | /cities | Divorce leads filtered by state/city with pagination |
Scout (/scout/v1)
| Method | Path | Description |
|---|---|---|
GET | /request-email-data | Get scout request email info |
GET | /cities | Available scout cities |
GET | /users | [ADMIN] List scout users (paginated) |
PUT | /preferences | [ADMIN] Update scout preferences |
PUT | /cities | [ADMIN] Update available scout cities |
POST | /sync-property-permissions | [ADMIN] Sync property dataset permissions for scout users |
Help Center (/helpcenter/v1)
| Method | Path | Description |
|---|---|---|
GET | /articles | List published articles (filter by category, search by query) |
GET | /articles/:slug | Get single article (increments view counter) |
GET | /admin/articles | [ADMIN] All articles including unpublished |
POST | /admin/articles | [ADMIN] Create article |
PUT | /admin/articles/:id | [ADMIN] Update article |
DELETE | /admin/articles/:id | [ADMIN] Delete article |
Categories: ACCOUNT_BILLING, SKIP_TRACING, SEARCH_FEATURES, LEGAL_COMPLIANCE, TECHNICAL_SUPPORT, CREDITS
Feature Requests (/feature-requests/v1)
| Method | Path | Description |
|---|---|---|
POST | / | Submit a feature request |
GET | / | List the user's submitted requests |
PUT | /:id | [ADMIN] Update status or priority |
DELETE | /:id | [ADMIN] Delete a request |
Statuses: PENDING, REVIEWED, IN_PROGRESS, COMPLETED, REJECTED
Webhooks (/webhooks/v1)
| Method | Path | Description |
|---|---|---|
POST | /chargebeeWebhook | Receive Chargebee subscription/payment events |
Handles events: subscription created, plan changed, subscription cancelled/reactivated, invoice paid/failed.
Property Images
| Method | Path | Description |
|---|---|---|
POST | /fetchPropertyImages | Fetch and cache property images from Google Maps/Repliers into S3 |
GET | /getPropertyImage | Retrieve a cached property image from S3 |
Health Check
| Method | Path | Description |
|---|---|---|
GET | /health-check | Returns 200 OK — used by load balancer |