Cvent Webhooks API
These APIs allow you to create hooks. When triggered, a hook sends a request to your service to
These APIs allow you to create hooks. When triggered, a hook sends a request to your service to
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/cvent-webhooks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.0.2
info:
title: Cvent REST APIs — Hooks
version: ea
description: 'These APIs allow you to create hooks. When triggered, a hook sends a request to your service to
get updated data related to the related Cvent object.
For more information on using hooks, see the
[getting started guide](https://developers.cvent.com/docs/cid/attendee-identification-service).
'
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: Hooks
description: 'These APIs allow you to create hooks. When triggered, a hook sends a request to your service to
get updated data related to the related Cvent object.
For more information on using hooks, see the
[getting started guide](https://developers.cvent.com/docs/cid/attendee-identification-service).
'
paths:
/contacts/hooks:
get:
summary: List Contact Hooks
description: Gets a list of contact hooks configured in your account.
operationId: ListContactHooks
tags:
- Hooks
security:
- OAuth2.clientCredentials:
- account/hooks:read
- OAuth2.authorizationCode:
- account/hooks:read
parameters:
- $ref: '#/components/parameters/after'
- $ref: '#/components/parameters/before'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/token'
- name: filter
in: query
required: false
description: "A filter query string narrows search results and supports the combination of logical and comparison\
\ operators.\nThe filter adheres to the pattern filter='field' comparisonType 'value'.\n\nThere are two comparison\
\ types that can be used in filter expressions:\n * equal: eq\n * not equal: ne\n * greater than: gt\n * greater\
\ or equal: ge\n * less than: lt\n * less than or equal: le\n\nThe following fields are filterable:\n * id (eq|ne)\n\
\ * name (eq|ne)\n * created (eq|ne|lt|le|gt|ge)\n * lastModified (eq|ne|lt|le|gt|ge)\n\nThe following operators\
\ are available:\n * and\n * or\n"
schema:
type: string
example: id eq '04ca6ae2-0dc3-487b-953e-86d6abbdf7d3' and name ne 'sampleIntegration'
responses:
'200':
$ref: '#/components/responses/HooksPaginatedResponse'
'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:
summary: Create Contact Hook
description: Creates a contact hook. Contact hooks have a callback URI pointing to your system where Cvent will request
contact information.
operationId: createContactHook
tags:
- Hooks
security:
- OAuth2.clientCredentials:
- account/hooks:write
- OAuth2.authorizationCode:
- account/hooks:write
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/hook'
responses:
'201':
$ref: '#/components/responses/HookCreated'
'400':
$ref: '#/components/responses/BadRequest1'
'401':
$ref: '#/components/responses/Unauthorized1'
'403':
$ref: '#/components/responses/Forbidden1'
'429':
$ref: '#/components/responses/TooManyRequests1'
callbacks:
contactTransaction:
'{$request.body#/callback}':
post:
summary: Contact Transaction Callback
description: 'This callback will be invoked on the URI you registered via <a href="#operation/contactHook">Create
Contact Hook</a>.
Cvent will send a message requesting details on the contact that triggered the callback. All the non-blank
fields in your response will overwrite the related fields in Cvent.
'
operationId: contactTransactionCallback
security:
- CallbackApiKeyAuth: []
- CallbackBasicAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/contact-transaction'
responses:
'200':
$ref: '#/components/responses/ContactFieldsResponse'
'400':
description: Your server rejected the callback because of some issue with the data. We will not retry on
this response.
'404':
description: Your server rejects the callback because the contact doesn't exist in your system. Our system
will not retry on this response.
'429':
$ref: '#/components/responses/TooManyRequests1'
externalDocs:
description: More about OAuth2 authorization code support for administrators
url: '#oauth2-auth-code-planner-admin'
/contacts/hooks/{id}:
put:
summary: Update Contact Hook
description: Update a contact hook's details, including its associated callback URI.
operationId: updateContactHook
tags:
- Hooks
security:
- OAuth2.clientCredentials:
- account/hooks:write
- OAuth2.authorizationCode:
- account/hooks:write
parameters:
- $ref: '#/components/parameters/id5'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/hook'
responses:
'200':
$ref: '#/components/responses/HookUpdated'
'400':
$ref: '#/components/responses/BadRequest1'
'401':
$ref: '#/components/responses/Unauthorized1'
'403':
$ref: '#/components/responses/Forbidden1'
'404':
$ref: '#/components/responses/NotFound1'
'429':
$ref: '#/components/responses/TooManyRequests1'
externalDocs:
description: More about OAuth2 authorization code support for administrators
url: '#oauth2-auth-code-planner-admin'
delete:
summary: Delete Contact Hook
description: Delete a contact hook's details.
operationId: deleteContactHook
tags:
- Hooks
security:
- OAuth2.clientCredentials:
- account/hooks:delete
- OAuth2.authorizationCode:
- account/hooks:delete
parameters:
- $ref: '#/components/parameters/id5'
responses:
'204':
description: Successfully deleted contact hook details.
'401':
$ref: '#/components/responses/Unauthorized1'
'403':
$ref: '#/components/responses/Forbidden1'
'404':
$ref: '#/components/responses/NotFound1'
'429':
$ref: '#/components/responses/TooManyRequests1'
externalDocs:
description: More about OAuth2 authorization code support for administrators
url: '#oauth2-auth-code-planner-admin'
components:
schemas:
hook:
title: Hook
description: A hook with a callback URI.
type: object
required:
- name
- callback
- security
allOf:
- 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
properties:
id:
type: string
description: The unique ID representing the hook
format: uuid
readOnly: true
example: 3b2359a7-4583-40ed-8afd-67e5f15373d3
name:
type: string
description: Name of the contact hook.
example: Attendee Identification
minLength: 1
maxLength: 100
callback:
type: string
format: uri
description: A client hosted callback URI to which callback would be invoked. TLS is mandatory. Callback URL should
not contain any confidential information such as API keys or login credentials.
example: https://myserver.com/send/callback/here
minLength: 1
maxLength: 300
security:
$ref: '#/components/schemas/hook-security.json'
pagination-links.json:
title: PaginationLinks
type: object
description: Represents pagination links for navigating between pages of data.
properties:
next:
$ref: '#/components/schemas/link.json'
self:
$ref: '#/components/schemas/link.json'
prev:
$ref: '#/components/schemas/link.json'
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
contact-fields:
title: Contact Fields
description: An array of standard contact fields supported by Cvent.
required:
- data
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/contact-field.json'
description: Collection of standard contact fields.
contact-transaction:
title: Contact Transaction
description: A changeset of contact fields.
required:
- transactionId
type: object
allOf:
- title: Contact Fields
description: An array of standard contact fields supported by Cvent.
required:
- data
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/contact-field.json'
description: Collection of standard contact fields.
properties:
transactionId:
title: Readonly UUID Property
description: A unique id corresponding to the contact transaction callback made to fetch contact information.
type: string
format: uuid
readOnly: true
example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
contact-field.json:
title: Contact Field
description: Contains contact data. For example, a User's email address.
type: object
required:
- id
- name
- maximumLength
- type
properties:
id:
title: Readonly UUID Property
description: The unique ID of the field supported by Cvent.
type: string
format: uuid
readOnly: true
name:
type: string
description: The name of the field.
example: Email Address
maximumLength:
type: integer
description: The maximum length allowed for a value.
example: 80
type:
type: string
description: The type of the field.
enum:
- String
- Integer
- Decimal
- Double
- DateTime
- SingleChoice
- MultiChoice
example: String
value:
type: array
items:
type: string
example: johndoe@cvent.com
description: The value(s) of the field.
ErrorResponseBase1:
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
paging.json:
title: Paging
required:
- _links
type: object
description: Represents pagination information for a collection of resources.
properties:
previousToken:
type: string
description: The pagination token for the previous page, if one exists. You can use this token to navigate to the
previous page of data.
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/pagination-links.json'
hooks-paginated-response:
title: HooksPaginatedResponse
description: The response from a request to get the list of hooks with a callback URI. This includes the paging object
as well as the collection of hooks.
type: object
required:
- paging
- data
properties:
paging:
$ref: '#/components/schemas/paging.json'
data:
type: array
items:
$ref: '#/components/schemas/hook'
description: Collection of contact hooks.
link.json:
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
hook-security.json:
title: Hook Security
description: Describe security for a web hook callback. Each option corresponds to an Authorization header variant.
type: object
oneOf:
- title: API Key Authentication
description: API Key Authentication.
type: object
required:
- secret
allOf:
- title: Authorization Header
description: Authorization header support characterizing the authentication type to be used for callbacks to the
client system.
type: object
required:
- type
properties:
type:
type: string
enum:
- apiKey
- basic
title: Authorization Header Type
description: Authorization header support characterizing the authentication type to be used for callbacks to
the client system. API Key, or HTTP Basic Authentication, each configured with a corresponding option.
example: apiKey
properties:
secret:
type: string
title: API Key Value
description: An API key to be included in callback requests.
writeOnly: true
example: 2b3cc2bf083ff11206ce6b2f3ee09591
maxLength: 300
authHeaderKey:
type: string
title: Authorization Header Key
description: The header key for which API Key will be sent in callback requests. If this field is not set, the
API key is sent in the 'Authorization' header.
example: x-api-key
minLength: 1
default: Authorization
apiKeyPrefix:
type: boolean
title: API Key Prefix
description: Whether API Key Value is prefixed by 'api_key'. When set to true, the authorization header's value
in callback requests will be 'api_key 2b3cc2bf083ff11206ce6b2f3ee09591'
example: true
default: true
- title: Basic Authentication
description: HTTP Basic Authentication via Authorization header.
type: object
required:
- secret
allOf:
- $ref: '#/components/schemas/hook-security.json/oneOf/0/allOf/0'
properties:
secret:
type: string
title: Basic Auth Credentials
description: Base64 encoded Basic Authentication credentials.
writeOnly: true
example: ZGVtbzpwQDU1dzByZA==
maxLength: 300
ErrorResponse-12:
title: ErrorResponse
description: Represents an error response with additional details of cascading error messages.
allOf:
- $ref: '#/components/schemas/ErrorResponseBase1'
type: object
required:
- code
- message
properties:
details:
type: array
items:
$ref: '#/components/schemas/ErrorResponseBase1'
description: Additional details of cascading error messages.
parameters:
id5:
in: path
name: id
required: true
description: Unique ID of the contact hook.
schema:
$ref: '#/components/schemas/uuid-property'
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'
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
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
responses:
NotFound1:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse-12'
example:
code: 404
message: Not found
HookUpdated:
description: Successfully updated a contact hook.
content:
application/json:
schema:
$ref: '#/components/schemas/hook'
BadRequest1:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse-12'
example:
code: 400
message: Bad Request
TooManyRequests1:
description: Too many requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse-12'
example:
code: 429
message: Limit Exceeded
HooksPaginatedResponse:
description: Successfully retrieved a list of contact hooks and their details.
content:
application/json:
schema:
$ref: '#/components/schemas/hooks-paginated-response'
Unauthorized1:
description: Bad or expired token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse-12'
example:
code: 401
message: Unauthorized
ContactFieldsResponse:
description: Your server returns this structure on a successful callback with the updated values for contact fields
present in your system.
content:
application/json:
schema:
$ref: '#/components/schemas/contact-fields'
HookCreated:
description: Successfully created a contact hook.
content:
application/json:
schema:
$ref: '#/components/schemas/hook'
Forbidden1:
description: You do not have access to the resource
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse-12'
example:
code: 403
message: Access Forbidden
securitySchemes:
OAuth2.clientCredentials:
type: oauth2
description: OAuth2 Client Credentials Flow.
flows:
clientCredentials:
tokenUrl: https://api-platform.cvent.com/ea/oauth2/token
scopes:
account/hooks:delete: Allows the deletion of hooks.
account/hooks:read: Allows the reading of hooks.
account/hooks:write: Allows the creation/updation of hooks.
account/user-groups:delete: Allows deletion for user groups
account/user-groups:read: Allows the reading of user groups
account/user-groups:write: Allows the writing of user groups
account/users:delete: Allows the deletion of User
account/users:read: Allows the reading of User, User Group
account/users:write: Allows the creation/updating of User
appointments/appointment-attendees:read: Allows the reading of appointment attendees and their related entities.
appointments/appointment-events:read: Allows the reading of appointment events and their related entities.
appointments/appointment-types:read: Allows the reading of appointment types and their related entities.
appointments/appointments:read: Allows the reading of appointment and their related entities.
appointments/appointments:write: Allows the writing of appointments and their related entities.
appointments/available-times:read: Allows the reading of availability times.
appointments/locations:read: Allows the reading of appointment locations and their related entities.
attendee-insights/attendee-insights:read: Allows the reading of engagement scores (attendee insights).
attendee-insights/scores:read: Allows the reading of scores.
attendee-insights/stats:read: Allows the reading of engagement score (attendee insight) stats.
budget/budget-items:delete: Allows the deletion of budget items
budget/budget-items:read: Allows the reading of all budget items
budget/budget-items:write: Allows creation/updation of budget item
budget/budget-totals:read: Allows the reading of all event budget totals
budget/budget-vendors:read: Allows reading of account-level budget vendors.
budget/cards:read: Allows the reading of cards
budget/currency-conversion-rate:delete: Allows deletion of currency conversion rate for currency.
budget/currency-conversion-rate:read: Allows reading of currency conversion rate for currency.
budget/currency-conversion-rate:write: Allows creation/update of currency conversion rate for currency.
budget/payments:delete: Allows deletion of payments.
budget/payments:read: Allows reading of payment for budget item.
budget/payments:write: Allows creation of payment in a budget item.
budget/transactions:delete: Allows delete card transactions.
budget/transactions:read: Allows the reading of all card's transactions
budget/transactions:write: Allows creation of card transactions.
bulk/bulk-jobs:read: Allows the reading of bulk job related entities
bulk/bulk-jobs:write: Allows the creation, update and deletion of bulk job related entities
business-transient/bids:read: Allows the reading of Business Transient Bid data
business-transient/proposals:read: Allows the reading of Business Transient Proposal data
business-transient/supplier-brands:read: Allows the reading of a supplier brand or a list of travel supplier brands.
business-transient/supplier-chains:read: Allows the reading of a travel supplier chain or a list of travel supplier
chains.
business-transient/supplier-properties:read: Allows the reading of a travel supplier property or a list of travel
supplier properties.
business-transient/supplier-property-rooms:read: Allows the reading of a list of travel supplier property rooms.
business-transient/travel-accounts:read: Allows the reading of business transient travel account data.
business-transient/travel-program-questions:read: Allows the reading of business transient travel program question
data.
business-transient/travel-programs:read: Allows the reading of business transient travel program data.
business-transient/travel-supplier-accounts:read: Allows the reading of business transient travel supplier account
data.
business-travel/bids:read: Allows the reading of Business Travel Bid data
business-travel/proposals:read: Allows the reading of Business Travel Proposal data
business-travel/travel-accounts:read: Allows the reading of business travel account data.
business-travel/travel-program-questions:read: Allows the reading of business travel program question data.
business-travel/travel-programs:read: Allows the reading of business travel program data.
compliance/communications:read: Allows the reading of communication compliance
compliance/communications:write: Allows the writing of communication compliance
email/bounces:read: Allow the reading of email bounces.
email/email-status:read: Allows the reading of email statuses.
email/emails:read: Allows the reading of emails.
eMarketing/campaigns:read: Allows the reading of campaigns.
emarketing/emarketing-email-status:read: Allows the reading of eMarketing email statuses.
eMarketing/eMarketing-email-templates:read: Allows the reading of email-templates.
eMarketing/eMarketing-send-emails:write: Allows the writing of eMarketing emails.
event/admission-items:read: Allows the reading of admission items
event/air-request:read: Allow reading the air request or air actual detail for attendees.
event/alternate-travel:read: Allow reading the alternate travel answers for attendees.
event/attendance-durations:read: Allows the read of Duration records
event/attendee-activities-metadata:delete: Allows the deletion of attendees activities metadata.
event/attendee-activities-metadata:read: Allows the reading of attendee activities metadata.
event/attendee-activities-metadata:write: Allows the creation/updating of attendees activities metadata.
event/attendee-activities:read: Allows the reading of attendee activities.
event/attendee-activities:write: Allows the writing of external attendee activities.
event/attendee-credits:read: Allows the reading of attendee credits.
event/attendee-links:delete: Allows the deletion of attendee links
event/attendee-links:read: Allows the reading of attendee links
event/attendee-links:write: Allows the creation of attendee links
event/attendee-messages:read: Allows the reading of attendee messages
event/attendees:read: Allows the reading of attendees.
event/attendees:write: Allows the creation of an attendee in an event.
event/audience-segments:read: Allows the reading of audience segments.
event/audience-segments:write: Allows the creation/updating/deletion of audience segments.
event/contact-groups:read: Allows the reading of contact groups.
event/contact-groups:write: Allows the creation/updating of contact groups.
event/contact-types:read: Allows the reading of contact types.
event/contacts:delete: Allows the deletion of contacts.
event/contacts:read: Allows the reading of contacts.
event/contacts:write: Allows the creation/updating of contacts.
event/contacts:write-sensitive: Allows the creation/updating of sensitive data related to contacts.
event/custom-fields:read: Allows the reading of custom fields
event/custom-fields:write: Allows the writing of custom fields
event/discounts:write: Allows the writing of discounts
event/donation-items:read: Allows the reading of donation items.
event/event-discounts:read: Allows the reading of event discounts.
event/event-discounts:write: Allows the writing of event discounts.
event/event-email-status:read: Allows the reading of event email statuses.
event/event-emails:read: Allows the reading of event emails
event/event-emails:write: Allows to send event emails.
event/event-features:read: Allows the reading of events-features
event/event-features:write: Allows updating the event-features
event/event-user-groups:read: Allows the reading of user groups
event/event-user-groups:write: Allows associating/disassociating user groups to event
event/events:read: Allows the reading of events
event/events:write: Allows the creation/updating of events
event/fee-items:read: Allows the reading of fee items.
event/hotel-request:read: Allow reading the hotel request or housing reservation request detail for attendees.
event/invitation-lists:read: Allows the reading of the invitation lists for an event
event/meeting-request-forms:read: Allows the reading of meeting request forms.
event/meeting-requests:read: Allows the reading of meeting requests.
event/meeting-requests:write: Allows the creation/updating of meeting requests.
event/membership-items:read: Allows reading of membership items.
event/orders:read: Allows the reading of orders
event/planning-documents:read: Allows the reading of event planning documents
event/players:read: Allows the reading of players
event/process-form-submissions:read: Allows the reading of process form submissions.
event/program-items:delete: Allows deletion of session program items
event/program-items:read: Allows reading of session program items
event/program-items:write: Allows writing of session program items
event/quantity-items:read: Allows the reading of quantity items.
event/quantity-items:write: Allows the writing of quantity items
event/registration-paths:read: Allows the reading of registration paths
event/registration-types:read: Allows the reading of registration types
event/registration-types:write: Allows the writing of registration types
event/role-assignm
# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cvent/refs/heads/main/openapi/cvent-webhooks-api-openapi.yml