curl --request GET \
--url 'https://api-prod.usefini.com/v2/bots/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/hc-prompt/public' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch('https://api-prod.usefini.com/v2/bots/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/hc-prompt/public', {
method: 'GET',
headers: {
Authorization: 'Bearer fini_your_api_key'
}
});
const data = await response.json();
import requests
response = requests.get(
"https://api-prod.usefini.com/v2/bots/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/hc-prompt/public",
headers={"Authorization": "Bearer fini_your_api_key"},
)
data = response.json()
{
"id": "9c59b2df-5d5f-4c9e-a070-9ac3c2b1b24e",
"botId": "2a1cf0f0-f35d-46ad-8e61-a15c86b2b312",
"createdAt": "2026-07-28T08:55:32.000Z",
"createdBy": "api",
"hcPlanningPrompt": [
{
"id": "planning-main",
"name": "Planning",
"description": "How the agent plans an answer.",
"enabled": true,
"custom": true,
"subsections": [
{
"id": "planning-grounding",
"name": "Grounding",
"prompt": "Use approved knowledge before answering.",
"defaultPrompt": "Use retrieved knowledge before answering.",
"useDefault": false,
"enabled": true,
"custom": true
}
]
}
],
"hcGuidelinePrompt": [
{
"id": "guidelines-main",
"name": "Main Guidelines",
"description": "Global answer behavior.",
"enabled": true,
"custom": true,
"subsections": [
{
"id": "guidelines-escalation",
"name": "Escalation",
"prompt": "Escalate billing disputes when policy is unclear.",
"defaultPrompt": "Escalate when unsure.",
"useDefault": false,
"enabled": true,
"custom": true
}
]
}
],
"hcChannelPrompt": [
{
"id": "channel-chat",
"name": "Chat",
"description": "Chat-specific behavior.",
"enabled": true,
"custom": false,
"subsections": [
{
"id": "channel-chat-style",
"name": "Tone",
"prompt": "Keep replies concise and grounded in approved knowledge.",
"defaultPrompt": "Keep replies helpful and concise.",
"useDefault": false,
"enabled": true,
"custom": true
}
]
}
]
}
Prompts
Get prompts
Fetch the current merged prompts for one agent.
GET
/
v2
/
bots
/
{id}
/
hc-prompt
/
public
curl --request GET \
--url 'https://api-prod.usefini.com/v2/bots/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/hc-prompt/public' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch('https://api-prod.usefini.com/v2/bots/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/hc-prompt/public', {
method: 'GET',
headers: {
Authorization: 'Bearer fini_your_api_key'
}
});
const data = await response.json();
import requests
response = requests.get(
"https://api-prod.usefini.com/v2/bots/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/hc-prompt/public",
headers={"Authorization": "Bearer fini_your_api_key"},
)
data = response.json()
{
"id": "9c59b2df-5d5f-4c9e-a070-9ac3c2b1b24e",
"botId": "2a1cf0f0-f35d-46ad-8e61-a15c86b2b312",
"createdAt": "2026-07-28T08:55:32.000Z",
"createdBy": "api",
"hcPlanningPrompt": [
{
"id": "planning-main",
"name": "Planning",
"description": "How the agent plans an answer.",
"enabled": true,
"custom": true,
"subsections": [
{
"id": "planning-grounding",
"name": "Grounding",
"prompt": "Use approved knowledge before answering.",
"defaultPrompt": "Use retrieved knowledge before answering.",
"useDefault": false,
"enabled": true,
"custom": true
}
]
}
],
"hcGuidelinePrompt": [
{
"id": "guidelines-main",
"name": "Main Guidelines",
"description": "Global answer behavior.",
"enabled": true,
"custom": true,
"subsections": [
{
"id": "guidelines-escalation",
"name": "Escalation",
"prompt": "Escalate billing disputes when policy is unclear.",
"defaultPrompt": "Escalate when unsure.",
"useDefault": false,
"enabled": true,
"custom": true
}
]
}
],
"hcChannelPrompt": [
{
"id": "channel-chat",
"name": "Chat",
"description": "Chat-specific behavior.",
"enabled": true,
"custom": false,
"subsections": [
{
"id": "channel-chat-style",
"name": "Tone",
"prompt": "Keep replies concise and grounded in approved knowledge.",
"defaultPrompt": "Keep replies helpful and concise.",
"useDefault": false,
"enabled": true,
"custom": true
}
]
}
]
}
Returns the current prompt configuration for one agent as a merged view of the workspace template plus the agent’s latest saved prompt version.
If the agent has no saved prompt version yet, this route still returns prompt content by falling back to the workspace template. In that case, the metadata comes from the template prompt, but
botId is still the requested agent ID.Headers
string
required
Bearer token containing your Fini workspace API key. Format:
Bearer fini_... The key needs read scope.Path parameters
string
required
Agent ID whose prompts you want to read. Use List agents to get the
botId.Response
Returns one mergedPrompt object.
curl --request GET \
--url 'https://api-prod.usefini.com/v2/bots/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/hc-prompt/public' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch('https://api-prod.usefini.com/v2/bots/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/hc-prompt/public', {
method: 'GET',
headers: {
Authorization: 'Bearer fini_your_api_key'
}
});
const data = await response.json();
import requests
response = requests.get(
"https://api-prod.usefini.com/v2/bots/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/hc-prompt/public",
headers={"Authorization": "Bearer fini_your_api_key"},
)
data = response.json()
{
"id": "9c59b2df-5d5f-4c9e-a070-9ac3c2b1b24e",
"botId": "2a1cf0f0-f35d-46ad-8e61-a15c86b2b312",
"createdAt": "2026-07-28T08:55:32.000Z",
"createdBy": "api",
"hcPlanningPrompt": [
{
"id": "planning-main",
"name": "Planning",
"description": "How the agent plans an answer.",
"enabled": true,
"custom": true,
"subsections": [
{
"id": "planning-grounding",
"name": "Grounding",
"prompt": "Use approved knowledge before answering.",
"defaultPrompt": "Use retrieved knowledge before answering.",
"useDefault": false,
"enabled": true,
"custom": true
}
]
}
],
"hcGuidelinePrompt": [
{
"id": "guidelines-main",
"name": "Main Guidelines",
"description": "Global answer behavior.",
"enabled": true,
"custom": true,
"subsections": [
{
"id": "guidelines-escalation",
"name": "Escalation",
"prompt": "Escalate billing disputes when policy is unclear.",
"defaultPrompt": "Escalate when unsure.",
"useDefault": false,
"enabled": true,
"custom": true
}
]
}
],
"hcChannelPrompt": [
{
"id": "channel-chat",
"name": "Chat",
"description": "Chat-specific behavior.",
"enabled": true,
"custom": false,
"subsections": [
{
"id": "channel-chat-style",
"name": "Tone",
"prompt": "Keep replies concise and grounded in approved knowledge.",
"defaultPrompt": "Keep replies helpful and concise.",
"useDefault": false,
"enabled": true,
"custom": true
}
]
}
]
}
Errors
401 Unauthorized
401 Unauthorized
The API key is missing, malformed, revoked, or invalid.
403 Forbidden
403 Forbidden
The API key does not include the
read scope required for this route.404 Not Found
404 Not Found
The agent ID does not exist.
406 Not Acceptable
406 Not Acceptable
Current controller behavior: if the agent belongs to a different workspace, this route returns
406 with an invalid-agent message rather than 403.500 Internal Server Error
500 Internal Server Error
Fini failed while loading the prompt data from storage.
Was this page helpful?
⌘I

