openapi: 3.2.0
info:
title: Cvent REST APIs — Event Cloud Campaigns 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: Campaigns
description: Planners use eMarketing campaigns to contact an audience, such as newsletters, press releases, or product updates. Campaign emails are used as newsletters, promotions, advertisements, or marketing messages. Use these APIs to send an email and get historical data about your campaigns.
paths:
/campaigns:
get:
summary: List eMarketing Campaigns
operationId: getCampaigns
description: Gets a list of eMarketing campaigns.
tags:
- Campaigns
security:
- OAuth2.clientCredentials:
- eMarketing/campaigns:read
- OAuth2.authorizationCode:
- eMarketing/campaigns:read
parameters:
- $ref: '#/components/parameters/before1'
- $ref: '#/components/parameters/after1'
- $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\n'OR' is not supported. Only 'AND' operator is supported.\n\nThe following comparison types can be used in filter expressions:\n * equal: eq\n * not equal: ne\n * greater or equal: ge\n * less than or equal: le\n\nThe following fields are filterable:\n * campaign.name (eq|ne)\n * campaign.id (eq|ne)\n * campaign.active (eq|ne)\n * created (eq|le|ge)\n * lastModified (eq|le|ge)\n"
schema:
type: string
example: campaign.active eq '1'
responses:
'200':
description: Successfully retrieved a paginated list of eMarketing campaigns.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/campaign-list-paginated-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'
/emarketing/campaigns/{campaignId}/email-templates:
get:
summary: List Email Templates
operationId: getEmailTemplates
description: Gets a list of eMarketing email templates.
tags:
- Campaigns
security:
- OAuth2.clientCredentials:
- eMarketing/eMarketing-email-templates:read
- OAuth2.authorizationCode:
- eMarketing/eMarketing-email-templates:read
parameters:
- $ref: '#/components/parameters/before1'
- $ref: '#/components/parameters/after1'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/campaignId'
- 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\n'OR' is not supported. Only 'AND' operator is supported.\n\nThe following comparison types can be used in filter expressions:\n * equal: eq\n\nThe following fields are filterable:\n * name (eq)\n * createdBy (eq)\n"
schema:
type: string
example: emailName eq 'Invitation'
responses:
'200':
description: Successfully retrieved a paginated list of email templates for a campaign.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/email-template-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'
/emarketing/emails:
post:
summary: Send Email To Recipients
operationId: sendEMarketingEmails
description: Sends an email to one or more eMarketing campaign recipients who are on the recipient list.
tags:
- Campaigns
security:
- OAuth2.clientCredentials:
- eMarketing/eMarketing-send-emails:write
- OAuth2.authorizationCode:
- eMarketing/eMarketing-send-emails:write
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/send-email-request'
responses:
'202':
description: Successfully sent the request(s) for processing.
content:
application/json:
schema:
$ref: '#/components/schemas/send-email-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'
/emarketing/emails/{emailRequestId}/status:
get:
summary: List Emarketing Email Status
operationId: getEmarketingEmailStatus
description: Gets the status of email using unique email request ID that was generated as a response of [Send Email To Recipients](#tag/Campaigns/operation/sendEMarketingEmails) request.
tags:
- Campaigns
security:
- OAuth2.clientCredentials:
- emarketing/emarketing-email-status:read
- OAuth2.authorizationCode:
- emarketing/emarketing-email-status:read
parameters:
- $ref: '#/components/parameters/emailRequestId'
responses:
'200':
description: Successfully retrieved a list of emarketing email send statuses associated with particular email request ID.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/send-email-emarketing-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'
components:
schemas:
send-email-response:
title: Send EMarketing Email Response
description: Response object containing a request ID and a list of all email responses sent to recipients.
type: object
required:
- requestId
- templateId
- recipientResponse
properties:
requestId:
type: string
format: uuid
description: The request ID for the eMarketing email send request.
example: 3A541E55-3367-4C50-B21B-B6A7613DFB23
templateId:
type: string
description: The template ID of the eMarketing email.
example: '12345'
recipientResponse:
type: array
minItems: 1
maxItems: 200
items:
$ref: '#/components/schemas/recipients-response.json'
description: List of responses specifying the status of email request for each recipient.
status:
$ref: '#/components/schemas/send-email-request-status.json'
description:
type: string
description: The description of the request status. If the `status` is `ERROR`, this field contains the reason for the failure.
example: Cannot send an email to inactive campaign(s).
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'
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
send-email-request:
title: Send EMarketing Email Request
description: Request object to send an email to one or more eMarketing campaign recipients.
required:
- templateId
- recipients
type: object
properties:
templateId:
type: string
description: The template ID of the eMarketing email to be sent.
example: '12345'
recipients:
type: array
minItems: 1
maxItems: 200
items:
$ref: '#/components/schemas/recipients-request.json'
description: Array of one or more recipients whom emails need to be sent.
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.
email-template-data.json:
title: Email Template Response
description: Response object to get email templates for an unique campaign.
allOf:
- title: EmailTemplateCommon
description: Email Template
type: object
allOf:
- $ref: '#/components/schemas/send-email-event-response/allOf/0/allOf/0'
properties:
name:
type: string
description: Name of the email template.
example: Invitation
subject:
type: string
description: Subject of the email template.
example: Email Template Testing
fromName:
type: string
description: Name of the sender.
example: Henry Potterfield
fromEmail:
type: string
description: The email address of the sender.
example: h.potterfield@test.com
plaintextBody:
type: string
description: Plain text body of the page in the email.
example: We’d love to hear your thoughts!\n\nPlease take a few minutes to let us know about your recent experience.\n\nStart Survey Now ({[RES-SURVEY URL]})
htmlBody:
type: string
description: html body of the page sent in the email
example: '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html><head><title></title></head><body style="margin:0;padding:0" id="body"><table ><tbody><tr><td align="center" bgcolor="#041532"><table ><tbody><tr><td align="center" bgcolor="#DDE2E6" style="padding-top:0;padding-bottom:0;padding-left:0;padding-right:0"><table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width:600px" class="wrapper"><tbody><tr><td><table><tbody><tr><td valign="top"><table><tbody><tr><td><table><tbody><tr><td bgcolor="transparent" style="padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px"><table><tbody><tr><td><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td>{[C-FIRST NAME]}, <br></td></tr> <tr><td>We’d love to hear your thoughts!</td></tr> </table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr><tr><td valign="top"><table border="0" cellpadding="0" cellspacing="0" width="100%" align="left" class="column"><tbody><tr><td><table border="0" cellpadding="0" cellspacing="0" width="100%" data-cvent-id="widget-NucleusText-widget:13ea36d2-1eb4-452f-ae17-9d582dbeb7eb"><tbody><tr><td bgcolor="transparent" style="padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px"><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><table><tr><td>Please take a few minutes to let us know about your recent experience.</td></tr> </table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr><tr><td valign="top"><table><tbody><tr><td><table><tbody><tr><td><table><tbody><tr><td >Start Survey Now</a></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr><tr><td valign="top"><table border="0" cellpadding="0" cellspacing="0" width="100%" align="left" class="column"><tbody><tr><td><table ><tbody><tr><td bgcolor="transparent" style="padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px"><table ><tbody><tr><td><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td style="font-size:16px;line-height:20px;font-family:Arial,Helvetica,sans-serif;color:#273F69;font-style:normal;font-weight:400;text-align:center; padding: 6px 0;">If you have any questions, feel free to email us at {[SUR-AUTHOR EMAIL]}.<br>Thank you,<br>{[SUR-AUTHOR COMPANY]} </td></tr> </table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr><tr><td valign="top"><table><tbody><tr><td><table><tbody><tr><td bgcolor="transparent" style="padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px"><table ><tbody><tr><td><table><tr><td>Click the link below to opt out of receiving emails from {[SUR-AUTHOR FIRST NAME]} {[SUR-AUTHOR LAST NAME]}.<br>{[EMAIL OPT OUT]} </td></tr> </table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr><tr><td><table><tbody><tr><td><table><tbody></tbody></table></td></tr></tbody></table></td></tr></tbody></table> ></td></tr></tbody></table></body></html>'
locale:
type: string
description: The locale of the email template using the IETF Language Tag format.
example: en-US
clickTrackingEnabled:
type: boolean
description: Enables tracking when respondent clicks on the email
example: true
replyToName:
type: string
description: Name of the person to reply to
example: Henry Potterfield
replyToEmail:
type: string
description: Email address to reply to
example: h.potterfield@test.com
properties:
id:
type: string
description: The ID of the eMarketing email.
example: '12345'
active:
type: boolean
description: True indicates the email will be active and can be sent.
example: true
send-email-event-response:
title: Send Event Email Response
description: Response object containing a request ID and a list of all email responses sent to attendees.
type: object
allOf:
- title: Send Email Response
description: Response object containing details of email send.
type: object
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
required:
- requestId
properties:
requestId:
type: string
format: uuid
description: The request ID for the email send request.
example: 3A541E55-3367-4C50-B21B-B6A7613DFB23
status:
$ref: '#/components/schemas/send-email-request-status.json'
description:
type: string
description: The description of the response. If the `status` is `ERROR`, this field contains the reason for the failure.
example: Cannot send an email from deleted event.
required:
- event
- email
- resendToPreviousRecipients
- attendeeResponse
properties:
event:
$ref: '#/components/schemas/event.json6'
email:
$ref: '#/components/schemas/email.json1'
resendToPreviousRecipients:
type: boolean
description: True indicates this email should be resent to attendees who had already received this email previously.
example: true
attendeeResponses:
type: array
minItems: 1
maxItems: 200
items:
$ref: '#/components/schemas/attendee-response.json'
description: List of responses specifying the status of email request for each attendee.
campaign-data.json:
title: Campaign Data
type: object
description: Campaign data model.
allOf:
- $ref: '#/components/schemas/send-email-event-response/allOf/0/allOf/0'
properties:
campaignId:
type: string
format: uuid
description: Unique ID of a campaign.
example: 2A941E55-3367-4C50-B21B-B6A7613DFB23
campaignName:
type: string
description: Name of the campaign.
example: Demo Campaign
active:
type: boolean
description: True indicates the campaign is active.
example: true
clickTrackingEnabled:
type: boolean
description: True indicates click tracking is enabled in the campaign.
example: true
companyName:
type: string
description: Name of the company who is organising the campaign.
example: Demo Company
fromName:
type: string
description: The name of the person on whose behalf the email will be sent.
example: Demo name
send-email-status.json:
title: Send Email Status
enum:
- Sent
- In-Progress
- Error
- Opted-Out
type: string
description: It is used to denote the status of the sent email.
example: Accepted
recipients-request.json:
title: Email Recipient Request
description: Recipient contains the recipient ID of a recipient.
required:
- id
type: object
properties:
id:
type: string
format: uuid
description: The ID of a recipient whom you'd like to send an email.
example: 9A641E55-3367-4C50-B21B-B6A7613DFB23
recipients-response.json:
title: Email Recipient Response
description: Response object indicating the status of send email request for a particular recipient.
required:
- id
- status
type: object
properties:
id:
type: string
format: uuid
description: The ID of the recipient you're emailing.
example: 9A641E55-3367-4C50-B21B-B6A7613DFB23
status:
$ref: '#/components/schemas/send-email-status.json'
errorMessage:
type: string
description: The error description describes the reason of a failed email.
example: Recipient does not exist.
campaign-list-paginated-response:
title: Campaign List Paginated Response
description: The response from a request to get the list
# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cvent-event-cloud/refs/heads/main/openapi/cvent-event-cloud-campaigns-api-openapi.yml