canonical: https://jentic.com/apis/algolia.com/algolia-personalization-api

# Algolia Personalization API

Jentic publishes the only available OpenAPI specification for the Algolia Personalization API, keeping it validated and agent-ready. The Personalization API manages personalization strategies and user profile data for Algolia search experiences. You define which facets and events count toward each user's affinity score, then read or delete the resulting per-user profile. Personalization is rate-limited to 40 calls per second per application.

## For AI agents

Configure Algolia personalization strategies and read or delete per-user affinity profiles so search results adapt to each user.

## Scope

Does not handle search execution, event ingestion, or product recommendations - use the Algolia Search, Insights, and Recommend APIs for those. Use this API for personalization strategy and user profile management only.

## Capabilities

- Define a personalization strategy that weights facets and events for affinity scoring via POST /1/strategies/personalization
- Read the current personalization strategy for an application via GET /1/strategies/personalization
- Retrieve a user's affinity profile keyed by user token via GET /1/profiles/personalization/{userToken}
- Delete a user's profile to reset affinities or comply with erasure requests via DELETE /1/profiles/{userToken}
- Issue a temporary client API key scoped to the user's session via /setClientApiKey

## Use cases

### Stand up personalized search for an e-commerce site

Define a strategy that scores brand and category facets, plus click and conversion events, for each user. Once events flow in via the Insights API, the Personalization service builds an affinity profile per userToken and Algolia automatically reorders search results to favor items matching that profile. Setup is a single POST to /1/strategies/personalization.

Example prompt: POST /1/strategies/personalization with eventScoring weighting clicks at 1 and conversions at 5, and facetScoring weighting brand at 3 and category at 2

### GDPR profile reset on account deletion

When a user deletes their account or exercises the right to erasure, call DELETE /1/profiles/{userToken} to remove their affinity data from Algolia. Pair with DELETE /1/usertokens/{userToken} on the Insights API to wipe the underlying events.

Example prompt: Call DELETE /1/profiles/user_42 to remove the user's affinity profile, then DELETE /1/usertokens/user_42 on the Insights API to wipe the events

### Inspect personalization quality in production

Pull a sample of user profiles via GET /1/profiles/personalization/{userToken} to verify that affinities reflect real user behavior. If profiles look thin, increase event sampling on the Insights API or adjust facet weights in the strategy.

Example prompt: GET /1/profiles/personalization/user_42 and report which facets and values have the highest affinity scores

### Agent-managed personalization tuning

An AI agent supporting a merchandising team can read the current strategy, propose facet weight adjustments based on conversion data, and apply the new strategy through Jentic - all from a chat interface. Credentials stay in your Jentic One instance.

Example prompt: Search Jentic for 'update Algolia personalization strategy', load setPersonalizationStrategy, and execute with the new facet and event weights

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /1/strategies/personalization | Get current personalization strategy |
| POST | /1/strategies/personalization | Create or update the personalization strategy |
| GET | /1/profiles/personalization/{userToken} | Get a user's affinity profile |
| DELETE | /1/profiles/{userToken} | Delete a user's personalization profile |

## Key resources

- **Strategies** — Personalization configuration weighting facets and events for affinity scoring
- **Profiles** — Per-user affinity profiles built from Insights events

## Why Jentic

- **Setup:** Wiring the Algolia Personalization API by hand means sending its API key, resolving the personalization.{region}.algolia.com host, and managing strategies and user profiles yourself. Through Jentic you install once, import the Personalization API from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** The Personalization API puts the user token in the URL path (/1/profiles/personalization/{userToken}, /1/profiles/{userToken}), so a rule can pin your agent to reading one user profile. You choose the operations it may call, so deleting a profile or setting the strategy is not included unless you add it.
- **Credential handling:** Your Algolia 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.
- **Discovery method:** Agents search Jentic by intent such as 'get a user personalization profile' or 'read the personalization strategy', and Jentic returns the matching Algolia Personalization operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Algolia Recommend API** — Different relevance lever - product recommendations rather than personalized search ranking
- **Algolia Insights API** — Sends the events that build personalization profiles
- **Algolia Search API** — Personalization rerankings apply to Search API queries

## FAQ

### Why is there no official OpenAPI spec for the Personalization API?

Algolia does not publish a standalone OpenAPI specification for the Personalization API. Jentic generates and maintains this spec so that AI agents and developers can call the Personalization 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 Algolia Personalization API use?

Two API key headers: x-algolia-application-id and x-algolia-api-key with the personalization or admin ACL. Through Jentic, both are stored in the vault and injected at request time, so agents never handle the raw key.

### Can I read a single user's affinity data?

Yes. GET /1/profiles/personalization/{userToken} returns the user's facet and event affinity scores. Use it to debug personalization quality or to surface a 'why this result' explanation in the UI.

### What are the rate limits for the Algolia Personalization API?

40 API calls per second per application. The response includes x-ratelimit-limit, x-ratelimit-remaining, and x-ratelimit-reset headers so clients can pace themselves. Plan for backoff on /1/profiles reads during bulk audits.

### How do I update the personalization strategy through Jentic?

Search Jentic for 'update Algolia personalization strategy', load setPersonalizationStrategy, and execute with the desired eventScoring and facetScoring arrays. Jentic handles the credential injection.

### Does Personalization work without sending Insights events?

No. Personalization profiles are built from click, conversion, and view events captured by the Insights API. Without those events the affinity profile remains empty and search results are not personalized.

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

Yes. Because you run Jentic One yourself, your own rules decide which Personalization operations and credentials the agent may use. Since the user token sits in the URL path (GET /1/profiles/personalization/{userToken}), a rule can pin the agent to reading a single user's affinity profile. You choose which operations are exposed, so deleting a profile with DELETE /1/profiles/{userToken} or rewriting the strategy with POST /1/strategies/personalization stays off-limits unless you explicitly allow it.
