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

# Qualtrics API

Work with Qualtrics surveys, distributions and response events. The API exposes 8 endpoints secured with apiKey authentication.

## For AI agents

Programmatically create contact in mailing list, generate distribution links. Covers 8 operations with apiKey authentication.

## Scope

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

## Capabilities

- Create contact in mailing list
- Generate distribution links
- Get distributions for survey
- Retrieve distribution links
- Triggers when a response is submitted to a qualtrics survey
- Remove subscription to response event

## Use cases

### Education Operations

Use the Qualtrics API to perform education operations programmatically. The API provides 8 endpoints covering core functionality including create contact in mailing list, generate distribution links, get distributions for survey.

Example prompt: Call POST /directories/{DirectoryId}/mailinglists/{MailingListId}/contacts to create contact in mailing list

### Automated Directories Management

Automate directories operations by combining multiple Qualtrics API endpoints. Agents can generate distribution links and then get distributions for survey in a single workflow.

Example prompt: Call POST /distributions to generate distribution links, then verify the result

### AI Agent Integration via Jentic

AI agents discover and call Qualtrics 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 apiKey tokens manually.

Example prompt: Search Jentic for 'create contact in mailing list', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /directories/{DirectoryId}/mailinglists/{MailingListId}/contacts | Create contact in mailing list |
| POST | /distributions | Generate distribution links |
| GET | /distributions | Get distributions for survey |
| GET | /distributions/{DistributionId}/links | Retrieve distribution links |
| POST | /eventsubscriptions/ | Triggers when a response is submitted to a qualtrics survey |
| DELETE | /eventsubscriptions/ | Remove subscription to response event |
| GET | /eventsubscriptions/{SubscriptionId} | Get event subscriptions |
| GET | /survey-definitions/{SurveyId} | Get survey |

## Key resources

- **Directories** — Operations for directories
- **Distributions** — Operations for distributions
- **Eventsubscriptions** — Operations for eventsubscriptions
- **Survey Definitions** — Operations for survey definitions

## Why Jentic

- **Setup:** Wiring the Qualtrics API by hand means targeting your regional data-center host such as fra1.qualtrics.com, setting its X-API-TOKEN header, and shaping each request yourself. Through Jentic you install once, import the Qualtrics API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Qualtrics puts the directory, mailing-list, and survey ids in the URL path (/directories/{DirectoryId}/mailinglists/{MailingListId}/contacts), so a rule can pin your agent to one directory or mailing list: it can add contacts and read distributions there and nothing else. You choose the operations it may call, so ones like deleting event subscriptions are not included unless you add them.
- **Credential handling:** Your Qualtrics API 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 'add a contact to a mailing list' or 'create a survey distribution', and Jentic returns the matching Qualtrics operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Stripe** — Complementary education API
- **Twilio** — Complementary education API
- **Sendgrid** — Complementary education API

## FAQ

### What authentication does the Qualtrics API use?

The Qualtrics API uses an API key passed in the `X-API-TOKEN` 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 create contact in mailing list with the Qualtrics API?

Yes. Use the POST /directories/{DirectoryId}/mailinglists/{MailingListId}/contacts endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the Qualtrics 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 create contact in mailing list through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'create contact in mailing list'. Jentic returns the matching Qualtrics API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

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

The Qualtrics API exposes 8 endpoints covering directories, distributions, eventsubscriptions operations.

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

Yes. Because you run Jentic One yourself, your own rules decide which Qualtrics operations and credentials the agent may use. Qualtrics carries the directory, mailing-list, and survey ids in the URL path, such as /directories/{DirectoryId}/mailinglists/{MailingListId}/contacts, so you can pin the agent to a single directory or mailing list where it may add contacts and read survey distributions and nothing else. You also choose exactly which endpoints it can call, so an operation like deleting an event subscription stays off unless you add it.
