Skip to content

setCapacity

SetCapacity sets the most work a Service holds in flight, in the unit its intake counts.

Service.openMode do
curl -X POST https://api.sb/catalogmend.com/services/service_Eq1ssq4AOW/open \
  -H "Authorization: Bearer $SB_TOKEN"
API referenceService.openIts NounsService
npx startup-builder do Service.open --data '{"service":"service_Eq1ssq4AOW"}'
CLI referenceService.openIts NounsService
{
  "name": "do",
  "arguments": {
    "code": "return await $.Service.open({ service: 'service_Eq1ssq4AOW' })"
  }
}
MCP referenceService.openIts NounsService
import { $ } from 'startup-builder'

const service = await $.Service.open({ service: 'service_Eq1ssq4AOW' })
SDK referenceService.openIts NounsService
Service.openMode do
curl -X POST https://api.sb/catalogmend.com/services/service_Eq1ssq4AOW/open \
  -H "Authorization: Bearer $SB_TOKEN"
API referenceService.openIts NounsService
npx startup-builder do Service.open --data '{"service":"service_Eq1ssq4AOW"}'
CLI referenceService.openIts NounsService
{
  "name": "do",
  "arguments": {
    "code": "return await $.Service.open({ service: 'service_Eq1ssq4AOW' })"
  }
}
MCP referenceService.openIts NounsService
import { $ } from 'startup-builder'

const service = await $.Service.open({ service: 'service_Eq1ssq4AOW' })
SDK referenceService.openIts NounsService

Inputs

InputTypeRequiredDescription
serviceServicerequiredThe Service.
capacityintegerrequiredThe most work in flight, in the intake’s unit, such as listings.

Outputs

OutputTypeRequiredDescription
serviceServicerequiredThe Service with its new capacity.

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
DoorTwo-way: it runs at once
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 it
EmitsService.capacitySet
Performed byThe Delivery Manager
  • An Order past capacity is offered the next open slot instead of a start now.

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.
capacity is missing, or is not a integerinvalid-inputSend capacity as a integer, 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 classLow: two-way, no delay window
Delay windowNone: it runs once review passes.
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.

Example

Service.setCapacityMode do
You, to your agent

Set capacity the service “Catalog audit”.

curl -X POST https://api.sb/catalogmend.com/services/service_Eq1ssq4AOW/setCapacity \
  -H "Authorization: Bearer $SB_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"capacity":1}'
npx startup-builder do Service.setCapacity --data '{"service":"service_Eq1ssq4AOW","capacity":1}'
{
  "name": "do",
  "arguments": {
    "code": "return await $.Service.setCapacity({ service: 'service_Eq1ssq4AOW', capacity: 1 })"
  }
}
import { $ } from 'startup-builder'

const service = await $.Service.setCapacity({ service: 'service_Eq1ssq4AOW', capacity: 1 })

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