---
title: "Compute calculated columns"
method: POST
path: "/tables/compute-calculated-columns"
tags: ["Planning Table"]
---

# Compute calculated columns

`POST /tables/compute-calculated-columns`

Compute calculated column values for the submitted schema and rows without persisting. Dirty/invalid cell values degrade to null per the evaluator rules, and an invalid or unsaved formula nulls only its own column (reported in column_errors) instead of rejecting the payload. Each calculated column also reports its inferred output type in column_types when the formula resolves cleanly; inference mirrors save-time validation and depends only on the schema.

## Headers

- `X-Company-ID` string, required

## Request body

- PlanningTableCompute
  - `schema` unknown, required
  - `data` unknown, required

## Response `200`

Rows with calculated columns computed (best-effort), each calculated column's inferred output type (column_types), plus any per-column formula errors (column_errors).

- Data
  - `data` object, required
  - `metadata` object, required

## Other responses

- `400` — Malformed table schema, or request payload too large.
- `403` — User lacks the view_planningtable permission.

---

[API](https://skmtc.net/cubesoftware/apis/cube-api.md) · [All operations](https://skmtc.net/cubesoftware/apis/cube-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cubesoftware/cube-api/revisions/67d9f45bb99b/schema)
