> ## 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>

<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>
