Workspace API
SchemaStack automatically generates a full REST API for every workspace. Once you've defined your entities and columns, you can immediately start reading and writing data through the API — no code generation or deployment needed.
How It Works
- Define your schema — create entities with columns, types, and relationships in SchemaStack
- Generate an API key — create a key in your workspace settings with the appropriate permission level
- Start making requests — your data is available at predictable, RESTful endpoints
Every entity in your workspace gets its own set of CRUD endpoints automatically.
Base URL
https://your-instance.schemastack.com/api/v1/{orgSlug}/{workspaceSlug}Replace {orgSlug} and {workspaceSlug} with your organization and workspace slugs.
Quick Example
bash
# List all customers
curl "https://api.schemastack.com/api/v1/acme-corp/sales/Customer" \
-H "Authorization: Bearer sk_live_abc123..."
# Create a customer
curl -X POST "https://api.schemastack.com/api/v1/acme-corp/sales/Customer" \
-H "Authorization: Bearer sk_live_abc123..." \
-H "Content-Type: application/json" \
-d '{ "name": "Jane Doe", "email": "[email protected]" }'API Sections
| Section | Description |
|---|---|
| Authentication | API keys, permissions, and headers |
| CRUD Operations | Create, read, update, delete, and list records |
| Filtering | Filter records by field values with operators |
| Expanding Relationships | Include related data with ?expand= |
| Field Selection | Control which fields are returned with ?fields= |
| Pagination & Sorting | Page through results and sort by fields |
| Validation | Constraint validation and error details |
| Bulk Operations | Batch create, update, and delete |
| Errors | Error response format and status codes |
Response Format
All responses are JSON. Successful responses wrap data in a data field:
json
{
"data": {
"id": 1,
"name": "Jane Doe",
"email": "[email protected]"
}
}List responses include pagination metadata:
json
{
"data": [ ... ],
"meta": {
"page": 0,
"size": 20,
"totalElements": 150,
"totalPages": 8
}
}Null fields are omitted from responses.