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.