Cvent Event Cloud Audience Segments API

Audience Segments allow planners to segment their attendees into groups and better manage the attendee experience based on their defined segments. Audience Segments APIs will enable you to get, create, and update segment information. These APIs will also allow you to get and update attendees associated with an audience segment.

OpenAPI Specification

cvent-event-cloud-audience-segments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cvent REST APIs — Event Cloud Audience Segments API
  description: "Event Cloud scope of the Cvent REST APIs. This document is a TAG-SCOPED SUBSET of the OpenAPI specification Cvent publishes at https://github.com/cvent/rest-sdks/blob/main/cvent-public-spec/openapi.yaml (the source of truth for Cvent's official TypeScript/.NET/Java SDKs). Venue-sourcing, RFP, housing-supplier and travel-supplier tags were removed because they belong to Cvent Hospitality Cloud; every path, operation, parameter, schema and security requirement below is verbatim from Cvent's published spec.\n\n# Introduction\nThe Cvent API Platform is built around REST. We aim to provide intuitive endpoints that can be easily\ndiscovered to help leverage the Cvent platform for your event needs. The RESTful APIs outlined here\nuse JSON-encoded request and response format, along with HTTP codes, to convey processing status of\nrequests received. The Cvent resources are protected using OAuth2.\n\n# Getting Started\n\nIf you're new to the Cvent API Platform, start by reading our\n[Developer Quickstart](https://developers.cvent.com/docs/rest-api/tutorials/developer-quickstart) guide. This will\ngive you an overview of how to authenticate and make requests using our APIs.\n\n## Authentication\n\nThe Cvent REST API uses [OAuth2](https://oauth.net/2/) to authorize requests to the platform. The client\ncredentials authorization flow is supported.\n\n<a name=\"oauth2-auth-code-planner-admin\"></a>\n\nAuthorization code flow is only supported for planner users with the administrator role in Cvent. Developer users\ncannot use authorization code flow.\n\n<!-- ReDoc-Inject: <security-definitions> -->\n\nHere's an example of using client credential flow to authorize. You'll supply your application's id and secret to\nmake a [Token](#operation/oauth2Token) request.\n\n```bash\ncurl --location --request POST '{hostName}/{version}/oauth2/token' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n--header 'Authorization: Basic {api_credentials}' \\\n--data-urlencode 'grant_type=client_credentials' \\\n--data-urlencode 'client_id={client_id}'\n```\n\n| Key               | Description                                          | Value                                                                                                        |\n| :---------------- | :--------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- |\n| {hostName}        | https://api-platform.cvent.com                       | Location if your account is in the North American datacenter.                                                |\n|                   | https://api-platform-eur.cvent.com                   | Location if your account is in the European data center.                                                     |\n| {version}         | ea                                                   | The version of the API you're using. Only `ea` is currently supported.                                       |\n| {api_credentials} | {client_id}:{client_secret} in base64 encoded format | Supply your client id & client credentials in a base 64 encoded format.                                      |\n| {client_id}       | Retrieved from your application                      | Your application's client id.                                                                                |\n| {client_secret}   | Retrieved from your application                      | Your application's client secret.                                                                            |\n\nOn a successful call, you'll receive the following response:\n\n```json\n{\n  \"access_token\": \"{accessToken}\",\n  \"expires_in\": 3600,\n  \"token_type\": \"Bearer\"\n}\n```\n\nThis bearer token is valid for 3600 seconds (60 minutes) and must be used in subsequent calls.\n\n## Endpoints\n\nEndpoints start with `hostName` and `version`.\n\nThe `hostname` will depend on the region that your Cvent account is hosted in. Please see the table\nbelow to identify which hostname you should be using.\n\n| Region        |\tHostname                           |\n|:--------------|:-----------------------------------|\n| North America\t| https://api-platform.cvent.com     |\n| Europe        | https://api-platform-eur.cvent.com |\n\nThe current `version` of the Cvent API is `ea`.\n\n## Rate Limits\n\nCvent APIs enforce rate limits to ensure platform stability. Your limits depend on your tier: Free,\nStandard, or Premium.\n\n<br />\n\n### Usage Tiers\n\n| Tier     | Daily Calls | Calls per Second | Max Burst |\n| -------- | ----------- | ---------------- | --------- |\n| Free     | 1,000       | 2                | 1         |\n| Standard | 15,000      | 10               | 10        |\n| Premium  | 500,000     | 25               | 25        |\n\n- **Daily calls** define how many requests you can make in a 24-hour period. Quota\n  resets at 12 midnight (+0 GMT).\n- **Calls per second** define how many requests you can make in a 1-second window.\n- **Max Burst** defines how many requests you can make at once.\n\nIf you are unsure what usage tier applies to your account, you can check via\n[Get Current Usage Tier](#operation/getUsageTier).\n\nPlease note that these limits may change as the Cvent API Platform evolves.\n\n<br />\n\n### Handling Rate Limits\n\nSometimes, you may exceed your rate limits. When this happens, the API will return a `429 Too Many Requests`. See\n[handling rate limits](https://developers.cvent.com/docs/rest-api/guides/handling-rate-limits) for best practices on how to handle this.\n\n## Pagination\n\nSome APIs use pagination to manage records. Each page of records has a token associated to identify it.\n\nIf an API uses pagination, you’ll find up to three tokens in the response:\n- **currentToken**: Describes the token of the current page.\n- **nextToken**: Provides a token for the next page of records, if one exists.\n- **previousToken**: Provides a token for the previous page of records, if one exists. Not all APIs will return\n  this token.\n\nYou specify which page of records to view via the `token` parameter in your API call. To navigate through pages,\ntake the `nextToken` or `previousToken` value and pass it to your next call’s `token` parameter to get the\nrespective page of records. For example, if you made this request:\n\n```bash\ncurl -X GET {hostname}/{version}/contacts?limit=100 \\\n-H 'Accept: application/json' \\\n-H 'Authorization: Bearer {accessToken}'\n```\n\nThe response contains a paging array where you'll find the token information.\n\n```json\n{\n  \"paging\": {\n    \"currentToken\": \"90c5f062-76ad-4ea4-aa53-00eb698d9262\",\n    \"nextToken\": \"3b2359a7-4583-40ed-8afd-67e5f15373d3\",\n    \"limit\": 100,\n    \"totalCount\": 102,\n    \"_links\": {...}\n  },\n  \"data\": [...]\n}\n```\n\nTake the `nextToken` and use it in the `token` parameter on your subsequent call.\n\n```bash\ncurl -X GET {hostname}/{version}/contacts?limit=100&token=3b2359a7-4583-40ed-8afd-67e5f15373d3 \\\n-H 'Accept: application/json' \\\n-H 'Authorization: Bearer {accessToken}'\n```\n\nWhen the response doesn’t contain a `nextToken` field, you’ve reached the last page. Occasionally, you might\nencounter an empty page at the end of results. This typically happens when the results were evenly divisible.\nEnsure your client code handles the possibility of receiving an empty data array when using the `nextToken`.\n\n## Filtering\n\nUse filters to narrow down results. The filter follows the pattern\n`filter='field' comparisonType 'value'`. The value can be enclosed with single\nquotes (') or double quotes (\").\n\n```bash\nGET {hostName}/{version}/contacts?filter=lastName eq 'Smith'\n````\n\nTo correctly pass a single quote in the filter's value, use double quotes around\nthe string.\n\n```bash\nGET {hostName}/{version}/contacts?filter=lastName eq \"O'Keenan\"\n```\n\nTo correctly pass a double quote in the filter's value, use double quotes around\nthe string and add an escape character `\\` to each quote that is part of the\nstring.\n\n```bash\nGET {hostName}/{version}/events?filter=eventName eq \"\\\"Yearly\\\" Conference\"\n```\n\n## Versioning\n\nChange is inevitable in API development. Planning for it is crucial. We track\nboth backward-compatible and backward-incompatible changes.\n\n<br />\n\n### Backward Compatible Changes\n\nBackward compatible changes will be made often and are intended to avoid\nany adverse impact on our customers. It is highly advisable that when reading\nJSON payloads from Cvent, you are able to handle \"unknown\" attributes that\ncan be added over time. We consider the following changes backward-compatible:\n\n- Adding new resources\n- Adding new optional request parameters to existing operations\n- Adding new attributes to requests or responses\n- Changing the length or format (not type) of resource identifiers. For example, an ID can change from\n  \"1234/1234\" to \"1234::1234\".\n- Increasing the length of string fields\n\n<br />\n\n### Backward Incompatible Changes\n\nBackward-incompatible changes are made infrequently, however, they can be\ndisruptive to consumers. Due to this, our APIs are versioned to avoid\ndisruptions to customers. We leverage a URI-based versioning scheme,\nwhich means that a version value is included in the Cvent API URL.\nWhen breaking changes occur, a new version of the API is made available\nwhile the existing version is deprecated but remains available for a\nlimited period of time. We consider the following backward-incompatible changes:\n\n- Adding a new required parameter (query string param or payload attribute)\n- Deleting API resources\n- Deleting any attribute from API responses\n- Changing the data type on any parameter or attribute\n\n## Standards\nAs you begin working with our APIs, it's essential to be aware of standards around\ncountry codes, time formats, and other important details that ensure smooth integration.\nLearn more about our [API Standards](https://developers.cvent.com/docs/rest-api/reference/api-standards)\n"
  contact:
    name: Cvent Development Platform
    url: https://developers.cvent.com/
  version: ea
servers:
- url: https://api-platform.cvent.com/ea
- url: https://api-platform-eur.cvent.com/ea
tags:
- name: Audience Segments
  description: 'Audience Segments allow planners to segment their attendees into groups and

    better manage the attendee experience based on their defined segments. Audience

    Segments APIs will enable you to get, create, and update segment information.

    These APIs will also allow you to get and update attendees associated with an

    audience segment.

    '
paths:
  /attendees/{attendeeId}/audience-segments:
    parameters:
    - $ref: '#/components/parameters/attendeeId1'
    get:
      summary: List Associated Segments
      description: Gets a paginated list of ACTIVE audience segment associations for the attendee. Use the filter query parameter to filter by segment ID.
      operationId: listAttendeeAudienceSegments
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - $ref: '#/components/parameters/filter-attendee-audience-segments'
      tags:
      - Audience Segments
      security:
      - OAuth2.clientCredentials:
        - event/audience-segments:read
      - OAuth2.authorizationCode:
        - event/audience-segments:read
      responses:
        '200':
          description: Successfully retrieved list of audience segments associated with the attendee.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attendee-audience-segment-associations-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    delete:
      summary: Delete Attendee Associations
      description: disassociate an attendee from all audience segments
      operationId: disassociateAttendeeFromAudienceSegments
      tags:
      - Audience Segments
      security:
      - OAuth2.clientCredentials:
        - event/audience-segments:write
      - OAuth2.authorizationCode:
        - event/audience-segments:write
      responses:
        '204':
          description: Successfully deleted all the attendee associations.
          headers: {}
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          description: Response 429 is required for public operations with rate limiting
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /attendees/{attendeeId}/audience-segments/filter:
    parameters:
    - $ref: '#/components/parameters/attendeeId1'
    post:
      summary: List Associated Segments
      description: 'Gets a paginated list of ACTIVE audience segment associations for the attendee by sending filter in the body of the request. This method returns the same data as [GET List Associated Segments](#operation/listAttendeeAudienceSegments) but allows for longer filters.

        '
      operationId: listAssociatedAudienceSegments
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      tags:
      - Audience Segments
      security:
      - OAuth2.clientCredentials:
        - event/audience-segments:read
      - OAuth2.authorizationCode:
        - event/audience-segments:read
      requestBody:
        description: 'Use the filter property in the request body to limit results

          to data that matches your criteria. See

          [Filters](https://developers.cvent.com/docs/rest-api/reference/filters) for details.


          Supported fields and operators are listed below:


          | Field            | Operators                           |

          |------------------|-------------------------------------|

          | segment.id       | `eq`, `in`                          |


          No logical operators are supported.

          '
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/filter'
            example:
              filter: segment.id in ('313097a4-143d-11e5-9f99-d0a637ee0897', '423097a4-143d-11e5-9f99-d0a637ee0897')
      responses:
        '200':
          description: Successfully retrieved list of audience segments associated with the attendee.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attendee-audience-segment-associations-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /audience-segments:
    post:
      summary: Create Audience Segment
      description: Creates an audience segment in the given event based on the details supplied in the request body.
      operationId: createAudienceSegment
      tags:
      - Audience Segments
      security:
      - OAuth2.clientCredentials:
        - event/audience-segments:write
      - OAuth2.authorizationCode:
        - event/audience-segments:write
      requestBody:
        description: Details of the audience segment you are creating.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/audience-segment-create'
      responses:
        '201':
          description: Successfully created an audience segment.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-audience-segment'
        '400':
          $ref: '#/components/responses/SegmentsErrorResponse'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '422':
          $ref: '#/components/responses/UnprocessableEntity1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    get:
      summary: List Audience Segments
      description: 'Gets a paginated list of audience segments for your account. By default,

        the results include all segments present, at the account level, unless you specify

        otherwise using the filter query parameter.

        '
      operationId: listAudienceSegments
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - $ref: '#/components/parameters/sort-audience-segments'
      - $ref: '#/components/parameters/filter-cross-audience-segments'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/after'
      tags:
      - Audience Segments
      security:
      - OAuth2.clientCredentials:
        - event/audience-segments:read
      - OAuth2.authorizationCode:
        - event/audience-segments:read
      responses:
        '200':
          description: Successfully retrieved list of audience segments.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/audience-segments-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /audience-segments/filter:
    post:
      summary: List Audience Segments
      description: 'Gets a paginated list of audience segments for an account by sending a filter

        in the body of the request. By default, the results include all

        audience segments at the account level unless you specify otherwise in the filter. This

        method returns the same data as

        [GET List Audience Segments](#operation/listAudienceSegments) but

        allows for longer filters.

        '
      operationId: listAudienceSegmentsPostFilter
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - $ref: '#/components/parameters/sort-audience-segments'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/after'
      tags:
      - Audience Segments
      security:
      - OAuth2.clientCredentials:
        - event/audience-segments:read
      - OAuth2.authorizationCode:
        - event/audience-segments:read
      requestBody:
        description: 'Use filter query parameters to limit results

          to data that matches your criteria. See

          [Filters](https://developers.cvent.com/docs/rest-api/reference/filters) for details.


          Supported fields and operators are listed below:


          | Field            | Operators                           | Notes                                                 |

          |------------------|-------------------------------------|-------------------------------------------------------|

          | event.id         | `eq`, `in`                          | Filters the list of all segments present in an event. |

          | id               | `eq`, `in`                          |                                                       |

          | deleted          | `eq`                                |                                                       |

          | creationType     | `eq`, `in`                          |                                                       |


          The following logical operators are supported for combining filters:

          * and

          '
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/filter'
            example:
              filter: event.id eq '103097a4-143d-11e5-9f99-d0a637ee0032' and id in ('313097a4-143d-11e5-9f99-d0a637ee0897', '423097a4-143d-11e5-9f99-d0a637ee0897') and deleted eq 'false' and creationType eq 'MANUAL'
      responses:
        '200':
          description: Successfully retrieved list of audience segments.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/audience-segments-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /audience-segments/{audienceSegmentId}:
    parameters:
    - $ref: '#/components/parameters/audienceSegmentId'
    get:
      summary: Get Audience Segment
      description: Gets an audience segment based on the given ID.
      operationId: getAudienceSegmentById
      tags:
      - Audience Segments
      security:
      - OAuth2.clientCredentials:
        - event/audience-segments:read
      - OAuth2.authorizationCode:
        - event/audience-segments:read
      responses:
        '200':
          description: Successfully retrieved the given audience segment.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/audience-segment-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    put:
      summary: Update Audience Segment
      description: Updates the given audience segment based on the values provided in the request body.
      operationId: updateAudienceSegment
      tags:
      - Audience Segments
      security:
      - OAuth2.clientCredentials:
        - event/audience-segments:write
      - OAuth2.authorizationCode:
        - event/audience-segments:write
      requestBody:
        description: Audience segment fields you are updating.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/audience-segment'
      responses:
        '200':
          description: Successfully updated the given Audience segment.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-audience-segment'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '422':
          $ref: '#/components/responses/UnprocessableEntity1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    delete:
      summary: Delete Audience Segment
      description: Deletes the given audience segment.
      operationId: deleteAudienceSegment
      tags:
      - Audience Segments
      security:
      - OAuth2.clientCredentials:
        - event/audience-segments:write
      - OAuth2.authorizationCode:
        - event/audience-segments:write
      responses:
        '204':
          description: Successfully deleted the given audience segment.
          headers: {}
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /audience-segments/{audienceSegmentId}/attendees:
    parameters:
    - $ref: '#/components/parameters/audienceSegmentId'
    get:
      summary: List Associated Attendees
      description: 'Gets a paginated list of attendees associated or disassociated to/from an audience segment. Use the `filter` query parameter to return only associated or only disassociated attendees.

        '
      operationId: listSegmentAssociatedAttendees
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/filter-associated-attendees'
      - $ref: '#/components/parameters/includeDisassociated'
      tags:
      - Audience Segments
      security:
      - OAuth2.clientCredentials:
        - event/audience-segments:read
      - OAuth2.authorizationCode:
        - event/audience-segments:read
      responses:
        '200':
          description: Successfully retrieved list of attendees associated/disassociated to/from an audience segment.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/segment-attendees-associated-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /audience-segments/{audienceSegmentId}/attendees/{attendeeId}:
    parameters:
    - $ref: '#/components/parameters/audienceSegmentId'
    - $ref: '#/components/parameters/attendeeId1'
    put:
      summary: Associate Attendee to Segment
      description: Associates an attendee to a given audience segment.
      operationId: associateAttendeeToSegment
      tags:
      - Audience Segments
      security:
      - OAuth2.clientCredentials:
        - event/audience-segments:write
      - OAuth2.authorizationCode:
        - event/audience-segments:write
      responses:
        '204':
          description: Successfully associated an attendee.
          headers: {}
        '400':
          $ref: '#/components/responses/SegmentsErrorResponse'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '422':
          $ref: '#/components/responses/UnprocessableEntity1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    delete:
      summary: Disassociate Attendee
      description: Disassociate an attendee from an audience segment.
      operationId: disassociateAttendeeFromAudienceSegment
      tags:
      - Audience Segments
      security:
      - OAuth2.clientCredentials:
        - event/audience-segments:write
      - OAuth2.authorizationCode:
        - event/audience-segments:write
      responses:
        '204':
          description: Successfully disassociated an attendee.
          headers: {}
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
components:
  schemas:
    existing-audience-segment-creation-type.json:
      title: ExistingAudienceSegmentCreationType
      type: string
      description: Creation type of the audience segment.
      example: MANUAL
      enum:
      - MANUAL
      - RULE_BASED
      default: MANUAL
    audience-segment:
      title: AudienceSegment
      required:
      - event
      - name
      description: Represents an audience segment. Audience segments are assigned to events and provide the ability for planners to segment their attendees into groups and better manage the attendee experience based on their defined segments.
      allOf:
      - $ref: '#/components/schemas/attendee-segment/allOf/0'
      type: object
      properties:
        event:
          $ref: '#/components/schemas/event.json'
        name:
          type: string
          description: Name of the audience segment. Must be unique in the event where the segment exists.
          maxLength: 100
          example: VIP Attendees
        description:
          type: string
          description: Description of the audience segment.
          maxLength: 2500
          example: A group of VIP attendees.
    uuid-property:
      title: UUID Property
      description: A string that has to be a format matching the industry standard uuid
      type: string
      format: uuid
      example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
    audience-segment-create:
      title: AudienceSegmentCreate
      description: Represents a request to create an audience segment.
      allOf:
      - title: AudienceSegment
        required:
        - event
        - name
        description: Represents an audience segment. Audience segments are assigned to events and provide the ability for planners to segment their attendees into groups and better manage the attendee experience based on their defined segments.
        allOf:
        - $ref: '#/components/schemas/attendee-segment/allOf/0'
        type: object
        properties:
          event:
            $ref: '#/components/schemas/event.json'
          name:
            type: string
            description: Name of the audience segment. Must be unique in the event where the segment exists.
            maxLength: 100
            example: VIP Attendees
          description:
            type: string
            description: Description of the audience segment.
            maxLength: 2500
            example: A group of VIP attendees.
      type: object
      properties:
        creationType:
          $ref: '#/components/schemas/audience-segment-creation-type.json'
    paging.json:
      title: Paging
      required:
      - _links
      type: object
      description: Represents pagination information for a collection of resources.
      properties:
        previousToken:
          type: string
          description: The pagination token for the previous page, if one exists. You can use this token to navigate to the previous page of data.

# --- truncated at 32 KB (88 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cvent-event-cloud/refs/heads/main/openapi/cvent-event-cloud-audience-segments-api-openapi.yml