Optimizely Extensions API

Manage reusable extensions that encapsulate experiment logic and visual changes.

Documentation

Specifications

Other Resources

OpenAPI Specification

optimizely-extensions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Optimizely Campaign REST Assets Extensions API
  description: The Optimizely Campaign REST API provides programmatic access to Optimizely's email and omnichannel campaign management capabilities. Developers can use the API to manage campaigns, recipients, mailing lists, smart campaigns, transactional mails, and messaging workflows. The API is hosted at api.campaign.episerver.net and supports automation of marketing campaign operations, enabling integration with external systems and custom marketing workflows. The base URL includes the client ID for multi-tenant access.
  version: '1.0'
  contact:
    name: Optimizely Support
    url: https://support.optimizely.com
  termsOfService: https://www.optimizely.com/legal/terms/
servers:
- url: https://api.campaign.episerver.net/rest
  description: Optimizely Campaign Production Server
security:
- basicAuth: []
tags:
- name: Extensions
  description: Manage reusable extensions that encapsulate experiment logic and visual changes.
paths:
  /extensions:
    get:
      operationId: listExtensions
      summary: List extensions
      description: Returns a list of extensions for the specified project. Extensions are reusable templates for experiment changes.
      tags:
      - Extensions
      parameters:
      - $ref: '#/components/parameters/projectIdQuery'
      - $ref: '#/components/parameters/perPage'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: Successfully retrieved the list of extensions
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Extension'
        '401':
          description: Authentication credentials are missing or invalid
components:
  schemas:
    Extension:
      type: object
      description: A reusable extension that encapsulates experiment logic
      properties:
        id:
          type: integer
          format: int64
          description: Unique identifier for the extension
        project_id:
          type: integer
          format: int64
          description: The project this extension belongs to
        name:
          type: string
          description: Human-readable name of the extension
        description:
          type: string
          description: Description of the extension
        edit_url:
          type: string
          format: uri
          description: URL used in the visual editor
        implementation:
          type: object
          description: The implementation details for the extension
          properties:
            apply_js:
              type: string
              description: JavaScript code to apply the extension
            undo_js:
              type: string
              description: JavaScript code to undo the extension
            html:
              type: string
              description: HTML content of the extension
            css:
              type: string
              description: CSS styles of the extension
  parameters:
    projectIdQuery:
      name: project_id
      in: query
      required: true
      description: The unique identifier for the project to filter by
      schema:
        type: integer
        format: int64
    perPage:
      name: per_page
      in: query
      required: false
      description: Number of results per page
      schema:
        type: integer
        default: 25
        minimum: 1
        maximum: 100
    page:
      name: page
      in: query
      required: false
      description: Page number for pagination
      schema:
        type: integer
        default: 1
        minimum: 1
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication using the Optimizely Campaign API credentials.
externalDocs:
  description: Optimizely Campaign REST API Documentation
  url: https://docs.developers.optimizely.com/optimizely-campaign/docs/rest-api