Cvent Travel Suppliers API
The Travel Supplier APIs provide access to Cvent data related to hotels, apartments, and other travel providers. This includes information related to properties, and sleeping rooms.
The Travel Supplier APIs provide access to Cvent data related to hotels, apartments, and other travel providers. This includes information related to properties, and sleeping rooms.
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-travel-suppliers-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 — Travel Suppliers
version: ea
description: The Travel Supplier APIs provide access to Cvent data related to hotels, apartments, and other travel providers.
This includes information related to properties, and sleeping rooms.
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: Travel Suppliers
description: The Travel Supplier APIs provide access to Cvent data related to hotels, apartments, and other travel providers.
This includes information related to properties, and sleeping rooms.
paths:
/travel-suppliers/brands:
parameters: []
get:
description: Gets a paginated list of supplier brands.
tags:
- Travel Suppliers
operationId: PropertyApiListBrands
summary: List Supplier Brands
security:
- OAuth2.clientCredentials:
- business-transient/supplier-brands:read
parameters:
- $ref: '#/components/parameters/after'
- $ref: '#/components/parameters/before'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/token'
- $ref: '#/components/parameters/brand-filter'
responses:
'200':
description: Successfully retrieved a paginated list of supplier brands.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/brand-paginated-response'
'400':
$ref: '#/components/responses/BadRequest1'
'401':
$ref: '#/components/responses/Unauthorized1'
'403':
$ref: '#/components/responses/Forbidden1'
'429':
$ref: '#/components/responses/TooManyRequests1'
/travel-suppliers/brands/{brandId}:
parameters:
- $ref: '#/components/parameters/brandId'
get:
description: Get a supplier brand by brand code.
tags:
- Travel Suppliers
operationId: PropertyApiGetBrand
summary: Get Supplier Brand
security:
- OAuth2.clientCredentials:
- business-transient/supplier-brands:read
parameters: []
responses:
'200':
description: Successfully retrieved a brand.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/brand'
'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'
/travel-suppliers/chains:
parameters: []
get:
description: Gets a paginated list of supplier chains.
tags:
- Travel Suppliers
operationId: PropertyApiListChains
summary: List Supplier Chains
security:
- OAuth2.clientCredentials:
- business-transient/supplier-chains:read
parameters:
- $ref: '#/components/parameters/after'
- $ref: '#/components/parameters/before'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/token'
- $ref: '#/components/parameters/chain-filter'
responses:
'200':
description: Successfully retrieved a paginated list of chains.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/chain-paginated-response'
'400':
$ref: '#/components/responses/BadRequest1'
'401':
$ref: '#/components/responses/Unauthorized1'
'403':
$ref: '#/components/responses/Forbidden1'
'429':
$ref: '#/components/responses/TooManyRequests1'
/travel-suppliers/chains/{chainId}:
parameters:
- $ref: '#/components/parameters/chainId'
get:
description: Get a supplier chain by chain ID.
tags:
- Travel Suppliers
operationId: PropertyApiGetChain
summary: Get Supplier Chain
security:
- OAuth2.clientCredentials:
- business-transient/supplier-chains:read
parameters: []
responses:
'200':
description: Successfully retrieved a chain.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/chain'
'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'
/travel-suppliers/properties:
parameters: []
get:
description: Gets a paginated list of supplier properties.
tags:
- Travel Suppliers
operationId: PropertyApiListProperties
summary: List Supplier Properties
security:
- OAuth2.clientCredentials:
- business-transient/supplier-properties:read
parameters:
- $ref: '#/components/parameters/after'
- $ref: '#/components/parameters/before'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/token'
- $ref: '#/components/parameters/property-filter'
responses:
'200':
description: Successfully retrieved a paginated list of supplier properties.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/property-paginated-response'
'400':
$ref: '#/components/responses/BadRequest1'
'401':
$ref: '#/components/responses/Unauthorized1'
'403':
$ref: '#/components/responses/Forbidden1'
'429':
$ref: '#/components/responses/TooManyRequests1'
/travel-suppliers/properties/{propertyId}:
parameters:
- $ref: '#/components/parameters/propertyId1'
get:
description: Get a supplier property by ID.
tags:
- Travel Suppliers
operationId: PropertyApiGetProperty
summary: Get Supplier Property
security:
- OAuth2.clientCredentials:
- business-transient/supplier-properties:read
parameters: []
responses:
'200':
description: Successfully retrieved a property.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/property'
'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'
/travel-suppliers/property-rooms:
parameters: []
get:
description: Gets a paginated list of supplier property rooms.
tags:
- Travel Suppliers
operationId: BtApiGetPropertyRooms
summary: List Supplier Property Rooms
security:
- OAuth2.clientCredentials:
- business-transient/supplier-property-rooms:read
parameters:
- $ref: '#/components/parameters/after'
- $ref: '#/components/parameters/before'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/token'
- $ref: '#/components/parameters/property-room-filter'
responses:
'200':
description: Successfully retrieved a paginated list of property rooms.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/property-room-paginated-response'
'400':
$ref: '#/components/responses/BadRequest1'
'401':
$ref: '#/components/responses/Unauthorized1'
'403':
$ref: '#/components/responses/Forbidden1'
'429':
$ref: '#/components/responses/TooManyRequests1'
/travel-suppliers/property-rooms/{roomId}:
parameters:
- $ref: '#/components/parameters/roomId'
get:
description: Read supplier property room data by room ID.
tags:
- Travel Suppliers
operationId: PropertyApiGetPropertyRoom
summary: Get Supplier Property Room
security:
- OAuth2.clientCredentials:
- business-transient/supplier-property-rooms:read
parameters: []
responses:
'200':
description: Successfully retrieved a property room.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/property-room'
'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'
components:
schemas:
brand-paginated-response:
title: Brand paginated response
description: A list of brands.
type: object
properties:
paging:
$ref: '#/components/schemas/paging.json'
data:
type: array
items:
$ref: '#/components/schemas/brand'
description: Collection of brands and their related details.
external-code-type.json:
title: External Code Type
enum:
- amadeus_gds
- worldspan_gds
- galileo_gds
- sabre_gds
- crs
type: string
description: Type of the external Code.
example: amadeus
property-external-code.json:
title: Property External Codes
description: The external chain and property codes for the property
type: object
properties:
type:
$ref: '#/components/schemas/external-code-type.json'
chainCode:
type: string
maxLength: 6
example: NH
description: The code identifying the property's chain in the given external system.
propertyCode:
type: string
maxLength: 15
example: GH1
description: The code identifying a property in the given external system.
property-room-external-code.json:
title: Property Room External Code
description: The external room codes for the room
type: object
properties:
type:
$ref: '#/components/schemas/external-code-type.json'
roomCode:
type: string
maxLength: 10
example: std887
description: The code identifying the room in the given external system.
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'
property-paginated-response:
title: Property paginated response
description: A list of properties.
type: object
properties:
paging:
$ref: '#/components/schemas/paging.json'
data:
type: array
items:
$ref: '#/components/schemas/property'
description: Collection of properties and their related details.
chain:
title: Chain
description: Chain details.
type: object
allOf:
- $ref: '#/components/schemas/property/allOf/0'
properties:
id:
title: Chain ID
description: The ID of the chain.
type: string
format: uuid
example: 415079ab-4bee-491e-84ad-c2379f840379
name:
type: string
description: The name of the travel supplier chain.
maxLength: 50
example: Northern Hotels
code:
type: string
maxLength: 6
description: The code identifying the travel supplier chain.
example: NH
brand:
description: The brand that the chain belongs to.
type: object
properties:
id:
title: Brand ID
description: The ID of the brand that the chain belongs to.
type: string
example: NorthernHotels
address:
$ref: '#/components/schemas/address.json'
deleted:
type: boolean
description: True indicates the chain is deleted.
default: false
example: false
readOnly: true
room-bed-type.json:
title: Room bed type
enum:
- sofa_bed
- double
- full
- king
- murphy
- queen
- run_of_house
- single
- twin
type: string
description: Code representing the bed type.
example: queen
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
chain-paginated-response:
title: Chain paginated response
description: A list of chains.
type: object
properties:
paging:
$ref: '#/components/schemas/paging.json'
data:
type: array
items:
$ref: '#/components/schemas/chain'
description: Collection of chains and their related details.
property:
title: property
description: Details of the property
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
properties:
id:
title: Property ID
description: The ID of the property.
type: string
format: uuid
example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
name:
type: string
maxLength: 50
example: The Grand Property
description: The name of the property.
chain:
description: The chain that the property belongs to.
type: object
properties:
id:
title: Chain ID
description: The ID of the chain.
type: string
format: uuid
example: 415079ab-4bee-491e-84ad-c2379f840379
brand:
description: The brand that the property belongs to.
type: object
properties:
id:
title: Brand ID
description: The ID of the brand.
type: string
example: NorthernHotels
code:
type: string
maxLength: 15
example: GH101
description: The property code for the property.
deleted:
type: boolean
description: True indicates that the property is deleted.
default: false
example: false
readOnly: true
currencyCode:
type: string
minLength: 3
maxLength: 3
default: USD
example: USD
description: The ISO 4217 standard format currency code specified for the property.
address:
$ref: '#/components/schemas/address.json'
externalCodes:
type: array
items:
$ref: '#/components/schemas/property-external-code.json'
description: Collection of external codes for a property. This includes GDS nd other codes used to identify a property
in external systems.
maxItems: 5
property-room-paginated-response:
title: Property room paginated response
description: A list of property sleeping rooms.
type: object
properties:
paging:
$ref: '#/components/schemas/paging.json'
data:
type: array
items:
$ref: '#/components/schemas/property-room'
description: Collection of property rooms and related details.
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'
brand:
title: Brand
description: Brand details.
type: object
allOf:
- $ref: '#/components/schemas/property/allOf/0'
properties:
id:
type: string
maxLength: 16
description: The ID of the travel supplier brand.
example: NorthernHotels
name:
type: string
description: The name of the travel supplier brand.
maxLength: 50
example: Northern Hotel Group
address:
$ref: '#/components/schemas/address.json'
deleted:
type: boolean
description: True indicates the brand is deleted.
default: false
example: false
readOnly: false
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
address.json:
title: Address
description: A physical address.
type: object
properties:
address1:
description: Address line 1.
type: string
maxLength: 45
example: 717 N Harwood St
address2:
description: Address line 2.
type: string
maxLength: 45
example: Suite 2800
city:
description: City name.
type: string
maxLength: 50
example: Dallas
region:
description: Region name.
type: string
maxLength: 50
example: Texas
regionCode:
description: Region code.
type: string
maxLength: 3
example: TX
postalCode:
description: Postal code.
type: string
maxLength: 16
example: '75201'
country:
description: Country name.
type: string
maxLength: 50
example: United States
countryCode:
description: ISO 3166 alpha-2 country code.
type: string
maxLength: 2
minLength: 2
example: US
property-room:
title: Property Room
description: Property room details.
type: object
allOf:
- $ref: '#/components/schemas/property/allOf/0'
properties:
id:
title: Property Room ID
description: The ID of the property room.
type: string
format: uuid
example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
name:
type: string
description: The name of the property room.
maxLength: 30
example: Standard
code:
type: string
maxLength: 6
description: Room code of the property room.
example: std
property:
description: The property that the room belongs to.
type: object
properties:
id:
title: property ID
description: The ID of the property.
type: string
format: uuid
example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
deleted:
type: boolean
description: True indicates the property room is deleted.
default: false
example: false
readOnly: true
bedTypeCode:
$ref: '#/components/schemas/room-bed-type.json'
numberOfBeds:
type: integer
description: The number of beds in the room.
example: 2
capacity:
type: integer
description: Maximum capacity of people that can sleep in the room.
example: 6
description:
type: string
maxLength: 2000
description: A description of the room.
example: A standard room with two queen beds.
externalCodes:
type: array
items:
$ref: '#/components/schemas/property-room-external-code.json'
description: Collection of external codes for the room. This includes GDS and other codes used to identify a room
in external systems.
maxItems: 5
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.
responses:
NotFound1:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse-12'
example:
code: 404
message: Not found
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
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'
property-filter:
name: filter
in: query
required: false
description: 'A filter query string narrows search results and supports the combination of logical and comparison operators.
The filter adheres to the pattern filter=''field'' comparisonType ''value''.
There are eight comparison types that can be used in filter expressions:
* equal: eq
* not equal: ne
* greater than: gt
* greater or equal: ge
* less than: lt
* less than or equal: le
* starts with: sw
* contains a value: contains
The following fields are filterable:
* id (eq|ne)
* name (eq|ne|sw|contains)
* code (eq|ne)
* brand.id (eq|ne|contains)
* chain.id (eq|ne)
* created (eq|ne|lt|le|gt|ge)
* lastModified (eq|ne|lt|le|gt|ge)
'
schema:
type: string
example: code eq ABC123
brand-filter:
name: filter
in: query
required: false
description: 'A filter query string narrows search results and supports the combination of logical and comparison operators.
The filter adheres to the pattern filter=''field'' comparisonType ''value''.
There are eight comparison types that can be used in filter expressions:
* equal: eq
* not equal: ne
* greater than: gt
* greater or equal: ge
* less than: lt
* less than or equal: le
* starts with: sw
* contains a value: contains
The following fields are filterable:
* id (eq|ne|contains)
* name (eq|ne|sw|contains)
'
schema:
type: string
example: name eq AB
chainId:
description: The ID of the chain.
name: chainId
required: true
in: path
schema:
title: Chain ID
type: string
format: uuid
example: 0ab9e863-a748-457f-81cd-f294ff66f5e6
propertyId1:
description: The ID of the property.
name: propertyId
required: true
in: path
schema:
title: property ID
type: string
format: uuid
example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
brandId:
description: The ID of the brand.
name: brandId
required: true
in: path
schema:
title: Brand Code
type: string
example: NorthernHotels
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'
property-room-filter:
name: filter
in: query
required: false
description: 'A filter query string narrows search results and supports the combination of logical and comparison operators.
The filter adheres to the pattern filter=''field'' comparisonType ''value''.
There are eight comparison types that can be used in filter expressions:
* equal: eq
* not equal: ne
* greater than: gt
* greater or equal: ge
* less than: lt
* less than or equal: le
* starts with: sw
* contains a value: contains
The following fields are filterable:
* id (eq|ne)
* name (eq|ne|sw|contains)
* code (eq|ne)
* property.id (eq|ne)
* created (eq|ne|lt|le|gt|ge)
* lastModified (eq|ne|lt|le|gt|ge)
'
schema:
type: string
example: code eq dlx
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
roomId:
description: The ID of the property room.
name: roomId
required: true
in: path
schema:
title: Property Room ID
type: string
format: uuid
example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
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
chain-filter:
name: filter
in: query
required: false
description: 'A filter query string narrows search results and supports the combination of logical and comparison operators.
The filter adheres to the pattern filter=''field'' comparisonType ''value''.
There are eight comparison types that can be used in filter expressions:
* equal: eq
* not equal: ne
* greater than: gt
* greater or equal: ge
* less than: lt
* less than or equal: le
* starts with: sw
* contains a value: contains
The following fields are filterable:
* id (eq|ne)
* name (eq|ne|sw|contains)
* code (eq|ne)
* brand.id (eq|ne|contains)
'
schema:
type: string
example: code eq NH
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.
# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cvent/refs/heads/main/openapi/cvent-travel-suppliers-api-openapi.yml