{
  "opencollection": "1.0.0",
  "info": {
    "name": "Integration API - Consumer to Extole Audiences API",
    "version": "1.0"
  },
  "request": {
    "auth": {
      "type": "apikey",
      "key": "Authorization",
      "value": "{{Authorization}}",
      "placement": "header"
    }
  },
  "items": [
    {
      "info": {
        "name": "Audiences",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List audiences",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{brand}.extole.io/v1/audiences",
            "params": [
              {
                "name": "include_archived",
                "value": "",
                "type": "query"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query"
              },
              {
                "name": "offset",
                "value": "",
                "type": "query"
              }
            ]
          },
          "docs": "Returns the client's audience definitions sorted by creation date, newest first. By default archived audiences are excluded; pass `include_archived=true` to include them. Use `limit` and `offset` to page (defaults: `limit=1000`, `offset=0`). Each entry is the editable definition - for runtime targeting reads, use `GET /v1/audiences/built` instead."
        },
        {
          "info": {
            "name": "Create audience",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{brand}.extole.io/v1/audiences",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new audience definition. `name` is required; `enabled`, `tags`, and `component_references` are optional. New audiences default to enabled. Tags must be 255 characters or fewer each; the resolved name must also be 255 characters or fewer. Returns the created audience."
        },
        {
          "info": {
            "name": "List built audiences",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{brand}.extole.io/v1/audiences/built",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "query"
              },
              {
                "name": "include_archived",
                "value": "",
                "type": "query"
              },
              {
                "name": "enabled",
                "value": "",
                "type": "query"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query"
              },
              {
                "name": "offset",
                "value": "",
                "type": "query"
              }
            ]
          },
          "docs": "Returns the rendered (built) audience snapshots that the runtime evaluates against - the resolved name, enabled flag, tags, and component references for every audience the client owns. Filter by `name` (supports a trailing `*` wildcard), by `enabled` (`ENABLED`, `DISABLED`, or `ANY`), and by archived status. Use `limit` and `offset` to page (defaults: `limit=1000`, `offset=0`). Use `GET /v1/audiences` for the editable definitions."
        },
        {
          "info": {
            "name": "Get audience",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Returns the editable audience definition for the supplied `audience_id`, including its name, enabled state, tags, and the campaign components that reference it. For the rendered (runtime) snapshot use `GET /v1/audiences/{audience_id}/built` instead."
        },
        {
          "info": {
            "name": "Update audience",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates an existing audience. Only fields supplied in the body are changed; omitted fields are left untouched. Sending `null` for `name` returns `400 invalid_null` because `name` is a required attribute on the audience. Returns the updated audience."
        },
        {
          "info": {
            "name": "Archive audience",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Soft-archives the audience. Archived audiences disappear from default `GET /v1/audiences` and `GET /v1/audiences/built` responses; pass `include_archived=true` to surface them. Reversible via `POST /v1/audiences/{audience_id}/unarchive`. Fails if the audience is still referenced by a campaign-controller membership trigger, a create- or remove-membership controller action, or a campaign component variable."
        },
        {
          "info": {
            "name": "Get built audience",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id/built",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Returns the rendered (built) snapshot for the supplied `audience_id`. The snapshot has the same shape as `GET /v1/audiences/{audience_id}/built` items in the list response and is what the runtime evaluates against during targeting."
        },
        {
          "info": {
            "name": "List audience member IDs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id/members",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              },
              {
                "name": "email",
                "value": "",
                "type": "query"
              },
              {
                "name": "sort_order",
                "value": "",
                "type": "query"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query"
              },
              {
                "name": "offset",
                "value": "",
                "type": "query"
              },
              {
                "name": "has_data_attributes",
                "value": "",
                "type": "query"
              },
              {
                "name": "include_data_attributes",
                "value": "",
                "type": "query"
              }
            ]
          },
          "docs": "Returns the person IDs of all current members of the specified audience."
        },
        {
          "info": {
            "name": "Download audience members",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id/members/download:format",
            "headers": [
              {
                "name": "Content-Type",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              },
              {
                "name": "format",
                "value": "",
                "type": "path"
              },
              {
                "name": "filename",
                "value": "",
                "type": "query"
              },
              {
                "name": "sort_order",
                "value": "",
                "type": "query"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query"
              },
              {
                "name": "offset",
                "value": "",
                "type": "query"
              }
            ]
          },
          "docs": "Downloads the full member list for the specified audience. Append a format extension (`.csv`, `.json`, `.xlsx`) to select the download format."
        },
        {
          "info": {
            "name": "List audience members",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id/members/view/details",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              },
              {
                "name": "email",
                "value": "",
                "type": "query"
              },
              {
                "name": "sort_order",
                "value": "",
                "type": "query"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query"
              },
              {
                "name": "offset",
                "value": "",
                "type": "query"
              },
              {
                "name": "has_data_attributes",
                "value": "",
                "type": "query"
              },
              {
                "name": "include_data_attributes",
                "value": "",
                "type": "query"
              }
            ]
          },
          "docs": "Returns detailed profiles for all current members of the specified audience."
        },
        {
          "info": {
            "name": "List audience operations",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id/operations",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              },
              {
                "name": "audience_id",
                "value": "",
                "type": "query"
              },
              {
                "name": "states",
                "value": "",
                "type": "query"
              },
              {
                "name": "tags",
                "value": "",
                "type": "query"
              },
              {
                "name": "type",
                "value": "",
                "type": "query"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query"
              },
              {
                "name": "offset",
                "value": "",
                "type": "query"
              }
            ]
          },
          "docs": "Returns all operations for the specified audience, optionally filtered by the provided query parameters."
        },
        {
          "info": {
            "name": "Create an audience operation",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id/operations",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new operation for the specified audience. An operation modifies audience membership by adding, removing, or syncing members from a data source."
        },
        {
          "info": {
            "name": "Get an audience operation",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id/operations/:operation_id",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              },
              {
                "name": "operation_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Returns the audience operation identified by its operation ID for the specified audience."
        },
        {
          "info": {
            "name": "Get audience operation state",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id/operations/:operation_id/state",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              },
              {
                "name": "operation_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Returns the current state of the specified audience operation, including progress counters and any error details."
        },
        {
          "info": {
            "name": "Get audience operation debug state",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id/operations/:operation_id/state/debug",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              },
              {
                "name": "operation_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Returns the detailed debug state of the specified audience operation, including internal processing information. Restricted to client superusers."
        },
        {
          "info": {
            "name": "Get audience operation with details",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id/operations/:operation_id/view/details",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              },
              {
                "name": "operation_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Returns the audience operation with its full detail view, including data source configuration and processing statistics."
        },
        {
          "info": {
            "name": "Get audience membership statistics",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id/stats",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Returns membership statistics for the specified audience, including total member count and any size change since the last operation."
        },
        {
          "info": {
            "name": "Delete audience",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id/delete",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Hard-deletes the audience. Unlike `DELETE /v1/audiences/{audience_id}` (which archives and is reversible), a deleted audience cannot be recovered. Fails with the same association errors as archive: the audience must be detached from any campaign-controller membership trigger, create- or remove-membership controller action, or campaign component variable before deletion can succeed."
        },
        {
          "info": {
            "name": "Cancel an audience operation",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id/operations/:operation_id/cancel",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              },
              {
                "name": "operation_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Cancels a pending or in-progress audience operation identified by its operation ID."
        },
        {
          "info": {
            "name": "Retry an audience operation",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id/operations/:operation_id/retry",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              },
              {
                "name": "operation_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Retries a failed audience operation identified by its operation ID."
        },
        {
          "info": {
            "name": "Unarchive audience",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{brand}.extole.io/v1/audiences/:audience_id/unarchive",
            "params": [
              {
                "name": "audience_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Restores a previously archived audience so it appears in default `GET /v1/audiences` and `GET /v1/audiences/built` responses again. Fails with `400 audience_not_found` if the audience does not exist or has been hard-deleted via `POST /v1/audiences/{audience_id}/delete`."
        }
      ]
    }
  ],
  "bundled": true
}