Platform conventions
Every Simwood service shares the same gateway model, versioning scheme, and error conventions. They are documented here once and inherited by every service; a service's own pages cover only what is specific to it.
Gateway model
All services sit behind a single gateway at api.simwood.com and are reached at:
https://api.simwood.com/{service}/{version}/...
The gateway handles authentication and routing; each service owns its own contract behind it. Because the host, authentication scheme, and error shapes are identical across services, integrating an additional service means learning only its endpoints — not a new client.
Versioning
The version is part of the URL path (/v1, /v2), and each service versions independently.
- Breaking changes ship under a new path version (
/v2). - Additive changes — new endpoints, new optional fields — ship within the current version and do not break existing integrations.
Errors
All services return a consistent JSON error shape:
{
"error": "Short error description",
"detail": "Optional longer explanation"
}
Standard status codes used across the platform:
| Status | Meaning |
|---|---|
400 |
Malformed request — missing or invalid fields |
401 |
Missing or invalid API key |
403 |
Valid key, but it lacks the required scope |
404 |
Resource not found |
409 |
Conflict — resource already exists |
422 |
Request is valid but cannot be processed |
429 |
Rate limit exceeded |
500 |
Internal server error |
Individual services may document additional, service-specific status codes in their own reference.