Generate REST APIs from api-config.json for TypeScript or Rust backends.
This is a backend-only variant of atoms-kit that defines just the data layer:
- Atoms: Your data entities (e.g., contacts, deals, tickets)
- Fields: Field types and validation
- Relations: Relationships between atoms
No frontend (pages, navigation, theme) is defined — this is purely for generating a REST API layer.
- Backend-only APIs with no frontend
- Headless CMS / API-first architecture
- Generating API routes that will be consumed by external frontends
- Microservices that need CRUD operations
Define your API in api-config.json:
{
"version": "1.0",
"app": {
"name": "Task API",
"description": "Simple task management API"
},
"atoms": {
"task": {
"label": "Task",
"fields": {
"title": { "type": "text", "required": true },
"status": {
"type": "enum",
"values": ["todo", "in_progress", "done"],
"default": "todo"
}
}
}
}
}This generates:
Tasktype/struct with all fields plusidandorg_id- CRUD endpoints at
/api/atoms/task - Auto-filtering by org_id
| Type | Use Case |
|---|---|
text |
Short text (names, titles) |
longtext |
Multi-line content |
email |
Email addresses |
url |
Web URLs |
number |
Numeric values |
boolean |
True/false |
datetime |
Date/time |
json |
Arbitrary JSON |
enum |
Fixed set of values |
All API requests require a Bearer token. Set SCOUTOS_API_KEY for server-to-server requests, or use Clerk JWT for user sessions.
MIT