---
title: "Create Custom Table"
method: POST
path: "/core/custom-data/tables"
tags: ["custom_data"]
---

# Create Custom Table

`POST /core/custom-data/tables`

## Request

- Base URL: `https://api.anyreach.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.anyreach.ai/core/custom-data/tables`
- Auth: HTTP bearer

Declare a table. Configuration only: no deploy, no migration.

## Headers

- `x-anyreach-org` string, nullable: Organization ID for user PATs (pat_ prefix tokens)

## Request body

- CustomTableCreateRequest
  - `name` string, required: Lowercase identifier, unique within the organization. Referenced by writers, agent tools and the generated typed view.
  - `schema` object, required: Restricted JSON Schema profile: a flat object of scalar properties, exactly one carrying "x-key": true.

## Response `201`

Successful Response

- CustomTableSchema: A table row. Stats fields are present only on the single-table read.
  - `id` integer, required
  - `organization_id` string, required
  - `name` string, required
  - `schema` object, required
  - `created_at` string, nullable
  - `updated_at` string, nullable
  - `created_by` string, nullable
  - `modified_by` string, nullable
  - `live_rows` integer, nullable
  - `tombstoned_rows` integer, nullable
  - `last_changed_at` string, nullable
  - `embeddable` boolean, nullable
  - `embedded_rows` integer, nullable
  - `pending_rows` integer, nullable

## Other responses

- `404`: Not found
- `422`: Validation Error

---

[API](https://skmtc.dev/anyreach/apis/anyreach-api.md) - [All operations](https://skmtc.dev/anyreach/apis/anyreach-api/llms.txt) - [OpenAPI document](https://skmtc.dev/anyreach/apis/anyreach-api/revisions/2eddf40c8c93?raw)
