Cvent Compliance API
These API's provide compliance support for regulated industries.
These API's provide compliance support for regulated industries.
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-compliance-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 — Compliance
version: ea
description: 'These API''s provide compliance support for regulated industries.
**Communication Compliance** lets you view communication activities across your account for archival or analysis.
Various written forms of communication are captured. This includes: emails, SMS, session chats, exhibitor chats,
text discussions, 1:1 attendee messaging, group messaging, or push notifications.
'
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: Compliance
description: 'These API''s provide compliance support for regulated industries.
**Communication Compliance** lets you view communication activities across your account for archival or analysis.
Various written forms of communication are captured. This includes: emails, SMS, session chats, exhibitor chats,
text discussions, 1:1 attendee messaging, group messaging, or push notifications.
'
paths:
/logs/communications/configuration:
get:
summary: 'Get Communication Config
'
description: 'Gets communication compliance configuration for an account. For example, gets the communication types
enabled for an account.
'
operationId: getConfiguration
tags:
- Compliance
security:
- OAuth2.clientCredentials:
- compliance/communications:read
- OAuth2.authorizationCode:
- compliance/communications:read
responses:
'200':
description: Successfully retrieved the compliance configuration for the account
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationConfiguration'
'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'
put:
summary: 'Update Communication Config
'
description: 'Update the communication compliance configuration for an account. For example, configure which communication
types will be recorded in the communication log.
'
operationId: updateConfiguration
tags:
- Compliance
security:
- OAuth2.clientCredentials:
- compliance/communications:write
- OAuth2.authorizationCode:
- compliance/communications:write
requestBody:
description: 'Communication compliance configuration. For example, the list of communication types to be recorded
in the communication log.
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationConfiguration'
responses:
'200':
description: Successfully updated the compliance configuration for the account.
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationConfiguration'
'201':
description: Successfully inserted the compliance configuration for the account
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationConfiguration'
'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'
/logs/communications/messages:
get:
summary: 'List Communication
'
description: "Gets a paginated list of communication log messages from your account. The filter is not required. If\
\ no filter\nis provided then the API will return communication log messages of all types between the specified dates.\n\
\nSupported types are:\n * `email`\n * `chat` (session chats, exhibitor chats, text discussions, 1:1 messaging (attendees),\
\ group messaging (groups))\n * `session_qa`\n"
operationId: getCommunicationLogMessages
parameters:
- $ref: '#/components/parameters/after'
- $ref: '#/components/parameters/before'
- $ref: '#/components/parameters/limit2'
- $ref: '#/components/parameters/token'
- name: filter
in: query
required: false
schema:
type: string
example: type eq 'email'
description: 'A filter query string narrows search results results and supports the combination of logical and comparison
operators.
The filter adheres to the pattern filter=''field'' comparisonType ''value''.
There is one comparison type that can be used in filter expressions:
* equal: eq
The following fields are filterable:
* type (eq)
'
tags:
- Compliance
security:
- OAuth2.clientCredentials:
- compliance/communications:read
- OAuth2.authorizationCode:
- compliance/communications:read
responses:
'200':
description: Successfully retrieved a paginated list of communication log messages.
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationLogMessagePaginatedResponse'
'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'
/logs/communications/messages/filter:
post:
summary: 'List Communication
'
description: "Gets a paginated list of communication log messages from your account. The filter in the request body\
\ is not required. If no filter\nis provided then the API will return communication log messages of all types between\
\ the specified dates.\n\nSupported types are:\n * `email`\n * `chat` (session chats, exhibitor chats, text discussions,\
\ 1:1 messaging (attendees), group messaging (groups))\n * `session_qa`\n"
operationId: filterCommunicationLogMessages
parameters:
- $ref: '#/components/parameters/after'
- $ref: '#/components/parameters/before'
- $ref: '#/components/parameters/limit2'
- $ref: '#/components/parameters/token'
tags:
- Compliance
security:
- OAuth2.clientCredentials:
- compliance/communications:read
- OAuth2.authorizationCode:
- compliance/communications:read
requestBody:
description: "A filter string passed in the body of the request, narrows search results and supports the combination\
\ of logical and comparison operators.\nThe filter adheres to the pattern filter='field' comparisonType 'value'.\n\
\nThere is one comparison type that can be used in filter expressions:\n * equal: eq\n\nThe following fields are\
\ filterable:\n * type (eq)\n"
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/filter'
example:
filter: type eq 'email'
responses:
'200':
description: Successfully retrieved a paginated list of communication log messages.
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationLogMessagePaginatedResponse'
'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'
components:
schemas:
attendee.json:
title: Attendee
description: Attendee details
required:
- id
properties:
id:
type: string
description: A Cvent attendee.
format: uuid
example: 6dc0fe3d-4d1c-4bc6-af22-7d9126388388
chat-action-type.json:
type: string
description: The user action that just occurred
enum:
- message.created
- message.updated
- message.deleted
- reaction.created
- reaction.deleted
example: message.created
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'
filter:
title: A filter sent in the body of a request
description: A filter which is sent through the body of the request.
type: object
properties:
filter:
type: string
example: property eq 'value'
description: Filter included in the request.
chat-type.json:
type: string
description: The chat type
enum:
- session
- exhibitor
- discussion
- attendee
- group
example: session
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
CommunicationLogMessagePaginatedResponse:
title: CommunicationLogMessagePaginatedResponse
description: A single page of communication log messages
required:
- data
- paging
type: object
properties:
paging:
$ref: '#/components/schemas/paging.json'
data:
type: array
items:
$ref: '#/components/schemas/communication-log-message.json'
description: Collection of communication log messages.
CommunicationConfiguration:
title: CommunicationConfiguration
required:
- enabledMessageTypes
description: Communication compliance settings e.g. Configure which communication types will be tracked and logged for
this account.
type: object
properties:
enabledMessageTypes:
type: array
items:
$ref: '#/components/schemas/communication-log-message-type.json'
uniqueItems: true
description: The list of message types that communication compliance is enabled for.
session-qa-action-type.json:
type: string
description: "The user action that just occurred.\n `question.asked` - A question was asked.\n `question.upvoted` -\
\ A question was upvoted.\n `question.statusUpdated` - The status of a question was updated.\n `question.answered`\
\ - Either question was answered or the earlier provided answer was updated.\n `answer.deleted` - An answer was deleted."
enum:
- question.asked
- question.upvoted
- question.statusUpdated
- question.answered
- answer.deleted
example: question.asked
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'
chat-message-details.json:
title: ChatMessageDetails
description: Chat message details such as the ID of this message
required:
- id
properties:
id:
type: string
description: The message ID within the messaging system.
example: 6dc0fe3d-4d1c-4bc6-af22-7d9126388388
textHtml:
type: string
description: The HTML content of the chat message.
example: Great presentation today!
communication-log-message.json:
title: CommunicationLogMessage
description: A communication log message.
type: object
required:
- id
- type
- created
- message
properties:
id:
type: string
format: uuid
description: The unique ID of the communication log message.
example: ed36e3de-7b34-4c38-91f6-ecb9c24a3dcd
readOnly: true
type:
$ref: '#/components/schemas/communication-log-message-type.json'
created:
example: '2019-07-15T09:00:39Z'
type: string
format: date-time
description: The ISO 8601 zoned date time when this record was created.
readOnly: true
tags:
type: object
description: Key/value pairs used for searching/filtering messages.
additionalProperties:
type: string
example:
eventId: 11111111-0dc3-487b-953e-86d6abbdf7d3
message:
description: An object that contains the message itself or a link to the message allowing it to be downloaded
type: object
oneOf:
- title: EmailMessage
description: An email message
allOf:
- title: Message
description: The communication message.
type: object
required:
- link
properties:
link:
description: A link to a stored email message.
type: string
format: uri
example: https://compliance.cvent.com/link/to/an/email
- title: ChatMessage
description: A chat message
allOf:
- $ref: '#/components/schemas/communication-log-message.json/properties/message/oneOf/0/allOf/0'
type: object
required:
- actionType
- attendee
- chatType
- message
properties:
actionType:
$ref: '#/components/schemas/chat-action-type.json'
chatType:
$ref: '#/components/schemas/chat-type.json'
attendee:
$ref: '#/components/schemas/attendee.json'
message:
$ref: '#/components/schemas/chat-message-details.json'
parentMessage:
$ref: '#/components/schemas/chat-message-details.json'
reaction:
$ref: '#/components/schemas/chat-reaction.json'
channel:
$ref: '#/components/schemas/channel.json'
- title: SessionQaMessage
description: A session question answer message
allOf:
- $ref: '#/components/schemas/communication-log-message.json/properties/message/oneOf/0/allOf/0'
required:
- actionType
- attendee
- question
properties:
actionType:
$ref: '#/components/schemas/session-qa-action-type.json'
attendee:
$ref: '#/components/schemas/attendee.json'
question:
$ref: '#/components/schemas/question.json'
attachments:
type: array
description: A collection of attachments that are associated with this message.
items:
$ref: '#/components/schemas/attachment.json'
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
attachment.json:
title: Attachment
description: A message attachment.
type: object
required:
- link
properties:
link:
description: A link to the attachment allowing it to be downloaded
type: string
format: uri
example: https://foo.com/a/picture/of/a/cat.jpg
chat-reaction.json:
title: ChatReaction
description: A reaction to a message
required:
- type
properties:
type:
type: string
description: The reaction type if the action type was one of the reaction.created or reaction.deleted.
example: lol
question.json:
title: Question
description: Question details
required:
- id
properties:
id:
type: string
description: The question ID.
format: uuid
example: 2385098a-ab4e-4e06-b3b7-487cad288587
text:
type: string
description: The question text.
example: Sample question?
status:
type: string
description: The status of the question.
example: approved
anonymous:
type: boolean
description: Whether question is asked anonymously.
example: true
answer:
type: string
description: The answer text.
example: Sample answer.
channel.json:
title: Channel
description: The channel details associated with the chat.
required:
- id
properties:
id:
type: string
description: The channel ID associated with the chat.
example: '!members-l_YMstmzbS4lmlS0rQ3XexWJSdQwyEfsCHP1zrSd4uM'
communication-log-message-type.json:
title: Communication log messsage type
description: The type of communication log message.
type: string
enum:
- email
- chat
- session_qa
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:
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
limit2:
in: query
name: limit
description: The maximum number of records to return per page.
schema:
type: integer
default: 100
minimum: 1
maximum: 100
example: 100
responses:
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
Unauthorized1:
description: Bad or expired token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse-12'
example:
code: 401
message: Unauthorized
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
# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cvent/refs/heads/main/openapi/cvent-compliance-api-openapi.yml