Update a policy handbook
Replaces a policy handbook's level, title, description, text and enabled flag. Every field in the body is written, so send the current value for anything you are not changing.
Authorization
AuthorizationstringrequiredPath parameters
policyHandbookIdstringrequiredThe policy handbook to act on. A Snowflake id sent as a decimal string.
Body
application/json
levelenum<string>Which rung to attach the handbook at.
levelIdstringThe portfolio, property, unit or lease to attach it to. Leave it out when level is Global.
titlestringrequiredName of the handbook, up to 255 characters.
descriptionstringWhat the handbook covers, up to 2000 characters.
scriptstringrequiredThe policy text, in plain text.
enabledbooleanWhether to apply the handbook to live chats.
Response
200 · The handbook after the change.
idstringThe handbook. A Snowflake id sent as a decimal string.
levelenum<string>Which rung of the hierarchy the handbook applies at. PascalCase, not camelCase.
levelIdstringThe portfolio, property, unit or lease the handbook is attached to. Absent when level is Global.
titlestringName of the handbook.
descriptionstringWhat the handbook covers. Absent when none was set.
scriptstringThe policy text itself, in plain text. This is what the AI is given.
indexStatusenum<string>How far the handbook has got through being indexed for AI search. PascalCase, not camelCase.
indexErrorstringWhy indexing failed. Present when indexStatus is Failed.
indexedAtstring · date-timeWhen the handbook was last indexed, in the company's timezone. Absent when it never has been.
enabledbooleanWhether the handbook is applied to live chats.
createdstring · date-timeWhen the handbook was created, in the company's timezone.
updatedstring · date-timeWhen it was last changed, in the company's timezone.
401 · The access token is missing, expired, or not valid for this company.
404 · No policy handbook with that id exists in the caller's company.
Most enums in this API come back camelCased. These two do not: they are turned into strings by hand, so you get Property and Indexed, not property and indexed. The level query filter is read the same way and is case-sensitive.
Changing script means the indexed copy no longer matches the text. Call the reindex endpoint afterwards if the change needs to reach the AI immediately.