Cvent Event Cloud Discounts API

Discounts provide a way to reduce the cost of event registration items. Use these APIs to manage event discounts, including creating, updating, and linking discounts to agenda items.

Operations 6

GET /events/{id}/discounts List Event Discounts #
POST /events/{id}/discounts Create Event Discount #
GET /events/{id}/discounts/agenda-items List Discounted Agenda Items #
PUT /events/{id}/discounts/{discountId} Update Event Discount #
PUT /events/{id}/discounts/{discountId}/agenda-items/{agendaItemId} Link Agenda Item to Discount #
DELETE /events/{id}/discounts/{discountId}/agenda-items/{agendaItemId} Unlink Agenda Item Discount #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cvent-event-cloud-discounts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cvent-event-cloud-discounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cvent Event Cloud Discounts API
  version: ea
  contact:
    name: Cvent Development Platform
    url: https://developers.cvent.com/
  description: 'Operations tagged Discounts across 2 of this provider''s published API definitions: cvent-event-cloud-rest-openapi.yml, cvent-rest-apis-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api-platform.cvent.com/ea
- url: https://api-platform-eur.cvent.com/ea
tags:
- name: Discounts
  description: Discounts provide a way to reduce the cost of event registration items. Use these APIs to manage event discounts, including creating, updating, and linking discounts to agenda items.
paths:
  /events/{id}/discounts:
    get:
      summary: List Event Discounts
      operationId: listEventDiscounts
      tags:
      - Discounts
      security:
      - OAuth2.clientCredentials:
        - event/event-discounts:read
      - OAuth2.authorizationCode:
        - event/event-discounts:read
      description: 'Returns a paginated list of all discounts used in an event, including both event-specific and account-level discount codes used in an event.

        '
      parameters:
      - $ref: '#/components/parameters/eventId2'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - $ref: '#/components/parameters/discountSort'
      - $ref: '#/components/parameters/discountFilter'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/after'
      responses:
        '200':
          description: Successfully retrieved a paginated list of discounts.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-discount-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'
      deprecated: false
    post:
      summary: Create Event Discount
      operationId: createEventDiscount
      tags:
      - Discounts
      security:
      - OAuth2.clientCredentials:
        - event/event-discounts:write
      - OAuth2.authorizationCode:
        - event/event-discounts:write
      description: 'Create discount in an event.

        '
      parameters:
      - $ref: '#/components/parameters/eventId2'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-update-discount'
        required: true
      responses:
        '201':
          description: Discount created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/create-update-discount-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'
      deprecated: false
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /events/{id}/discounts/agenda-items:
    get:
      summary: List Discounted Agenda Items
      operationId: listDiscountedAgendaItems
      tags:
      - Discounts
      security:
      - OAuth2.clientCredentials:
        - event/event-discounts:read
      - OAuth2.authorizationCode:
        - event/event-discounts:read
      description: 'Returns a paginated list of agenda items that are associated with discounts for the specified event.  This endpoint helps identify which agenda items (such as admission items, sessions, session bundles, membership-items or quantity-items) are currently associated with discounts.

        '
      parameters:
      - $ref: '#/components/parameters/eventId2'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - $ref: '#/components/parameters/discountAgendaItemFilter'
      responses:
        '200':
          description: Successfully retrieved a paginated list of agenda items that are associated with discounts in the event.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/discount-agenda-items-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'
      deprecated: false
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /events/{id}/discounts/{discountId}:
    put:
      summary: Update Event Discount
      operationId: updateEventDiscount
      tags:
      - Discounts
      security:
      - OAuth2.clientCredentials:
        - event/event-discounts:write
      - OAuth2.authorizationCode:
        - event/event-discounts:write
      description: 'Update a discount in an event based on details in the request body. Fields not included in the request will revert to their default value.

        '
      parameters:
      - $ref: '#/components/parameters/eventId2'
      - $ref: '#/components/parameters/discountId'
      requestBody:
        description: Discount to be updated.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-update-discount'
      responses:
        '200':
          description: Successfully updated the discount in the event.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/create-update-discount-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'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /events/{id}/discounts/{discountId}/agenda-items/{agendaItemId}:
    parameters:
    - $ref: '#/components/parameters/eventId2'
    - $ref: '#/components/parameters/discountId'
    - $ref: '#/components/parameters/agendaItemId1'
    put:
      summary: Link Agenda Item to Discount
      description: Links an agenda item to a given event discount.
      operationId: linkAgendaItemToDiscount
      tags:
      - Discounts
      security:
      - OAuth2.clientCredentials:
        - event/event-discounts:write
      - OAuth2.authorizationCode:
        - event/event-discounts:write
      responses:
        '204':
          description: Successfully linked an agenda item to an event discount.
          headers: {}
        '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'
      deprecated: false
    delete:
      summary: Unlink Agenda Item Discount
      description: Unlinks an agenda item from a given event discount.
      operationId: unlinkAgendaItemFromDiscount
      tags:
      - Discounts
      security:
      - OAuth2.clientCredentials:
        - event/event-discounts:write
      - OAuth2.authorizationCode:
        - event/event-discounts:write
      responses:
        '204':
          description: Successfully unlinked an agenda item from an event discount.
          headers: {}
        '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'
      deprecated: false
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
components:
  parameters:
    discountAgendaItemFilter:
      name: filter
      in: query
      required: false
      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                          |

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

        | discount.id      | `eq`, `in`                          |

        | type             | `eq`, `in`                          |


        The following logical operators are supported for combining filters:

        * and

        * or

        '
      schema:
        type: string
        example: type eq 'AdmissionItem' and discount.id in ('1b01ae34-6970-41f2-a4e8-b4f39185dc15', '1b01ae34-6970-41f2-a4e8-b4f39185dc16')
    token:
      name: token
      in: query
      description: 'The continuation token returned from a previous class. This must be a valid UUID v4 if provided.

        This will override any other pageable parameters provided.

        '
      style: form
      explode: true
      schema:
        type: string
        example: 0e28af57-511f-47ab-ae46-46cd1ca51a1a
    after:
      name: after
      required: false
      description: Used to query records that have been added or updated after this time point. Default to the beginning of time of the data store.
      in: query
      schema:
        type: string
        format: date-time
        example: '2017-01-02T02:00:00Z'
    discountId:
      in: path
      name: discountId
      description: Unique ID of a discount.
      required: true
      schema:
        $ref: '#/components/schemas/uuid-property'
    agendaItemId1:
      in: path
      name: agendaItemId
      description: Unique ID of an agenda item.
      required: true
      schema:
        $ref: '#/components/schemas/uuid-property'
    before:
      name: before
      required: false
      in: query
      description: Used to query records that have been added or updated before this time point.
      schema:
        type: string
        format: date-time
        example: '2017-01-02T02:00:00Z'
    discountFilter:
      name: filter
      in: query
      required: false
      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                          |

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

        | id               | `in`                                |

        | method.type      | `eq`                                |

        | type             | `eq`                                |

        | level            | `eq`                                |


        The following logical operators are supported for combining filters:

        * and

        * or

        '
      schema:
        type: string
        example: id in ('1b01ae34-6970-41f2-a4e8-b4f39185dc15', '1b01ae34-6970-41f2-a4e8-b4f39185dc16') and method.type eq 'PERCENTAGE'
    eventId2:
      in: path
      name: id
      description: Unique ID of an event.
      required: true
      schema:
        $ref: '#/components/schemas/uuid-property'
    discountSort:
      name: sort
      required: false
      in: query
      description: "The sort order passed as a parameter, used to control the order of the\nsearch results as a priority ordered list of sorts.\n\nThere are two orders:\n  * ascending: ASC\n  * descending: DESC\n\nThe following fields are sortable:\n  * name\n  * code\n  * method.type\n  * effectiveTo\n  * effectiveFrom\n  * type\n  * level\n"
      schema:
        type: string
        example: name:DESC,code:ASC
    limit:
      name: limit
      in: query
      description: The maximum number of records to return per page.
      style: form
      explode: true
      schema:
        maximum: 200
        minimum: 1
        type: integer
        default: 100
        example: 100
  schemas:
    EntityType1:
      title: Entity Type
      description: Specifies the type of agenda item that a discount is associated with.
      type: string
      format: enum
      enum:
      - AdmissionItem
      - MembershipItem
      - QuantityItem
      - Session
      - SessionBundle
      example: Session
    ExistingVolumeDiscount:
      title: Existing Volume Discount
      description: Representation of an existing volume based discount.
      type: object
      required:
      - type
      allOf:
      - $ref: '#/components/schemas/VolumeDiscount'
      properties:
        type:
          type: string
          description: 'The type of discount. For account-level discounts, all discounts are of type DISCOUNT_CODE. `DISCOUNT_CODE`: A code the user or system applies to induce a discount. `VOLUME_DISCOUNT`: A discount that applies when a certain volume of items are purchased.'
          enum:
          - VOLUME_DISCOUNT
          example: VOLUME_DISCOUNT
        id:
          type: string
          format: uuid
          description: A unique identifier of the discount.
          example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
          readOnly: true
        level:
          type: string
          description: Whether the discount is created at event level or account level.
          enum:
          - EVENT
          - ACCOUNT
          example: EVENT
          readOnly: true
    UUID:
      title: UUID
      description: The reference to the related entity. Contains only the ID of the related entity.
      required:
      - id
      type: object
      properties:
        id:
          $ref: '#/components/schemas/UUIDProperty'
    CreateUpdateDiscountCode:
      title: Create Update Discount Code
      description: Representation of a discount code to be created or updated.
      type: object
      required:
      - type
      allOf:
      - $ref: '#/components/schemas/DiscountCodeBase'
      properties:
        type:
          type: string
          description: 'The type of discount. For account-level discounts, all discounts are of type DISCOUNT_CODE. `DISCOUNT_CODE`: A code the user or system applies to induce a discount. `VOLUME_DISCOUNT`: A discount that applies when a certain volume of items are purchased.'
          enum:
          - DISCOUNT_CODE
          example: DISCOUNT_CODE
        capacity:
          $ref: '#/components/schemas/DiscountCapacityInput'
    DiscountAudienceType:
      title: DiscountAudienceType
      type: string
      description: 'Audiences which are eligible for the discount.`PRIMARY`: All attendees. Includes primary registrants and their guests. `GUEST`: Any attendee invited to the event. `ALL`: An attendee who''s the guest of a primary registrant.'
      enum:
      - PRIMARY
      - GUEST
      - ALL
      example: ALL
      default: ALL
    DiscountCapacityInput:
      title: Discount Capacity Input
      type: object
      description: Details about the discount capacity.
      default:
        total: -1
      properties:
        total:
          type: integer
          description: The total number of instances the discount can be used event wide. Default value of -1 indicates unlimited capacity.
          default: -1
          example: 100
          minimum: -1
          maximum: 32767
    DiscountMethodType:
      title: DiscountMethodType
      type: string
      description: 'The method of the discount. All methods use the `value` field to determine the amount discounted. `BY_PERCENTAGE`: Discounts the item by a percentage. `BY_AMOUNT`: Discount the item by a specific amount. `FLAT_PRICE`: Set the price of the item to a specific value.'
      enum:
      - BY_AMOUNT
      - BY_PERCENTAGE
      - FLAT_PRICE
      example: BY_PERCENTAGE
      default: BY_AMOUNT
    DiscountCodeBase:
      title: Discount Code Base
      description: Base Representation/Model of a discount to be created or updated.
      type: object
      required:
      - code
      allOf:
      - $ref: '#/components/schemas/DiscountBase'
      properties:
        code:
          type: string
          description: Code of the discount.
          example: 10OFF
          maxLength: 30
        audienceType:
          $ref: '#/components/schemas/DiscountAudienceType'
        includeGuestsTowardsCapacity:
          type: boolean
          description: True indicates that guests will be included along with primary registrants towards the discount code's capacity.
          default: false
          example: true
        autoApply:
          type: boolean
          description: True indicates that the discount is auto-applied to registrants.
          default: false
          example: true
        applyToAllAgendaItems:
          type: boolean
          description: True indicates that the discount is applied to all agenda items and requires at least one item to be associated. False indicates that the discount is applied to the final total. this is specific to event level discount.
          default: false
          example: false
    DiscountBase:
      title: Discount Base
      description: Representation of a base discount.
      type: object
      required:
      - name
      - method
      allOf:
      - $ref: '#/components/schemas/Audit'
      properties:
        name:
          type: string
          description: Name of the discount.
          example: 10% off
          maxLength: 50
        active:
          type: boolean
          description: True indicates that the discount is active.
          default: true
          example: true
        stackable:
          type: boolean
          description: True indicates that the discount can be clubbed together with other stackable discounts
          default: true
          example: true
        method:
          $ref: '#/components/schemas/DiscountMethod'
        effectiveFrom:
          type: string
          format: date
          description: The ISO 8601 formatted date from which the discount is effective.
          example: '2025-01-01'
        effectiveTo:
          type: string
          format: date
          description: The ISO 8601 formatted date to which the discount is effective.
          example: '2025-02-01'
        note:
          type: string
          description: Note about the discount.
          example: 10% off for early birds.
          maxLength: 300
    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
    ErrorResponse:
      title: ErrorResponse
      description: Represents an error response with additional details of cascading error messages.
      allOf:
      - $ref: '#/components/schemas/ErrorResponseBase'
      type: object
      required:
      - code
      - message
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorResponseBase'
          description: Additional details of cascading error messages.
    DiscountCode:
      title: Discount Code
      description: Representation of a code based discount.
      type: object
      allOf:
      - $ref: '#/components/schemas/DiscountCodeBase'
      properties:
        id:
          type: string
          format: uuid
          description: A unique identifier of the discount.
          example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
          readOnly: true
        level:
          type: string
          description: Whether the discount is created at event level or account level.
          enum:
          - EVENT
          - ACCOUNT
          example: EVENT
          readOnly: true
        capacity:
          $ref: '#/components/schemas/DiscountCapacity'
    DiscountMethod:
      title: Discount method
      type: object
      required:
      - value
      description: Details about how the discount applies.
      properties:
        type:
          $ref: '#/components/schemas/DiscountMethodType'
        value:
          type: number
          description: The method value of the discount.
          example: 10
    DiscountCapacity:
      title: Discount Capacity
      type: object
      description: Details about the discount capacity.
      properties:
        total:
          type: integer
          description: The total number of instances the discount can be used event wide. Default value of -1 indicates unlimited capacity.
          example: 100
        used:
          type: integer
          description: The used capacity of the discount.
          example: 10
    discount-agenda-items-paginated-response:
      title: Discount Agenda Items Paginated Response
      required:
      - data
      - paging
      type: object
      description: A paginated response containing a list of agenda items associated with a discount.
      properties:
        paging:
          $ref: '#/components/schemas/Paging'
        data:
          maxItems: 200
          type: array
          items:
            $ref: '#/components/schemas/AgendaItem1'
          description: Collection of associated agenda items for a discount.
    existing-discount-paginated-response:
      title: Discounts Paginated Response
      required:
      - data
      - paging
      type: object
      description: Returns a paginated list of all discounts used in an event, including both event-specific and account-level discount codes used in an event.
      properties:
        paging:
          $ref: '#/components/schemas/Paging'
        data:
          maxItems: 200
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/ExistingDiscountCode'
            - $ref: '#/components/schemas/ExistingVolumeDiscount'
            discriminator:
              propertyName: type
              mapping:
                DISCOUNT_CODE: '#/components/schemas/ExistingDiscountCode'
                VOLUME_DISCOUNT: '#/components/schemas/ExistingVolumeDiscount'
          description: Collection of discounts.
    AgendaItem1:
      title: Agenda Item
      description: Represents the associated agenda item of a discount.
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: A unique identifier of the agenda item.
          example: 14ca6ae2-0dc3-487b-953e-86d6abbdf6d4
          readOnly: true
        type:
          $ref: '#/components/schemas/EntityType1'
        discount:
          $ref: '#/components/schemas/UUID'
    CreateUpdateDiscountCodeResponse:
      title: Create Update Discount Code Response
      description: Representation of an existing discount code response.
      type: object
      required:
      - type
      allOf:
      - $ref: '#/components/schemas/DiscountCode'
      properties:
        type:
          type: string
          description: 'The type of discount. For account-level discounts, all discounts are of type DISCOUNT_CODE. `DISCOUNT_CODE`: A code the user or system applies to induce a discount. `VOLUME_DISCOUNT`: A discount that applies when a certain volume of items are purchased.'
          enum:
          - DISCOUNT_CODE
          example: DISCOUNT_CODE
    create-update-discount-response:
      title: Create Update Discount Response
      description: Representation of an existing discount response
      type: object
      oneOf:
      - $ref: '#/components/schemas/CreateUpdateDiscountCodeResponse'
      - $ref: '#/components/schemas/ExistingVolumeDiscount'
      discriminator:
        propertyName: type
        mapping:
          DISCOUNT_CODE: '#/components/schemas/CreateUpdateDiscountCodeResponse'
          VOLUME_DISCOUNT: '#/components/schemas/ExistingVolumeDiscount'
    CreateUpdateVolumeDiscount:
      title: Create Update Volume Discount
      description: Representation of a volume based discount to be created or updated.
      type: object
      required:
      - type
      allOf:
      - $ref: '#/components/schemas/VolumeDiscount'
      properties:
        type:
          type: string
          description: 'The type of discount. For account-level discounts, all discounts are of type DISCOUNT_CODE. `DISCOUNT_CODE`: A code the user or system applies to induce a discount. `VOLUME_DISCOUNT`: A discount that applies when a certain volume of items are purchased.'
          enum:
          - VOLUME_DISCOUNT
          example: VOLUME_DISCOUNT
    VolumeDiscountThresholdType:
      title: VolumeDiscountThresholdType
      type: string
      description: 'Specifies who will receive the discount once the threshold for the number of ordered items is met or exceeded, depending on the type. `ALL`: All registrations receive the discount once the threshold is exceeded. `AFTER_THRESHOLD_LIMIT`: Every registration beyond the threshold receives the discount. `BEFORE_THRESHOLD_LIMIT:` Every registration, including those at the threshold, are discounted. Further registrations are at full price. If primaryRegistrant is not included then the first registrant is full price. Every registration afterward, up to and including the threshold, are discounted. Any additional registrations are at full price. `EVERY_NTH_REGISTRANT`: After reaching the threshold, every Nth registration counting from the threshold recieves a discount, where N is defined by the `interval` field.'
      enum:
      - ALL
      - AFTER_THRESHOLD_LIMIT
      - BEFORE_THRESHOLD_LIMIT
      - EVERY_NTH_REGISTRANT
      example: ALL
      default: AFTER_THRESHOLD_LIMIT
    Paging:
      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.
          example: 1a2b3c4d5e6f7g8h9i10j11k
        nextToken:
          type: string
          description: The pagination token for the next page. If this value is present in the response, there is another page of data you can fetch.
          example: 1a2b3c4d5e6f7g8h9i10j11k
        currentToken:
          type: string
          description: The pagination token for the current page.
          example: 1a2b3c4d5e6f7g8h9i10j11k
        limit:
          type: integer
          description: The number of records to return on the page. Not to exceed 200.
          example: 100
        totalCount:
          type: integer
          description: The total number of records available. This field may return blank, even if there are more records. To confirm if there are more records, check the `nextToken` field.
          example: 2
        _links:
          $ref: '#/components/schemas/PaginationLinks'
    Link:
      title: Link
      required:
      - href
      type: object
      description: Represents a link to a related resource.
      properties:
        href:
          type: string
          description: A url provided that can be followed for linking
          example: ?token=90c5f062-76ad-4ea4-aa53-00eb698d9262
    Audit:
      title: Audit
      description: Audit information
      type: object
      properties:
        created:
          type: string
          format: date-time
          description: The ISO 8601 zoned date time when this record was created.
          readOnly: true
          example: '2017-01-02T02:00:00Z'
        createdBy:
          type: string
          description: The identifier of the user that created this record.
          readOnly: true
          example: hporter
        lastModified:
          type: string
          format: date-time
          description: The ISO 8601 zoned date time when this record was updated.
          readOnly: true
          example: '2019-02-12T03:00:00Z'
        lastModifiedBy:
          type: string
          description: The identifier of the user that last updated this record.
          readOnly: true
          example: hporter
    UUIDProperty:
      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
    ErrorResponseBase:
      title: ErrorResponseBase
      type: object
      description: Represents an error response with no additional details.
      required:
      - code
      - message
      properties:
        code:
          type: integer
          description: The HTTP status code representing the error.
          example: 400
        message:
          type: string
          description: A brief description of the error.
          example: Bad Request
        target:
          type: string
          description: The target resource of the error.
          example: example target
    PaginationLinks:
      title: PaginationLinks
      type: object
      description: Represents pagination links for navigating between pages of data.
      properties:
        next:
          $ref: '#/components/schemas/Link'
        self:
          $ref: '#/components/schemas/Link'
        prev:
          $ref: '#/components/schemas/Link'
    create-update-discount:
      title: Create Update Discount
      description: Representation of an existing discount that can be created or updated for an event.
      type: object
      oneOf:
      - $ref: '#/components/schemas/CreateUpdateDiscountCode'
      - $ref: '#/components/schemas/CreateUpdateVolumeDiscount'
      discriminator:
        propertyName: type
        mapping:
          DISCOUNT_CODE: '#/components/schemas/CreateUpdateDiscountCode'
          VOLUME_DISCOUNT: '#/components/schemas/CreateUpdateVolumeDiscount'
    VolumeDiscount:
      title: Volume Discount
      description: Representation of a volume based discount.
      type: object
      required:
      - thresholdLimit
      allOf:
      - $ref: '#/components/schemas/DiscountBase'
      properties:
        thresholdType:
          $ref: '#/components/schemas/VolumeDiscountThresholdType'
        thresholdLimit:
          type: integer
          description: Defines the threshold limit for the volume discount.
          example: 10
        interval:
          type: integer
          description: Defines the interval for the volume discount when threshold type is EVERY_NTH_REGISTRANT. Every Nth registration counting from the threshold receives a discount.
          default: 1
          minimum: 1
          maximum: 10
          example: 1
        includePrimaryRegistrant:
          type: boolean
          description: True indicates if the primary registrant is included in evaluating if threshold is met for the volume discount when threshold type is BEFORE_THRESHOLD_LIMIT.
          default: false
          example: true
    ExistingDiscountCode:
      title: Existing Discount Code
      description: Representation of an existing discount code.
      required:
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/DiscountCode'
      properties:
        type:
          type: string
          description: 'The type of discount. For account-level discounts, all discounts are of type DISCOUNT_CODE. `DISCOUNT_CODE`: A code the user or system applies to induce a discount. `VOLUME_DISCOUNT`: A discount that applies when a certain volume of items are purchased.'
          enum:
          - DISCOUNT_CODE
          example: DISCOUNT_CODE
        applyToAllEvents:
          type: boolean
          description: True indicates that the discount is applied to all events. this is specific to account level discount.
          example: false
  responses:
    Forbidden1:
      description: You do not have access to the resource
      content:
   

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