Skip to content
Last updated

Quickstart

The examples below use curl and an environment variable. Create a key with the data:read and leads:write scopes before you begin.

1. Store your API key

API keys are displayed only once when they are created in Preferences → API access.

Paste the key when prompted; the -s option keeps the value off screen and out of the command itself.

read -s INSYDER_API_KEY
export INSYDER_API_KEY

Keep the key on the server side. Never commit it, place it in a URL, or expose it in browser code.

2. List accessible accounts

curl --request GET \
  --url https://api.insyder.io/v1/accounts \
  --header "X-API-Key: $INSYDER_API_KEY"

The response contains only the workspaces selected for the key where its owner is still a member:

{
  "data": [
    {
      "account_id": "account_123",
      "username": "example_brand",
      "currency": "CHF",
      "role": "owner"
    }
  ],
  "meta": {
    "request_id": "req_123",
    "has_more": false,
    "next_cursor": null
  }
}

Save the account_id for account-scoped requests.

3. List leads

curl --request GET \
  --url "https://api.insyder.io/v1/accounts/account_123/leads?limit=50" \
  --header "X-API-Key: $INSYDER_API_KEY"

When meta.has_more is true, pass meta.next_cursor unchanged in the next request:

curl --get \
  --url https://api.insyder.io/v1/accounts/account_123/leads \
  --header "X-API-Key: $INSYDER_API_KEY" \
  --data-urlencode "cursor=cursor_from_the_previous_response" \
  --data-urlencode "limit=50"

4. Update a lead

Only status, email, phone, and notes can be changed. Omitted fields remain unchanged; sending null clears a nullable user-managed field.

curl --request PATCH \
  --url https://api.insyder.io/v1/accounts/account_123/leads/lead_456 \
  --header "Content-Type: application/json" \
  --header "X-API-Key: $INSYDER_API_KEY" \
  --data '{
    "status": "follow_up",
    "notes": "Requested a follow-up next week"
  }'

5. Handle limits and errors

Successful router responses include X-Request-Id and rate-limit headers. The limit is 20 accepted requests in each fixed UTC one-second window, aggregated across all keys belonging to the same user. A request over the limit returns 429 with Retry-After.

Errors use application/problem+json. Record the response's X-Request-Id when contacting support, but never include your API key or sensitive request data.

Continue with Authentication, or explore the complete API reference.