Skip to main content
PUT
/
api
/
v1
/
proxies
/
{proxy_id}
/
intent-trigger
Upsert Intent Trigger Route
curl --request PUT \
  --url https://api.example.com/api/v1/proxies/{proxy_id}/intent-trigger \
  --header 'Content-Type: application/json' \
  --data '
{
  "turn_scope": "<string>",
  "first_n": 2,
  "on_tools": "<string>",
  "min_content_chars": 1,
  "sample_rate": 0.5
}
'
{
  "turn_scope": "<string>",
  "first_n": 123,
  "on_tools": "<string>",
  "min_content_chars": 123,
  "sample_rate": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.xenovia.io/llms.txt

Use this file to discover all available pages before exploring further.

Headers

Authorization
string | null
X-Request-ID
string | null

Path Parameters

proxy_id
string<uuid>
required

Body

application/json

All fields optional — only provided fields are updated (PATCH semantics via PUT).

turn_scope
string | null

Which turns to score: 'all', 'first', or 'first_n'.

Pattern: ^(all|first|first_n)$
first_n
integer | null

Only used when turn_scope='first_n'. Number of turns to score.

Required range: x >= 1
on_tools
string | null

How to handle turns that contain tool calls.

Pattern: ^(ignore|require|always)$
min_content_chars
integer | null

Skip scoring if the turn content is shorter than this many chars.

Required range: x >= 0
sample_rate

Fraction of turns to score (0.00–1.00).

Required range: 0 <= x <= 1

Response

Successful Response

turn_scope
string
required
first_n
integer | null
required
on_tools
string
required
min_content_chars
integer
required
sample_rate
string
required
Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$