The wire-format paths still use
/hc-prompt because that is the current controller contract. In this reference, we call them prompts because they manage the agent instructions you configure in the product.The read routes return a merged view: Fini overlays the agent’s saved prompt version on top of the workspace template prompt. That is why read responses include helper fields like
defaultPrompt and custom. The write route stores a raw version payload and does not perform that merge in its response.Reference pages
Get prompts
GET /v2/bots/{id}/hc-prompt/public - fetch the agent’s current merged prompt configuration.Get prompt history
GET /v2/bots/{id}/hc-prompt/history/public - list metadata for saved prompt versions.Get prompt version
GET /v2/bots/{id}/hc-prompt/{promptId}/public - fetch one saved prompt version as a merged prompt object.Update prompts
POST /v2/bots/{id}/hc-prompt/public - save a new prompt version for one agent.Create prompt draft version
POST /v2/bots/{id}/hc-prompt/versions/public - create a draft prompt version without publishing it.Get prompt draft version
GET /v2/bots/{id}/hc-prompt/versions/{versionId}/public - fetch one exact stored draft version for review.Publish prompt draft version
POST /v2/bots/{id}/hc-prompt/versions/{versionId}/publish/public - publish one reviewed draft version.Endpoint map
Prompt object
string
Prompt version ID. On read routes, this is the saved version ID when one exists, otherwise the template prompt ID.
string
Agent ID the prompt is scoped to.
string
ISO 8601 timestamp for when this prompt version was created.
string
Creator identifier recorded for the saved version.
PromptSection[]
Planning Prompt sections.
PromptSection[]
Main Guidelines sections.
PromptSection[]
Channel Prompt sections.
PromptSection object
string
Section ID.
string
Section name shown in the dashboard.
string
Section description.
boolean
Whether the section is enabled.
boolean
Present on merged read responses.
true means this section does not come from the default template.PromptSubsection[]
Subsections inside the section.
PromptSubsection object
string
Subsection ID.
string
Subsection name shown in the dashboard.
string
The saved custom prompt text for this subsection. On merged read responses, this can be an empty string when
useDefault is true.string
Present on merged read responses. The default template text Fini would use if
useDefault is true.boolean
Whether this subsection should use the template prompt text instead of the custom
prompt value.boolean
Whether the subsection is enabled.
boolean
Present on merged read responses.
true means this subsection does not come from the default template.If you want to edit prompts safely through the API, the simplest workflow is: call Get prompts, modify the returned arrays, then send those arrays back to Update prompts. That preserves section IDs and ordering.

