curl --request GET \
--url 'https://api-prod.usefini.com/v2/hc-rules/public?versionStatus=PUBLISHED&includeVersions=true' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch('https://api-prod.usefini.com/v2/hc-rules/public?versionStatus=PUBLISHED&includeVersions=true', {
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/hc-rules/public?versionStatus=PUBLISHED&includeVersions=true",
headers={"Authorization": "Bearer fini_your_api_key"},
)
data = response.json()
[
{
"id": "b8b8d87b-2f0c-47f6-8a8a-546da73e0820",
"name": "Refund escalation",
"description": "Route refund requests to the right workflow.",
"status": "PUBLISHED",
"source": null,
"triggerType": null,
"botIds": [
"2a1cf0f0-f35d-46ad-8e61-a15c86b2b312"
],
"flowConfig": {
"type": "reply",
"message": "Escalate refund requests with order context."
},
"version": 3,
"versionId": "v3",
"createdAt": "2026-07-28T08:55:32.000Z",
"updatedAt": "2026-07-28T09:10:18.000Z"
}
]
Intent Rules
List intent rules
List Intent Rules by version status.
GET
/
v2
/
hc-rules
/
public
curl --request GET \
--url 'https://api-prod.usefini.com/v2/hc-rules/public?versionStatus=PUBLISHED&includeVersions=true' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch('https://api-prod.usefini.com/v2/hc-rules/public?versionStatus=PUBLISHED&includeVersions=true', {
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/hc-rules/public?versionStatus=PUBLISHED&includeVersions=true",
headers={"Authorization": "Bearer fini_your_api_key"},
)
data = response.json()
[
{
"id": "b8b8d87b-2f0c-47f6-8a8a-546da73e0820",
"name": "Refund escalation",
"description": "Route refund requests to the right workflow.",
"status": "PUBLISHED",
"source": null,
"triggerType": null,
"botIds": [
"2a1cf0f0-f35d-46ad-8e61-a15c86b2b312"
],
"flowConfig": {
"type": "reply",
"message": "Escalate refund requests with order context."
},
"version": 3,
"versionId": "v3",
"createdAt": "2026-07-28T08:55:32.000Z",
"updatedAt": "2026-07-28T09:10:18.000Z"
}
]
Returns intent rules in the workspace as summary objects.
Fields added by
Headers
string
required
Bearer token containing your Fini workspace API key. Format:
Bearer fini_... The key needs read scope.Query parameters
string
Version state to return:
DRAFT, PUBLISHED, or ARCHIVED. Defaults to PUBLISHED.boolean
Set to
true to include botIds, current-published metadata, latest-draft metadata, draftCount, and lastPublishedAt. Defaults to false.Response
Returns an array of Intent Rule summary objects withoutflowConfig.
curl --request GET \
--url 'https://api-prod.usefini.com/v2/hc-rules/public?versionStatus=PUBLISHED&includeVersions=true' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch('https://api-prod.usefini.com/v2/hc-rules/public?versionStatus=PUBLISHED&includeVersions=true', {
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/hc-rules/public?versionStatus=PUBLISHED&includeVersions=true",
headers={"Authorization": "Bearer fini_your_api_key"},
)
data = response.json()
[
{
"id": "b8b8d87b-2f0c-47f6-8a8a-546da73e0820",
"name": "Refund escalation",
"description": "Route refund requests to the right workflow.",
"status": "PUBLISHED",
"source": null,
"triggerType": null,
"botIds": [
"2a1cf0f0-f35d-46ad-8e61-a15c86b2b312"
],
"flowConfig": {
"type": "reply",
"message": "Escalate refund requests with order context."
},
"version": 3,
"versionId": "v3",
"createdAt": "2026-07-28T08:55:32.000Z",
"updatedAt": "2026-07-28T09:10:18.000Z"
}
]
Fields added by includeVersions=true
RuleVersion | null
The active published version, or
null when the rule has not been published. The version summary omits flowConfig.RuleVersion | null
The most recent draft version, or
null when the rule has no draft. The version summary omits flowConfig.number
Number of draft revisions represented by the latest draft relative to the current published version.
string | null
ISO 8601 publication timestamp for the current published version. If its publication timestamp is unavailable, the API uses that version’s last-update timestamp. Returns
null when the rule has not been published.With
includeVersions=false, intent-rule summaries omit botIds. Use includeVersions=true for a lifecycle overview, or Get intent rule for the full tree.Errors
400 Bad Request
400 Bad Request
A query parameter is malformed or uses an unsupported enum value.
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.500 Internal Server Error
500 Internal Server Error
Fini failed while loading intent rules.
Was this page helpful?

