Skip to main content
POST
Error

Autorizações

Authorization
string
header
obrigatório

A staff session token, uk_st_…. Minted by sign-up, sign-in or the two-factor exchange. Only a 401 means it is spent; not_a_member (403) is about the organization named in X-Organization-Id and leaves the token good for the others.

Cabeçalhos

X-Organization-Id
string

The organization the caller is acting on — the org_… code that appears in the panel URL. It identifies; the membership JOIN is what authorizes, so a forged code reads nothing: the answer is not_a_member (403), which does not mean the session is over. Absent, the session's default organization answers, or — if that membership was revoked while the session was open — any other one the caller still holds.

Parâmetros de consulta

environment
enum<string>
padrão:live

Which environment to act in. A view parameter, valid only on the staff surface — a machine credential never chooses its environment, it is resolved from the key.

Opções disponíveis:
live,
test

Corpo

application/json
title
string
obrigatório
Maximum string length: 200
body_markdown
string
obrigatório
Maximum string length: 100000
slug
string

Optional. The post's address on the public release page — lowercase letters, digits and single hyphens. Omitted, one is folded from the title and suffixed if it is taken; supplied, it is used as given and refused with 409 if another post in the environment holds it.

Maximum string length: 200
segment_id
string<uuid> | null

The audience, or null for everybody. Must belong to the same environment.

feedback_post_id
string<uuid> | null

The other audience: the people who voted for that feedback post — how "we shipped the thing you asked for" reaches exactly them. Mutually exclusive with segment_id; setting one clears the other. The audience is a join at read time, so somebody who votes after publication still receives it.

Resposta

The draft.

post
object

One release note. Written as a draft, aimed at a segment or at everybody, and published by an act of its own — published_at is a moment rather than a flag, because the list is ordered by it and the unread badge compares a contact's arrival against it.