Skip to content

Service.close

POST /{namespace}/services/{service}/close

Close stops a Service taking new Orders for good, while every placed Order runs to its end.

Mode
do
Event
Service.closed

Inputs

InputTypeRequiredDescription
serviceServicerequiredThe Service to close.
reasontextrequiredWhy it closes.

Outputs

OutputTypeRequiredDescription
serviceServicerequiredThe closed Service.

Effects

FactValue
Action classNone: no approval rule names it, so it runs within its seat's Permissions and Limits
StakesThe Startup's own records only
DoorOne-way: it waits out its 1 business hour delay window, then runs
Modestry previews it and stores nothing; send returns a pending Action; do (default) waits for the result
IdempotentOnly with a key: a repeat with the same Idempotency-Key and input returns the first Action, the same key with other input is refused with 409, and a repeat without a key runs again
UndoAction.undo reverses its records
EmitsService.closed
Performed byThe Delivery Manager
  • Placed Orders keep running to their end; no Offer sells it again.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operationforbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
service is missing, or is not a serviceinvalid-inputSend service as a service, then call it again.None.
reason is missing, or is not a textinvalid-inputSend reason as a text, then call it again.None.
The Idempotency-Key was sent before with another operation or other inputidempotency-mismatchSend a new key for new input; reuse a key only to retry the same request.None.

When it waits

GateDefault
Decision classMedium: one-way, bounded
Delay window1 business hour, in which a watcher can pause, redirect or cancel it; then it runs.
LimitThe call Limit of the Permission it runs under.
Over the LimitIt waits pending for an Approval, which a Human answers: the owner of record, or a Human they named to approve for the Founder seat. Approved, it runs; refused, it ends refused with limit-exceeded; unanswered by its deadline, it ends canceled.

To retry, send the same Idempotency-Key: the retry returns the first Action and runs nothing twice. A new key runs the call again.