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/appsEndpoint Groups
The API is organized into logical groups. Click any group to explore it in the interactive explorer.
| Group | Operations | Description | Try It |
|---|---|---|---|
| Account | 14 | Manage account information and settings | Open → |
| Action Rules | 10 | Schedule actions such as starting or stopping clusters | Open → |
| API Keys | 5 | Create and revoke API keys for programmatic access | Open → |
| Applications | 20 | Create and manage application templates | Open → |
| Audit Logs | 1 | View account activity logs | Open → |
| Auth | 3 | Current user and access checks | Open → |
| AWS | 1 | List AWS availability zones | Open → |
| Billing | 11 | Manage your plan, seats and payment | Open → |
| Clusters | 32 | Create and manage Kubernetes clusters | Open → |
| Deployments | 17 | Deploy and manage application deployments | Open → |
| Domains | 14 | Register domains and see what uses them | Open → |
| Environments | 31 | Group clusters and applications into environments | Open → |
| GitHub | 1 | List your connected GitHub repositories | Open → |
| Groups | 8 | Create and manage team groups | Open → |
| Helm | 2 | Look up Helm chart repositories | Open → |
| Instances | 14 | Manage application instances per environment | Open → |
| Members | 12 | Manage account members and invitations | Open → |
| Networks | 10 | Create and manage virtual private clouds (VPCs) | Open → |
| Org Keys | 4 | Manage organization-level variables and secrets | Open → |
| Organization | 8 | Manage organization settings | Open → |
| Policies | 13 | Manage access-control policies | Open → |
| Providers | 6 | Manage cloud and integration providers | Open → |
| Scheduling | 13 | Calendar events and appointment bookings | Open → |
| Spaces | 5 | Manage spaces within environments | Open → |
| Support Tickets | 6 | Create and track support requests | Open → |
| System | 1 | Health and status endpoints | Open → |
| Templates | 2 | SeaGit app templates and rule action options | Open → |
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.