SEAGIT DOCS
API Reference

SeaGit API

The same REST/JSON API that powers the SeaGit dashboard. Use it to automate infrastructure and deployments. Authenticated with revocable API keys or your session token.

Overview

SeaGit exposes a complete REST API for managing infrastructure, deployments, and account resources. The API is described by an OpenAPI 3.0 spec — download it to integrate with Postman, Insomnia, or any HTTP client or code generator.

Base URL: https://seagit.com/api

Spec: /openapi.json (OpenAPI 3.0 format)

Interactive Explorer: /docs/swagger (Swagger UI; use when signed in)

Authentication

Every API request must include an Authorization header. The value is the raw API key — no Bearer prefix or other scheme.

API Keys (Recommended)

API keys are long-lived, revocable, and belong to a single account. Create your first one under Settings → API keys (/settings/api-keys) or via the API:

$ curl -X POST https://seagit.com/api/accounts/YOUR_ACCOUNT_ID/api-keys \
  -H "Authorization: $SEAGIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "my-automation"}'

# Returns the raw key once:
{
  "success": true,
  "data": {
    "id": "...",
    "name": "my-automation",
    "key": "sgt_live_...",
    "created_at": "2025-01-15T10:00:00Z"
  }
}

Save the returned key value (printed once); it is never displayed again. Revoke a key by deleting it under Settings.

⚠️ Paid plans only

API keys are not available on the Free plan. Requests will return 403 Forbidden. Upgrade your plan in account settings.

Session Tokens (Testing)

When signed into the dashboard, your browser session token is automatically used by the interactive Swagger explorer. You can also extract and use your session token for curl requests during development.

Quickstart

Get your account ID and make your first API request:

# Set up your environment
export SEAGIT_API=https://seagit.com/api
export SEAGIT_API_KEY=sgt_live_xxx...

# Verify your API key is valid; fetch your account
curl -H "Authorization: $SEAGIT_API_KEY" \
  $SEAGIT_API/auth/me

# Response includes your account ID in data._id
{
  "success": true,
  "data": {
    "_id": "account123",
    "email": "user@example.com",
    ...
  }
}

# Save your account ID
export ACCOUNT_ID=account123

# List your applications
curl -H "Authorization: $SEAGIT_API_KEY" \
  $SEAGIT_API/accounts/$ACCOUNT_ID/apps

Endpoint Groups

The API is organized into logical groups. Click any group to explore it in the interactive explorer.

GroupOperationsDescriptionTry It
Account14Manage account information and settingsOpen →
Action Rules10Schedule actions such as starting or stopping clustersOpen →
API Keys5Create and revoke API keys for programmatic accessOpen →
Applications20Create and manage application templatesOpen →
Audit Logs1View account activity logsOpen →
Auth3Current user and access checksOpen →
AWS1List AWS availability zonesOpen →
Billing11Manage your plan, seats and paymentOpen →
Clusters32Create and manage Kubernetes clustersOpen →
Deployments17Deploy and manage application deploymentsOpen →
Domains14Register domains and see what uses themOpen →
Environments31Group clusters and applications into environmentsOpen →
GitHub1List your connected GitHub repositoriesOpen →
Groups8Create and manage team groupsOpen →
Helm2Look up Helm chart repositoriesOpen →
Instances14Manage application instances per environmentOpen →
Members12Manage account members and invitationsOpen →
Networks10Create and manage virtual private clouds (VPCs)Open →
Org Keys4Manage organization-level variables and secretsOpen →
Organization8Manage organization settingsOpen →
Policies13Manage access-control policiesOpen →
Providers6Manage cloud and integration providersOpen →
Scheduling13Calendar events and appointment bookingsOpen →
Spaces5Manage spaces within environmentsOpen →
Support Tickets6Create and track support requestsOpen →
System1Health and status endpointsOpen →
Templates2SeaGit app templates and rule action optionsOpen →

Responses and Errors

Success Response

Successful requests return a 2xx status (usually 200; some create calls return 201) with a JSON body:

{
  "success": true,
  "data": { ... }
}

Error Response

Errors return an HTTP status code and a JSON body with an error message:

{
  "success": false,
  "error": "error message"
}

Common Status Codes

  • 200 OK — Request succeeded.
  • 201 Created — Resource created successfully (POST requests).
  • 400 Bad Request — Missing or invalid request body.
  • 401 Unauthorized — Missing, invalid, expired or disabled credentials. Send a valid API key in the Authorization header.
  • 403 Forbidden — Insufficient permissions or feature not available on your plan (e.g., API keys on Free plan).
  • 404 Not Found — Resource does not exist.
  • 405 Method Not Allowed — Endpoint does not support that HTTP method.
  • 500 Server Error — Internal server error. Try again; contact support if it persists.

Individual endpoints may use additional status codes. See the interactive Swagger explorer for per-endpoint details.

Limits

  • API keys — Available on paid plans only. Creating a key on the Free plan returns 403 Forbidden.
  • Request/response bodies — Free-form JSON. The OpenAPI spec lists the fields each endpoint reads; not all fields are validated or documented, so refer to the spec.
  • Versioning — The API is not versioned and can change along with the dashboard. Pin your client to the spec you generated it from and regenerate when you update.
  • No official SDKs — Use any HTTP client (curl, Python requests, JavaScript fetch) or OpenAPI code generator (openapi-generator, swagger-codegen). The spec is the source of truth.
  • No sandbox — All API calls act on real resources in your live environment. Test cautiously.
  • Rate limits — No rate limits are documented. Keep request volume reasonable and contact support if you run into limits.

FAQ

Does SeaGit have an API?

Yes. SeaGit exposes the same REST/JSON API that powers the dashboard. The full API is documented in an OpenAPI 3.0 spec (openapi.json) and an interactive explorer (Swagger UI) is available at /docs/swagger.

How do I authenticate to the SeaGit API?

Include an Authorization header with your API key: Authorization: sgt_live_… (the raw key value, no Bearer prefix). API keys are created under Settings → API keys and are long-lived and revocable. Your signed-in session token also works when testing interactively at /docs/swagger.

Are API keys available on the Free plan?

No. API keys need a paid plan: on the Free plan, creating a key returns 403 "API keys are not available on the Free plan."

Is there an OpenAPI/Swagger spec?

Yes. Download the spec at /openapi.json to use with Postman, Insomnia, or code generators. The interactive explorer at /docs/swagger lets you try requests live without writing code.

Can I try the API without writing code?

Yes. Visit /docs/swagger — it is a Swagger UI explorer where you can browse all endpoints and try requests interactively if you are signed in. You can also use curl with your API key.

Is there an SDK?

No official SDK yet. Any HTTP client (curl, Python requests, JavaScript fetch, etc.) or OpenAPI-based code generator (e.g. openapi-generator, swagger-codegen) works. The spec is the source of truth.