---
title: "Upsert Intent Trigger Route"
method: PUT
path: "/api/v1/proxies/{proxy_id}/intent-trigger"
tags: ["proxies"]
---

# Upsert Intent Trigger Route

`PUT /api/v1/proxies/{proxy_id}/intent-trigger`

Create or update the intent scoring trigger config for this proxy.

## Path parameters

- `proxy_id` string, uuid, required

## Headers

- `Authorization` string, nullable
- `X-Request-ID` string, nullable

## Request body

- IntentTriggerUpdate — All fields optional — only provided fields are updated (PATCH semantics via PUT).
  - `turn_scope` string, nullable — Which turns to score: 'all', 'first', or 'first_n'.
  - `first_n` integer, nullable — Only used when turn_scope='first_n'. Number of turns to score.
  - `on_tools` string, nullable — How to handle turns that contain tool calls.
  - `min_content_chars` integer, nullable — Skip scoring if the turn content is shorter than this many chars.
  - `sample_rate` union — Fraction of turns to score (0.00–1.00).
    - number
    - string

## Response `200`

Successful Response

- IntentTriggerRead
  - `turn_scope` string, required
  - `first_n` integer, nullable, required
  - `on_tools` string, required
  - `min_content_chars` integer, required
  - `sample_rate` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/xenovia/apis/controlplane.md) · [All operations](https://skmtc.net/xenovia/apis/controlplane/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/xenovia/controlplane/versions/0e6598cbe8a0/schema)
