SaaSFlow
DevelopersAPIReferencesubscriptions

Create subscription

Create a subscription for a customer. Creating one on its own contributes nothing to MRR: add subscription events to it, starting with a `new` event, for the revenue to appear. `currency` is fixed at the subscription level, so a customer paying in two currencies needs two subscriptions. Set `externalId` only when mirroring a billing provider; a value already used by another subscription is refused with 409.

Authentication

You're not signed in. Either sign in at app.saasflow.com and reload (then pick sessionCookie), or paste a SaaSFlow sf_… API key in the bearerAuth field below.
POST
/companies/{companyId}/subscriptions

Authorization

Authorization<token>

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

companyId*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/companies/string/subscriptions" \  -H "Content-Type: application/json" \  -d '{    "customerId": "string",    "currency": "string"  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda",  "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",  "externalId": "string",  "name": "string",  "currency": "EUR",  "createdTime": "2019-08-24T14:15:22Z",  "createdUserId": "string",  "lastUpdatedTime": "2019-08-24T14:15:22Z",  "lastUpdatedUserId": "string"}