Skip to main content
POST
Assign a posture to a team

Authorizations

Authorization
string
header
required

Supabase JWT token in Authorization: Bearer header

Headers

Idempotency-Key
string
required

Client-supplied idempotency token (required). Replays within 24 hours return the stored result; reusing a key with a different body returns 409. See ADR-023.

Path Parameters

posture_id
string
required

Posture ID (tp-{8-hex}).

Pattern: ^tp-[a-z0-9-]{1,64}$

Body

application/json
team_id
string<uuid>
required
revision_id
string

Pin to a specific revision (default: current_revision_id).

Response

Assignment created.

Team→posture binding (one active per team).

team_id
string<uuid>
required
posture_id
string
required
assigned_at
string<date-time>
required
assigned_revision_id
string | null

Revision pinned at assignment time (null = tracks current_revision_id).

revision_id
string

Pinned revision (optional; defaults to current).

assigned_by
string<uuid> | null
replaced_prior
boolean

true when this assignment displaced a previously-active assignment on the team.