For Agents
Manage Optimizely experiments, audiences, campaigns, attributes, events, and pages programmatically across 107 endpoints, with OAuth 2.0 or personal-token authentication.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Optimizely 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.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | 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 Optimizely API API.
Create and manage experiments under a project, including variations and traffic allocation
Build and update audiences using attribute conditions for segmented experimentation
Define event and attribute schemas used for goal tracking and personalisation
Read campaign results and generate sharable result links for stakeholders
GET STARTED
Use for: Create a new Optimizely experiment under a given project, Update an existing audience to add a new attribute condition, List all campaigns running in my Optimizely project, Retrieve the results of a campaign and share them with stakeholders
Not supported: Does not handle data warehousing, raw event ingestion, or in-page SDK delivery — use for Optimizely v2 experiment, audience, campaign, and result management only.
Jentic publishes the only available OpenAPI document for Optimizely API, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for Optimizely API v2, keeping it validated and agent-ready. The Optimizely v2 REST API is the platform's flagship surface for digital experimentation, exposing programmatic control over projects, experiments, campaigns, audiences, attributes, events, pages, environments, features, and collaborator management. Agents can create and manage experiments end-to-end, retrieve results, and look up bucketing decisions for individual visitors. Authentication supports OAuth 2.0 authorization-code flow as well as personal access tokens used as bearer credentials.
Manage environments, projects, and collaborator invitations on the account
Look up the bucketing decision for a specific visitor inside an account
Patterns agents use Optimizely API API for, with concrete tasks.
★ Programmatic experiment creation
Product teams running experiment-velocity programs can create experiments via POST /experiments (referenced through campaign and project endpoints in v2) using a templated payload generated from an internal experiment proposal form. Pairing this with POST /audiences and POST /events lets agents stand up an experiment end-to-end without leaving the proposal tool. The 107-endpoint surface covers the full lifecycle from setup through results.
POST /campaigns and the related experiment payload to create the experiment, then POST /audiences with the segmentation rules referenced in the proposal.
Results retrieval and reporting
RevOps and growth teams pull experiment results into their own warehouses by calling GET /campaigns/{campaign_id}/results on a schedule, then storing the response for trend analysis. The /campaigns/{campaign_id}/results/share endpoint produces a sharable link that can be embedded directly into review documents.
GET /campaigns/{campaign_id}/results, store the response in the warehouse, then GET /campaigns/{campaign_id}/results/share for the link to embed in the readout.
Audience and attribute management
Marketing analysts maintaining a library of audiences can keep them in sync with Optimizely via /audiences and /attributes. New behavioural attributes are created with POST /attributes, then referenced from audiences via POST or PATCH /audiences/{audience_id}, so the audience definitions track changes in the data model rather than drifting in the UI.
POST /attributes with the new attribute schema, then PATCH /audiences/{audience_id} to add a condition referencing the new attribute.
Visitor bucketing lookups
Customer-support and personalisation agents resolving 'why did this user see X' questions can call GET /attribution/{account_id}/visitor/{visitor_id} to pull the bucketing decision for a specific visitor. This is well suited to agent workflows that triage personalisation complaints by checking which variation the user was assigned and why.
GET /attribution/{account_id}/visitor/{visitor_id} for the user from the support ticket and return the assigned variation and the rule that caused it.
AI agent for experimentation programs
Through Jentic, an experimentation-program agent can answer 'what's running where' by calling GET /campaigns and GET /experiments under a project, then drill into a specific result with /campaigns/{campaign_id}/results. The Optimizely OAuth credential or personal token sits in the Jentic vault, so PMs can run the agent without ever holding the secret themselves.
Search Jentic for 'list optimizely campaigns', execute GET /campaigns, and surface the top three by traffic with their current status.
107 endpoints — jentic publishes the only available openapi specification for optimizely api v2, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/campaigns
List campaigns
/campaigns
Create a campaign
/campaigns/{campaign_id}/results
Get campaign results
/audiences
List audiences
/audiences
Create an audience
/attributes
Create an attribute
/attribution/{account_id}/visitor/{visitor_id}
Get visitor bucketing
/billing/usage/{account_id}/summary
Get impressions usage summary
/campaigns
List campaigns
/campaigns
Create a campaign
/campaigns/{campaign_id}/results
Get campaign results
/audiences
List audiences
/audiences
Create an audience
/attributes
Three things that make agents converge on Jentic-routed access.
Credential isolation
Optimizely OAuth tokens and personal access tokens are stored encrypted in the Jentic vault. Agents receive a scoped execution context — Jentic adds the Authorization header at request time so the credential never reaches the agent context, prompts, or logs.
Intent-based discovery
Agents search Jentic with intents like 'list optimizely campaigns' or 'get optimizely audience' and Jentic returns the matching operation under /campaigns, /audiences, or /experiments with its full input schema.
Time to first call
Direct integration: 2-3 days to read the v2 docs, wire OAuth, and handle pagination across 107 endpoints. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Optimizely Developers API
Auth and resource-discovery slice of the Optimizely developer surface
Use alongside this API when an agent only needs token issuance or resource discovery before driving the v2 surface.
PostHog
Open-source product analytics with feature flags and experimentation
Choose PostHog when the team prefers an open-source platform that combines analytics, feature flags, and experiments.
Amplitude
Product analytics platform used to validate experiment outcomes
Use alongside Optimizely when the agent needs deeper funnel and retention analysis to validate experiments.
Mixpanel
Product analytics platform commonly paired with experimentation results
Use alongside Optimizely when the agent needs to validate experiment outcomes against funnel and retention data.
Specific to using Optimizely API API through Jentic.
Why is there no official OpenAPI spec for Optimizely API v2?
Optimizely does not publish a maintained, validated OpenAPI specification for the v2 REST 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 at https://app.jentic.com/sign-up.
What authentication does the Optimizely v2 API use?
Two methods are supported: OAuth 2.0 authorization-code flow against app.optimizely.com/oauth2/authorize, or a personal access token used as a bearer credential. Through Jentic either flavour is stored encrypted in the vault and supplied as the Authorization header at request time.
Can I create an experiment end-to-end with this API?
Yes. POST /campaigns creates the campaign container, POST /audiences and POST /attributes define targeting, and POST /events captures goals. The 107-endpoint surface covers the full lifecycle including reading results from /campaigns/{campaign_id}/results.
What are the rate limits for the Optimizely v2 API?
Optimizely applies platform-level rate limits that differ by subscription tier. The spec does not encode hard limits, so agents should treat 429 responses with backoff and consult the impressions usage summary endpoint for visibility into consumption.
How do I get campaign results through Jentic?
Search Jentic for 'get optimizely campaign results', load GET /campaigns/{campaign_id}/results, and execute it with the campaign ID. The vaulted OAuth or personal token is supplied automatically.
Can I look up which variation a specific visitor saw?
Yes. GET /attribution/{account_id}/visitor/{visitor_id} returns the bucketing decision for that visitor, including the variation and the rule that placed them. This is the canonical endpoint for support and personalisation triage.
Create an attribute
/attribution/{account_id}/visitor/{visitor_id}
Get visitor bucketing
/billing/usage/{account_id}/summary
Get impressions usage summary