Skip to content
All docs
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.