Consistent validation error details

Validation errors from the v2 API now return details in a single, predictable shape. Previously this field could appear as an index-keyed object, a list of error objects, a bare string, or null, which made it hard to parse reliably.

For validation errors, details is now always a list of error objects (each with parameter, location, and message), or null when there is no field-level detail:

{
"errors": [
{
"type": "validation_error",
"message": "invalid articles data",
"details": [
{
"parameter": "$[0].knowledge_source_id",
"location": "body",
"message": "Knowledge source with id 'bogus_id' does not exist."
}
]
}
]
}

If your integration parses details, update it to expect this list-of-error-objects shape.


MCP: Playbook authoring and management

The MCP Server now supports Playbooks as an entity type across both list_entities and propose_change.

Read Playbooks — Use list_entities with entity_type: "playbooks" to list all Playbooks, or pass an entity_id to fetch a single Playbook with full step detail.

Author Playbooks — Use propose_change to create, update, enable, and disable Playbooks directly — including full step authoring with send, ask, set, run, if_else, and go_to step types. New Playbooks are created inactive by default. Active Playbooks can be updated in place or duplicated to apply changes to a copy.

“Show me the full details of playbook abc123, then create a new version that adds an order lookup step before the handoff.”