SaaSFlow
DevelopersAPIReferencedata

MetricExplanation

Use this when the user asks why a metric has its value or how it was computed for a specific month: returns the formula with every part resolved to its real number, the engine value, and any cap or adjustment that made them differ. Requires permissions: financials:read.

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}/data/metricExplanation

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

curl -X POST "https://example.com/companies/string/data/metricExplanation" \  -H "Content-Type: application/json" \  -d '{    "metricName": "mrr",    "month": "string"  }'
{  "metric": {    "metricName": "mrr",    "month": "string",    "value": 0,    "formulaValue": 0,    "diverges": true,    "divergence": {      "code": "runwayCashDepleted",      "message": "string"    },    "annotatedFormula": {      "kind": "metric",      "name": "mrr",      "monthOffset": 0,      "month": "string",      "value": 0    },    "definition": {      "title": "string",      "subTitle": "string",      "format": "number",      "category": "Recurring revenue",      "description": "string",      "formula": {        "kind": "metric",        "name": "mrr",        "monthOffset": 0      },      "notes": [        "string"      ],      "requires": "string"    }  },  "referencedMetrics": {    "property1": {      "metricName": "mrr",      "month": "string",      "value": 0,      "formulaValue": 0,      "diverges": true,      "divergence": {        "code": "runwayCashDepleted",        "message": "string"      },      "annotatedFormula": {        "kind": "metric",        "name": "mrr",        "monthOffset": 0,        "month": "string",        "value": 0      },      "definition": {        "title": "string",        "subTitle": "string",        "format": "number",        "category": "Recurring revenue",        "description": "string",        "formula": {          "kind": "metric",          "name": "mrr",          "monthOffset": 0        },        "notes": [          "string"        ],        "requires": "string"      }    },    "property2": {      "metricName": "mrr",      "month": "string",      "value": 0,      "formulaValue": 0,      "diverges": true,      "divergence": {        "code": "runwayCashDepleted",        "message": "string"      },      "annotatedFormula": {        "kind": "metric",        "name": "mrr",        "monthOffset": 0,        "month": "string",        "value": 0      },      "definition": {        "title": "string",        "subTitle": "string",        "format": "number",        "category": "Recurring revenue",        "description": "string",        "formula": {          "kind": "metric",          "name": "mrr",          "monthOffset": 0        },        "notes": [          "string"        ],        "requires": "string"      }    }  },  "smoothing": {    "months": 0,    "value": 0,    "monthValues": [      {        "month": "string",        "value": 0      }    ]  }}