Zaius Lists API

The Lists API from Zaius — 2 operation(s) for lists.

OpenAPI Specification

zaius-lists-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Advanced Compliance Lists API
  description: Advanced
  version: v3
servers:
- url: https://api.us1.odp.optimizely.com/v3
  description: United States
- url: https://api.eu1.odp.optimizely.com/v3
  description: Europe
- url: https://api.au1.odp.optimizely.com/v3
  description: Asia-Pacific
security:
- x-api-key: []
tags:
- name: Lists
paths:
  /lists/subscriptions:
    get:
      tags:
      - Lists
      summary: Get Subscription Status
      description: Get the subscription status of a customer identifier to an Optimizely Data Platform (ODP) list.
      operationId: get-subscription-status
      parameters:
      - name: identifiers
        in: query
        description: The identifier type, for example "email".
        required: true
        style: form
        explode: true
        schema:
          type: object
          additionalProperties:
            type: string
        examples:
          Email Identifier:
            description: Email Identifier
            value:
              email: customer@email.com
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                example: '{ "customer": { "email": "sample@test.com" }, "opted_in": true, "explicit_opt_in": true, "subscriptions": [ { "name": "True List Name", "list_id": "sample_list", "subscribed": true, "ts_status_updated": 1583868571 } ] }'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example: '{"title":"Bad Request","status":400,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"invalids":[{"field":"delimiter","reason":"Unrecognized delimiter, valid options are comma, tab or pipe"}]}}'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                example: '{  "message": "Forbidden"}'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                example: '{ "title": "Not Found", "status": 404, "timestamp": "2023-07-10T21:07:10-05:00", "detail": { "message": "Customer with email sample@test.com was not found" } }'
    post:
      tags:
      - Lists
      summary: Subscribe/Unsubscribe
      description: Subscribe or unsubscribe a customer identifier to or from an Optimizely Data Platform (ODP) list.
      operationId: subscribeunsubscribe
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Subscribe'
            examples:
              Example Payload:
                description: Example Payload
                value:
                  list_id: sample_list
                  email: sample@test.com
                  subscribed: false
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                example: '{ "updates": [ { "list_id": "sample_list", "email": "sample@test.com", "subscribed": true } ] }'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example: '{"title":"Bad Request","status":400,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"invalids":[{"field":"delimiter","reason":"Unrecognized delimiter, valid options are comma, tab or pipe"}]}}'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                example: '{  "message": "Forbidden"}'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                example: '{"title":"Bad Request","status":404,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"message":"Not found description"}}'
  /lists:
    get:
      tags:
      - Lists
      summary: Get Lists
      description: Get all lists associated with an Optimizely Data Platform (ODP) account.
      operationId: get-lists
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                example: '{ "lists": [ { "name": "Example List", "created_at": "2018-09-10T21:07:10+00:00", "list_id": "example_list" }, { "name": "Example List 2", "created_at": "2018-10-15T13:43:46+00:00", "list_id": "example_list_2" } ] }'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                example: '{  "message": "Forbidden"}'
    post:
      tags:
      - Lists
      summary: Create List
      description: Create a new list within an Optimizely Data Platform (ODP) account.
      operationId: create-list
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateList'
            examples:
              Example Payload:
                description: Example Payload
                value:
                  name: My List
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                example: '{ "updates": [ { "list_id": "sample_list", "email": "sample@test.com", "subscribed": true } ] }'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example: '{"title":"Bad Request","status":400,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"invalids":[{"field":"delimiter","reason":"Unrecognized delimiter, valid options are comma, tab or pipe"}]}}'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                example: '{  "message": "Forbidden"}'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                example: '{"title":"Bad Request","status":404,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"message":"Not found description"}}'
components:
  schemas:
    Subscribe:
      required:
      - identifer
      - list_id
      type: object
      properties:
        subscribed:
          type: boolean
          description: whether or not the messaging identifier is subscribed to the list
          example: false
        list_id:
          type: string
          description: the name of the list
          example: sample_list
      additionalProperties:
        type: string
        description: the messaging identifier to act upon (for example. email). Required.
        example:
          email: sample@test.com
    CreateList:
      required:
      - name
      type: object
      properties:
        name:
          type: string
          description: The name of the list to create.
          example: My List
  securitySchemes:
    x-api-key:
      type: apiKey
      name: x-api-key
      in: header
x-readme:
  explorer-enabled: true
  proxy-enabled: true