The Soxom dashboard is backed by an HTTP API rooted at /api/v1. This page documents those endpoints for reference — for understanding how the system fits together, for debugging, and for support conversations.
Caution
The API is not currently designed for programmatic use . Every endpoint
requires a WorkOS-sealed session cookie, which is set when you sign in through
the web app and is not suitable for CI, scripts, or third-party integrations.
If you need automation, talk to us about your use case.
The API base URL depends on your deployment — substitute your Soxom API base URL for https://api.example.com in the snippets below.
All endpoints authenticate via the user-session cookie set by the WorkOS sign-in flow.
All paths live under /api/v1.
Requests and responses are JSON.
Standard HTTP status codes: 200/201 on success, 400 for malformed input, 401 for missing auth, 403 for unauthorized, 404 for missing resources, 422 for validation errors, 5xx for server errors.
Resource paths follow REST conventions (GET to read, POST to create or trigger, PATCH to update, DELETE to remove).
Method Path Purpose GET/api/v1/auth/meCurrent user and active Organization context (cookie auth). GET/api/v1/organizationsList Organizations the current user belongs to. POST/api/v1/organizations/switchSwitch the active Organization for the current session. GET/api/v1/membersList members of the active Organization.
Method Path Purpose GET/api/v1/projectsList Projects in the active Organization. POST/api/v1/projectsCreate a Project and its config repository. GET/api/v1/projects/:idGet a single Project. PATCH/api/v1/projects/:idUpdate a Project. DELETE/api/v1/projects/:idDelete a Project.
Method Path Purpose GET/api/v1/projects/:projectId/sdk-targetsList SDK Targets for a Project. POST/api/v1/projects/:projectId/sdk-targetsCreate an SDK Target. Provisions a Staging Repository and a Production Repository. GET/api/v1/projects/:projectId/sdk-targets/:idGet a single SDK Target. PATCH/api/v1/projects/:projectId/sdk-targets/:idUpdate an SDK Target. DELETE/api/v1/projects/:projectId/sdk-targets/:idDelete an SDK Target.
Method Path Purpose GET/api/v1/projects/:projectId/sdk-targets/:id/sdk-buildsList SDK builds. POST/api/v1/projects/:projectId/sdk-targets/:id/sdk-builds/triggerManually trigger a new build. POST/api/v1/projects/:projectId/sdk-targets/:id/sdk-builds/:buildId/retryRetry a failed build.
Method Path Purpose GET/api/v1/projects/:projectId/sdk-targets/:id/staging-releasesList staging releases. POST/api/v1/projects/:projectId/sdk-targets/:id/staging-releasesCreate a staging release. GET/api/v1/projects/:projectId/sdk-targets/:id/releasesList production releases. POST/api/v1/projects/:projectId/sdk-targets/:id/releasesCreate a production release and publish it.
Method Path Purpose GET/api/v1/github/installationsList GitHub App installations connected to the Organization. POST/api/v1/github/installations/installStart the GitHub App install flow.
Method Path Purpose GET/api/v1/membersList members of the active Organization.
Method Path Purpose GET/api/v1/billing/planCurrent plan and usage for the active Organization. POST/api/v1/billing/checkoutStart a Stripe Checkout session. POST/api/v1/billing/portalOpen the Stripe Customer Portal.
For reference, the request shape is a normal cookie-authenticated JSON call:
curl -X POST " https://api.example.com/api/v1/projects/abc/sdk-targets/xyz/sdk-builds/trigger " \
-H " Cookie: user-session=<session-cookie-from-browser> "
The same action in the dashboard — clicking Trigger build on an SDK Target — issues this request for you, with no cookie handling required.