Introduction
The EventTemple API fully complies with the JSON:API Specification .
Authentication Using API Keys
When using API keys to authenticate with the EventTemple API, pass the organization
ID and API key via the specified headers.
Obtaining Your Org ID
Visit one of the two links below and find the Org ID of the organization you'd
like to use for your requests.
Your current organization settings ,
at the top of the page.
Your organization list .
Obtaining Your API Key
View or create new API keys here .
Header
Required
Description
X-Api-Org
true
An identifier that is specific to an organization.
X-Api-Key
true
A key that is specific to a user.
JSON:API Query Parameters
Include
Include resources through relationships with dots (.
)
and specify multiple includes with commas (,
).
https://api.eventtemple.com/v2/events?include=space
https://api.eventtemple.com/v2/booking?include=group,group.room_rates
The include query parameter controls what related resources are added to the
included
member of the request's JSON:API Response .
Multiple related resources can be included in a response by separating them
by commas (,
).
Some related resources may not have enpoints and also not be directly related to
the resource for the endpoint used in the request. In this case, you can traverse
the resource relationships using dots (.
).
Sort
Prepend the attribute with a hyphen (-
) to sort in descending order.
https://api.eventtemple.com/v2/events?sort=id # ASC
https://api.eventtemple.com/v2/events?sort=-id # DESC
The sort query parameter sorts the collection being requested.
Read the details for a specific resource
to see what the default sorting attribute and order is and if an attribute is sortable.
As per the JSON:API Spec ,
the default sort order of any given attribute is ascending.
Page
The query parameters in this example use unencoded [ and ] characters simply for readability.
In practice, these characters must be percent-encoded, per the requirements in
RFC 3986 .
https://api.eventtemple.com/v2/events?page[number]=2
https://api.eventtemple.com/v2/events?page[size]=1
https://api.eventtemple.com/v2/events?page[size]=10&page[number]=1
The page parameters controls the pagination of a collection.
The links
member of a JSON:API Response
can be used to programatically retrieve the entire collection of a resource.
The meta
member also contains the number of records in the collection
as well as the total number of pages.
See the JSON:API Pagination Spec for more details.
Filter
The EventTemple API does not currently support filtering collections.
Fields
The query parameters in this example use unencoded [ and ] characters simply for readability.
In practice, these characters must be percent-encoded, per the requirements in
RFC 3986 .
https://api.eventtemple.com/v2/events?fields[events]=name
https://api.eventtemple.com/v2/events?include=booking&fields[events]=name,booking&fields[bookings]=name
The EventTemple API fully supports the JSON:API Sparse Fieldsets Spec .
Specifying the fields (relationships and attributes) for a resource limits the data returned.
JSON:API Schemas JSON:API Response
A JSON:API document is returned for every request, when resource relationships are requested with the
include
parameter, a compound document is returned.
See the JSON:API Document Spec and
JSON:API Compound Document Spec for more details.
{
"data" : [],
"errors" : [],
"included" : [],
"meta" : {},
"links" : {}
}
Member
Always Present
Type
Description
data
true if no errors
are present
[JSON:API Resource ]
An array of the primary resources of the request being made.
errors
true if no data
is present
[JSON:API Error ]
An array of errors for the request being made.
included
false
[JSON:API Resource ]
An array of the resource objects related to the primary resource(s). Use the include
query parameter to control the included resources.
links
false
JSON:API Links
An object with links for the request.
meta
true
JSON:API Meta
An object with additional information about the request.
JSON:API Resource
A JSON:API Resource has a unique id in the collection of it's given type, along with a set of attributes.
See the JSON:API Resource Spec for more details.
{
"id" : "59" ,
"type" : "events" ,
"attributes" : {
"external_id" : null ,
...
},
"relationships" : {
"space" : {
"data" : {
"id" : "4" ,
"type" : "spaces"
}
},
"booking" : {
"data" : {
"id" : "46" ,
"type" : "bookings"
}
}
}
}
JSON:API Resource Members
Member
Type
Required
Description
id
string
true
The unique identifier of the resource.
type
string
true
The type of the resource.
attributes
object
true
The attributes of the resource.
relationships
object
false
The relationships of the resource.
JSON:API Resource Link
The linkage for the relationship of a JSON:API Resource .
See the JSON:API Resource Linkage Spec for more details.
JSON:API Resource Link Members "space" : {
"data" : { "id" : "4" , "type" : "spaces" }
}
"events" : {
"data" : [
{ "id" : "4" , "type" : "events" },
{ "id" : "10" , "type" : "events" },
{ "id" : "12" , "type" : "events" }
]
}
Member
Type
Description
data.id
string
The unique identifier of the resource.
data.type
string
The type of the resource.
JSON:API Links
May contain self
, related
, and possibly pagination links (first
, last
, prev
, next
).
The EventTemple API provides self
, in addition to pagination links for collections.
See the JSON:API Pagination Spec for more details.
JSON:API Links Members
The query parameters in this example use unencoded[
and ]
characters simply for readability.
In practice, these characters will be percent-encoded, per the requirements in
RFC 3986 .
"links" : {
"self" : "https://api.eventtemple.com/v2/events?page[number]=1&page[size]=10" ,
"first" : "https://api.eventtemple.com/v2/events?page[number]=1&page[size]=10" ,
"last" : "https://api.eventtemple.com/v2/events?page[number]=6&page[size]=10" ,
"next" : "https://api.eventtemple.com/v2/events?page[number]=2&page[size]=10" ,
"prev" : null
}
Member
Type
Description
self
string
Link to the returned page in the collection.
first
string
Link to the first page in the collection.
last
string
Link to the last page in the collection.
next
string or null
Link to the next page in the collection. Null when the last page is returned.
prev
string or null
Link to the previous page in the collection. Null when the first page is returned.
The JSON:API spec allows the meta member of the JSON:API Response to be an unstructured object.
The EventTemple API uses the meta object to return collection information,
this currently includes the number of pages and the total size of the collection.
See the JSON:API Pagination Spec for more details.
"meta" : {
"pages" : 5 ,
"records" : 50
}
Member
Type
Description
pages
integer
The number of pages based on the default or requested page size.
records
integer
The number of records in the resource collection, with filters applied if given.
JSON:API Error
An error object, the EventTemple API returns the title
, status
, and detail
members.
See the JSON:API Error Spec for more details.
JSON:API Error Members "errors" : [
{
"title" : "unauthorized" ,
"status" : 401 ,
"detail" : "missing or invalid credentials"
}
]
Member
Type
Description
title
string
The name of the HTTP status code.
status
integer
The HTTP status code.
detail
string
A human readable error message in english.
EventTemple Resources Account
Endpoints
Accounts currently have no endpoints.
Sorting
Accounts currently do not support sorting by any attribute.
{
"id" : "120" ,
"type" : "accounts" ,
"attributes" : {
"external_id" : null ,
"created_at" : "2020-08-26T19:40:09.292Z" ,
"updated_at" : "2020-08-26T19:40:09.292Z" ,
"name" : "Weissnat LLC-117" ,
"iata_number" : "impedit-117" ,
"website" : null ,
"email" : null ,
"phone_number" : null ,
"fax" : null ,
"is_travel_agent" : false ,
"is_key_account" : false
},
"relationships" : {
"market_segment" : {
"data" : {
"id" : "12" ,
"type" : "market_segments"
}
},
"account_type" : {
"data" : {
"id" : "16" ,
"type" : "account_types"
}
},
"referral_source" : {
"data" : {
"id" : "35" ,
"type" : "referral_sources"
}
},
"user" : {
"data" : {
"id" : "1" ,
"type" : "users"
}
},
"primary_contact" : {
"data" : null
},
"parent_account" : {
"data" : null
},
"address" : {
"data" : null
}
}
}
Relationships
Attributes
Name
Type
external_id
string
created_at
string
updated_at
string
name
string
iata_number
string
website
string
email
string
phone_number
string
fax
string
is_travel_agent
boolean
is_key_account
boolean
Activity
Endpoints
Path
HTTP Verb
CRUD Action
/v2/activities
GET
read
Sorting
Sorting is not supported on all attributes.
Currently, id
is the only recommended attribute to sort by.
Activities are sorted by id
in descending order by default.
Relationships
Attributes
{
"id" : "59" ,
"type" : "activities" ,
"attributes" : {
"created_at" : "2020-08-26T19:40:14.719Z" ,
"title" : null ,
"trackable_type" : null ,
"trackable_id" : null ,
"activity_type" : null ,
"activity_sub_type" : null
},
"relationships" : {
"user" : {
"data" : {
"id" : "4" ,
"type" : "users"
}
},
"booking" : {
"data" : {
"id" : "46" ,
"type" : "bookings"
}
},
"contact" : {
"data" : {
"id" : "57" ,
"type" : "contacts"
}
},
"account" : {
"data" : {
"id" : "42" ,
"type" : "accounts"
}
}
}
}
Name
Type
created_at
string
trackable_type
string
trackable_id
string
activity_type
string
title
string
activity_sub_type
string
Address
Endpoints
Addresses currently have no endpoints.
Sorting
Addresses currently do not support sorting by any attribute.
Relationships
Addresses have no relationships, they are only referred to by other resources.
Attributes
{
"id" : "4" ,
"type" : "addresses" ,
"attributes" : {
"street1" : "5985 Explorer Drive" ,
"street2" : null ,
"city" : "Mississauga" ,
"state" : "ON" ,
"zipcode" : "L4W 5K6" ,
"country" : "Canada" ,
"country_code" : null ,
"full_address" : null ,
"longitude" : null ,
"latitude" : null
}
}
Name
Type
street1
string
street2
string
city
string
state
string
zipcode
string
country
string
country_code
string
full_address
string
longitude
string
latitude
string
Booking
Endpoints
Path
HTTP Verb
CRUD Action
/v2/bookings
GET
read
Sorting
Sorting is not supported on all attributes.
Currently, id
is the only recommended attribute to sort by.
Bookings are sorted by id
in descending order by default.
Relationships
Attributes
{
"id" : "103" ,
"type" : "bookings" ,
"attributes" : {
"external_id" : null ,
"created_at" : "2020-08-26T19:40:13.913Z" ,
"updated_at" : "2020-08-26T19:40:26.555Z" ,
"unique_id" : "BK-00101" ,
"deal_value" : null ,
"inquiry_date" : null ,
"tentative_date" : null ,
"definite_date" : null ,
"lost_date" : null ,
"archived_at" : null ,
"amount_paid" : "0.0" ,
"total" : "21148.0" ,
"status" : "definite" ,
"name" : null ,
"start_date" : "2018-08-07" ,
"end_date" : "2018-08-08" ,
"start_time" : null ,
"end_time" : null
},
"relationships" : {
"contact" : {
"data" : {
"id" : "103" ,
"type" : "contacts"
}
},
"account" : {
"data" : {
"id" : "157" ,
"type" : "accounts"
}
},
"referral_source" : {
"data" : null
},
"booking_type" : {
"data" : null
},
"group" : {
"data" : {
"id" : "12" ,
"type" : "groups"
}
},
"revenue_summaries" : {
"data" : [
{
"id" : "370" ,
"type" : "revenue_summaries"
},
{
"id" : "371" ,
"type" : "revenue_summaries"
},
{
"id" : "372" ,
"type" : "revenue_summaries"
},
{
"id" : "373" ,
"type" : "revenue_summaries"
}
]
}
}
}
Name
Type
external_id
string
created_at
string
updated_at
string
unique_id
string
deal_value
string
name
string
inquiry_date
string
tentative_date
string
definite_date
string
lost_date
string
archived_at
string
amount_paid
string
total
string
status
string
name
string
start_date
string
end_date
string
start_time
string
end_time
string
Contacts currently have no endpoints.
Contacts currently do not support sorting by any attribute.
Contacts have no relationships, they are only referred to by other resources.
{
"id" : "1" ,
"type" : "contacts" ,
"attributes" : {
"external_id" : null ,
"created_at" : "2020-08-26T19:40:01.458Z" ,
"updated_at" : "2020-08-26T19:40:01.458Z" ,
"first_name" : "Osvaldo" ,
"last_name" : "Glover" ,
"email" : "osvaldo.glover@fedex.com" ,
"name" : "Osvaldo Glover" ,
"phone_number" : "(905) 212-5000" ,
"job_title" : "Corporate Hospitality Assistant"
}
}
Name
Type
external_id
string
created_at
string
updated_at
string
first_name
string
last_name
string
email
string
name
string
phone_number
string
job_title
string
Event
Endpoints
Path
HTTP Verb
CRUD Action
/v2/events
GET
read
Sorting
Sorting is not supported on all attributes.
Currently, id
is the only recommended attribute to sort by.
Events are sorted by id
in descending order by default.
Relationships
Attributes
{
"id" : "59" ,
"type" : "events" ,
"attributes" : {
"external_id" : null ,
"name" : "enim" ,
"start_time" : 72000 ,
"end_time" : 82800 ,
"start_date" : "2019-11-03" ,
"end_date" : "2019-11-04" ,
"notes" : null ,
"uuid" : "abf8ec1c-6ff7-4d11-b841-fbadc7ac79a7" ,
"unique_id" : "EV-00053" ,
"expected" : 37 ,
"guaranteed" : 97 ,
"actual" : 88 ,
"set" : 22 ,
"deposit" : "0.0" ,
"amount_paid" : "0.0" ,
"status" : "optional" ,
"all_day" : false ,
"status_date" : null ,
"created_at" : "2020-08-26T19:40:14.719Z" ,
"updated_at" : "2020-08-26T19:40:14.719Z"
},
"relationships" : {
"space" : {
"data" : {
"id" : "4" ,
"type" : "spaces"
}
},
"booking" : {
"data" : {
"id" : "46" ,
"type" : "bookings"
}
},
"revenue_summaries" : {
"data" : [
{
"id" : "370" ,
"type" : "revenue_summaries"
},
{
"id" : "371" ,
"type" : "revenue_summaries"
}
]
}
}
}
Name
Type
external_id
string
name
string
start_time
integer
end_time
integer
start_date
string
end_date
string
notes
string
uuid
string
unique_id
string
expected
integer
guaranteed
integer
actual
integer
set
integer
deposit
string
amount_paid
string
status
string
all_day
boolean
status_date
string
created_at
string
updated_at
string
Group
Endpoints
Groups currently have no endpoints.
Sorting
Groups currently do not support sorting by any attribute.
{
"id" : "12" ,
"type" : "groups" ,
"attributes" : {
"name" : "dolorem" ,
"code" : "et" ,
"net_factor" : 100 ,
"release_date" : "2020-08-14" ,
"arrival_date" : "2018-08-07" ,
"departure_date" : "2018-08-09" ,
"blocked_room_nights" : 24 ,
"pickup_room_nights" : 25 ,
"blocked_revenue" : "2862.0" ,
"pickup_revenue" : "3077.0" ,
"status" : "definite"
},
"relationships" : {
"booking" : {
"data" : {
"id" : "103" ,
"type" : "bookings"
}
},
"room_block_members" : {
"data" : [
{
"id" : "21" ,
"type" : "room_block_members"
}
]
},
"room_rates" : {
"data" : [
{
"id" : "15" ,
"type" : "room_rates"
}
]
}
}
}
Relationships
Attributes
Name
Type
name
string
code
string
net_factor
integer
release_date
string
arrival_date
string
departure_date
string
blocked_room_nights
integer
pickup_room_nights
integer
blocked_revenue
string
pickup_revenue
string
status
string
Pickable Fields
Pickable fields are an abstract resource.
The resource type
will be the plural of the field_name
attribute.
The resources that inherit from this type will not have any endpoints or relationships,
and are not sortable.
{
"id" : "12" ,
"type" : "market_segments" ,
"attributes" : {
"value" : "Government" ,
"field_name" : "market_segment"
}
}
Attributes
Name
Type
value
string
field_name
string
Revenue Category
Endpoints
Path
HTTP Verb
CRUD Action
/v2/revenue_categories
GET
read
Sorting
Sorting is not supported on all attributes.
Currently, id
is the only recommended attribute to sort by.
Relationships
Revenue Categories have no relationships, they are only referred to by other resources.
Attributes
{
"id" : "5" ,
"type" : "revenue_categories" ,
"attributes" : {
"title" : "Miscellaneous" ,
}
}
Revenue Summary
Endpoints
Revenue Summaries currently have no endpoints.
Sorting
Revenue Summaries currently do not support sorting by any attribute.
Relationships
Attributes
{
"id" : "373" ,
"type" : "revenue_summaries" ,
"attributes" : {
"amount" : "66.0"
},
"relationships" : {
"revenue_category" : {
"data" : {
"id" : "5" ,
"type" : "revenue_categories"
}
}
}
}
Room Block Members
Endpoints
Room Block Members currently have no endpoints.
Sorting
Room Block Members currently do not support sorting by any attribute.
Relationships
Attributes
{
"id" : "21" ,
"type" : "room_block_members" ,
"attributes" : {
"date" : "2018-08-07" ,
"single" : 6 ,
"double" : 2 ,
"triple" : 8 ,
"quadruple" : 8 ,
"single_pickup" : 6 ,
"double_pickup" : 1 ,
"triple_pickup" : 9 ,
"quadruple_pickup" : 9
}
}
Name
Type
date
string
single
integer
double
integer
triple
integer
quadruple
integer
single_pickup
integer
double_pickup
integer
triple_pickup
integer
quadruple_pickup
integer
Room Rate
Endpoints
Room Rates currently have no endpoints.
Sorting
Room Rates currently do not support sorting by any attribute.
Relationships
Attributes
{
"id" : "15" ,
"type" : "room_rates" ,
"attributes" : {
"start_date" : null ,
"end_date" : null ,
"single" : "97.0" ,
"double" : "56.0" ,
"extra_adult" : "53.0" ,
"child" : null
}
}
Name
Type
start_date
string
end_date
string
single
string
double
string
extra_adult
string
child
string
Room Type
Endpoints
Room Types currently have no endpoints.
Sorting
Room Types currently do not support sorting by any attribute.
Relationships
Room Types have no relationships, they are only referred to by other resources.
Attributes
{
"id" : "1" ,
"type" : "room_types" ,
"attributes" : {
"name" : "Standard" ,
"code" : "STD"
}
}
Name
Type
name
string
code
string
Space
Endpoints
Spaces currently have no endpoints.
Sorting
Spaces currently do not support sorting by any attribute.
Relationships
Spaces have no relationships, they are only referred to by other resources.
Attributes
{
"id" : "2" ,
"type" : "spaces" ,
"attributes" : {
"name" : "Ballroom A" ,
"color" : "#1abc9c" ,
"capacity" : 125 ,
"area" : "1000.0"
}
}
Name
Type
name
string
color
string
capacity
integer
area
string
User
Endpoints
Users currently have no endpoints.
Sorting
Users currently do not support sorting by any attribute.
Relationships
Users have no relationships, they are only referred to by other resources.
Attributes
{
"id" : "1" ,
"type" : "users" ,
"attributes" : {
"name" : "Pouyan Tag" ,
"first_name" : "Pouyan" ,
"last_name" : "Tag" ,
"email" : null
}
}
Name
Type
name
string
first_name
string
last_name
string
email
string