Skip to content
Tools

PUThttps://core-api.heysadie.ai/assistants/{id}/tools/{toolId}/steps/{stepId}/override

id toolId stepId action additional_rules wait_for_response _remove success data message metadata timestamp version path error code details field

Set step instruction override

Override a single step in a tool's instruction flow **for a specific assistant**. This allows you to customize how a shared tool behaves for one assistant, without modifying the tool itself (which would affect all other assistants using it). ### How it works Each step in a tool's `instruction.steps` array can have a `step_id` field — a stable, internal identifier that never appears in the prompt. You use that `step_id` to target which step to override. ### What you can override per step | Field | Type | Description | |-------|------|-------------| | `action` | string | Replace the step's action text | | `additional_rules` | string[] | Replace the step's additional rules | | `wait_for_response` | boolean | Change whether the assistant waits for a caller response | Only include the fields you want to change. Omitted fields keep the tool's default value. ### Removing a step entirely To remove a step from this assistant's flow (so it is skipped entirely), send: ```json { "_remove": true } ``` ### Requirements - The **assistant** must belong to your tenant. - The **tool** must belong to your tenant (or be a global tool). - The **tool must be linked** to the assistant. - The **step_id** must exist in the tool's `instruction.steps` array. ### Example If the tool has a step with `"step_id": "collect_email"`, you can override it for one assistant: ``` PUT /assistants/{id}/tools/{toolId}/steps/collect_email/override { "action": "Just confirm the email already on file.", "additional_rules": ["Skip if email is already confirmed."] } ``` Other assistants using the same tool will still see the original step.

Try it in the API Explorer

Example request

Terminal
curl -X PUT "https://core-api.heysadie.ai/assistants/ASSISTANT_ID/tools/TOOL_ID/steps/STEP_ID/override" \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action": "string",
    "additional_rules": [
      "string"
    ],
    "wait_for_response": true
  }'

Authentication

Authenticate with an API key in the Authorization header using the ApiKey scheme — see Authentication for how keys work and where to get them.

Authorizationstringrequired

API key in the ApiKey scheme: ApiKey YOUR_API_KEY. Tenant keys authorize their own tenant; organization keys can act on any tenant in the organization.

X-Tenant-Idstring (uuid)optional

Required when authenticating with an organization key — selects the tenant the request acts on. Omit with tenant keys.

Request

Path parameters

idstringrequired

The resource's UUID.

toolIdstringrequired

UUID of the tool.

stepIdstringrequired

UUID of the tool step.

Body application/json · required

actionstringoptional

Replacement action text for this step. If omitted, the original action is kept.

additional_rulesstring[]optional

Replacement additional rules for this step. If omitted, the original rules are kept.

wait_for_responsebooleanoptional

Whether the assistant should wait for a caller response at this step. If omitted, the original value is kept.

_removebooleanoptional

Set to true to remove this step entirely from the instruction flow for this assistant.

Responses

200
successbooleanrequired
dataobjectoptional
Show 1 child properties
messagestringrequired
metadataobjectoptional
Show 3 child properties
timestampstringrequired
versionstringrequired
pathstringoptional
400
successbooleanrequired
errorobjectoptional
Show 3 child properties
codeenumrequired
Allowed values:"VALIDATION_ERROR"
messagestringrequired
detailsobject[]optional
Show 2 item properties
fieldstringrequired
messagestringrequired
metadataobjectoptional
Show 3 child properties
timestampstringrequired
versionstringrequired
pathstringoptional
401
successbooleanrequired
errorobjectoptional
Show 2 child properties
codeenumrequired
Allowed values:"UNAUTHORIZED"
messagestringrequired
metadataobjectoptional
Show 3 child properties
timestampstringrequired
versionstringrequired
pathstringoptional
403
successbooleanrequired
errorobjectoptional
Show 2 child properties
codeenumrequired
Allowed values:"FORBIDDEN"
messagestringrequired
metadataobjectoptional
Show 3 child properties
timestampstringrequired
versionstringrequired
pathstringoptional
404
successbooleanrequired
errorobjectoptional
Show 2 child properties
codeenumrequired
Allowed values:"RESOURCE_NOT_FOUND"
messagestringrequired
metadataobjectoptional
Show 3 child properties
timestampstringrequired
versionstringrequired
pathstringoptional
500
successbooleanrequired
errorobjectoptional
Show 2 child properties
codeenumrequired
Allowed values:"INTERNAL_SERVER_ERROR"
messagestringrequired
metadataobjectoptional
Show 3 child properties
timestampstringrequired
versionstringrequired
pathstringoptional