The Developer Screen
Find Siren Cloud's SDKs, API keys, webhooks, and log on the Developer screen, and learn how your own code reaches the Siren Cloud API.
Siren Cloud
Last updated: October 28, 2026
The Developer screen holds what you need to connect your own code to Siren Cloud. Start on the page for the job you have:
- Send sales, visits, or refunds from your own server. Start with Make your first call, then read Events for every event you can send.
- Read your ledger or manage records from your own code. Create a key with the scopes it needs on API Keys, then follow the Resource Reference page for that record.
- Have Siren Cloud tell your server when something happens. Start with Build and test an endpoint on Webhooks.
- Find out why an event didn’t go through. Read Logs below.
- Connect a store without writing code. Use Stripe, Shopify, or the Siren Cloud Connector for a WordPress site instead.
Open the Developer screen from the account menu, under Settings, with “Developer”. It shows the SDKs at the top and three tabs below them:
- API keys, for Admins. See API Keys.
- Webhooks, for Admins and Platform Managers. See Webhooks.
- Logs, for Admins and Platform Managers. See Logs below.
Every plan includes the Developer screen. An organization with no plan doesn’t see it, as When your plan lapses explains.
SDKs
The SDKs card lists Siren’s official packages for sending events and reading your data from your own code. Each has a copyable install command:
| Language | Install |
|---|---|
| Node.js and TypeScript | npm install @novatorius/siren |
| Python | pip install siren-sdk |
| PHP | composer require siren/sdk |
For a browser storefront, import @novatorius/siren/storefront from the Node.js package. On your server, each SDK uses an API key, which an Admin creates under API keys. Keep API keys on your server and out of browser code.
The API
The Siren Cloud API lives at https://api.sirenaffiliates.com/siren/v1. Send an API key in the Authorization header:
GET /siren/v1/ping HTTP/1.1
Host: api.sirenaffiliates.com
Authorization: Bearer sk_live_...
GET /ping checks a key. Any active key gets 200 with { "ok": true, "org": { "id": 1, "name": "Acme" } }, and needs no scope.
An API key reaches these routes, each with the scope API Keys lists:
- Event ingestion,
POST /event/{slug}, which records visits, sales, refunds, and your custom events. Events covers the request bodies, and what Siren Cloud answers while your organization’s processing is paused. - The ledger, read only: engagements, opportunities, conversions, transactions, obligations, fulfillments, and payouts. Each needs its own
ledger:read scope, such asledger:conversions:read. - Webhook management, as Manage webhooks with an API key describes.
- The records you set up: products, coupons, collaborators and their program enrollments, collaborator groups, programs, program groups, distributors, application forms, applications, notification rules, and Properties. Each has a
records:read scope, and most have a manage scope, such asrecords:products:manage.
Every other route answers 401 with the code api_key_not_accepted, because it needs a signed-in person. That includes API key management, members, billing, payout credentials, and every action that approves a reward or sends money.
Rate limits
| Routes | Limit |
|---|---|
| Event ingestion | 5,000 requests per minute for each organization |
| Every other API route | 1,000 requests per minute for each organization |
Responses carry X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset. Over the limit, the API answers 429 with a Retry-After header giving the seconds to wait.
Logs
The Logs tab shows the “Siren log”, the messages Siren writes while it works, such as an event it couldn’t process. Search with “Search message…”, pick a level, and pick a time range: Any time, Last 15 min, Last hour, Last 24 hours, or Last 7 days. Click a row to see its details, with “Copy” to copy them. The log shows 100 rows a page.
“Refresh” loads the newest entries. “Export” downloads the current filtered log as a JSON file, up to 10,000 entries. Siren Cloud keeps log entries for 90 days.
The log doesn’t show webhook deliveries or API requests. Each webhook’s “Delivery History” shows its deliveries, as Webhooks describes.
When your plan lapses
When your organization’s plan or trial ends, API keys keep working, for events and for any ledger or webhook scopes they hold, and webhooks keep delivering. A lapsed plan doesn’t pause processing, so events keep being processed as usual. Admins can’t open the Developer screen to revoke a key or pause a webhook until the organization has a plan again. Before a plan ends, revoke the keys and pause the webhooks you no longer want. An API key with webhook-subscriptions:manage can still pause a webhook while you have no plan. Plans, Trial, and Usage covers what else changes.