Optimizely Graph — the GraphQL content query layer over CMS, Commerce and connected sources, with a REST management surface for content ingestion, types, synonyms and best bets. Two published documents (3.23.1 and 3.24.0). Harvested verbatim 2026-08-13.
Optimizely Graph API is one of 50 APIs that Optimizely publishes on the APIs.io network, described by a machine-readable OpenAPI specification.
Tagged areas include GraphQL, Content Management, and Search. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.
This API exposes
40 operations
across 19 paths,
organized into 10 resource areas,
and defines 46 schemas.
It is described by OpenAPI 3.0.0, at version 3.24.0.
Requests are made against a single base URL, https://prod.cg.optimizely.com.
40 operations19 paths46 schemas10 DELETE11 GET11 POST8 PUT
Metadata
The identity and technical contract details declared by the specification.
Optimizely Graph API declares
4 security schemes
for authenticating requests.
An API key is passed in the query as auth (epi-single).
An API key is passed in the header as Authorization (epi-hmac).
It accepts HTTP basic authentication (Basic).
It accepts HTTP bearer tokens (JWT) (Bearer).
epi-single — Single key authentication
epi-hmac — HMAC authentication (epi-hmac xxx)
Basic — HMAC credentials
Bearer — JWT token
Paths & Operations 40
Across 19 paths, the API surfaces 40 operations — 10 DELETE, 11 GET, 11 POST, 8 PUT. They span 10 resource areas: 🏆 BestBets, 📖 Definition ( v2 ), 📖 Definition ( v3 ), Operations, ▶️ Query ( GraphQL ), 🔒 OIDC, 🏆 Pinned Results, 📜 Logs, 📝 Resources, 🪝 Webhooks. Each is listed below with its method, path, parameters, and response codes.
🏆 BestBets 4
GET
/api/bestbets/collectiondeprecated
Get bestbet collection(s)
get-BestBetCollectionHandler2 params→ 200
POST
/api/bestbets/collectiondeprecated
Register a bestbet collection
create-BestBetCollectionHandlerbody→ 200
PUT
/api/bestbets/collection/{id}deprecated
Update a bestbet collection
update-BestBetCollectionHandler1 parambody→ 200
DELETE
/api/bestbets/collection/{id}deprecated
Delete a bestbet collection
delete-BestBetCollectionHandler1 param→ 204
📖 Definition ( v2 ) 3
POST
/api/content/v2/data
Sync content data
post-ContentV2DataHandler1 parambody→ 200
DELETE
/api/content/v2/data
Purge content data
delete-ContentV2DataHandler2 params→ 204
POST
/api/content/v2/typesdeprecated
Sync content types
post-ContentV2TypeHandlerbody→ 200400
📖 Definition ( v3 ) 6
GET
/api/content/v3/sources
Get source metadata
get-ContentV3SourceHandler2 params→ 200
DELETE
/api/content/v3/sources
Delete source
delete-ContentV3SourceHandler3 params→ 200404
POST
/api/content/v3/sources
Update source metadata
post-ContentV3SourceHandler2 paramsbody→ 204
GET
/api/content/v3/types
Get content types
get-ContentV3TypeHandler1 param→ 200
POST
/api/content/v3/types
Partial content type update
post-ContentV3TypeHandler1 parambody→ 204
PUT
/api/content/v3/types
Full content type update
put-ContentV3TypeHandler1 parambody→ 204
Operations 1
POST
/api/events/fx
post-FxEventHandler→ 200
▶️ Query ( GraphQL ) 2
GET
/content/v2
Execute graphql query
get-GraphQLV2Handler4 params→ 200
POST
/content/v2
Execute graphql query
post-GraphQLV2Handlerbody→ 200
🔒 OIDC 2
PUT
/api/config/oidc
Upsert OIDC config
upsert-OidcConfigHandlerbody→ 204
DELETE
/api/config/oidc
Delete OIDC config
delete-OidcConfigHandler→ 204
🏆 Pinned Results 12
GET
/api/pinned/collections
Get pinned collection(s)
list-PinnedCollectionHandler1 param→ 200
POST
/api/pinned/collections
Register a pinned collection
create-PinnedCollectionHandlerbody→ 200
GET
/api/pinned/collections/{collectionId}
Get pinned collection by Id
get-PinnedCollectionHandler1 param→ 200
PUT
/api/pinned/collections/{collectionId}
Update a pinned collection
update-PinnedCollectionHandler1 parambody→ 200
DELETE
/api/pinned/collections/{collectionId}
Delete a pinned collection
delete-PinnedCollectionHandler1 param→ 204
GET
/api/pinned/collections/{collectionId}/items
Get list of pinned items by collection id
list-PinnedItemHandler5 params→ 200
POST
/api/pinned/collections/{collectionId}/items
Create a new pinned item
create-PinnedItemHandler1 parambody→ 200
DELETE
/api/pinned/collections/{collectionId}/items
Clear pinned items in collection
clear-PinnedItemHandler1 param→ 204
GET
/api/pinned/collections/{collectionId}/items/{id}
Get pinned item by id
get-PinnedItemHandler2 params→ 200
PUT
/api/pinned/collections/{collectionId}/items/{id}
Update a pinned item
update-PinnedItemHandler2 paramsbody→ 200
DELETE
/api/pinned/collections/{collectionId}/items/{id}
Remove pinned item
delete-PinnedItemHandler2 params→ 200
POST
/api/pinned/results
Get pinned results
match-PinnedItemHandlerbody→ 200
📜 Logs 1
GET
/api/logs/request
Get request logs
get-RequestLogHandler5 params→ 200
📝 Resources 5
PUT
/resources/stopwords
Store stop words
upsert-StopwordHandler2 paramsbody→ 204
DELETE
/resources/stopwords
Delete stop words
delete-StopwordHandler2 params→ 204
GET
/resources/synonyms
List synonyms
list-SynonymHandler3 params→ 200
PUT
/resources/synonyms
Store synonyms
upsert-SynonymHandler3 paramsbody→ 204
DELETE
/resources/synonyms
Delete synonyms
delete-SynonymHandler2 params→ 204
🪝 Webhooks 4
GET
/api/webhooks
List webhooks
list-WebhookHandler→ 200
POST
/api/webhooks
Add webhook
create-WebhookHandlerbody→ 204
DELETE
/api/webhooks/{id}
Delete webhook
delete-WebhookHandler1 param→ 204
PUT
/api/webhooks/{id}
Update webhook
update-WebhookHandler1 parambody→ 204
Schemas 46
The contract defines 46 schemas that model the data the API accepts and returns. The most detailed are RequestLog (13 properties), PinnedItemResult (9 properties), ContentSource_V3 (8 properties), ContentType_V2 (8 properties). Each schema is shown below with its type and property counts.
BestBetCollectionResult
object
2 properties2 required
BestBetCollectionPayload
object
1 property1 required
CacheInvalidationConfig
object
1 property
SourceInfo
object
4 properties4 required
SourceInfoMap
object
Slot
string
DeleteMode
string
SourceMetadata
object
2 properties2 required
LinkConfig
object
2 properties2 required
LinkMap
object
Optional_string_
string
Property_V2
object
4 properties2 required
ContentTypeProperty_V2
ContentType_V2
object
8 properties3 required
PropertyType_V2
object
2 properties1 required
ContentSource_V2
object
5 properties
FieldRef
object
2 properties
ContentTypeProperty_V3
object
5 properties1 required
ContentType_V3
object
7 properties1 required
ContentTypeMap_V3
object
Property_V3
object
4 properties1 required
PropertyType_V3
object
3 properties
PropertyTypeMap_V3
object
Preset
string
ContentSource_V3
object
8 properties
Response
object
This Fetch API interface represents the response to a request. [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response)
Record_string.any_
object
Construct a type with a set of properties K of type T
GraphQLResponse
object
2 properties
GraphQLRequest
object
4 properties
TokenClaims
object
2 properties2 required
PinnedCollectionResult
object
6 properties5 required
PinnedCollectionPayload
object
3 properties2 required
Partial_PinnedCollectionPayload_
object
Make all properties in T optional
3 properties
PinnedItemResult
object
9 properties6 required
PinnedItemPayload
object
5 properties2 required
PinnedResultMatchParams
object
6 properties1 required
RequestLog
object
13 properties2 required
StopwordsBody
string
SynonymsBody
string
Record_string.string_
object
Construct a type with a set of properties K of type T
Request
object
3 properties1 required
OperationMap
object
2 properties
Partial_Record_string.OperationMap__
object
Make all properties in T optional
FilterMap
WebhookPayload
object
The WebhookPayload type represents the payload of a webhook request, which includes information about the request, filters, and whether the webhook is disabled.
4 properties1 required
Webhook
Specification
The full machine-readable OpenAPI contract behind this narrative.
Every API here is available over the API and to AI agents over MCP. APIs is not yet its own endpoint on the v1 API. Reach this content through network search and the tag graph, or the MCP server below.
Installs https://mcp.apievangelist.com/mcp in Claude, Cursor, VS Code and the rest — one button, every client.
MCP tools for apis
4 tools reach this content
search_api_evangelistSearch every content type across the network at once.
find_relatedThe shared-tag relevance graph — what else covers this.
get_tagEverything one tag labels, across all content types.
guide_topicPRO — a curated bundle for a topic: area, guidance, rules, papers, stories, services.
A second provider on the same verified email joins the account you already have.
Your account
ⓘWhere this information came from
This is an independent, third-party profile of Optimizely Graph API, published by
API Evangelist. We do not operate, host, resell, or
support these APIs, and we are not affiliated with or endorsed by the company unless stated above.
Everything here is built from publicly available information — the company's own site,
developer portal, documentation, public repositories, and the specifications it publishes for public use.
Nothing is obtained by breaching a system, defeating an access control, or using credentials.
The Kin Score and Agent Readiness rating are independently calculated assessments of a company's
public API artifacts, scored against a published rubric. They are not certifications,
endorsements, security assessments, or audits.
Corrections, re-scores, and removal are free — no partnership or purchase required, and
you do not need to justify the request. A removed company is recorded as unrated, never scored
zero for having asked. Acknowledgement within one business day; removal within two.
info@apievangelist.com
·
Read the full data-sourcing policy → On a security or compliance team? Put security in the subject line and
you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.