API
Our dashboard can be fully managed via our API. You can browse our API as well as access the full OpenAPI specification file.
All API requests go to our API gateway at:
https://api.galaxygate.net/All endpoints have a version prefix /v1 and we try to keep breakage minimal where possible.
Authentication
Section titled “Authentication”All API requests must send an authorization header in the form of:
Authorization: Bearer <token>Websocket and SSE
Section titled “Websocket and SSE”For websocket and SSE endpoints we additionally accept ?token=<token> as a GET request parameter. This can be useful if your HTTP library (or browser) does not support sending additional/custom headers on websocket upgrade requests.
Elevated (sudo) endpoints
Section titled “Elevated (sudo) endpoints”Some endpoints might require elevation, for those cases we accept an X-MFA request header with a TOTP code for that request.
File upload endpoints
Section titled “File upload endpoints”Our file upload endpoint (ISO uploads) does not accept an authentication header, instead whenever you prepare to upload a file you get a fully signed upload URL (similar to a presigned URL under S3).
You can then upload directly to that URL without any authentication headers. We also recommend sending file uploads via our proxied gateway for better performance:
https://papi.galaxygate.netError handling
Section titled “Error handling”Our API returns the common HTTP error codes where appropriate such as 400/401/403/429 and similar.
We have a standardized error body as well, described as ApiError on our OpenAPI spec. The body looks like the following:
{ "code": "<enum>", "error": "Descriptive error message", "status": 400}| Field | Presence | Description |
|---|---|---|
| code | Only when status is ambiguous | Machine readable operation code (Enum) |
| error | Always | Human readable message |
| status | Always | HTTP status code repeated in the body |