> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usefini.com/llms.txt
> Use this file to discover all available pages before exploring further.
# Get reply rule fields context
> Read the fields and values available when interpreting reply rule conditions.
Returns the workspace-specific attributes, output tags, installed integration sources, operators, quantifiers, and built-in fields available to reply rule conditions.
## Headers
<ParamField header="Authorization" type="string" required>
Bearer token containing your Fini workspace API key. Format: `Bearer fini_...` The key needs `read` scope.
</ParamField>
## Response
<ResponseField name="userAttributes" type="array">
Enabled user attributes with their IDs, names, input schemas, and output schemas.
</ResponseField>
<ResponseField name="operatorTypes" type="array">
Supported comparison operators. Each item contains `value` and `label`.
</ResponseField>
<ResponseField name="quantifierTypes" type="array">
Supported array quantifiers. Each item contains `value` and `label`.
</ResponseField>
<ResponseField name="sources" type="string[]">
Installed reply-capable integration providers. Supported values include `intercom`, `zendesk`, `salesforce`, `gorgias`, `front`, `hubspot`, and `livechat` when installed.
</ResponseField>
<ResponseField name="tagGroups" type="array">
Output tag groups. Each group contains `id`, `name`, and a `tags` array of `{ id, name }` objects.
</ResponseField>
<ResponseField name="contextFields" type="array">
Built-in condition fields. Each item contains `name`, `path`, `dataType`, and optional `values` or `source` constraints.
</ResponseField>
Some arrays can be intentionally empty. For example, `userAttributes` returns an empty array when no enabled user attributes are available to reply rules.
<RequestExample>
~~~bash cURL theme={null}
curl --request GET \
--url 'https://api-prod.usefini.com/v2/reply-behavior/fields-context/public' \
--header 'Authorization: Bearer fini_your_api_key'
~~~
~~~javascript Node.js theme={null}
const response = await fetch('https://api-prod.usefini.com/v2/reply-behavior/fields-context/public', {
method: 'GET',
headers: {
Authorization: 'Bearer fini_your_api_key'
}
});
const fieldsContext = await response.json();
~~~
~~~python Python theme={null}
import requests
response = requests.get(
"https://api-prod.usefini.com/v2/reply-behavior/fields-context/public",
headers={"Authorization": "Bearer fini_your_api_key"},
)
fields_context = response.json()
~~~
</RequestExample>
<ResponseExample>
~~~json 200 OK theme={null}
{
"userAttributes": [],
"operatorTypes": [
{ "value": "==", "label": "Equals" },
{ "value": "!=", "label": "Not Equals" },
{ "value": "contains", "label": "Contains" }
],
"quantifierTypes": [
{ "value": "ANY", "label": "Any" },
{ "value": "ALL", "label": "All" },
{ "value": "NONE", "label": "None" }
],
"sources": ["intercom", "zendesk"],
"tagGroups": [
{
"id": "8e96d004-e59d-4c71-9940-825cc3a7e5da",
"name": "Conversation topic",
"tags": [
{
"id": "abef2d19-fc42-4990-898a-fbcecabf11d4",
"name": "Billing"
}
]
}
],
"contextFields": [
{
"name": "Integration Provider",
"path": "source",
"dataType": "string"
},
{
"name": "Channel",
"path": "channel",
"dataType": "string",
"values": ["chat", "email"]
},
{
"name": "Escalated Conversation",
"path": "alreadyEscalated",
"dataType": "boolean"
}
]
}
~~~
</ResponseExample>
## Related topics
- [Get Business Rule fields context](/en/api-reference/get-business-rule-fields-context.md)
- [Get intent-rule fields context](/en/api-reference/get-intent-rule-fields-context.md)
- [Get fields context](/en/api-reference/get-test-set-fields-context.md)
This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.
Reply Rules

