Cvent Registration Custom Fields API

Custom field definitions and answers on contacts, events and sessions.

Operations 7

GET /custom-fields List Custom Fields #
POST /custom-fields Create Custom Field #
PUT /custom-fields/{customFieldId} Update Custom Field #
GET /custom-fields/{customFieldId} Get Custom Field #
PUT /custom-fields/{customFieldId}/advanced-logic Update Advanced Logic #
POST /custom-fields/{customFieldId}/translations Create Custom Fld. Translation #
PUT /custom-fields/{customFieldId}/translations Update Custom Fld. Translation #

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-registration-custom-fields-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-registration-custom-fields-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Cvent Registration Custom Fields API
  version: ea
  description: 'Registration-surface slice of the official Cvent REST APIs OpenAPI, filtered to the ''Custom Fields'' tag(s).

    Derived verbatim (operations, schemas, parameters and responses copied unchanged) from Cvent''s own published contract
    at https://github.com/cvent/rest-sdks/blob/main/cvent-public-spec/openapi.yaml — the spec Cvent generates its official
    TypeScript, Java and C# SDKs from.

    Full platform description, authentication, pagination, filtering, rate-limit and versioning narrative lives in openapi/_original/cvent-rest-apis-openapi.yaml.'
  contact:
    name: Cvent Development Platform
    url: https://developers.cvent.com/
servers:
- url: https://api-platform.cvent.com/ea
- url: https://api-platform-eur.cvent.com/ea
tags:
- name: Custom Fields
  description: Custom Fields are created by event planners to track important information about specific objects like events,
    contacts, or sessions. Use these APIs to view, create, and update custom fields in your account and their related details.
paths:
  /custom-fields:
    get:
      security:
      - OAuth2.clientCredentials:
        - event/custom-fields:read
      - OAuth2.authorizationCode:
        - event/custom-fields:read
      summary: List Custom Fields
      description: Get a paginated list of custom fields in an account.
      operationId: listCustomFields
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: filter
        in: query
        required: true
        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 |

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

          | id               | `eq`, `ne`                          | |

          | category         | `eq`                                | Required, one category can be provided at a time |

          | lastModified     | `eq`, `ne`, `lt`, `le`, `gt`, `ge`  | |

          | code             | `eq`, `ne`                          | Case insensitive |


          The following logical operators are supported for combining filters:

          * and

          * or

          '
        schema:
          type: string
          example: category eq 'Event' and lastModified gt '2021-03-19T11:30:37.909Z' and code eq 'FAVORITE_COLOR_CODE'
      tags:
      - Custom Fields
      responses:
        '200':
          description: Successfully retrieved a paginated list of custom fields.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/custom-fields-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    post:
      security:
      - OAuth2.clientCredentials:
        - event/custom-fields:write
      - OAuth2.authorizationCode:
        - event/custom-fields:write
      summary: Create Custom Field
      description: Creates a single custom field based on the values provided.
      operationId: createCustomField
      requestBody:
        description: Custom field to be created
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/custom-field2'
      tags:
      - Custom Fields
      responses:
        '201':
          description: Successfully created a custom field.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-custom-field'
        '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'
  /custom-fields/{customFieldId}:
    put:
      security:
      - OAuth2.clientCredentials:
        - event/custom-fields:write
      - OAuth2.authorizationCode:
        - event/custom-fields:write
      summary: Update Custom Field
      description: Updates a custom field based on the given custom field ID.
      operationId: updateCustomField
      requestBody:
        description: Custom field to be updated
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/existing-custom-field'
      tags:
      - Custom Fields
      responses:
        '200':
          description: Successfully updated the custom field.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-custom-field'
        '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'
    get:
      security:
      - OAuth2.clientCredentials:
        - event/custom-fields:read
      - OAuth2.authorizationCode:
        - event/custom-fields:read
      summary: Get Custom Field
      description: Get a single custom field based on the given custom field ID.
      operationId: getCustomField
      tags:
      - Custom Fields
      responses:
        '200':
          description: Successfully retrieved a custom field.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-custom-field'
        '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'
    parameters:
    - $ref: '#/components/parameters/customFieldId4'
  /custom-fields/{customFieldId}/advanced-logic:
    put:
      security:
      - OAuth2.clientCredentials:
        - event/custom-fields:write
      - OAuth2.authorizationCode:
        - event/custom-fields:write
      summary: Update Advanced Logic
      description: Updates the advanced logic for a custom field. Links the field given in the path to a 'source' custom field.
        Answers to the source custom field determine the visible choices in the given custom field. If the source field has
        no answers, only the default choices for the given field are visible.
      operationId: updateCustomFieldAdvancedLogic
      requestBody:
        description: Advanced logic rules to apply to the given custom field.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/advanced-logic'
      tags:
      - Custom Fields
      responses:
        '200':
          description: Successfully updated the custom field's advanced logic.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/advanced-logic'
        '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'
    parameters:
    - $ref: '#/components/parameters/customFieldId4'
  /custom-fields/{customFieldId}/translations:
    post:
      security:
      - OAuth2.clientCredentials:
        - event/custom-fields:write
      - OAuth2.authorizationCode:
        - event/custom-fields:write
      summary: Create Custom Fld. Translation
      description: Creates translations for a single custom field based on the values provided.
      operationId: createCustomFieldTranslation
      requestBody:
        description: Translation details to be created for the custom field.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/translation1'
      tags:
      - Custom Fields
      responses:
        '201':
          description: Successfully created translations for the custom field.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/translation1'
        '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:
      security:
      - OAuth2.clientCredentials:
        - event/custom-fields:write
      - OAuth2.authorizationCode:
        - event/custom-fields:write
      summary: Update Custom Fld. Translation
      description: Updates translations for a single custom field based on the given custom field ID.
      operationId: updateCustomFieldTranslation
      requestBody:
        description: Translation details to be updated for the custom field.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/translation1'
      tags:
      - Custom Fields
      responses:
        '200':
          description: Successfully updated translations for the custom field.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/translation1'
        '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'
    parameters:
    - $ref: '#/components/parameters/customFieldId4'
components:
  parameters:
    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'
    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'
    customFieldId4:
      in: path
      name: customFieldId
      description: The unique identifier of a custom field.
      required: true
      schema:
        $ref: '#/components/schemas/uuid-property'
    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
    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
  responses:
    BadRequest1:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 400
            message: Bad Request
    Forbidden1:
      description: You do not have access to the resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 403
            message: Access Forbidden
    NotFound1:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 404
            message: Not found
    TooManyRequests1:
      description: Too many requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 429
            message: Limit Exceeded
    Unauthorized1:
      description: Bad or expired token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 401
            message: Unauthorized
  schemas:
    AdvancedLogicChoices:
      title: AdvancedLogicChoices
      type: object
      required:
      - sourceCustomFieldChoice
      description: This is used to denote which custom field choices to display when a source custom field choice is selected.
      properties:
        sourceCustomFieldChoice:
          type: string
          format: uuid
          description: The ID of a choice of the source custom field.
        choices:
          type: array
          items:
            type: string
            format: uuid
            description: The ID of the choice to display.
          description: The choices to display if the associated source custom field choice is selected. Leave empty to have
            no choices displayed.
          minItems: 0
          maxItems: 100
    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
    Choice2:
      title: Choice
      type: object
      description: This is used to denote the choice of question.
      required:
      - text
      properties:
        id:
          type: string
          format: uuid
          description: The ID of the question choice. If you supply the choice's existing ID in a PUT call, the choice keeps
            its current ID and the choice text is updated. If this `id` field is left blank in a PUT call, this choice text
            will be replaced with the text supplied, and a new choice ID is created.
          readOnly: true
        text:
          type: string
          description: The text for the question choice.
          example: What is your current designation?
          minLength: 1
    ChoiceTranslation:
      title: ChoiceTranslation
      type: object
      description: This is used to denote that the translation for the choice text of a custom field.
      properties:
        choiceId:
          type: string
          format: uuid
          description: The ID of the choice that this translation is associated with.
        translatedText:
          type: string
          maxLength: 300
          description: Translation for the choice text of a custom field.
          example: Departamento de Tecnología
    Choices1:
      title: Choices
      description: Choices for a custom field.
      type: object
      properties:
        choices:
          type: array
          items:
            $ref: '#/components/schemas/Choice2'
          description: Choices of custom fields.
        displayType:
          $ref: '#/components/schemas/DisplayType1'
    CustomFieldCategory:
      title: CustomFieldCategory
      enum:
      - Contact
      - Session
      - Event
      - Survey
      - Campaign
      - Rfp
      - Appointment
      - Resource
      - User
      - Abstract
      - Budget Item
      type: string
      description: This is used to denote the category of a custom field.
      example: Contact
    CustomFieldType2:
      title: CustomFieldType
      enum:
      - Open Ended Text - Date/Time
      - Open Ended Text - One Line
      - Open Ended Text - Comment Box
      - Choice - Single Answer
      - Choice - Multiple Answers
      - Auto-Increment
      type: string
      description: This is used to denote the type of data collected by a custom field. Auto-Increment custom fields are read
        only.
      example: Open Ended Text - One Line
    DateTimeDisplayFormat:
      title: DateTimeDisplayFormat
      enum:
      - DateAndTimeMonthFirst12HourTime
      - DateAndTimeMonthFirst24HourTime
      - DateOnlyMonthFirst
      - DateAndTimeDayFirst12HourTime
      - DateAndTimeDayFirst24HourTime
      - DateOnlyDayFirst
      type: string
      description: This is used to denote the display format type of date time type custom field.
      example: DateOnlyMonthFirst
    DisplayInDataTag:
      title: DisplayInDataTag
      enum:
      - 'Yes'
      - 'No'
      - Only when answered
      type: string
      description: This option allows you to choose whether to display the custom field in emails. The field name and the
        value entered by the invitee are used in the My Agenda data tag. You can set the custom field to display always or
        only when answered. Only applicable to session custom fields.
      default: 'No'
      example: 'No'
    DisplayType1:
      title: DisplayType
      description: Display type indicating how to display the choices on UI. For 'Choice - Single Answer' custom field type,
        this defaults to Dropdown. For 'Choice - Multiple Answers' custom field type, this defaults to MultiSelectBox.
      type: string
      enum:
      - Dropdown
      - Vertical
      - Horizontal
      - MultiSelectBox
    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.
    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
    Language1:
      title: Language
      enum:
      - af-ZA
      - ar-SA
      - az-Latn-AZ
      - be-BY
      - bg-BG
      - bn-IN
      - bs-BA
      - ca-ES
      - cs-CZ
      - da-DK
      - de-CH
      - de-DE
      - el-GR
      - en-GB
      - en-US
      - es-ES
      - fi-FI
      - fr-CA
      - fr-FR
      - ga-IE
      - he-IL
      - hi-IN
      - hr-HR
      - hu-HU
      - hy-AM
      - id-ID
      - is-IS
      - it-IT
      - ja-JP
      - kn
      - ko-KR
      - lb-LU
      - lt-LT
      - lv-LV
      - mi-NZ
      - ml
      - mn-CN
      - ms-MY
      - mt-MT
      - nb-NO
      - ne-NP
      - nl-NL
      - pa-IN
      - pl-PL
      - pt-BR
      - pt-PT
      - ro-MO
      - ro-RO
      - ru-RU
      - sk-SK
      - sl-SI
      - sq-AL
      - sr-RS
      - sv-SE
      - ta-IN
      - te-IN
      - th-TH
      - tl-PH
      - tr-TR
      - uk-UA
      - vi-VN
      - zh-CHT
      - zh-CN
      - zh-tw
      type: string
      description: IETF language code used to specify a target language for the translation.
      example: es-ES
    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
    OpenEndedCommentBox:
      title: OpenEndedCommentBox
      description: This is used to denote the open ended comment box type of custom field.
      type: object
      properties:
        minimum:
          type: integer
          description: Minimum number/characters allowed.
          example: 2
        maximum:
          type: integer
          description: Maximum number/characters allowed.
          example: 8
    OpenEndedDateTime1:
      title: OpenEndedDateTime
      description: This is used to denote the open ended date time type of custom field.
      type: object
      properties:
        from:
          type: string
          format: date-time
          description: The ISO 8601 zoned minimum date time accepted.
          example: '2021-01-02T02:00:00Z'
        to:
          type: string
          format: date-time
          description: The ISO 8601 zoned maximum date time accepted.
          example: '2021-02-02T02:00:00Z'
        format:
          $ref: '#/components/schemas/DateTimeDisplayFormat'
        defaultToCurrentDate:
          type: boolean
          description: Whether it needs to be pre populated with current date.
          example: false
        displayPopUpCalendar:
          type: boolean
          description: True means that a pop-up calendar will be displayed to assist date selection on UI.
          default: false
          example: false
    OpenEndedOneLine:
      title: OpenEndedOneLine
      type: object
      description: This is used to denote the open ended one line type of custom field.
      properties:
        answerFormat:
          type: string
          description: 'The supported answer formats are: General, Number, Currency, Decimal, USPhoneNumber, and EmailAddress.
            Custom answer formats are also supported and can be created in the Admin section of the planner UI.'
          example: General
        minimum:
          type: integer
          description: Minimum number/characters allowed.
          example: 2
        maximum:
          type: integer
          description: Maximum number/characters allowed.
          example: 8
    PageVisibility:
      title: PageVisibility
      description: Visibility of the custom field on various pages/forms.
      type: object
      properties:
        essentialEventCreationForm:
          type: boolean
          description: True indicates it's visible on the event essentials event creation form.
          default: false
        essentialEventDetailsForm:
          type: boolean
          description: True indicates it's visible on the event essentials event details form.
          default: false
        webinarCreationForm:
          type: boolean
          description: True indicates it's visible on webinar creation form.
          default: false
        webinarDetailsForm:
          type: boolean
          description: True indicates it's visible on the webinar details form.
          default: false
    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'
    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'
    advanced-logic:
      title: AdvancedLogic
      type: object
      description: Describes the advanced logic for a custom field.
      required:
      - sourceCustomFieldId
      properties:
        sourceCustomFieldId:
          type: string
          format: uuid
          description: The ID of the source custom field.
        defaultChoices:
          type: array
          items:
            type: string
            format: uuid
            description: The ID of the choice to display.
          description: The choices of this custom field to display by default (when no choice is selected for the source custom
            field), specified by choice ID. Leave empty to have no choices displayed by default.
          minItems: 0
          maxItems: 100
        sourceChoices:
          type: array
          items:
            $ref: '#/components/schemas/AdvancedLogicChoices'
          description: The choices of this custom field to display based on the choice selected for the source custom field,
            specified by choice ID.
    custom-field2:
      title: CustomField
      required:
      - category
      - name
      - code
      - type
      description: This is used to denote the custom field data.
      type: object
      allOf:
      - $ref: '#/components/schemas/Audit'
      properties:
        category:
          $ref: '#/components/schemas/CustomFieldCategory'
        name:
          type: string
          description: The actual text of the custom field.
          example: What is a your favorite color?
          maxLength: 300
        code:
          type: string
          description: Code to uniquely identify custom field.
          example: FAVORITE_COLOR_CODE
          maxLength: 50
        required:
          type: boolean
          description: Whether answer to custom field is mandatory or not.
          default: true
          example: true
        type:
          $ref: '#/components/schemas/CustomFieldType2'
        details:
          type: object
          description: Type-specific details of the custom-field.
          oneOf:
          - $ref: '#/components/schemas/OpenEndedOneLine'
          - $ref: '#/components/schemas/OpenEndedDateTime1'
          - $ref: '#/components/schemas/OpenEndedCommentBox'
          - $ref: '#/components/schemas/Choices1'
        order:
          type: integer
          description: The order of the custom field on the display page.
          example: 1
          readOnly: true
        helpText:
          type: string
          description: The help text of the custom field.
          example: Enter your favorite color.
          maxLength: 50
        displayInDataTag:
          $ref: '#/components/schemas/DisplayInDataTag'
        defaultTagText:
          type: string
          description: Default text in emails when a contact does not have a value answered for this custom field. Only applicable
            to contact custom fields.
          example: Your Division
          maxLength: 300
        consentField:
          type: boolean
          description: True means that this is a consent field. Only applicable to contact custom fields.
          default: false
          example: false
        active:
          type: boolean
          description: True means that this custom field is active. Determines visibility for event custom fields.
          default: true
          example: true
        displayInEventCreationWizard:
          type: boolean
          description: True means that the field will be displayed in the event creation wizard. Only applicable to event
            custom fields.
          default: false
          example: false
        pageVisibility:
          $ref: '#/components/schemas/PageVisibility'
    custom-fields-paginated-response:
      title: CustomFieldsPaginatedResponse
      description: The response from a request to get the list of custom fields metadata.  This includes the paging object
        as well as the collection of custom fields metadata.
      required:
      - paging
      - data
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/Paging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/existing-custom-field'
          description: Collection of custom fields.
    existing-custom-field:
      title: ExistingCustomField
      description: This is used to denote an existing custom field.
      type: object
      allOf:
      - $ref: '#/components/schemas/custom-field2'
      properties:
        id:
          type: string
          format: uuid
          description: The ID of the custom field.
        pageVisibility:
          $ref: '#/components/schemas/PageVisibility'
    translation1:
      title: CustomFieldTranslation
      description: A custom-field translation for a particular language.
      type: object
      required:
      - translation
      - language
      properties:
        translation:
          type: object
          description: This is used to denote the translation of the custom field, including its name, help text, and choice
            texts.
          properties:
            nameTranslation:
              type: string
              description: Translation of the custom field's name.
              maxLength: 30
              example: Departamento
            helpTextTranslation:
              type: string
              description: Translation for the help text of the custom field.
              maxLength: 30
              example: El departamento donde tr

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