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
key
string
obrigatório

Stable handle: lowercase letters, digits, dots, dashes, underscores. It is what your own backend names on POST /v1/points, and it is permanent.

Maximum string length: 80
name
string
obrigatório
Maximum string length: 60
unit
string | null

The singular noun one unit is ("course"). null clears it.

Maximum string length: 24
icon
string | null
Maximum string length: 16

Resposta

The metric.

metric
object

A countable aspect this environment names besides points — courses completed, e-mails sent, referrals accepted.

It is fed exactly the way points are: a point rule crediting it instead of the balance, or your own backend calling POST /v1/points with the metric's key. What it buys is that the UNIT survives the trip, so a level can ask for "4 courses" instead of pretending a course is worth four points.