API reference5 min read
API reference
REST API for programmatically managing Ion resources.
Authentication
All API requests require an API key. Generate one in Workspace settings → API keys.
curl https://api.ion.app/v1/workspaces \
-H "Authorization: Bearer ion_sk_..."
Base URL
https://api.ion.app/v1
Endpoints
List workspaces
GET /v1/workspaces
Returns the workspaces your API key has access to.
{
"data": [
{
"id": "ws_abc123",
"name": "Northwind",
"slug": "northwind",
"plan": "pro",
"created_at": "2024-01-15T10:30:00Z"
}
]
}
Create an automation
POST /v1/automations
Body:
{
"name": "PR merged notification",
"trigger": {
"type": "github.pull_request.merged",
"filter": { "branch": "main" }
},
"steps": [
{ "type": "slack.post", "channel": "#launches", "text": "{{pr.title}}" },
{ "type": "linear.ticket.close", "match": "{{pr.description}}" }
]
}
Trigger an automation manually
POST /v1/automations/:id/run
Triggers an automation with a synthetic event. Useful for testing.
List activity
GET /v1/activity?limit=50
Returns the most recent activity in your workspace.
Rate limits
API requests are rate-limited per workspace:
- Pro: 100 requests/minute
- Enterprise: 1,000 requests/minute
Rate limit headers are included on every response:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1698764400
Webhooks
Configure webhooks in Workspace settings → Webhooks to receive real-time events. We sign every payload with HMAC-SHA256 — verify the X-Ion-Signature header.