SaaSFlow
DevelopersAPIReferencecustomers

Merge

Merge duplicate customers into one, in a single transaction. Creates the customer described by `newCustomer`, repoints the transaction categorizations, subscriptions, and external ids of every id in `customerIds` onto it, then deletes the originals. Use this rather than delete when the same account was imported twice: it keeps revenue history and MRR continuous, where a delete would cascade the subscriptions away. Returns the merged customer with its `logoUrl` and combined `externalIds`.

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}/customers/merge

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

curl -X POST "https://example.com/companies/string/customers/merge" \  -H "Content-Type: application/json" \  -d '{    "customerIds": [      "string"    ],    "newCustomer": {      "name": "string",      "logo": true    }  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda",  "name": "string",  "defaultCategorization": {    "categoryId": "string",    "usingDateRule": {      "type": "transactionDate"    },    "plSplit": {      "revenue": 0,      "cogs": 0,      "cac": 0,      "pd": 0,      "ga": 0,      "no": 0,      "neutral": 0    },    "passThroughTax": 0,    "transferTargetAccountId": "string"  },  "domains": [    "string"  ],  "logo": true,  "autoCreatedSource": "searchApiGoogleWebSearch",  "countryCode": "string",  "createdTime": "2019-08-24T14:15:22Z",  "createdUserId": "string",  "lastUpdatedTime": "2019-08-24T14:15:22Z",  "lastUpdatedUserId": "string",  "externalIds": [    "string"  ]}