Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

Project-scoped API key, e.g. nohead_sk_k7fz0a9c3m2q_<secret>, or nohead_pk_… for a published-only key. Used by servers, CI, the CLI and coding agents.

Headers

Idempotency-Key
string

A unique value (1-255 printable ASCII characters) that makes retrying this request safe. The first response (below 500) is stored for 24 hours per user or API key; retries with the same key and the same request get it again with an Idempotent-Replayed: true header. The same key with a different request is refused with 400; a retry while the first request is still running gets 409.

Required string length: 1 - 255
Nohead-Client
string

First-party client identifier recorded in history (e.g. cli/0.3.1). Informational only.

Nohead-Change-Note
string

Optional reason for the change, kept with the record revision, schema change or field migration it makes (at most 500 characters once decoded). Percent-encoded UTF-8, as encodeURIComponent encodes it, so any language fits in a header: Rettet%20stavefejl%20p%C3%A5%20forsiden. Plain ASCII may be sent as is. Other bytes are 400.

Path Parameters

project_id
string
required

Body

application/json
name
string
required
slug
string
required
description
string | null
fields
object[]

At most 100 (too_many).

A new field. Its type decides the options configuration takes.

Response

The created collection.

id
string
required
Example:

"col_01J9ZQ3F8X5W2K7M4N6P0R1S2T"

object
any
required
project_id
string
required
name
string
required
slug
string
required
description
string | null
required
schema_version
integer
required
deleted_at
string<date-time> | null
required

When the collection was deleted; null unless it is.

purge_after
string<date-time> | null
required

When a deleted collection is removed for good, with its fields and records, unless restored first.

Whether the project's search tokens (made in the web app) find its published records, from a browser or a backend. Off by default: every field of those records becomes readable by anyone with a token, so turn it on only for collections whose published records are public. A change reaches search tokens within seconds.

fields
object[]
required

Active fields in position order.

A field, typed by its type, which also decides the options its configuration takes.

created_at
string<date-time>
required

ISO 8601 timestamp in UTC.

Example:

"2026-09-27T12:00:00.000Z"

updated_at
string<date-time>
required

ISO 8601 timestamp in UTC.

Example:

"2026-09-27T12:00:00.000Z"