curl --request GET \
--url 'https://api-prod.usefini.com/v2/bots/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/hc-prompt/9c59b2df-5d5f-4c9e-a070-9ac3c2b1b24e/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/9c59b2df-5d5f-4c9e-a070-9ac3c2b1b24e/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/9c59b2df-5d5f-4c9e-a070-9ac3c2b1b24e/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 prompt version
Fetch one saved prompt version for an agent.
GET
/
v2
/
bots
/
{id}
/
hc-prompt
/
{promptId}
/
public
curl --request GET \
--url 'https://api-prod.usefini.com/v2/bots/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/hc-prompt/9c59b2df-5d5f-4c9e-a070-9ac3c2b1b24e/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/9c59b2df-5d5f-4c9e-a070-9ac3c2b1b24e/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/9c59b2df-5d5f-4c9e-a070-9ac3c2b1b24e/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 one saved prompt version as a merged view of that version plus the current workspace template.
Use Get prompt history to find saved
promptId values. Template sections missing from the saved version are included in this response with merged-read helper fields such as defaultPrompt and custom.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 that owns the prompt version. Use List agents to get the
botId.string
required
Saved prompt version ID returned by Get prompt history.
Response
Returns one mergedPrompt object.
curl --request GET \
--url 'https://api-prod.usefini.com/v2/bots/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/hc-prompt/9c59b2df-5d5f-4c9e-a070-9ac3c2b1b24e/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/9c59b2df-5d5f-4c9e-a070-9ac3c2b1b24e/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/9c59b2df-5d5f-4c9e-a070-9ac3c2b1b24e/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
400 Bad Request
400 Bad Request
The agent ID or prompt version ID is not a valid UUID.
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
The agent belongs to a different workspace, or the prompt version does not belong to the agent in the path.
500 Internal Server Error
500 Internal Server Error
Fini failed while loading the prompt version or workspace template.
Was this page helpful?
⌘I

