Skip to main content
POST
Lock plan

Authorizations

Authorization
string
header
required

Bearer authentication using a factapi-issued API key (ffy_<env>_<base32_uuid><base62_random>). Cookie-based sessions are accepted automatically by user-facing endpoints but are not surfaced as an OpenAPI auth scheme.

Path Parameters

planId
string
required

Plan TypeID (pln_…)

Response

Plan locked successfully.

id
string
required

Plan TypeID (pln_…)

name
string
required

Human-readable case name.

workflow_id
string
required

Workflow TypeID.

activity_state
enum<string>
required

Server-computed activity state, derived from submission states: IDLE — no submission is currently ingesting. PROCESSING — at least one submission is still ingesting.

Plan lock status is conveyed separately by locked_at (null = unlocked, set = locked).

Available options:
IDLE,
PROCESSING
claim_slots
object[]
required

One entry per rubric in the parent workflow, in creation order.

submissions
object[]
required

All submissions associated with this plan.

created_at
string<date-time>
required
open_conflicts_count
integer<int32>
required

Number of claim_conflicts in open status whose new claim was submitted to this plan. Drives the runs-list "N conflicts" badge and the per-run conflict tab count without forcing the UI to N+1 on /v1/conflicts per plan.

Required range: x >= 0
total_conflicts_count
integer<int32>
required

Total number of claim_conflicts (open + accepted + rejected) whose new claim was submitted to this plan. Backs resolved-since-detection telemetry and the "0/3 unresolved" style breakdown.

Required range: x >= 0
locked_at
string<date-time> | null

When the plan was locked. Null for unlocked plans.

body_md_resolved
string | null

Workflow body_md with claim values substituted. Null until the plan is locked.