API Reference
Complete REST API reference for the Sire workflow automation platform, including authentication, rate limits, error handling, and endpoint catalog.
API Reference
The Sire API lets you create and manage workflows, start executions, configure webhooks, and manage your account programmatically. All endpoints return JSON and follow consistent conventions for authentication, error handling, and pagination.
Base URL
https://api.sire.runAll API paths are relative to this base URL. For example, listing workflows is a GET request to https://api.sire.run/api/v1/workflows.
Authentication
Sire supports two authentication methods: API keys for server-to-server integrations and Bearer tokens (JWT) for session-based access from the dashboard or SDK.
API Keys
API keys are the recommended way to authenticate programmatic access. Generate keys from Settings > API Keys in the Sire dashboard.
API keys use the prefix sk_ followed by a 64-character hex string. You will only see the full key once at creation time -- store it securely.
Include your API key in the Authorization header:
curl -H "Authorization: Bearer sk_your_api_key_here" \
https://api.sire.run/api/v1/workflowsKey management endpoints:
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/v1/apikeys | Create a new API key |
| GET | /api/v1/apikeys | List your API keys |
| DELETE | /api/v1/apikeys/:id | Revoke an API key |
Each API key is scoped to your organization. Revoking a key takes effect immediately.
Bearer Tokens (JWT)
Bearer tokens are issued when you log in through the dashboard or via the authentication endpoints. Tokens expire after a set period and can be refreshed using the refresh endpoint.
curl -X POST https://api.sire.run/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "password": "your_password"}'The response includes an access token:
{
"token": "eyJhbGciOiJIUzI1NiIs...",
"expiresAt": 1704067200
}Use the token in subsequent requests:
curl -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
https://api.sire.run/api/v1/workflowsOAuth Providers
Sire also supports sign-in with Google, GitHub, Apple, and Okta. OAuth flows are initiated from the dashboard and return a Bearer token upon completion.
Rate Limits
API requests are rate-limited per client to ensure fair usage and platform stability. Limits are applied by endpoint category:
| Category | Scope | Limit |
|---|---|---|
| Authentication | /api/v1/auth/* | 10 requests/minute |
| Write operations | POST, PUT, DELETE | 60 requests/minute |
| Read operations | GET | 300 requests/minute |
When you exceed a rate limit, the API returns a 429 Too Many Requests response with a Retry-After header indicating how many seconds to wait before retrying:
HTTP/1.1 429 Too Many Requests
Retry-After: 5
Content-Type: application/json
{"error": "rate limit exceeded"}Health check endpoints (/healthz, /readyz) are exempt from rate limiting.
Request Format
- All request bodies must be JSON with a
Content-Type: application/jsonheader. - Request bodies are limited to 1 MB.
- Path parameters use the
:paramconvention (e.g.,/api/v1/workflows/:id).
Response Format
All successful responses return JSON with an appropriate HTTP status code:
{
"id": "wf_abc123",
"name": "My Workflow",
"createdAt": 1704067200
}List endpoints return an array:
[
{ "id": "wf_abc123", "name": "My Workflow" },
{ "id": "wf_def456", "name": "Another Workflow" }
]Error Handling
All error responses use a consistent JSON format:
{
"error": "A human-readable error message"
}HTTP Status Codes
| Status | Meaning | When It Happens |
|---|---|---|
200 | OK | Request succeeded |
201 | Created | Resource successfully created |
400 | Bad Request | Invalid JSON, missing required fields, or validation failure |
401 | Unauthorized | Missing or invalid authentication token |
402 | Payment Required | Free tier execution limit reached (upgrade required) |
403 | Forbidden | Authenticated but insufficient permissions for this action |
404 | Not Found | The requested resource does not exist |
405 | Method Not Allowed | HTTP method not supported for this endpoint |
429 | Too Many Requests | Rate limit exceeded -- check the Retry-After header |
500 | Internal Server Error | An unexpected error on our side |
Free Tier Limit Error
When free-tier organizations exceed their monthly execution limit, the API returns a 402 with upgrade information:
{
"error": "free tier limit reached",
"limit": 50,
"current": 50,
"upgrade": "/api/v1/billing/checkout"
}Endpoint Reference
Authentication
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/v1/auth/signup | Create a new account |
| POST | /api/v1/auth/login | Log in with email and password |
| POST | /api/v1/auth/logout | Log out the current session |
| GET | /api/v1/auth/me | Get the current user profile |
| POST | /api/v1/auth/refresh | Refresh an access token |
| POST | /api/v1/auth/forgot-password | Request a password reset |
| POST | /api/v1/auth/reset-password | Reset password with token |
Workflows
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/workflows | List all workflows |
| POST | /api/v1/workflows | Create a new workflow |
| GET | /api/v1/workflows/:id | Get a workflow by ID |
| PUT | /api/v1/workflows/:id | Update a workflow |
| DELETE | /api/v1/workflows/:id | Delete a workflow |
| POST | /api/v1/workflows/:id/versions | Create a new workflow version |
Executions
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/executions | List executions |
| POST | /api/v1/executions | Start a new execution |
| GET | /api/v1/executions/:id | Get execution details |
| POST | /api/v1/executions/:id/cancel | Cancel a running execution |
| GET | /api/v1/executions/:id/logs | Stream execution logs (SSE) |
| GET | /api/v1/executions/search | Search executions with filters |
Credentials
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/credentials | List stored credentials |
| POST | /api/v1/credentials | Store a new credential |
| DELETE | /api/v1/credentials/:id | Delete a credential |
Billing
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/billing/subscription | Get current subscription status |
| POST | /api/v1/billing/checkout | Create a Stripe checkout session |
| POST | /api/v1/billing/portal | Open the Stripe billing portal |
Chat
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/chat/sessions | List chat sessions |
| POST | /api/v1/chat/sessions | Create a new chat session |
| POST | /api/v1/chat/sessions/:id/messages | Send a message |
| GET | /api/v1/chat/sessions/:id/messages | Get session messages |
Webhooks
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/webhooks | List webhook endpoints |
| POST | /api/v1/webhooks | Register a webhook |
| DELETE | /api/v1/webhooks/:id | Remove a webhook |
Marketplace
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/marketplace/tools | Browse available MCP tools |
| POST | /api/v1/marketplace/tools/:id/install | Install an MCP tool |
Teams
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/teams | List teams |
| POST | /api/v1/teams | Create a team |
| GET | /api/v1/teams/:id/members | List team members |
| POST | /api/v1/teams/:id/members | Invite a member |
| DELETE | /api/v1/teams/:id/members/:userId | Remove a member |
Notifications
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/notifications | List notifications |
| GET | /api/v1/notifications/inbox | Get notification inbox |
API Keys
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/apikeys | List API keys |
| POST | /api/v1/apikeys | Create a new API key |
| DELETE | /api/v1/apikeys/:id | Revoke an API key |
OpenAPI Specification
The full OpenAPI 3.0 specification is available for download. Import it into Postman, Insomnia, or any OpenAPI-compatible client for an interactive API explorer.
Download OpenAPI Spec (YAML)
Interactive API documentation with request/response examples is available at /docs/api-reference.
SDKs and Tools
- Chat SDK: The
@sire/chatembeddable widget connects to the Chat API. - MCP Server: Use the Sire MCP server for Claude Code and other MCP-compatible agents.
- OpenAPI Spec: Generate client libraries in any language using the OpenAPI spec above.
Sire MCP Server
Let AI assistants interact with your Sire account through the Model Context Protocol.
Pricing FAQ
Frequently asked questions about Sire pricing, plans, Compute Units, billing cycles, and upgrades.