Cvent Contacts API

A contact is a record in your account’s address book that represents an individual. The data stored within these records includes personal information, group memberships, and historical data on event attendance. Contact APIs will allow you to get contact information, track updates to contact information, and create contacts.

Operations 28

POST /contact-groups Create Contact Group #
GET /contact-groups List Contact Groups #
GET /contact-groups/{id} Get Contact Group #
PUT /contact-groups/{id} Update Contact Group #
DELETE /contact-groups/{id} Delete Contact Group #
GET /contact-groups/{id}/contacts Get Ids in Contact Group #
PUT /contact-groups/{id}/contacts/{contactId} Add Contact To Group #
DELETE /contact-groups/{id}/contacts/{contactId} Remove Contact From Group #
GET /contact-types List Contact Types #
GET /contacts List Contacts #
PUT /contacts Update Contacts #
PATCH /contacts Patch Contacts #
POST /contacts Create Contacts #
POST /contacts/filter List Contacts #
GET /contacts/obfuscate/{obfuscateId}/status Get Obfuscation Status #
GET /contacts/{contactId}/history Get Contact Change History #
GET /contacts/{id} Get Contact #
PUT /contacts/{id} Update Contact #
PATCH /contacts/{id} Patch Contact #
DELETE /contacts/{id} Delete Contact #
PUT /contacts/{id}/custom-fields/{customFieldId}/answers Update Custom Field Answers #
POST /contacts/{id}/merge Merge Contacts #
POST /contacts/{id}/obfuscate Obfuscate a Contact #
DELETE /contacts/{id}/profile-images Delete Contact Profile Picture #
PUT /contacts/{id}/profile-images Assign Contact Profile Picture #
GET /contacts/{id}/related-contacts Get Related Contact Ids #
PUT /contacts/{id}/related-contacts/{relatedContactId} Add Contact Relationship #
DELETE /contacts/{id}/related-contacts/{relatedContactId} Delete Contact Relationship #

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-contacts-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-contacts-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Cvent REST APIs — Contacts
  version: ea
  description: A contact is a record in your account’s address book that represents an individual. The data stored within
    these records includes personal information, group memberships, and historical data on event attendance.  Contact APIs
    will allow you to get contact information, track updates to contact information, and create contacts.
  contact:
    name: Cvent Development Platform
    url: https://developers.cvent.com/
externalDocs:
  description: Cvent REST API documentation
  url: https://developers.cvent.com/documentation
servers:
- url: https://api-platform.cvent.com/ea
- url: https://api-platform-eur.cvent.com/ea
tags:
- name: Contacts
  description: A contact is a record in your account’s address book that represents an individual. The data stored within
    these records includes personal information, group memberships, and historical data on event attendance.  Contact APIs
    will allow you to get contact information, track updates to contact information, and create contacts.
paths:
  /contact-groups:
    post:
      security:
      - OAuth2.clientCredentials:
        - event/contact-groups:write
      - OAuth2.authorizationCode:
        - event/contact-groups:write
      summary: Create Contact Group
      description: Create a contact group
      operationId: createContactGroup
      tags:
      - Contacts
      requestBody:
        description: Contact Group to be created
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/contact-group'
      responses:
        '201':
          description: Successfully created a contact group.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact-group'
        '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'
    get:
      security:
      - OAuth2.clientCredentials:
        - event/contact-groups:read
      - OAuth2.authorizationCode:
        - event/contact-groups:read
      summary: List Contact Groups
      description: Gets a paginated list of contact groups
      operationId: listContactGroups
      tags:
      - Contacts
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: filter
        in: query
        required: false
        description: 'Use filter query parameters to limit results

          to data that matches your criteria. See

          [Filters](/docs/rest-api/reference/filters) for details.


          Supported fields and operators are listed below:


          | Field            | Operators                          | Notes |

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

          | name             | `eq`, `ne`, `sw`, `contains`        | |

          | type             | `eq`                                | Not supported with before or after parameters |


          The following logical operators are supported for combining filters:

          * and

          '
        schema:
          type: string
          example: name eq 'groupName' and type eq 'STANDARD'
      responses:
        '200':
          description: Successfully retrieved a paginated list of Contact Groups.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact-group-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'
  /contact-groups/{id}:
    parameters:
    - $ref: '#/components/parameters/contactGroupId'
    get:
      security:
      - OAuth2.clientCredentials:
        - event/contact-groups:read
      - OAuth2.authorizationCode:
        - event/contact-groups:read
      summary: Get Contact Group
      description: Get a single contact group
      operationId: getContactGroupById
      tags:
      - Contacts
      responses:
        '200':
          description: Successfully retrieved a Contact Group object.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact-group'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    put:
      security:
      - OAuth2.clientCredentials:
        - event/contact-groups:write
      - OAuth2.authorizationCode:
        - event/contact-groups:write
      summary: Update Contact Group
      description: Update a contact group
      operationId: updateContactGroup
      tags:
      - Contacts
      requestBody:
        description: Contact Group to be updated
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/contact-group'
      responses:
        '200':
          description: Successfully updated a contact group.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact-group'
        '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
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    delete:
      security:
      - OAuth2.clientCredentials:
        - event/contact-groups:write
      - OAuth2.authorizationCode:
        - event/contact-groups:write
      summary: Delete Contact Group
      description: Delete a contact group
      operationId: deleteContactGroup
      tags:
      - Contacts
      responses:
        '204':
          description: Successfully deleted a contact group.
          headers: {}
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /contact-groups/{id}/contacts:
    parameters:
    - $ref: '#/components/parameters/contactGroupId'
    get:
      summary: Get Ids in Contact Group
      description: Get all contact ids in a single contact group
      operationId: getContactIdsByContactGroup
      security:
      - OAuth2.clientCredentials:
        - event/contact-groups:read
      - OAuth2.authorizationCode:
        - event/contact-groups:read
      tags:
      - Contacts
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      responses:
        '200':
          description: Successfully retrieved Contact ids.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact-id-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
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /contact-groups/{id}/contacts/{contactId}:
    parameters:
    - $ref: '#/components/parameters/contactGroupId'
    - $ref: '#/components/parameters/contactId'
    put:
      summary: Add Contact To Group
      description: Adds a single Contact to a single Contact Group
      operationId: addContactToContactGroup
      security:
      - OAuth2.clientCredentials:
        - event/contact-groups:write
      - OAuth2.authorizationCode:
        - event/contact-groups:write
      tags:
      - Contacts
      responses:
        '204':
          description: Successfully added Contact to Contact Group
          headers: {}
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    delete:
      summary: Remove Contact From Group
      description: Removes a single Contact from a single Contact Group
      operationId: removeContactFromContactGroup
      security:
      - OAuth2.clientCredentials:
        - event/contact-groups:write
      - OAuth2.authorizationCode:
        - event/contact-groups:write
      tags:
      - Contacts
      responses:
        '204':
          description: Successfully removed a Contact from a Contact Group
          headers: {}
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /contact-types:
    get:
      security:
      - OAuth2.clientCredentials:
        - event/contact-types:read
      - OAuth2.authorizationCode:
        - event/contact-types:read
      summary: List Contact Types
      description: Gets a paginated list of contact types.
      operationId: listContactTypes
      tags:
      - Contacts
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: filter
        in: query
        required: false
        description: 'Use filter query parameters to limit results

          to data that matches your criteria. See

          [Filters](/docs/rest-api/reference/filters) for details.


          Supported fields and operators are listed below:


          | Field            | Operators                          |

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

          | name             | `eq`, `ne`, `sw`, `contains`        |


          No logical operators are supported on this endpoint, only one filter

          can be passed in each request.

          '
        schema:
          type: string
          example: name eq 'groupType'
      responses:
        '200':
          description: Successfully retrieved a paginated list of contact types.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact-type-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'
  /contacts:
    get:
      security:
      - OAuth2.clientCredentials:
        - event/contacts:read
      - OAuth2.authorizationCode:
        - event/contacts:read
      summary: List Contacts
      description: 'Gets a paginated list of Contacts.


        For information on reading secure contact fields, see the description of

        <a href="#operation/getContactById">GET Contact</a>.

        '
      operationId: listContacts
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: filter
        in: query
        required: false
        description: 'Use filter query parameters to limit results

          to data that matches your criteria. See

          [Filters](/docs/rest-api/reference/filters) for details.


          Supported fields and operators are listed below:


          | Field            | Operators                          | Notes |

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

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

          | sourceId         | `eq`, `ne`                          | |

          | firstName        | `eq`, `ne`, `contains`, `sw`        | |

          | lastName         | `eq`, `ne`, `contains`, `sw`        | |

          | email            | `eq`, `ne`, `contains`, `sw`        | |

          | ccEmail          | `eq`, `ne`                          | |

          | company          | `eq`, `ne`                          | |

          | type.id          | `eq`, `ne`                          | |

          | nickname         | `eq`, `ne`                          | |

          | title            | `eq`, `ne`                          | |

          | workPhone        | `eq`, `ne`                          | |

          | middleName       | `eq`, `ne`                          | |

          | mobilePhone      | `eq`, `ne`                          | |

          | homeFax          | `eq`, `ne`                          | |

          | designation      | `eq`, `ne`                          | |

          | homePhone        | `eq`, `ne`                          | |

          | pager            | `eq`, `ne`                          | |

          | workFax          | `eq`, `ne`                          | |

          | lastModifiedBy   | `eq`, `ne`                          | |

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

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

          | createdBy        | `eq`, `ne`                          | |

          | workAddress.address1 | `eq`, `ne`                      | |

          | workAddress.address2 | `eq`, `ne`                      | |

          | workAddress.address3 | `eq`, `ne`                      | |

          | workAddress.city | `eq`, `ne`                          | |

          | workAddress.country | `eq`, `ne`                       | |

          | homeAddress.address1 | `eq`, `ne`                      | |

          | homeAddress.address2 | `eq`, `ne`                      | |

          | homeAddress.address3 | `eq`, `ne`                      | |

          | homeAddress.city | `eq`, `ne`                          | |

          | homeAddress.country | `eq`, `ne`                       | |

          | deleted          | `eq`, `ne`                          | Filters for deleted contacts. To retrieve purged contacts,
          see the `includePurged` parameter. |

          | customField.{uuid of custom field} | `eq`, `ne`, `lt`, `le`, `gt`, `ge`, `sw`, `contains` | |

          | optOut.optedOut  | `eq`, `ne`                          | |


          The following logical operators are supported for combining filters:

          * and

          * or

          '
        schema:
          type: string
          example: firstName eq 'John' or lastName eq 'Anderson'
      - $ref: '#/components/parameters/includePurged'
      tags:
      - Contacts
      responses:
        '200':
          description: Successfully retrieved a Paginated list of Contacts.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact-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'
    put:
      security:
      - OAuth2.clientCredentials:
        - event/contacts:write
      - OAuth2.authorizationCode:
        - event/contacts:write
      summary: Update Contacts
      description: 'Updates a list of contacts based on the values provided in the request body. If you''re changing  [de-duplication
        fields](https://support.cvent.com/s/communityarticle/Allowing-Multiple-People-to-Use-the-Same-Email-Address),  the
        new values must be unique in your account.

        For information on updating secure contact fields, see the description of <a href="#operation/updateContactById">PUT
        Contact</a>.

        '
      operationId: updateContacts
      tags:
      - Contacts
      requestBody:
        description: List of contacts to be updated. Up to **10 contacts** can be updated per call.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/contact-bulk-update'
      responses:
        '207':
          description: Successfully updated a list of Contacts.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact-bulk-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'
    patch:
      security:
      - OAuth2.clientCredentials:
        - event/contacts:write
      - OAuth2.authorizationCode:
        - event/contacts:write
      summary: Patch Contacts
      description: 'Updates a list of contacts based on the values provided only, keeping the existing values intact for every
        contact.


        For information on PATCH behavior, see the description of

        <a href="#operation/patchContactById">PATCH Contact</a>.


        For information on updating secure contact fields, see the description of

        <a href="#operation/updateContactById">PUT Contact</a>.

        '
      operationId: patchContacts
      tags:
      - Contacts
      requestBody:
        description: List of contacts to be updated. Up to **10 contacts** can be updated per call.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/contact-bulk-patch'
      responses:
        '207':
          description: Successfully updated a list of contacts.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact-bulk-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'
    post:
      security:
      - OAuth2.clientCredentials:
        - event/contacts:write
      - OAuth2.authorizationCode:
        - event/contacts:write
      summary: Create Contacts
      description: 'Creates a list of contacts based on the values provided in the request body. If you''re changing  [de-duplication
        fields](https://support.cvent.com/s/communityarticle/Allowing-Multiple-People-to-Use-the-Same-Email-Address),  the
        new values must be unique in your account.

        For information on creating contacts with secure contact fields, see the description of <a href="#operation/updateContactById">PUT
        Contact</a>.

        '
      operationId: createContacts
      tags:
      - Contacts
      parameters:
      - name: upsert
        in: query
        required: false
        description: 'This parameter determines whether the POST operation should be treated as an upsert. Upserts update
          existing contacts if they already exist, and otherwise create new contacts.


          True indicates that this operation creates new contacts and updates existing contacts if they exist. False means
          that it only creates new contacts, and attempting to create an existing contact will result in the API returning
          an error.


          Existing contacts are matched to the upsert request via the account''s [match key](https://support.cvent.com/s/communityarticle/Allowing-Multiple-People-to-Use-the-Same-Email-Address).
          By default, the match key for contacts is their email. The match key can also be altered to match contacts based
          on a combination of their first name, last name, and email.

          '
        schema:
          type: boolean
          example: true
          default: false
      requestBody:
        description: List of contacts to be created. Up to **10 contacts** can be created per call.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/contact-bulk-create'
      responses:
        '207':
          description: Successfully created a list of contacts.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact-bulk-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'
  /contacts/filter:
    post:
      security:
      - OAuth2.clientCredentials:
        - event/contacts:read
      - OAuth2.authorizationCode:
        - event/contacts:read
      summary: List Contacts
      description: 'Gets a paginated list of Contacts by sending a filter in the body of the request. This method will return
        the same data as the GET List Contacts but allows for longer filters.

        For information on reading secure contact fields, see the description of  <a href="#operation/getContactById">GET
        Contact</a>.

        '
      operationId: listContactsPostFilters
      requestBody:
        description: See the request body of <a href="#operation/listContacts">GET List Contacts</a> for full filtering information
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/filter'
            example:
              filter: firstName eq 'John' or lastName eq 'Anderson'
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      tags:
      - Contacts
      responses:
        '200':
          description: Successfully retrieved a Paginated list of Contacts.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact-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'
  /contacts/obfuscate/{obfuscateId}/status:
    parameters:
    - $ref: '#/components/parameters/obfuscateId'
    get:
      summary: Get Obfuscation Status
      description: Get the obfuscation status of a contact by the Obfuscate ID provided.
      operationId: getContactObfuscationStatusById
      security:
      - OAuth2.clientCredentials:
        - event/contacts:read
      - OAuth2.authorizationCode:
        - event/contacts:read
      tags:
      - Contacts
      responses:
        '200':
          description: Successfully retrieved a contact's obfuscation status.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact-obfuscation-status'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
  /contacts/{contactId}/history:
    get:
      summary: Get Contact Change History
      description: Get the change history for a specific contact.
      security:
      - OAuth2.clientCredentials:
        - event/contacts:read
      - OAuth2.authorizationCode:
        - event/contacts:read
      tags:
      - Contacts
      operationId: getChangeHistoryForASpecificContact
      parameters:
      - $ref: '#/components/parameters/contactId'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      responses:
        '200':
          description: Successfully retrieved change history for the given contact.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact-history-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'
  /contacts/{id}:
    parameters:
    - $ref: '#/components/parameters/id'
    get:
      summary: Get Contact
      description: "Get a single contact.\n\nWhen reading a contact, the following secure contact fields are only returned\
        \ when\nalso providing the `event/contacts:read-sensitive` scope:\n  * socialSecurityNumber\n  * passportNumber\n\
        \  * nationalIdentificationNumber\n  * dateOfBirth\n"
      operationId: getContactById
      security:
      - OAuth2.clientCredentials:
        - event/contacts:read
      - OAuth2.authorizationCode:
        - event/contacts:read
      tags:
      - Contacts
      responses:
        '200':
          description: Successfully retrieved a contact.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact'
        '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
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    put:
      security:
      - OAuth2.clientCredentials:
        - event/contacts:write
      - OAuth2.authorizationCode:
        - event/contacts:write
      summary: Update Contact
      description: "Updates a contact based on contact ID and the values provided in the request body. If you're changing\
        \  [de-duplication fields](https://support.cvent.com/s/communityarticle/Allowing-Multiple-People-to-Use-the-Same-Email-Address),\
        \  the new values must be unique in your account.\nWhen writing a contact, the following secure contact fields are\
        \ only written when also providing the  `event/contacts:write-sensitive` scope:\n  * socialSecurityNumber\n  * passportNumber\n\
        \  * nationalIdentificationNumber\n  * dateOfBirth\n"
      operationId: updateContactById
      tags:
      - Contacts
      requestBody:
        description: Contact to be updated
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/contact-update'
      responses:
        '200':
          description: Successfully updated the contact.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact'
        '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'
    patch:
      security:
      - OAuth2.clientCredentials:
        - event/contacts:write
      - OAuth2.authorizationCode:
        - event/contacts:write
      summary: Patch Contact
      description: 'Updates a part of a contact based on the given contactId.


        To update a field, pass the value to be updated. To delete a field, set the field to null. Fields not passed in the
        request body will remain unchanged.


        For information on updating secure contact fields, see the description of

        <a href="#operation/updateContactById">PUT Contact</a>.

        '
      operationId: patchContactById
      tags:
      - Contacts
      requestBody:
        description: Contact to be updated
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/contact-patch'
      responses:
        '200':
          description: Successfully updated the contact.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contact'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
 

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