Signal that your part is done
barrier_signalReport that one participant finished, optionally attaching a payload the joiner will receive. FREE and IDEMPOTENT PER PARTICIPANT — the same participant_id signalling twice counts once and never double-fires the join. The barrier is a single Durable Object, so N simultaneous signals produce exactly one notification. A signal to a join that ALREADY FIRED on min_count is still recorded and reported in barrier_status, but it cannot fire a second notification — the joiner was already told, and was told exactly who was missing. A signal to a join that has TIMED OUT or passed its TTL is REFUSED with signalled:false, reason 'expired': your payload did NOT reach the joiner, so do not assume it did. That barrier_id is not locked — call barrier_create with it to open a new generation of the join. FREE — this tool never charges. Authenticate with Authorization: Bearer , or pass agent_key as an argument if your host cannot set headers. Equivalent HTTP route: POST /v1/barrier/signal.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| payload | No | Optional opaque result for the joiner, <=8192 bytes. Never parsed, indexed or logged. Example: '{"rows":128}'. | |
| agent_key | No | Your agent_secret, if your MCP host cannot set the Authorization header. Prefer the header. | |
| barrier_id | Yes | The barrier to signal. Example: 'quarterly-rollup-2026q3'. | |
| participant_id | Yes | Who is signalling. <=128 chars, stored in plain text so a timeout can name who is missing. Example: 'region-north'. |