Running on Galaxy Legacy? Visit the legacy docs.
Galaxy
Meteor

Public API

Automate managed domains, scaling, and scaling schedules for your Meteor apps with scoped Galaxy API credentials.

The Galaxy Public API is a REST API for automating a small, deliberate set of operations on your apps. It replaces the legacy GraphQL API for customer automation.

What you'll need: A Meteor app on the Professional plan

Who can create credentials: The account owner, or an owner or admin of the organization that owns the app


What You Can Automate

The API covers operational tasks you'd otherwise click through in the dashboard. It doesn't expose deployments, environment variables, or billing.

Applications: List the applications assigned to a credential, with status, service type, and region.

Managed domains: Read metadata for every domain on an app. Create, re-verify, and delete custom domains that use Galaxy-managed TLS.

Scaling: Read and change the desired container count and the container specification.

Scaling schedules: Create one-time or daily recurring container count changes, list recent schedules, and cancel pending ones.

Production base URL: https://api.galaxycloud.app

The full endpoint reference, request and response schemas, and an interactive Test Request console live at api.galaxycloud.app/public/docs. The OpenAPI 3.1 contract is published at /public/openapi.json if you'd rather generate a client.


Create a Credential

Credentials are created in the Galaxy dashboard, not through the API.

Open Public API Access

Head to Settings, then Public API under API & Integrations. Organizations have their own Public API page in organization settings, separate from your personal account.

Click Create credential

The button sits at the top of the page, next to Documentation. If it's disabled, hover it: the tooltip explains why, usually because the account has no eligible application yet.

Name the credential

Use the Name field and describe what the integration does, like Production domain automation. You get up to 80 characters.

Pick your applications

Select at least one app under Applications. Only Meteor apps on the Professional plan in this account show up here.

Pick your capabilities

Capabilities starts with public:apps:read checked. Add whatever else the integration needs. Write capabilities automatically pull in their matching read capability.

Set an expiration

Expires on defaults to 90 days from today. The earliest you can pick is tomorrow, the latest is 365 days out.

Copy your token

Submit the form and Galaxy shows the token once. Copy it into your secret manager, tick the box confirming you've saved it, then click Done. You can't close that dialog any other way.

Send the token as a bearer token on every request:

curl https://api.galaxycloud.app/public/v1/apps \
  -H "Authorization: Bearer gxy_v1.your-token-here"

Scopes

Every request needs both the right scope and an app that's on the credential's allowlist. Apps that aren't listed, and apps belonging to another owner, return 404 instead of 403 so the API never confirms they exist.

public:apps:read: Lists the applications assigned to the credential.

public:domains:read: Reads domain metadata for those applications.

public:domains:write: Creates, re-verifies, and deletes custom domains that use Galaxy-managed TLS. Requires public:domains:read.

public:scaling:read: Reads container counts, container specifications, and scaling schedules.

public:scaling:write: Changes scaling state and manages scaling schedules. Requires public:scaling:read.

Custom certificates and Galaxy subdomains aren't part of the public contract. Manage those in the dashboard.


Rotation and Revocation

Both actions live in the actions menu at the end of each row in the credential list, and both ask for confirmation first.

Rotate a credential when a token may have leaked, or on whatever schedule your security policy sets. Rotation issues a new token and keeps the previous one valid for 15 minutes, so your workers have time to pick up the new value. The dialog tells you the exact time the old token stops working.

Revocation is immediate and permanent. A revoked credential can't authenticate again, and you can't undo it.

Tokens Are Shown Once

Galaxy stores a hash, not the token. If you lose it, rotate the credential to get a new one.


Retries, Request IDs, and Rate Limits

Domain mutations and scaling schedule mutations require an Idempotency-Key header. Generate a unique value per logical operation and reuse it only when retrying the exact same request. Galaxy replays the completed response for 24 hours; reusing a key with a different operation or payload returns 409.

Every automation response includes an X-Request-ID. Send your own identifier (visible ASCII, up to 128 characters) to correlate requests with your own logs, or let Galaxy generate one.

Default rate limits are 120 requests per minute per credential and 600 requests per minute per owner. A 429 response includes Retry-After with the number of seconds to wait.


Common Questions

Something Not Behaving as Documented?

Include the X-Request-ID from the failing response when you contact support. It's the fastest way for us to find your request.


What's Next?