Skip to content

Agent routes: mint, pause, resume, retire

The Agent Verbs mint, pause, resume, retire as api.sb routes, with inputs, result, refusals and an example.

Reference for Agent, one group of Agent routes.

Agent.mint

Mint creates an Agent in a Customer’s Tenant from an Agent Product the Customer bought. Verb page.

Text
POST /{namespace}/agents/mint

Body, as JSON: the inputs. Emits Agent.minted.

Inputs

InputTypeRequiredDescription
tenantTenantrequiredThe Customer’s Tenant.
productProductrequiredThe Agent Product.

Returns

OutputTypeRequiredDescription
agentAgentrequiredThe Customer’s own Agent.

Refuses when

CheckErrorFixThen call
The operation is part of an Offer the caller has not accepted or paid for.payment-requiredAccept the Offer named in the response, then retry the call.Offer.accept
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/agents/mint \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tenant":"ten_Bu63f0he26","product":"prod_MJmgS5dysq"}'
JSON
{
  "api": "https://api.sb/leaseline.app",
  "agent": {
    "$id": "https://api.sb/leaseline.app/agents/agent_02y6sojE6k",
    "$type": "Agent",
    "instructions": "Example instructions",
    "model": "Example model",
    "status": "standby"
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Agent.mint",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}

Agent.pause

Pause stops one Agent, every Agent on a Team, or every customer-facing Agent from starting new Actions in a Startup. Verb page.

Text
POST /{namespace}/agents/pause

Body, as JSON: the inputs. Emits Agent.paused.

Inputs

InputTypeRequiredDescription
agentslist of AgentThe Agents to pause. Name one of agents, team or customerFacing.
teamTeamPause every Agent seated on this Team.
customerFacingbooleanTrue pauses every Agent seated in a Role that answers a customer Channel.
reasontextrequiredWhy the Agents stop, shown to every watcher.

Returns

OutputTypeRequiredDescription
agentslist of AgentrequiredEvery Agent it paused; each emits its own Agent.paused.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/agents/pause \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"agents":["agent_tCzKDMorKn"],"reason":"Example reason"}'
JSON
{
  "api": "https://api.sb/leaseline.app",
  "agents": [
    {
      "$id": "https://api.sb/leaseline.app/agents/agent_tCzKDMorKn",
      "$type": "Agent",
      "instructions": "Write as the property manager’s assistant. Never promise a rent the manager has not set.",
      "model": "claude-opus-5-5",
      "status": "seated"
    }
  ],
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Agent.pause",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}

Agent.resume

Resume restarts a paused Agent in every seat it holds, with its Memory, Mandates and Limits unchanged. Verb page.

Text
POST /{namespace}/agents/{agent}/resume

Path: agent. Emits Agent.resumed.

Inputs

InputTypeRequiredDescription
agentAgentrequiredThe paused Agent.

Returns

OutputTypeRequiredDescription
agentAgentrequiredThe working Agent.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/agents/agent_tCzKDMorKn/resume \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
JSON
{
  "api": "https://api.sb/leaseline.app",
  "agent": {
    "$id": "https://api.sb/leaseline.app/agents/agent_tCzKDMorKn",
    "$type": "Agent",
    "instructions": "Write as the property manager’s assistant. Never promise a rent the manager has not set.",
    "model": "claude-opus-5-5",
    "status": "seated"
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Agent.resume",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}

Agent.retire

Retire removes an Agent from every seat in a Startup for good and keeps its Actions, Memory and Mailbox history on the record. Verb page.

Text
POST /{namespace}/agents/{agent}/retire

Path: agent. Body, as JSON: the other inputs. Emits Agent.retired.

Inputs

InputTypeRequiredDescription
agentAgentrequiredThe Agent to retire.
reasontextrequiredWhy it leaves.

Returns

OutputTypeRequiredDescription
agentAgentrequiredThe retired Agent.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/agents/agent_tCzKDMorKn/retire \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"reason":"Example reason"}'
JSON
{
  "api": "https://api.sb/leaseline.app",
  "agent": {
    "$id": "https://api.sb/leaseline.app/agents/agent_tCzKDMorKn",
    "$type": "Agent",
    "instructions": "Write as the property manager’s assistant. Never promise a rent the manager has not set.",
    "model": "claude-opus-5-5",
    "status": "retired"
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Agent.retire",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}