Optimizely Tasks API

Manage content tasks, assignments, and workflow steps within the content marketing platform.

Documentation

Specifications

Other Resources

OpenAPI Specification

optimizely-tasks-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Optimizely Campaign REST Assets Tasks 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: Tasks
  description: Manage content tasks, assignments, and workflow steps within the content marketing platform.
paths:
  /tasks:
    get:
      operationId: listTasks
      summary: List tasks
      description: Returns a list of content tasks and their current workflow status.
      tags:
      - Tasks
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      responses:
        '200':
          description: Successfully retrieved the list of tasks
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: List of tasks
                    items:
                      $ref: '#/components/schemas/Task'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          description: Authentication credentials are missing or invalid
    post:
      operationId: createTask
      summary: Create a task
      description: Creates a new content task with the specified configuration.
      tags:
      - Tasks
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskInput'
      responses:
        '201':
          description: Task successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '400':
          description: Invalid request body
        '401':
          description: Authentication credentials are missing or invalid
  /tasks/{taskId}:
    get:
      operationId: getTask
      summary: Get a task
      description: Retrieves the details of a specific task by its identifier.
      tags:
      - Tasks
      parameters:
      - $ref: '#/components/parameters/taskId'
      responses:
        '200':
          description: Successfully retrieved the task
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '401':
          description: Authentication credentials are missing or invalid
        '404':
          description: Task not found
    put:
      operationId: updateTask
      summary: Update a task
      description: Updates the specified task with the provided fields.
      tags:
      - Tasks
      parameters:
      - $ref: '#/components/parameters/taskId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskInput'
      responses:
        '202':
          description: Task successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '400':
          description: Invalid request body
        '401':
          description: Authentication credentials are missing or invalid
        '404':
          description: Task not found
components:
  parameters:
    offset:
      name: offset
      in: query
      required: false
      description: Number of items to skip for pagination
      schema:
        type: integer
        default: 0
        minimum: 0
    taskId:
      name: taskId
      in: path
      required: true
      description: The unique identifier for the task
      schema:
        type: string
    limit:
      name: limit
      in: query
      required: false
      description: Maximum number of items to return
      schema:
        type: integer
        default: 25
        minimum: 1
        maximum: 100
  schemas:
    Pagination:
      type: object
      description: Pagination metadata
      properties:
        total:
          type: integer
          description: Total number of items
        limit:
          type: integer
          description: Maximum items per page
        offset:
          type: integer
          description: Current offset
    Task:
      type: object
      description: A content task in the CMP workflow
      properties:
        id:
          type: string
          description: Unique identifier for the task
        title:
          type: string
          description: Title of the task
        description:
          type: string
          description: Description of the task
        status:
          type: string
          description: Current workflow status of the task
        assignee:
          type: object
          description: User assigned to the task
          properties:
            id:
              type: string
              description: User identifier
            name:
              type: string
              description: User display name
        due_date:
          type: string
          format: date
          description: Due date for the task
        campaign_id:
          type: string
          description: Associated campaign identifier
        labels:
          type: array
          description: Labels associated with the task
          items:
            type: string
        assets:
          type: array
          description: Assets attached to the task
          items:
            type: object
            properties:
              id:
                type: string
                description: Asset identifier
              type:
                type: string
                description: Asset type
        created_at:
          type: string
          format: date-time
          description: Timestamp when the task was created
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the task was last updated
    TaskInput:
      type: object
      description: Input for creating or updating a task
      properties:
        title:
          type: string
          description: Title of the task
        description:
          type: string
          description: Description of the task
        assignee_id:
          type: string
          description: User identifier for the assignee
        due_date:
          type: string
          format: date
          description: Due date for the task
        campaign_id:
          type: string
          description: Associated campaign identifier
        labels:
          type: array
          description: Labels to associate with the task
          items:
            type: string
  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