Skip to main content
PATCH
Update encounter

Path Parameters

encounter_id
string
required

Body

application/json

PATCH /v1/projects/{project_id}/encounters/{encounter_id}.

Every field is optional - caller sends only the keys they intend to change. Generated data JSONB is preserved across the update; to refresh content, re-issue POST /encounters/{id}/generate.

description
string | null
Required string length: 1 - 500
difficulty
string | null
Pattern: ^(easy|medium|hard|deadly)$
party_level
integer | null
Required range: 1 <= x <= 20
party_size
integer | null
Required range: 1 <= x <= 10
game_system
string | null
Maximum string length: 50
project_context
string | null
Maximum string length: 50000
environment
string | null
Maximum string length: 100

Response

Encounter updated

Encounter resource representation.

encounter_id
string
required

Unique encounter identifier

description
string
required

Brief description of the encounter scenario

project_id
string
required

Project this encounter belongs to

external_id
string | null

Human-readable slug for the URL (/projects/<slug>/encounters/<external_id>). Derived from description at create time and immutable. May be null on rows that pre-date migration 102 backfill - frontend falls back to id. See docs/conventions/dashboard-slug-urls.md.

status
string
default:brainstorm

Lifecycle status: brainstorm | draft | final

difficulty
string
default:medium

Encounter difficulty level

session_id
string | null

Active generation session ID, if any

created_at
string<date-time> | null

ISO 8601 creation timestamp

token_url
string | null

URL of a generated battle-map / token image when generate_token=true was passed and image generation succeeded. Null otherwise.