Know of an official OpenAPI document? Contribute it →
For Agents
Pull Refiner survey responses, contacts, forms, and segments, and send user identities and events that drive survey targeting. Authenticated with a bearer token.
Use for: Get the latest NPS responses from my Refiner survey, List all published Refiner forms, Retrieve the partial answers left on a survey, Track a 'subscription_upgraded' event in Refiner for a user
Not supported: Does not handle survey design, email campaign sending, or product analytics dashboards. Use for reading Refiner survey data and sending user identities and events only.
Jentic publishes the only available OpenAPI specification for the Refiner API, keeping it validated and agent-ready. The Refiner API reads the survey responses your Refiner in-app surveys collect and feeds user identity and events back so surveys target the right people. You can pull responses for a form with completed, partial, or all filtering, list and look up contacts, list forms by state, and read segments. Identify-user and track-event calls attach users and named events to Refiner, and responses can also be stored server-side against a form_uuid.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Refiner API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Frefiner.io%2Frefiner" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Frefiner.io%2Frefiner" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Refiner API.
Pull survey responses for one form by form_uuid, including partial answers
Send a named event for a user so Refiner can trigger surveys from it
Identify a user by id or email so responses link to a known contact
Look up a single contact by id, email, or uuid
List forms filtered to published, drafts, or archived
Store a survey response server-side against a form_uuid
List the user segments defined in a Refiner account
Patterns agents use Refiner API for, with concrete tasks.
★ Agent-written survey summaries
Your agent reads the responses collected by a Refiner survey and summarises them for you. It lists forms to find the right form_uuid, then pulls that form's responses with include set to completed, and turns raw answers into themes and follow-up actions.
Call GET /forms with list set to published, pick the form_uuid for the NPS survey, then call GET /responses with that form_uuid and include set to completed
Trigger surveys from product events
Refiner can show a survey when a user does something specific. Sending the event from your backend through the track-event operation, with the user's id or email and an event name, lets surveys fire after actions like an upgrade or a cancelled order.
Call POST /track-event with email set to the user's email and event set to 'subscription_upgraded'
Keep Refiner contacts in sync
When a user signs up, the identify-user operation registers them by id or email so later survey answers link to a known contact. A single contact can then be read back by id, email, or uuid to confirm what Refiner holds.
Call POST /identify-user with id set to the new user's id and email set to their address, then call GET /contact with that email to confirm the record
Recover partial survey answers
Users often abandon a survey halfway. Setting include to partials on the responses operation returns those incomplete submissions so you can still read the answers they gave.
Call GET /responses with form_uuid set to the onboarding survey and include set to partials
11 endpoints — jentic publishes the only available openapi specification for the refiner api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/responses
Get survey responses
/track-event
Track a named user event
/identify-user
Identify a user by id or email
/forms
List forms by state
/contact
Get a single contact
/segments
List segments
/responses
Get survey responses
/track-event
Track a named user event
/identify-user
Identify a user by id or email
/forms
List forms by state
/contact
Get a single contact
/segments
List segments
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>What agents get from Jentic-routed access to this vendor.
Setup
Wiring Refiner by hand means handling its bearer key, separating identify-user and track-event calls from response reads, and paging through responses with page and page_length. Through Jentic you install once, import Refiner from the API Directory, store the key once, and your agent calls it.
Permission scoping
Refiner identifies contacts and forms through query parameters and request bodies, not URL path ids, so rules bound which operations your agent may call rather than which form or contact. You choose those operations, so destructive ones like contact deletion or form deletion are not included unless you add them.
Credential isolation
Your Refiner API key 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.
Intent-based discovery
Agents search Jentic by intent such as 'get survey responses' or 'track a user event', and Jentic returns the matching Refiner operation with its input schema so the agent calls the right endpoint.
Alternatives and complements available in the Jentic catalogue.
Specific to using Refiner API through Jentic.
Why is there no official OpenAPI spec for the Refiner API?
Refiner does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call the Refiner API via structured tooling. It is validated against the live API and kept up to date. To run it on your own infrastructure, install Jentic One from its GitHub repo.
What authentication does the Refiner API use?
Per its OpenAPI spec, the Refiner API authenticates with a bearer token: send your Refiner API key as Authorization: Bearer YOUR_API_KEY. Refiner's own description also mentions passing api_key as a request parameter or using HTTP Basic with the key as username. Through Jentic, the key is stored encrypted by your own Jentic One instance and injected at execution time.
What are the rate limits for the Refiner API?
The Refiner API description in the OpenAPI spec states 4,000 requests per minute per API key and 80 requests per minute per user ID.
Can I get only completed survey responses from the Refiner API?
Yes. The responses operation takes an include parameter with the values completed, partials, or all, plus a form_uuid to restrict results to one survey and page and page_length for paging.
How do I send a user event to Refiner through Jentic?
Search Jentic for 'track a user event in Refiner'. It returns the POST /track-event operation, which requires an event name and takes the user's id or email. Your agent fills those in and Jentic makes the call with your stored key.
Is there a Refiner MCP server?
You don't need an MCP server to give your agent Refiner. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls it, discovering operations on demand rather than loading a full tool list into its context.
Can I limit what my agent is allowed to do with the Refiner API?
Yes. For a reporting agent, allow only GET /responses, GET /forms, and GET /segments: it can read and summarise survey results, and the DELETE /contact and DELETE /forms operations stay out of reach. Every call it makes is logged.
GET STARTED