Skip to main content
PUT
Update an intent

Authorizations

Authorization
string
header
required

Authorization: Bearer <token> where <token> is either a neo_sk_<env>_<secret> API key (service account) or a Microsoft Entra ID access token (dashboard user).

Path Parameters

intent_id
string
required

Body

application/json

Create/replace payload. A PUT replaces every editable field, so name is required and the rest default. agent_ids/end_company_ids empty = applies to all agents of the matching surface / all companies. surfaces declares which agent kinds the intent applies to (at least one; validated in the service). An enabled intent is capped at 15 per applicable agent.

fields is the typed form schema: non-empty makes the intent structured, so the end-user chat renders it as a form instead of asking in prose. Empty (the default) keeps the intent on ask_for, exactly as before — and because a PUT replaces everything, omitting fields on an update of a structured intent clears its form.

name
string
required
agent_ids
integer[]
ask_for
string
default:""
description
string
default:""
enabled
boolean
default:true
end_company_ids
string[]
fields
PublicIntentField · object[]
surfaces
enum<string>[]

Which kind of agent an intent applies to: END_USER_CHAT (a branded end-user chat bot), MSP_CHAT (an internal chat agent, used by the MSP's own people) or TRIGGERED (a ticket-triggered agent).

Available options:
END_USER_CHAT,
TRIGGERED,
MSP_CHAT

Response

Success.

data
PublicIntent · object
required

A curated request type: a menu name/description, its intake (the free-text ask_for script and/or the typed fields form schema), the surfaces it runs on, and the agents/companies it applies to (empty = all).

meta
object
required