{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-@l10n/en/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Quickstart"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"quickstart","__idx":0},"children":["Quickstart"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The examples below use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["curl"]}," and an environment variable. Create a key with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data:read"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["leads:write"]}," scopes before you begin."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"1-store-your-api-key","__idx":1},"children":["1. Store your API key"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["API keys are displayed only once when they are created in ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Preferences → API access"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Paste the key when prompted; the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-s"]}," option keeps the value off screen and out of the command itself."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"read -s INSYDER_API_KEY\nexport INSYDER_API_KEY\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Keep the key on the server side. Never commit it, place it in a URL, or expose it in browser code."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"2-list-accessible-accounts","__idx":2},"children":["2. List accessible accounts"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl --request GET \\\n  --url https://api.insyder.io/v1/accounts \\\n  --header \"X-API-Key: $INSYDER_API_KEY\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The response contains only the workspaces selected for the key where its owner is still a member:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"data\": [\n    {\n      \"account_id\": \"account_123\",\n      \"username\": \"example_brand\",\n      \"currency\": \"CHF\",\n      \"role\": \"owner\"\n    }\n  ],\n  \"meta\": {\n    \"request_id\": \"req_123\",\n    \"has_more\": false,\n    \"next_cursor\": null\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Save the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account_id"]}," for account-scoped requests."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"3-list-leads","__idx":3},"children":["3. List leads"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl --request GET \\\n  --url \"https://api.insyder.io/v1/accounts/account_123/leads?limit=50\" \\\n  --header \"X-API-Key: $INSYDER_API_KEY\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["meta.has_more"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},", pass ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["meta.next_cursor"]}," unchanged in the next request:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl --get \\\n  --url https://api.insyder.io/v1/accounts/account_123/leads \\\n  --header \"X-API-Key: $INSYDER_API_KEY\" \\\n  --data-urlencode \"cursor=cursor_from_the_previous_response\" \\\n  --data-urlencode \"limit=50\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"4-update-a-lead","__idx":4},"children":["4. Update a lead"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Only ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["email"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["phone"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["notes"]}," can be changed. Omitted fields remain unchanged; sending ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," clears a nullable user-managed field."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl --request PATCH \\\n  --url https://api.insyder.io/v1/accounts/account_123/leads/lead_456 \\\n  --header \"Content-Type: application/json\" \\\n  --header \"X-API-Key: $INSYDER_API_KEY\" \\\n  --data '{\n    \"status\": \"follow_up\",\n    \"notes\": \"Requested a follow-up next week\"\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"5-handle-limits-and-errors","__idx":5},"children":["5. Handle limits and errors"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Successful router responses include ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["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 ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["429"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Retry-After"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Errors use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["application/problem+json"]},". Record the response's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Request-Id"]}," when contacting support, but never include your API key or sensitive request data."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Continue with ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/en/guides/authentication"},"children":["Authentication"]},", or explore the complete ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/en/api/openapi"},"children":["API reference"]},"."]}]},"headings":[{"value":"Quickstart","id":"quickstart","depth":1},{"value":"1. Store your API key","id":"1-store-your-api-key","depth":2},{"value":"2. List accessible accounts","id":"2-list-accessible-accounts","depth":2},{"value":"3. List leads","id":"3-list-leads","depth":2},{"value":"4. Update a lead","id":"4-update-a-lead","depth":2},{"value":"5. Handle limits and errors","id":"5-handle-limits-and-errors","depth":2}],"frontmatter":{"title":"Quickstart","description":"Make your first requests to the Insyder Public API.","seo":{"title":"Quickstart"}},"lastModified":"2026-09-16T07:19:45.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/en/guides/quickstart","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}