List subscription events
List subscription events, optionally narrowed by `subscriptionId` or `customerId`. These events are the ledger SaaSFlow computes MRR from. Each row is a **delta**, not a level: `mrrChange` is the amount added or removed at that moment, so a subscription's current MRR is the sum of its events, and a plain cancellation shows up as a negative `mrrChange` that offsets what came before. Two timestamps matter and they are not interchangeable: `effectiveTime` is when the change hits MRR, `committedTime` is when it was agreed, which is what committed MRR is measured on. Amounts are in the parent subscription's currency.
Authentication
sf_… API key in the bearerAuth field below.A SaaSFlow API key (format sf_…) or an OAuth bearer token. Paste only the key — the proxy adds the Bearer prefix. Create an API key in Settings → Company settings → API keys — see API keys.
In: header
Path Parameters
1 <= lengthQuery Parameters
Response Body
application/json
curl -X GET "https://example.com/companies/string/subscription_events"[ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda", "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f", "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113", "committedTime": "2019-08-24T14:15:22Z", "effectiveTime": "2019-08-24T14:15:22Z", "mrrChange": "string", "quantityChange": -8388608, "billingInterval": "day", "billingIntervalCount": -2147483648, "createdTime": "2019-08-24T14:15:22Z", "createdUserId": "string", "lastUpdatedTime": "2019-08-24T14:15:22Z", "lastUpdatedUserId": "string" }]Update subscription
Update a subscription. Only the fields you send change. This edits the container only, never the revenue: to change what a subscription is worth, add or edit its subscription events.
Create subscription event
Record a subscription event, which is how revenue actually enters SaaSFlow. `mrrChange` is a signed delta in the subscription's currency, sent as a decimal string so nothing is lost to floating point: positive for a new subscription or an upgrade, negative for a downgrade, and the negative of everything booked so far for a full cancellation. `quantityChange` is the matching seat or unit delta. `effectiveTime` is when the change hits MRR and `committedTime` is when it was agreed, and getting the two the wrong way round is the usual cause of MRR landing in the wrong month. Fails with 404 if the subscription is not in this company.