Get setup progress
What it returns
status— the context lifecycle status:DRAFT(being configured),ACTIVE(running),PAUSED(suspended), orARCHIVED(retired).sources— source counts split by matching side:total,left,right.fieldMaps.mappedSources— number of sources that have a field map configured.matchRules.total— match-rule count for the context.schedules.total— schedule count for the context.lastRun— the most recent match run (id,statusofPROCESSING/COMPLETED/FAILED, andcompletedAt). It isnullwhen the context has never run.readiness— activation-readiness summary (see below).
Readiness and the checklist
The
readiness block reports whether the context satisfies every activation requirement:
missing holds stable slugs you can map to per-requirement checklist items. The possible values are:
sources_left— the context needs at least one LEFT-side source.sources_right— the context needs at least one RIGHT-side source.field_maps— the context’s sources need field maps configured.match_rules— the context needs at least one match rule.
These slugs are an API contract shared with the activation flow. When a context is transitioned to
ACTIVE before it is ready, the update is rejected with a 409 carrying the same slugs under a context_not_ready code and a details.missing array. Branch on those slugs to render the exact same guidance you show in the setup checklist.How to use it during setup
- Render the checklist. On each step of the wizard, GET setup-progress and use the counts (
sources,fieldMaps,matchRules,schedules) to tick off completed items. - Gate the “Activate” button. Enable activation only when
readiness.readyistrue; otherwise listreadiness.missingas the remaining steps. - Show run health. Once
lastRunis present, surface itsstatusandcompletedAtso operators can confirm the context is producing results.
Response codes
| Status | Meaning |
|---|---|
200 | Setup progress returned |
404 | Context not found |

