canonical: https://jentic.com/apis/refiner.io/refiner-api

# Refiner API

Refiner is a customer survey and feedback platform. The API lets you identify users, track events, manage survey responses, contacts, segments, and forms. The API exposes 17 endpoints secured with bearer authentication.

## For AI agents

Programmatically identify or create a user, track an event for a user. Covers 17 operations with bearer authentication.

## Scope

Does not handle payments, communications, or developer tools - use for crm only.

## Capabilities

- Identify or create a user
- Track an event for a user
- Store a survey response
- Get all survey responses
- Tag a survey response
- List all contacts

## Use cases

### CRM Operations

Use the Refiner API to perform crm operations programmatically. The API provides 17 endpoints covering core functionality including identify or create a user, track an event for a user, store a survey response.

Example prompt: Call POST /identify-user to identify or create a user

### Automated Account Management

Automate account operations by combining multiple Refiner API endpoints. Agents can track an event for a user and then store a survey response in a single workflow.

Example prompt: Call POST /track-event to track an event for a user, then verify the result

### AI Agent Integration via Jentic

AI agents discover and call Refiner API endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle bearer tokens manually.

Example prompt: Search Jentic for 'identify or create a user', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/identify-user` | Identify or create a user |
| POST | `/track-event` | Track an event for a user |
| POST | `/responses` | Store a survey response |
| GET | `/responses` | Get all survey responses |
| POST | `/responses/tags` | Tag a survey response |
| GET | `/reporting` | Get aggregated reporting data |
| GET | `/contacts` | List all contacts |
| GET | `/contact` | Get a single contact |

## Key resources

- **Account** — Operations related to Account
- **Contacts** — Operations related to Contacts
- **Forms** — Operations related to Forms
- **Reporting** — Operations related to Reporting
- **Responses** — Operations related to Responses

## Why Jentic

- **Setup:** Wiring the Refiner API by hand means setting its bearer token on every request and building your own retry handling against the api.refiner.io host. Through Jentic you install once, import the Refiner API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** The Refiner API works on collection endpoints like /identify-user, /track-event, and /responses with the target in the request body, so scoping is by operation: limit the agent to the operations it needs, such as reading responses or reporting, rather than to a single record. Write operations like identifying users or tagging responses are only available if you include them.
- **Credential handling:** Your Refiner API bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'identify or create a user' or 'list survey responses', and Jentic returns the matching Refiner API operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Hubspot** — Alternative crm API
- **Salesforce** — Alternative crm API
- **Pipedrive** — Complementary crm API
- **Zoho** — Complementary crm API

## FAQ

### What authentication does the Refiner API use?

The Refiner API uses a Bearer token in the Authorization header. Through Jentic, these credentials are stored encrypted in your Jentic One instance and injected at execution time, so raw secrets never enter the agent context.

### Can I identify or create a user with the Refiner API?

Yes. Use the POST /identify-user endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the Refiner API?

Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.

### How do I identify or create a user through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'identify or create a user'. Jentic returns the matching Refiner API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the Refiner API have?

The Refiner API exposes 17 endpoints covering account, contacts, forms operations.

### Can I limit what my agent is allowed to do with the Refiner API?

Yes. Because you run Jentic One yourself, your own rules decide which Refiner API operations and credentials the agent can use. The Refiner API scopes by operation rather than by record, so you can grant read-only calls like GET /responses, GET /reporting, and GET /contacts while withholding write operations such as POST /identify-user, POST /track-event, and POST `/responses/tags.` Write operations are available to the agent only if you include them, so an agent set up for reporting cannot create users or tag responses.
