openapi: 3.2.0
info:
title: Cvent REST APIs — Event Cloud Bulk API
description: "Event Cloud scope of the Cvent REST APIs. This document is a TAG-SCOPED SUBSET of the OpenAPI specification Cvent publishes at https://github.com/cvent/rest-sdks/blob/main/cvent-public-spec/openapi.yaml (the source of truth for Cvent's official TypeScript/.NET/Java SDKs). Venue-sourcing, RFP, housing-supplier and travel-supplier tags were removed because they belong to Cvent Hospitality Cloud; every path, operation, parameter, schema and security requirement below is verbatim from Cvent's published spec.\n\n# Introduction\nThe Cvent API Platform is built around REST. We aim to provide intuitive endpoints that can be easily\ndiscovered to help leverage the Cvent platform for your event needs. The RESTful APIs outlined here\nuse JSON-encoded request and response format, along with HTTP codes, to convey processing status of\nrequests received. The Cvent resources are protected using OAuth2.\n\n# Getting Started\n\nIf you're new to the Cvent API Platform, start by reading our\n[Developer Quickstart](https://developers.cvent.com/docs/rest-api/tutorials/developer-quickstart) guide. This will\ngive you an overview of how to authenticate and make requests using our APIs.\n\n## Authentication\n\nThe Cvent REST API uses [OAuth2](https://oauth.net/2/) to authorize requests to the platform. The client\ncredentials authorization flow is supported.\n\n<a name=\"oauth2-auth-code-planner-admin\"></a>\n\nAuthorization code flow is only supported for planner users with the administrator role in Cvent. Developer users\ncannot use authorization code flow.\n\n<!-- ReDoc-Inject: <security-definitions> -->\n\nHere's an example of using client credential flow to authorize. You'll supply your application's id and secret to\nmake a [Token](#operation/oauth2Token) request.\n\n```bash\ncurl --location --request POST '{hostName}/{version}/oauth2/token' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n--header 'Authorization: Basic {api_credentials}' \\\n--data-urlencode 'grant_type=client_credentials' \\\n--data-urlencode 'client_id={client_id}'\n```\n\n| Key | Description | Value |\n| :---------------- | :--------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- |\n| {hostName} | https://api-platform.cvent.com | Location if your account is in the North American datacenter. |\n| | https://api-platform-eur.cvent.com | Location if your account is in the European data center. |\n| {version} | ea | The version of the API you're using. Only `ea` is currently supported. |\n| {api_credentials} | {client_id}:{client_secret} in base64 encoded format | Supply your client id & client credentials in a base 64 encoded format. |\n| {client_id} | Retrieved from your application | Your application's client id. |\n| {client_secret} | Retrieved from your application | Your application's client secret. |\n\nOn a successful call, you'll receive the following response:\n\n```json\n{\n \"access_token\": \"{accessToken}\",\n \"expires_in\": 3600,\n \"token_type\": \"Bearer\"\n}\n```\n\nThis bearer token is valid for 3600 seconds (60 minutes) and must be used in subsequent calls.\n\n## Endpoints\n\nEndpoints start with `hostName` and `version`.\n\nThe `hostname` will depend on the region that your Cvent account is hosted in. Please see the table\nbelow to identify which hostname you should be using.\n\n| Region |\tHostname |\n|:--------------|:-----------------------------------|\n| North America\t| https://api-platform.cvent.com |\n| Europe | https://api-platform-eur.cvent.com |\n\nThe current `version` of the Cvent API is `ea`.\n\n## Rate Limits\n\nCvent APIs enforce rate limits to ensure platform stability. Your limits depend on your tier: Free,\nStandard, or Premium.\n\n<br />\n\n### Usage Tiers\n\n| Tier | Daily Calls | Calls per Second | Max Burst |\n| -------- | ----------- | ---------------- | --------- |\n| Free | 1,000 | 2 | 1 |\n| Standard | 15,000 | 10 | 10 |\n| Premium | 500,000 | 25 | 25 |\n\n- **Daily calls** define how many requests you can make in a 24-hour period. Quota\n resets at 12 midnight (+0 GMT).\n- **Calls per second** define how many requests you can make in a 1-second window.\n- **Max Burst** defines how many requests you can make at once.\n\nIf you are unsure what usage tier applies to your account, you can check via\n[Get Current Usage Tier](#operation/getUsageTier).\n\nPlease note that these limits may change as the Cvent API Platform evolves.\n\n<br />\n\n### Handling Rate Limits\n\nSometimes, you may exceed your rate limits. When this happens, the API will return a `429 Too Many Requests`. See\n[handling rate limits](https://developers.cvent.com/docs/rest-api/guides/handling-rate-limits) for best practices on how to handle this.\n\n## Pagination\n\nSome APIs use pagination to manage records. Each page of records has a token associated to identify it.\n\nIf an API uses pagination, you’ll find up to three tokens in the response:\n- **currentToken**: Describes the token of the current page.\n- **nextToken**: Provides a token for the next page of records, if one exists.\n- **previousToken**: Provides a token for the previous page of records, if one exists. Not all APIs will return\n this token.\n\nYou specify which page of records to view via the `token` parameter in your API call. To navigate through pages,\ntake the `nextToken` or `previousToken` value and pass it to your next call’s `token` parameter to get the\nrespective page of records. For example, if you made this request:\n\n```bash\ncurl -X GET {hostname}/{version}/contacts?limit=100 \\\n-H 'Accept: application/json' \\\n-H 'Authorization: Bearer {accessToken}'\n```\n\nThe response contains a paging array where you'll find the token information.\n\n```json\n{\n \"paging\": {\n \"currentToken\": \"90c5f062-76ad-4ea4-aa53-00eb698d9262\",\n \"nextToken\": \"3b2359a7-4583-40ed-8afd-67e5f15373d3\",\n \"limit\": 100,\n \"totalCount\": 102,\n \"_links\": {...}\n },\n \"data\": [...]\n}\n```\n\nTake the `nextToken` and use it in the `token` parameter on your subsequent call.\n\n```bash\ncurl -X GET {hostname}/{version}/contacts?limit=100&token=3b2359a7-4583-40ed-8afd-67e5f15373d3 \\\n-H 'Accept: application/json' \\\n-H 'Authorization: Bearer {accessToken}'\n```\n\nWhen the response doesn’t contain a `nextToken` field, you’ve reached the last page. Occasionally, you might\nencounter an empty page at the end of results. This typically happens when the results were evenly divisible.\nEnsure your client code handles the possibility of receiving an empty data array when using the `nextToken`.\n\n## Filtering\n\nUse filters to narrow down results. The filter follows the pattern\n`filter='field' comparisonType 'value'`. The value can be enclosed with single\nquotes (') or double quotes (\").\n\n```bash\nGET {hostName}/{version}/contacts?filter=lastName eq 'Smith'\n````\n\nTo correctly pass a single quote in the filter's value, use double quotes around\nthe string.\n\n```bash\nGET {hostName}/{version}/contacts?filter=lastName eq \"O'Keenan\"\n```\n\nTo correctly pass a double quote in the filter's value, use double quotes around\nthe string and add an escape character `\\` to each quote that is part of the\nstring.\n\n```bash\nGET {hostName}/{version}/events?filter=eventName eq \"\\\"Yearly\\\" Conference\"\n```\n\n## Versioning\n\nChange is inevitable in API development. Planning for it is crucial. We track\nboth backward-compatible and backward-incompatible changes.\n\n<br />\n\n### Backward Compatible Changes\n\nBackward compatible changes will be made often and are intended to avoid\nany adverse impact on our customers. It is highly advisable that when reading\nJSON payloads from Cvent, you are able to handle \"unknown\" attributes that\ncan be added over time. We consider the following changes backward-compatible:\n\n- Adding new resources\n- Adding new optional request parameters to existing operations\n- Adding new attributes to requests or responses\n- Changing the length or format (not type) of resource identifiers. For example, an ID can change from\n \"1234/1234\" to \"1234::1234\".\n- Increasing the length of string fields\n\n<br />\n\n### Backward Incompatible Changes\n\nBackward-incompatible changes are made infrequently, however, they can be\ndisruptive to consumers. Due to this, our APIs are versioned to avoid\ndisruptions to customers. We leverage a URI-based versioning scheme,\nwhich means that a version value is included in the Cvent API URL.\nWhen breaking changes occur, a new version of the API is made available\nwhile the existing version is deprecated but remains available for a\nlimited period of time. We consider the following backward-incompatible changes:\n\n- Adding a new required parameter (query string param or payload attribute)\n- Deleting API resources\n- Deleting any attribute from API responses\n- Changing the data type on any parameter or attribute\n\n## Standards\nAs you begin working with our APIs, it's essential to be aware of standards around\ncountry codes, time formats, and other important details that ensure smooth integration.\nLearn more about our [API Standards](https://developers.cvent.com/docs/rest-api/reference/api-standards)\n"
contact:
name: Cvent Development Platform
url: https://developers.cvent.com/
version: ea
servers:
- url: https://api-platform.cvent.com/ea
- url: https://api-platform-eur.cvent.com/ea
tags:
- name: Bulk
description: 'The Bulk API provides a simple interface to upload large amounts of data into Cvent. The API processes the uploaded data asynchronously making API calls on behalf of the caller.
Consumers of the bulk API will do the following:
* [Create a bulk job](#operation/createBulkJob) with or without data
* *(Optional)* If a bulk job was created without data, then [upload bulk job data](#operation/uploadBulkJobData) as many times as needed
* *(Optional)* [Run bulk job](#operation/runBulkJob)
* Use [get bulk job](#operation/getBulkJobById) to track status
* Use [list bulk job results](#operation/listBulkJobResult) to get details of items uploaded
For more details, see the [Bulk Job User Guide](https://developers.cvent.com/docs/rest-api/guides/bulk-api-user-guide).
**Note:** These bulk jobs have a TTL and will expire once they are complete or never ran. Bulk jobs will expire
1 week after creation, and this one week is refreshed when data is uploaded and the job is run. The Bulk Job
will be available for 1 week after completion to get results. Right now we do NOT support bulk GET requests.
'
paths:
/bulk-jobs:
post:
summary: Create Bulk Job
description: 'Creates a bulk job.
**Note:** When creating a bulk job you can optionally include the data in the create request.
If data is supplied the job will be started and there is no need to call the [run bulk job](#operation/runBulkJob) endpoint.
If data is NOT supplied then the [upload bulk job data](#operation/uploadBulkJobData) endpoint can be called
to upload data and then using [run bulk job](#operation/runBulkJob).
In addition, if data is supplied and your account has reached its limit for concurrently running bulk jobs,
the job will not be created.
'
operationId: createBulkJob
tags:
- Bulk
security:
- OAuth2.clientCredentials:
- bulk/bulk-jobs:write
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/bulk-job-with-data'
responses:
'201':
description: The bulk job has been created.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/bulk-job-with-data'
'400':
$ref: '#/components/responses/BadRequest24'
'401':
$ref: '#/components/responses/Unauthorized24'
'403':
$ref: '#/components/responses/Forbidden24'
'409':
$ref: '#/components/responses/JobLimitExceeded'
'429':
$ref: '#/components/responses/TooManyRequests24'
deprecated: false
/bulk-jobs/{id}:
parameters:
- $ref: '#/components/parameters/uuid1'
get:
summary: Get Bulk Job
description: Gets a bulk job by its identifier.
operationId: getBulkJobById
tags:
- Bulk
security:
- OAuth2.clientCredentials:
- bulk/bulk-jobs:read
responses:
'200':
description: Successfully retrieved a bulk job.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/bulk-job'
'400':
$ref: '#/components/responses/BadRequest24'
'401':
$ref: '#/components/responses/Unauthorized24'
'403':
$ref: '#/components/responses/Forbidden24'
'404':
$ref: '#/components/responses/NotFound24'
'429':
$ref: '#/components/responses/TooManyRequests24'
/bulk-jobs/{id}/cancel:
parameters:
- $ref: '#/components/parameters/uuid1'
post:
summary: Cancel Bulk Job
description: Cancels the bulk job. The job will stop processing after it finishes processing its current batch, if any.
operationId: cancelBulkJob
tags:
- Bulk
security:
- OAuth2.clientCredentials:
- bulk/bulk-jobs:write
responses:
'200':
description: Bulk job details with status that shows the job has been canceled.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/bulk-job'
'400':
$ref: '#/components/responses/BadRequest24'
'401':
$ref: '#/components/responses/Unauthorized24'
'403':
$ref: '#/components/responses/Forbidden24'
'404':
$ref: '#/components/responses/NotFound24'
'429':
$ref: '#/components/responses/TooManyRequests24'
/bulk-jobs/{id}/data:
parameters:
- $ref: '#/components/parameters/uuid1'
post:
summary: Upload Bulk Job Data
description: 'This will upload data to be processed by a bulk job. There is a limit on the number of records that
can be uploaded per call and this endpoint can be called multiple times before starting a job run.
Note: there is a maximum _total_ number of 50,000 records that can be uploaded for a job.
If you have a need for a greater limit, this can be increased for your account (up to a hard limit of 150,000)
by contacting Cvent support.
'
operationId: uploadBulkJobData
tags:
- Bulk
security:
- OAuth2.clientCredentials:
- bulk/bulk-jobs:write
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/bulk-data'
required: true
responses:
'200':
description: Information regarding the uploaded data
content:
application/json:
schema:
$ref: '#/components/schemas/bulk-data-upload-response'
'400':
$ref: '#/components/responses/BadRequest24'
'401':
$ref: '#/components/responses/Unauthorized24'
'403':
$ref: '#/components/responses/Forbidden24'
'404':
$ref: '#/components/responses/NotFound24'
'409':
$ref: '#/components/responses/DataLimitExceeded'
'429':
$ref: '#/components/responses/TooManyRequests24'
/bulk-jobs/{id}/results:
parameters:
- $ref: '#/components/parameters/uuid1'
get:
summary: List Bulk Job Result
description: 'Used to list the results of a bulk job.
**Note:** A bulk job is designed to wrap individual, non-batch API operations. When a target operation
is itself batch in nature and returns a `207 Multi-Status` response, the `failed` flag on each result record
reflects only whether the target operation returned an HTTP error — it does not capture partial item-level
failures within the multi-status response body. For these operations, inspect each result record''s `data` field
to determine which items succeeded or failed.
'
operationId: listBulkJobResult
tags:
- Bulk
security:
- OAuth2.clientCredentials:
- bulk/bulk-jobs: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\nThese are the comparison types that can be used in filter expressions:\n* equal: eq\n* not equal: ne\n\nThe following fields are filterable:\n* failed (eq|ne)\n\n **Note:** this filters for the top-level HTTP status of the target operation.\n For operations that return 207 (Multi-Status), filter results may not capture all failed records.\n Inspect individual record statuses in the `data` field for a complete picture.\n"
schema:
type: string
example: failed eq "true"
responses:
'200':
description: Retrieved a paginated list of bulk responses.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/bulk-results-paginated-response'
'400':
$ref: '#/components/responses/BadRequest24'
'401':
$ref: '#/components/responses/Unauthorized24'
'403':
$ref: '#/components/responses/Forbidden24'
'404':
$ref: '#/components/responses/NotFound24'
'429':
$ref: '#/components/responses/TooManyRequests24'
/bulk-jobs/{id}/run:
parameters:
- $ref: '#/components/parameters/uuid1'
post:
summary: Run Bulk Job
description: "Begins the processing of data uploaded in a bulk job.\n\n **Note**: You can have a maximum of two bulk jobs running concurrently."
operationId: runBulkJob
tags:
- Bulk
security:
- OAuth2.clientCredentials:
- bulk/bulk-jobs:write
responses:
'200':
description: Bulk job details with status that shows the job has begun processing.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/bulk-job'
'400':
$ref: '#/components/responses/BadRequest24'
'401':
$ref: '#/components/responses/Unauthorized24'
'403':
$ref: '#/components/responses/Forbidden24'
'404':
$ref: '#/components/responses/NotFound24'
'409':
$ref: '#/components/responses/JobLimitExceeded'
'429':
$ref: '#/components/responses/TooManyRequests24'
components:
schemas:
UUIDProperty:
title: UUID Property
description: A string that has to be a format matching the industry standard uuid
type: string
format: uuid
example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
BulkResponseItem:
title: BulkResponseItem
description: Represents a single item that is returned as part of a Bulk request call.
type: object
required:
- status
- data
properties:
data:
type: object
description: The data returned for a single item in the bulk request call.
example:
event_id: 1234
attendee_count: 50
additionalProperties: true
status:
type: integer
description: http status code representing processing status of a single item
example: 400
message:
type: string
description: Quick description of what happened with processing
example: Example error message.
request:
type: object
description: The processed request tied to this response. This field is only sent when processing fails.
example:
operation: PUT
headers:
header1: header1Value
header2: header2Value
queryParams:
param1: param1Value
param2: param2Value
additionalProperties: true
additionalProperties: false
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
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'
bulk-data-upload-response:
title: BulkDataUploadResponse
description: The model representing the results of a bulk data upload
properties:
data:
$ref: '#/components/schemas/BulkDataLimitedList'
count:
type: integer
description: The number of successfully uploaded data records
example: 100
BulkDataProperty:
title: BulkDataProperty
description: Data Record envelope
type: object
required:
- dataRecord
properties:
pathParams:
description: Key-value pairs where a key identifies a labeled placeholders in the url (e.g. "/endpoint/{entityId}") and a value represents the value to substitute. Necessary if the target endpoint has path parameters. Values must NOT be null.
type: object
additionalProperties:
type: string
example:
id: 11111111-0dc3-487b-953e-86d6abbdf7d3
queryParams:
description: Query params specific to this data record to pass to the target endpoint. Entries merge with, and overlaps override, job-level queryParams. Values must NOT be null.
type: object
additionalProperties:
type: string
example:
param1: param1Value
param2: param2Value
headers:
type: object
description: Headers specific to this data record to pass to the target endpoint. Entries merge with, and overlaps override, job-level headers. Values must NOT be null.
additionalProperties:
type: string
example:
header1: header1Value
header2: header2Value
dataRecord:
$ref: '#/components/schemas/BulkDataRecord'
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
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.
bulk-results-paginated-response:
title: BulkResultsPaginationResponse
description: 'The response from a request to get the list of results from a Bulk Job run. This includes the paging object as well
as the collection of bulk results.'
required:
- data
type: object
properties:
paging:
$ref: '#/components/schemas/Paging'
data:
type: array
items:
$ref: '#/components/schemas/BulkResult'
description: Collection of bulk result objects.
bulk-job:
title: BulkJob
description: The model representing a bulk job that can load data asynchronously.
required:
- url
- operation
type: object
allOf:
- $ref: '#/components/schemas/Audit'
properties:
id:
type: string
format: uuid
description: Bulk job identifier
example: 766d1986-9aaa-454f-86f5-d605c45b3131
readOnly: true
description:
type: string
description: Description of the bulk job.
example: Q1 Contact Import
url:
type: string
description: URL of the destination public API being called. This can be the full path or the relative path to the entity. Variables in the URL should remain generic so that you can specify their value in each record with the `pathParams` field.
example: /contacts/{id}
operation:
enum:
- PUT
- POST
- PATCH
- DELETE
type: string
description: Operation to be performed in the destination API.
example: PUT
headers:
type: object
description: Headers to be passed on the destination API. Values must NOT be null.
additionalProperties:
type: string
example:
header1: header1Value
header2: header2Value
queryParams:
type: object
description: Query Params to be passed on to the destination API. Values must NOT be null.
additionalProperties:
type: string
example:
param1: param1Value
param2: param2Value
started:
type: string
format: date-time
description: The ISO 8601 zoned date time when the job started.
readOnly: true
example: '2017-01-02T02:00:00Z'
completed:
type: string
format: date-time
description: The ISO 8601 zoned date time when the job completed.
readOnly: true
example: '2017-01-02T02:30:00Z'
status:
enum:
- PENDING
- READY
- RUNNING
- CANCELED
- COMPLETED
- FAILED
type: string
description: The current status of the bulk job.
example: COMPLETED
readOnly: true
totalRecords:
type: integer
description: Total number of records uploaded for the bulk job.
example: 5000
readOnly: true
successful:
type: integer
description: Total number of records that were successfully processed by the bulk job.
example: 4950
readOnly: true
failed:
type: integer
description: Total number of records that were unsuccessfully processed by the bulk job.
example: 50
readOnly: true
bulk-data:
title: BulkData
description: The model representing an arbitrary list of JSON data loaded to bulk job.
properties:
data:
$ref: '#/components/schemas/BulkDataLimitedList'
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
BulkDataLimitedList:
title: BulkDataLimitedList
description: Collection of objects to be processed
type: array
maxItems: 1000
items:
$ref: '#/components/schemas/BulkDataProperty'
bulk-job-with-data:
title: BulkJobWithData
description: The model representing a bulk job that can load data asynchronously including the data
required:
- url
- operation
type: object
allOf:
- $ref: '#/components/schemas/bulk-job'
properties:
data:
$ref: '#/components/schemas/BulkDataLimitedList'
BulkResult:
title: BulkResult
description: This entity is used to represent a single item that is returned as part of a Bulk Job Result call.
allOf:
- $ref: '#/components/schemas/BulkResponseItem'
properties:
id:
type: integer
description: The bulk result identifier.
example: 1234
readOnly: true
job:
type: object
properties:
id:
$ref: '#/components/schemas/UUIDProperty'
description: Unique identifier of the bulk job linked to this result.
example:
id: 766d1986-9aaa-454f-86f5-d605c45b3131
readOnly: true
failed:
type: boolean
description: 'A `true` value indicates the target operation returned an HTTP error status code.
**Caution:** When the target operation returns a `207 Multi-Status` response, this flag will be `false` even when individual items within the response body indicate failure. For such operations, inspect the `data` field to determine which items succeeded or failed.'
example: true
data:
type: object
description: The response data for the bulk operation.
allOf:
- $ref: '#/components/schemas/BulkDataProperty'
BulkDataRecord:
title: BulkDataRecord
type: object
description: Arbitrary container to hold a JSON payload. The payload is the data you're sending, or the reply received when fetching results. For the request, this data must be structured in the way the API you're running a bulk job for accepts. For example, to bulk create sessions, you structure each of the `dataRecord` entries based on the format of the Create Session endpoint.
additionalProperties:
type: object
example:
event:
id: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
title: Day 1 Keynote Session
start: '2020-02-03T13:00:00.000Z'
end: '2020-02-07T17:00:00.000Z'
status: Active
Paging:
title: Paging
required:
- _links
type: object
description: Represents pagination information for a collection of resources.
properties:
previousToken:
type: string
# --- truncated at 32 KB (73 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cvent-event-cloud/refs/heads/main/openapi/cvent-event-cloud-bulk-api-openapi.yml