SaaSFlow
DevelopersAPIReferencetransactions

Link transfer

Link two existing transactions as the two legs of one transfer, so the movement stops counting as income on one side and spend on the other. Pass the source transaction with the categorization that represents the transfer, plus the target transaction. Legs that cannot be matched directly, across currencies or dates, are routed through a transit account, which is why the resulting chain can have more than two nodes. Returns 409 if either side is already linked or changed concurrently, and 422 when the two cannot form a transfer at all.

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}/transactions/link_transfer

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

application/json

application/json

curl -X POST "https://example.com/companies/string/transactions/link_transfer" \  -H "Content-Type: application/json" \  -d '{    "sourceTransactionId": "string",    "sourceCategorizationId": "string",    "targetTransactionId": "string"  }'
{  "success": true}