Optimizely Attributes API

Manage custom attributes used for audience targeting and segmentation.

Documentation

Specifications

Other Resources

OpenAPI Specification

optimizely-attributes-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Optimizely Campaign REST Assets Attributes 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: Attributes
  description: Manage custom attributes used for audience targeting and segmentation.
paths:
  /attributes:
    get:
      operationId: listAttributes
      summary: List attributes
      description: Returns a list of custom attributes for the specified project.
      tags:
      - Attributes
      parameters:
      - $ref: '#/components/parameters/projectIdQuery'
      - $ref: '#/components/parameters/perPage'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: Successfully retrieved the list of attributes
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Attribute'
        '401':
          description: Authentication credentials are missing or invalid
components:
  parameters:
    page:
      name: page
      in: query
      required: false
      description: Page number for pagination
      schema:
        type: integer
        default: 1
        minimum: 1
    perPage:
      name: per_page
      in: query
      required: false
      description: Number of results per page
      schema:
        type: integer
        default: 25
        minimum: 1
        maximum: 100
    projectIdQuery:
      name: project_id
      in: query
      required: true
      description: The unique identifier for the project to filter by
      schema:
        type: integer
        format: int64
  schemas:
    Attribute:
      type: object
      description: A custom attribute for audience targeting
      properties:
        id:
          type: integer
          format: int64
          description: Unique identifier for the attribute
        project_id:
          type: integer
          format: int64
          description: The project this attribute belongs to
        name:
          type: string
          description: Human-readable name of the attribute
        key:
          type: string
          description: Unique key for the attribute
        condition_type:
          type: string
          description: The type of condition this attribute supports
        last_modified:
          type: string
          format: date-time
          description: Timestamp when the attribute was last modified
  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