NAV

EventTemple API

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.

  1. Your current organization settings, at the top of the page.

  2. Your organization list.

Obtaining Your API Key

View or create new API keys here.

Headers

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

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.

The linkage for the relationship of a JSON:API Resource. See the JSON:API Resource Linkage Spec for more details.

"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.

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.

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.

JSON:API Meta

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.

JSON:API Meta Members

"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

Sorting

{
  "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

Name Type Resource
market_segment market_segments Market Segment (Pickable Field)
account_type account_types Account Type (Pickable Field)
referral_source referral_sources Referral Source (Pickable Field)
user users User
primary_contact contacts Contact
parent_account accounts Account
address addresses Address

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

Activities are sorted by id in descending order by default.

Relationships

Name Type Resource
booking bookings Booking
user users User
contact contacts Contact
account accounts Account

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

Sorting

Relationships

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

Bookings are sorted by id in descending order by default.

Relationships

Name Type Resource
booking_type booking_types Booking Type (Pickable Field)
referral_source referral_sources Referral Source (Pickable Field)
group groups Group
account accounts Account
contact contacts Contact
revenue_summaries Array[revenue_summaries] Revenue Summaries

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

Contact

Endpoints

Sorting

Relationships

Attributes

{
  "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

Events are sorted by id in descending order by default.

Relationships

Name Type Resource
booking bookings Booking
space spaces Space
revenue_summaries Array[revenue_summaries] Revenue Summaries

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

Sorting

{
  "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

Name Type Resources
booking bookings Booking
room_block_members Array[room_block_members] Room Block Member
room_rates Array[room_rates] Room Rate

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

{
  "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

Relationships

Attributes

{
  "id": "5",
  "type": "revenue_categories",
  "attributes": {
    "title": "Miscellaneous",
  }
}
Name Type
title string

Revenue Summary

Endpoints

Sorting

Relationships

Name Type Resource
revenue_category revenue_category Revenue Category

Attributes

{
  "id": "373",
  "type": "revenue_summaries",
  "attributes": {
    "amount": "66.0"
  },
  "relationships": {
    "revenue_category": {
      "data": {
        "id": "5",
        "type": "revenue_categories"
      }
    }
  }
}
Name Type
amount string

Room Block Members

Endpoints

Sorting

Relationships

Name Type Resources
room_rate room_rates Room Rate
room_type room_types Room Type

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

Sorting

Relationships

Name Type Resource
group groups Group
room_type room_types Room Type

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

Sorting

Relationships

Attributes

{
  "id": "1",
  "type": "room_types",
  "attributes": {
    "name": "Standard",
    "code": "STD"
  }
}
Name Type
name string
code string

Space

Endpoints

Sorting

Relationships

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

Sorting

Relationships

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