Operating system set to macOS
Documentation jurisdiction set to United States
Sign inConnect Claude

Patch Blueprint Api V1 Workstreams Workplans Blueprint Id Patch

patch/api/v1/workstreams/workplans/{blueprint_id}

Patch workplan config (partial save)

Partially update a workplan's saved configuration β€” the WorkPlan-detail Save control (two-col / S2). Every field is optional; only the fields present in the body are changed (omitting a field leaves the stored value untouched). Accepts the same plan-settings as the PUT update: - `schedule` β€” cron expression (validated; invalid cron β†’ 422) - `schedule_timezone` β€” IANA timezone (validated; unknown tz β†’ 422) - `max_duration_minutes` β€” guardrail, positive and ≀ 1440 (24h) - `human_checkpoints` β€” sign-off gate list ([] clears the gate) - `run_mode` / `default_context.autonomy` β€” propose|auto_run (enum-validated) Tenant-scoped: only the owning workspace may patch the workplan (a foreign workplan id is a 404, never a cross-firm write). Returns the updated Workplan in the same shape as the GET read so the FE can refresh in place. **Authentication Required:** JWT Bearer token

Path parameters

blueprint_idrequired
path
β€”

Request bodyapplication/json

FieldTypeDescription
namestring | nullWorkplan name
descriptionstring | nullWorkplan description
client_idstring (uuid) | nullClient UUID (references platform.clients). Omit to leave unchanged; send an explicit null to clear the assignment (the handler distinguishes the two via fields-set).
config_overridesobject | nullConfiguration overrides β€” shallow-merged into the stored configuration (existing keys survive unless explicitly overridden).
schedulestring | nullCron schedule expression (folded into configuration; null = unscheduled)
schedule_timezonestring | nullIANA timezone for the schedule (folded into configuration)
max_duration_minutesinteger | nullPer-instance duration guardrail in minutes (folded into configuration). Positive and ≀ 1440 (24h).
human_checkpointsany[] | nullSign-off gate checkpoints (folded into configuration); [] clears the gate
run_modestring | nullRun posture / autonomy: propose|auto_run (folded into configuration)
default_contextobject | nullRun-context bag. Its ``autonomy`` key is an alias for ``run_mode`` (propose|auto_run) β€” supplied here it is folded into the effective run posture when ``run_mode`` is not given explicitly.
status"draft" | "active" | "paused" | "archived" | nullWorkplan status

Responses

200Workplan config saved
FieldTypeDescription
idrequiredstring (uuid)Workplan UUID
template_idrequiredstring (uuid)Source template UUID (workstream_id in DB)
namerequiredstringWorkplan name
client_idstring (uuid) | nullClient UUID (optional)
client_namestring | nullClient name
run_modeWorkplanRunModeThe WorkPlan's effective run posture (S2-READ Β§1a). ``effective`` resolves: plan-level ``configuration.run_mode`` β†’ the workstream default β†’ ``propose``. ``source`` tells the FE whether the value was set on this plan or inherited. ``locked`` is the firm-lock governance flag β€” always ``False`` in S2.
show nested
cohortWorkplanCohortStructural facts about the WorkPlan's bound client set (S2-READ Β§1b). Live exception/ready counts live on the roster's ``summary`` (one authoritative source); this object carries only the cohort's size + shape. With no multi-client cohort writer yet, ``total_clients`` resolves to 0/1 and ``selector_kind`` to ``single`` β€” the shape is frozen, the populating data is S2-write BE work behind it.
show nested
config_overridesobjectConfiguration (from DB)
show nested
Empty object.
effective_configobjectMerged effective config
show nested
Empty object.
schedulestring | nullCron schedule expression (from configuration; null = unscheduled)
schedule_timezonestringIANA timezone for the schedule (from configuration; defaults UTC)
max_duration_minutesinteger | nullPer-instance duration guardrail in minutes (from configuration; null = unset)
human_checkpointsany[]Sign-off gate checkpoints (from configuration). Non-empty means a partner sign-off gate is on.
statusrequired"draft" | "active" | "paused" | "archived"Status for workstream entities.
draftactivepausedarchived
last_run_atstring (date-time) | nullMost recent cycle start for this WorkPlan (null if never run)
next_run_atstring (date-time) | nullNext scheduled execution β€” computed; see GET /workplans/{id}/next-run (P1)
created_bystring (uuid) | nullCreator user ID (owner_id in DB)
created_atrequiredstring (date-time)Creation timestamp
updated_atrequiredstring (date-time)Last update timestamp
401Unauthorized
404Workplan not found
422Invalid schedule / timezone / autonomy / guardrail
curl https://api.dev.arch.ie/api/v1/workstreams/workplans/<blueprint_id> \
  -X PATCH \
  -H "Authorization: Bearer sk_..." \
  -H "Content-Type: application/json" \
  -d '{
       "name": null,
       "description": null,
       "client_id": null,
       "config_overrides": null,
       "schedule": null,
       "schedule_timezone": null,
       "max_duration_minutes": null,
       "human_checkpoints": null,
       "run_mode": null,
       "default_context": null,
       "status": null
     }'
API Reference Β· Archie for developers