TimeoutPolicy
Bounds the run as a whole. This message has no per-tool or per-loop execution timeout. Approval and client-result answer windows are configured separately on ToolExecutionPolicy; those waits do not cancel an already dispatched remote action.
Set a finite timeouts.overallMs
when the task needs a duration limit. It is measured from run start; zero or
omission leaves the run-level duration unbounded.
When Travila observes that the budget has elapsed, the run can end TIMED_OUT and
pending calls can be closed with endReason: "run_timed_out". A call still awaiting
approval has not been dispatched. The timeout does not guarantee a remote action
stops at that instant, establish whether it took effect, or roll it back.
Use endReason to distinguish a
run deadline from a call's own answer window: an unanswered approval reads
approval_timeout, and an unanswered client tool reads client_timeout. Read the
actual tool status too; approval and client-tool expiry can produce FAILED or
TIMED_OUT. Run and individual tool outcomes are different fields.
Usage profiles
| Usage | Fields and validation |
|---|---|
| In requests | View fields |
| In responses | View fields |
| In webhook payloads | View fields |
In requests
API JSON uses JSON field names (camelCase).
| Field | Type | Presence | Meaning |
|---|---|---|---|
overallMs | integer (int32) | Optional | Overall run budget in milliseconds, measured from run start. Zero or omission leaves this run-level bound unset. The workflow checks the deadline and can end with AGENT_STATUS_TIMED_OUT; it cannot cancel or undo a remote action already dispatched. Approval and client-result waits retain their separate finite limits. Minimum: -2147483648. Maximum: 2147483647. |
In responses
API JSON uses JSON field names (camelCase).
| Field | Type | Presence | Meaning |
|---|---|---|---|
overallMs | integer (int32) | Optional | Overall run budget in milliseconds, measured from run start. Zero or omission leaves this run-level bound unset. The workflow checks the deadline and can end with AGENT_STATUS_TIMED_OUT; it cannot cancel or undo a remote action already dispatched. Approval and client-result waits retain their separate finite limits. Minimum: -2147483648. Maximum: 2147483647. |
In webhook payloads
Webhook JSON uses protobuf field names (snake_case).
| Field | Type | Presence | Meaning |
|---|---|---|---|
overall_ms | integer (int32) | Optional | Overall run budget in milliseconds, measured from run start. Zero or omission leaves this run-level bound unset. The workflow checks the deadline and can end with AGENT_STATUS_TIMED_OUT; it cannot cancel or undo a remote action already dispatched. Approval and client-result waits retain their separate finite limits. Minimum: -2147483648. Maximum: 2147483647. |
Where used
| Reference | Relationship |
|---|---|
| Create an agent profile | POST /api/v1/agent-profiles/create |
| Import a prompt library | POST /api/v1/agent-profiles/import |
| Update an agent profile | POST /api/v1/agent-profiles/update |
| Append a message without generating | POST /api/v1/llm/append-message |
| Create a new conversation thread | POST /api/v1/llm/create-thread |
| Send a message to a conversation | POST /api/v1/llm/send-message |
| Send a message and wait for the result | POST /api/v1/llm/send-message-sync |
| Update context management settings | POST /api/v1/llm/update-context-management-settings |
| Update default generation config | POST /api/v1/llm/update-default-generation-config |
| Update conversation settings | POST /api/v1/llm/update-settings |
| Update the caller's default generation config | POST /api/v1/enduser/update-generation-config |
| Get an agent profile | POST /api/v1/agent-profiles/get |
| List agent profiles | POST /api/v1/agent-profiles/list |
| Withdraw your rating on a message | POST /api/v1/llm/delete-message-rating |
| Get full conversation state | POST /api/v1/llm/conversation-state |
| Rate an assistant message | POST /api/v1/llm/rate-message |
| Submit client-side tool results and wait for the next segment | POST /api/v1/llm/submit-client-tool-results-sync |
| Update prompt variables | POST /api/v1/llm/update-prompt-variables |
| Get the caller's end-user profile | POST /api/v1/enduser/get |
| Generation configuration | API JSON uses JSON field names (camelCase). |
| llm.generation_started | Webhook JSON uses protobuf field names (snake_case). |
| llm.message_published | Webhook JSON uses protobuf field names (snake_case). |
| ToolExecutionPolicy | Nested in model |
| ToolExecutionPolicy | Nested in model |
| ToolExecutionPolicy | Nested in model |
Download the public reference contract.
Document: DOC-API-MODEL-timeout-policy.