Create, change or archive a reason
save_reason[Reasons] Without reason_id: a new reason (decision: kind and label; position_status: label and applies_to). With reason_id: change it; fields left out keep their value; status archived stops offering it, active offers it again (an archived position status reason cannot be restored). Company-wide: a renamed reason is renamed on every past decision too. Owners only.
Every argument in full, with examples: get_tool_reference.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"type": "<type>"
},
"name": "save_reason"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Decision reasons: reject or withdraw. Required for a new one; it cannot change later. | |
| type | Yes | decision (why a candidate was rejected or withdrew) or position_status (why a position went on hold, was cancelled, closed or filled). | |
| label | No | The reason, 1 to 120 characters. Required for a new one; left out on a change, it stays. | |
| status | No | archived: no longer offered; past decisions and lifecycle changes keep it. active: offered again (decision reasons only: an archived position status reason cannot be restored). | |
| llm_model | No | Your model id, e.g. "claude-opus-4-8"; "unknown" if unsure. For analytics. | |
| reason_id | No | The reason to change (from list_reasons). Left out: a new reason is created. | |
| applies_to | No | Position status reasons: the lifecycles it can be given for (on_hold, cancelled, closed, filled). Required for a new one; left out on a change, it stays. | |
| sort_order | No | Position in the list (lower first). Left out: the end of the list for a new reason, unchanged otherwise. | |
| merchant_id | No | Optional company to act on. Admins and sub-merchant operators only; other callers always use their token's company. | |
| translations | No | Decision reasons: the label per two-letter language code, e.g. {"de": "Zu wenig Erfahrung"}. Replaces the stored translations; left out on a change, they stay. | |
| conversation_id | No | The conversation_id this server returned earlier in this conversation, unchanged, including after later user messages. Omit it if you have none. Recorded for the server developer's analytics. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes | ||
| _mcp_instructions | No | Server-issued metadata for this conversation. |