---
title: "Capture a multi-column template"
method: POST
path: "/table-templates/"
tags: ["table-templates"]
---

# Capture a multi-column template

`POST /table-templates/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/table-templates/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Snapshot a selection of a table's columns (definitions, settings and the display names their references carry) as a named, org-level template replayable on any table.

## Request body

- ColumnTemplateCreateSchema: Capture a selection of a table's columns as a named template.
  - `column_ids` string[], required: The columns to capture; stored in display order.
  - `description` string, nullable
  - `name` string, required
  - `table_id` string, uuid, required: The table the columns live on.

## Response `201`

Successful Response

- ColumnTemplateReadSchema: One template as the picker lists it.
  - `column_count` integer, required: How many columns the bundle holds.
  - `column_names` string[], required: The columns the template creates, in order.
  - `created_at` string, date-time, required
  - `description` string, nullable, required
  - `id` string, uuid, required
  - `name` string, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Table or column not found.
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
