canonical: https://jentic.com/apis/optimizely.com/optimizely-developers

# Optimizely API

Jentic publishes the only available OpenAPI specification for this Optimizely Developers API surface, keeping it validated and agent-ready. Optimizely is a digital experience optimisation platform covering experimentation, content management, and personalisation. This minimal slice exposes the OAuth-style token endpoint and a generic resources directory, intended as a starting point for agents authenticating to the Optimizely platform and discovering available resources before calling product-specific APIs. Authentication uses an API key sent in the Authorization header.

## For AI agents

Authenticate to the Optimizely developers platform and list resource endpoints, providing a discovery starting point for agents calling Optimizely product APIs.

## Scope

Does not handle running experiments, managing audiences, or content delivery - use for Optimizely developer auth and resource discovery only.

## Capabilities

- Exchange platform credentials for an Optimizely access token via the auth endpoint
- List available resource entries the calling credential can reach on the Optimizely developers surface
- Look up a single resource entry by ID to inspect its metadata before deeper integration
- Verify an API key is valid before driving downstream calls into other Optimizely APIs

## Use cases

### Bootstrap auth for Optimizely integrations

Engineering teams beginning a new Optimizely integration use POST /auth/token as the first call to exchange their application credentials for an access token. The token is then reused across the rest of the Optimizely product APIs (Web Experimentation, Feature Experimentation, Optimizely Data Platform). This minimal spec is well suited to scripted onboarding and credential sanity-checks.

Example prompt: POST /auth/token with the application client_id and client_secret and store the returned access_token for downstream calls.

### Resource discovery before deeper calls

Agents that wrap multiple Optimizely surfaces can use GET /resources to discover which resource entries the calling credential can reach before deciding which product-specific endpoints to call. GET /resources/{id} retrieves a single entry's metadata, which is useful when the agent only has an ID and needs to confirm what it points to.

Example prompt: GET /resources to enumerate accessible entries, then GET /resources/{id} for the specific resource the user asked about.

### Credential sanity checks in CI

CI pipelines deploying Optimizely-aware applications can run POST /auth/token as a pre-deploy sanity check so that a misconfigured key fails the build rather than failing in production. The check requires no test data and produces a quick yes/no on credential validity.

Example prompt: POST /auth/token in the pre-deploy job and fail the build if a 401 response is returned.

### AI agent bootstrap for Optimizely

Through Jentic, an agent that needs to integrate with multiple Optimizely surfaces can load this minimal API first to verify credentials and resource visibility before the user wires it into the larger Optimizely Web Experimentation API. The vaulted API key is supplied at execution, so the agent never handles the secret itself.

Example prompt: Search Jentic for 'get an optimizely access token', execute POST /auth/token, and pass the returned token to subsequent Optimizely calls.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /auth/token | Get an access token |
| GET | /resources | List available resources |
| GET | /resources/{id} | Get a single resource by ID |

## Key resources

- **Authentication** — Exchange client credentials for an access token
- **Resources** — List and read accessible resource entries on the developers surface

## Why Jentic

- **Setup:** Wiring this Optimizely developer API by hand means exchanging credentials at /auth/token, carrying the returned key as the Authorization header, and mapping the resource-discovery endpoints yourself. Through Jentic you install once, import the Optimizely API from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** This Optimizely surface puts the resource id in the URL path (/resources/{id}), so a rule can pin your agent to reading one resource. You choose the operations it may call, so the token endpoint is not included unless you add it, and it otherwise stays read-only.
- **Credential handling:** Your Optimizely credential is stored once, encrypted, by your own Jentic One instance and injected as the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get an optimizely access token' or 'list optimizely resources', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Optimizely v2 (Web Experimentation)** — The full Optimizely Web Experimentation API where experiments, audiences, and campaigns live
- **PostHog** — Open-source product analytics and feature flag platform with experimentation
- **Amplitude** — Product analytics platform commonly paired with experimentation tooling

## FAQ

### Why is there no official OpenAPI spec for Optimizely API?

Optimizely does not publish a single canonical OpenAPI specification covering this developers surface. Jentic generates and maintains this spec so that AI agents and developers can call Optimizely 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 this Optimizely API use?

It uses an API key passed in the Authorization header. Through Jentic the key is stored encrypted in the vault and added to the header at request time, so the agent never sees the credential itself.

### Can I run experiments through this API?

No. This three-endpoint slice handles auth and resource discovery only. Running experiments uses Optimizely's separate Web Experimentation API, which is published as the Optimizely v2 spec under optimizely.com/optimizely-api in this catalogue.

### What are the rate limits for the Optimizely developers API?

Optimizely applies rate limits at the platform level rather than per endpoint in this slice. Treat 429 responses as a signal to back off and consult the Optimizely developer documentation for the limits attached to your subscription tier.

### How do I get an access token through Jentic?

Search Jentic for 'get an optimizely access token', load POST /auth/token, and execute it. The vaulted credential is supplied automatically and the response includes the access_token to pass to other Optimizely APIs.

### What does the resources endpoint return?

GET /resources returns a list of accessible resource entries on the developers surface, with metadata an agent can use to decide which downstream Optimizely product API to call. GET /resources/{id} returns the same metadata for a single entry.

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

Yes. Because you run Jentic One yourself, your own rules decide which of this API's operations the agent may call, so you can allow only GET /resources and GET /resources/{id} and leave POST /auth/token out unless you add it, keeping the agent read-only. Since the resource id sits in the URL path at /resources/{id}, a rule can pin the agent to reading a single resource entry rather than the whole directory. The credential is supplied at execution time under your instance's control, so the agent only ever exercises the access you have granted.
