---
title: "Run a calculation graph (compose calculators)"
method: POST
path: "/api/v1/graph"
tags: ["pro"]
---

# Run a calculation graph (compose calculators)

`POST /api/v1/graph`

## Request

- Base URL: `https://calcfleet.com`
- URL: `https://calcfleet.com/api/v1/graph`
- Auth: none declared

Execute a DAG of calculators server-side: each step names a tool, its input, and an optional `bind` map wiring a previous step's result field into this step's input. Deterministic, validated per step. Pro tier.

## Request body

- object
  - `steps` object[], required
    - `id` string, required
    - `toolSlug` string, required
    - `input` object, required
    - `bind` object

## Response `200`

Graph executed; every step carries its result and provenance.

## Other responses

- `400`: Invalid graph (bad body, unknown slug, cycle, or a step's input failed validation).
- `403`: Forbidden — an Authorization: Bearer cf_… key was supplied but is invalid.

---

[API](https://skmtc.dev/calcfleet/apis/calcfleet-financial-calculators-api.md) · [All operations](https://skmtc.dev/calcfleet/apis/calcfleet-financial-calculators-api/llms.txt) · [OpenAPI document](https://skmtc.dev/calcfleet/apis/calcfleet-financial-calculators-api/revisions/cd9abd595bbe?raw)
