Skip to main content

Authentication

All API endpoints require authentication via a Bearer token in the Authorization header.

Using your API key

Include the key in every request:
curl https://app.galaxy.ai/api/v1/workflows \
  -H "Authorization: Bearer gx_your_api_key"
API keys start with the gx_ prefix. You can create and manage keys from the GalaxyAI dashboard.

Managing API Keys

You can create up to 10 API keys per account. Each key has a unique label to help you organize keys by purpose (e.g. “Production”, “Staging”, “CI/CD”).

Creating a key

  1. Open the GalaxyAI Flow dashboard
  2. Click the API Keys button in the top-right corner
  3. Enter a label (e.g. “Production”) and click Create Key
  4. Optionally set an expiration date
  5. Copy the full key immediately — it’s only shown once
The full API key is only displayed at creation time. Store it securely. If you lose it, revoke the key and create a new one.

Key properties

PropertyDescription
LabelA unique name for this key (editable anytime)
PrefixThe visible gx_... prefix shown in the dashboard
Rate limit (per minute)Max requests per minute for this key (default: 60)
Rate limit (per day)Max requests per day for this key (default: 1000)
Expires atOptional expiration date — key stops working after this date
Created atWhen the key was created

Editing a key

You can update a key’s label or rate limits at any time from the dashboard. Click the pencil icon next to any key to edit.

Revoking a key

Click the revoke button next to any key. Revocation is immediate — any requests using that key will start returning 401 Unauthorized.
Revoking a key does not affect other keys on your account. Your other keys continue working normally.

Key Expiration

You can optionally set an expiration date when creating a key. After the expiration date passes:
  • The key is automatically invalidated by the system
  • API requests using the key will return 401 Unauthorized
  • The key shows an “Expired” badge in the dashboard
  • You can revoke expired keys to clean up your key list
Use expiration dates for temporary integrations, CI/CD pipelines, or contractor access. For long-lived production keys, leave the expiration empty.

Rate Limits

Each API key has its own rate limits that you can configure:
LimitDefaultRange
Per minute60 requests1 – 10,000
Per day1,000 requests1 – 100,000
When you exceed a rate limit, the API returns a 429 Too Many Requests response with a Retry-After header:
{
  "error": "Rate limit exceeded. Please try again later."
}
Rate limit information is included in response headers:
HeaderDescription
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetTimestamp (ms) when the rate limit resets
Retry-AfterSeconds to wait before retrying (on 429 responses)
Use exponential backoff when retrying after a 429 response. If you consistently hit limits, increase the rate limits for that key in the dashboard or create separate keys for different services.

Error Responses

StatusMeaning
401Missing, invalid, revoked, or expired API key
429Rate limit exceeded
{
  "error": "Invalid or expired API key."
}