canonical: https://jentic.com/apis/alchemer.com/alchemer

# Alchemer REST API

Jentic publishes the only available OpenAPI specification for Alchemer REST API, keeping it validated and agent-ready. The Alchemer REST API gives programmatic access to surveys, pages, questions, responses, campaigns, and contact lists in an Alchemer account. It supports listing and managing surveys, retrieving response data and aggregate statistics, and working with the contact lists used to distribute survey campaigns. Authentication uses an api_token and api_token_secret pair sent as query parameters on every request.

## For AI agents

Create and manage Alchemer surveys, retrieve responses and statistics, and work with contact lists used to send survey campaigns.

## Scope

Does not handle email delivery infrastructure, advanced analytics dashboards, or quota and panel management - use for survey, response, and contact list operations only.

## Capabilities

- List and inspect Alchemer surveys, pages, and questions in an account
- Create a new Alchemer survey with PUT /survey and update its configuration
- Retrieve survey responses for a given survey id with /survey/{surveyId}/surveyresponse
- Pull aggregate survey statistics for analysis or reporting dashboards
- List survey campaigns attached to a survey to track distribution channels
- Manage Alchemer contact lists and read the contacts inside a list for outreach

## Use cases

### Sync survey responses to a data warehouse

A data team pulls responses from each active Alchemer survey on a schedule by calling /survey/{surveyId}/surveyresponse and writes them into a warehouse for analysis. Combining this with the survey statistics endpoint lets the team build dashboards that mix raw response rows with response rate and completion metrics. The integration removes manual CSV exports from the Alchemer UI.

Example prompt: GET /survey to list active surveys, then for each survey id GET /survey/{surveyId}/surveyresponse and append the rows to the warehouse table

### Programmatic survey creation from a template

A research operations team uses the Alchemer REST API to create a new survey for each customer interview round by calling PUT /survey and then configuring questions and pages. This lets the team spin up surveys from a controlled template without clicking through the Alchemer designer for every project.

Example prompt: PUT /survey with the survey title and type, then GET /survey/{surveyId}/surveypage and /survey/{surveyId}/surveyquestion to verify the resulting structure

### Contact list audit before a campaign send

Before launching an Alchemer email campaign, a marketing engineer audits the target contact list by listing every contact in /contactlist/{listId}/contactlistcontact and validating emails against an external suppression list. Only after the audit does the engineer attach the list to a campaign. This avoids sending to lapsed or invalid recipients.

Example prompt: GET /contactlist to find the target list id, then GET /contactlist/{listId}/contactlistcontact and pass each email to a validation step

### Agent-driven survey reporting through Jentic

A Jentic agent receives an intent like 'show me last month's survey results' and chains the Alchemer operations: list surveys, fetch the matching survey, pull responses, and read aggregate statistics. The agent returns a concise summary to the user without exposing raw API tokens or response payloads.

Example prompt: Search Jentic for 'retrieve survey responses', load the schema for GET /survey/{surveyId}/surveyresponse, and execute it with the survey id resolved from a previous GET /survey call

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /survey | List surveys |
| PUT | /survey | Create a survey |
| GET | /survey/{surveyId} | Retrieve a survey |
| GET | /survey/{surveyId}/surveyresponse | List survey responses |
| GET | /survey/{surveyId}/surveystatistic | Get aggregate survey statistics |
| GET | /contactlist | List contact lists |
| GET | /contactlist/{listId}/contactlistcontact | List contacts in a contact list |

## Key resources

- **Surveys** — List, create, retrieve, update, and delete surveys
- **Survey Pages** — List the pages that structure a survey
- **Survey Questions** — List the questions on a survey to map fields to other systems
- **Survey Responses** — Retrieve the responses collected by a survey
- **Survey Campaigns** — List the email or link campaigns distributing a survey
- **Survey Statistics** — Read aggregate stats such as completion and response counts
- **Contact Lists** — List contact lists and the contacts inside a list
- **Account** — Read the authenticated Alchemer account information

## Why Jentic

- **Setup:** Wiring Alchemer by hand means appending both api_token and api_token_secret as query parameters on every call, building survey and contact-list requests, and writing your own retry logic. Through Jentic you install once, import Alchemer from the API Directory, store both values once, and your agent calls it.
- **Permission scoping:** Alchemer puts the survey and list ids in the URL path (/survey/{surveyId}/surveyresponse, /contactlist/{listId}/contactlistcontact), so a rule can pin your agent to one survey or contact list. You choose the operations it may call, so editing a survey is only included if you add it.
- **Credential handling:** Your Alchemer api_token and api_token_secret are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list survey responses', and Jentic returns the matching Alchemer operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **SurveyMonkey API** — Use SurveyMonkey when the team already runs surveys on that platform instead of Alchemer
- **Typeform API** — Use Typeform when conversational, single-question-per-page experiences matter more than Alchemer's classic page model
- **Qualtrics API** — Use Qualtrics for enterprise experience-management surveys with deeper analytics

## FAQ

### Why is there no official OpenAPI spec for Alchemer REST API?

Alchemer does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Alchemer REST API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Alchemer REST API use?

Alchemer requires an api_token and api_token_secret pair, both sent as query parameters on every request. Jentic stores both values encrypted and injects them at execution time so neither token enters the agent's prompt context.

### Can I retrieve all responses for a specific Alchemer survey?

Yes. Call GET /survey/{surveyId}/surveyresponse with the survey id you obtained from GET /survey. The endpoint returns the response rows for that survey, which you can paginate through and write into your own store.

### What are the rate limits for the Alchemer REST API?

The OpenAPI spec does not declare rate limits. Alchemer enforces plan-based limits server-side (commonly documented as a few requests per second per token); throttle long-running exports and contact list reads accordingly.

### How do I create a new survey with the Alchemer REST API through Jentic?

Search Jentic for 'create an alchemer survey', load the schema for PUT /survey, and execute it with the survey title and type. Jentic returns the new survey id so an agent can immediately follow up with question and page configuration calls.

### Can I read the contacts in a specific Alchemer contact list?

Yes. Call GET /contactlist to find the list id, then GET /contactlist/{listId}/contactlistcontact to retrieve the contacts attached to that list.

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

Yes. Because you run Jentic One yourself, your own rules decide which Alchemer operations and credentials the agent may use, so you can grant read-only calls like GET /survey/{surveyId}/surveyresponse and GET /contactlist/{listId}/contactlistcontact while withholding survey edits or deletes. Since Alchemer puts the survey and list ids in the URL path, a rule can also pin the agent to a single survey or contact list rather than the whole account. An operation such as updating a survey is available to the agent only if you explicitly include it.
