EVENTS APIs v1.0.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Our EventsAPI provides users with access to in-depth event information, including scale, event type and audience profile for over 3.5 million past events, and 70,000+ new events each week. Our EventsAPI is used by thousands of companies worldwide and the data is multi-functional with wide-ranging use cases, including demand forecasting, business analysis, education, and venue management.
The API follows the REST architectural style, employing resource-oriented URLs for easy navigation and interaction. Requests are made using well-defined request bodies, primarily in JSON format. The API responds with JSON-encoded data, adhering to standard HTTP response codes, authentication mechanisms, and verbs.
The EventsAPI offers a range of endpoints, organized into different modules to facilitate various functionalities. The modules include:
- Authentication: Gaining access to the EVENTS API
- Account: Viewing basic information about your query (henceforth referred to as "call") settings
- Events Info & Hotel Info: Search and retrieve information on the events you wish to track
- Create shops for events and demand details: Create templates that help the user to define call parameters used to filter the dataset related to events, their impact, or the hotel's demand. Once defined, it can be called as and when required or even be linked to a Schedule.
- On-demand data delivery: Identify a property's demand or an event impact using a granular call or an EVENTShop.
- Schedules: Set up a routine to run an EVENTShop.
- Hooks: Defines the end-point for the delivery of events or impact or demands retrieved by the EVENTS API
- References: Retrieves reference values used in EVENTS API
This API Explorer lists the available communication methods and also provides a way to directly test these methods. The user can go through every stage, starting with authentication through fetching the response and all intermediate stages passing actual parameters and fetching a response identical to the live environment.
Authorization
- HTTP Authentication, scheme: bearer
Every request sent to the EventsAPI must be authenticated with an access token (JWT). You can obtain an access token when you log-in using the credentials provided to you. An access token is valid ONLY for 24 hours from the time it is generated.
Every request sent to the EVENTS API must be authenticated with an access token. You can obtain an access token when you log in using the credentials provided in your EVENTS API packet. An access token is valid for 24 hours from the time it is generated.
The obtained Access Token must be passed during all subsequent requests made to the API as standard Bearer tokens in the request header.
Usage Workflow
HTTP Authentication scheme "Bearer" for the EventsAPI
User
User Login
Code samples
# You can also use wget
curl -X POST /api/v1/authtoken \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /api/v1/authtoken HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Accept: application/json
const inputBody = '{
"userName": "",
"password": ""
}';
const headers = {
'Content-Type':'application/x-www-form-urlencoded',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/authtoken',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/x-www-form-urlencoded',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/api/v1/authtoken',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/authtoken', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/x-www-form-urlencoded',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/api/v1/authtoken', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/authtoken");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/x-www-form-urlencoded"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/api/v1/authtoken", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /authtoken
Gaining access to the EVENTS API
Implementation Notes
This call authenticates the validity of a username/password combination. If the authentication is successful, a valid access token is issued. Use the username and password provided to you in your EVENTS API packet.
Body parameter
userName: ""
password: ""
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | postAuthtokenRequest | true | none |
Example responses
200 Response
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyTmFtZSI6InRlc3RlxsygsjpbDEiLCJxbjwkSWQiOjE1LCJpYXQiOjE3NDI5NjY2OTYsImV4cCI6MTc0MzA1MzA5Nn0.pK7PJ1htZTpfVjy1Z4z67_K6fDugnezAOAQ_yk_xwGQ",
"isAdmin": false
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successful authentication | postAuthtokenResponse200 |
401 | Unauthorized | Invalid credentials | None |
404 | Not Found | No user found with username: {userName} | None |
500 | Internal Server Error | Internal Server Error | None |
Account
Get Credits
Code samples
# You can also use wget
curl -X GET /api/v1/credits/ \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /api/v1/credits/ HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/credits/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/api/v1/credits/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/credits/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/credits/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/credits/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/credits/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /credits/
Viewing basic information about your call settings
Implementation Notes
This method retrieves account limitations. Limitations are based on the commercial terms of your account as defined when the account was created. Limitations are subject to modification upon variation of commercial terms.
Account limitations include the following:
- validTill - Account expiration date
- calls - Max calls allowed per account on a daily, weekly, and monthly basis
- pullsPerDay - Max daily pull requests allowed
- horizonMax - Max time horizon allowed for demand predictions
- events - Returns a two-key dictionary: max number of shops that can be active at a time (maxeventsshops) and shops already in use (usedeventsshops)
- schedules - Returns a two-key dictionary: max number of schedules that can be active at a time (maxschedules) and schedules already in place (usedschedules)
Example responses
200 Response
{
"calls": {
"dailyCalls": 1000,
"weeklyCalls": 1000,
"monthlyCalls": 100000
},
"events": {
"maxEventsShops": 60,
"usedEventsShops": 70
},
"horizonMax": 50,
"pullsPerDay": 40,
"schedules": {
"maxSchedules": 70,
"usedSchedules": 80
},
"validTill": "Sat, 31 Dec 2050 00:00:00 GMT"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | getCreditsResponse200 |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Events Info & Hotel Info
Search Events
Code samples
# You can also use wget
curl -X POST /api/v1/events/ \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /api/v1/events/ HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"eventId": 0,
"eventName": "",
"category": "0",
"country": "",
"city": "",
"state": "",
"zip": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/events/',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/api/v1/events/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/events/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/api/v1/events/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/events/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/api/v1/events/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /events/
This method is used to fetch details about events, specifically name, location, date and time category and unique identifier
Implementation Notes
This API call returns the basic details of all events available in the EVENTS database.
In case the event you search for is not displayed in our database, please send a request to events@aggregateintelligence.in.
We will try to make it available within the next 24 hours.
Search Criteria: Any parameter (single or in any combination).
For more information about "Category", refer to the Category method under the header "Reference".
Example 1:
{
"eventId": 0,
"eventName": "",
"category": "",
"country": "",
"city": "Barcelona",
"state": "",
"zip": ""
}
Example 2:
{
"eventId": 0,
"eventName": "",
"category": "1",
"country": "United States",
"city": "",
"state": "",
"zip": ""
}
Field Notes:
- eventId
: Unique ID assigned to an event in the EVENTS database. If the user knows the eventid, they can fetch the basic event details by calls made on this method.
Body parameter
{
"eventId": 0,
"eventName": "",
"category": "0",
"country": "",
"city": "",
"state": "",
"zip": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | postEventsRequest | true | none |
Example responses
200 Response
[
{
"eventId": 3455425,
"eventName": "Hamilton",
"category": "Entertainment events",
"subCategory": "Theater",
"venue": "KeyBank State Theatre",
"country": "United States",
"state": "Ohio",
"city": "Cleveland",
"zip": "44115",
"startDate": "2025-10-03 20:00:00"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» eventId | integer | false | none | none |
» eventName | string | false | none | none |
» category | string | false | none | none |
» subCategory | string | false | none | none |
» venue | string | false | none | none |
» country | string | false | none | none |
» state | string | false | none | none |
» city | string | false | none | none |
» zip | string | false | none | none |
» startDate | string | false | none | none |
Get Events Info
Code samples
# You can also use wget
curl -X POST /api/v1/eventsinfo/ \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /api/v1/eventsinfo/ HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"eventId": 0,
"eventName": "",
"category": "0",
"subCategory": "0",
"startDate": "2025-05-06",
"estimatedAttendee": "",
"venue": "",
"address": "",
"city": "",
"state": "",
"zip": "",
"country": "",
"region": "",
"lat": "",
"lng": "",
"proximity": 0,
"eventStatusCode": 1
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/eventsinfo/',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/api/v1/eventsinfo/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/eventsinfo/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/api/v1/eventsinfo/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/eventsinfo/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/api/v1/eventsinfo/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /eventsinfo/
This method is to fetch complete detailed information about a specific events, such as name, category, subcategory, description, start and end dates, estimated number of attendees, and status. Additionally, it includes venue details inc. geolocation.
Implementation Notes
This API call returns the complete details of all events available in the EVENTS database.
If an event is not found, please send a request to events@aggregateintelligence.in.
We will try to add it within 24 hours.
Search Criteria:
Any parameter (single or in any combination). If lat and long are chosen, then Proximity has to be chosen as well.
Field Formats:
- category: "string" (Can be number, range, or both)
- subCategory: "string" (Can be number, range, or both)
- date format: "YYYY-MM-DD"
- estimatedAttendee:
- Range value: "100-500"
- Min value: "<500"
- Max value: ">500"
- Exact: "500"
- proximity: "string" (Should be numeric and in miles)
- "proximity": "2"
- eventStatusCode: Should be a integer value as follows [0,1,2,3,4,5]
- 0: All Events
- 1: Scheduled
- 2: Rescheduled
- 3: Postponed
- 4: Holiday Events
- 5: Cancelled
- eventId: Unique ID assigned to an event in EVENTS database. If the user knows the eventid, they can fetch the complete event details by calls made on this method.
Example 1:
{
"eventId": 0,
"eventName": "Hamilton",
"category": "2-4",
"subCategory": "2,5-7",
"startDate": "2025-08-02",
"estimatedAttendee": ">1",
"venue": "Baby's All Right",
"address": "146 Broadway, Brooklyn",
"city": "Barcelona",
"state": "New York",
"zip": "11211",
"country": "United States",
"region": "North_America",
"lat": "38.4127251",
"lng": "-79.5824095",
"proximity": 0,
"eventStatusCode": 0
}
Example 2:
{
"eventId": 3531599,
"eventName": "Argentino de Quilmes vs. CS Dock Sud",
"category": "1-5",
"subCategory": "56",
"startDate": "2025-08-02",
"estimatedAttendee": ">1",
"venue": "Argentino Maple",
"address": "165 W Main St",
"city": "Ziro",
"state": "Virginia",
"zip": "24465",
"country": "United States",
"region": "North_America",
"lat": "38.41",
"lng": "-79.52",
"proximity": 0,
"eventStatusCode": 1
}
Example 3:
{
"eventId": 3504099,
"eventName": "Highland County Maple Festival",
"category": "1-5",
"subCategory": "56",
"startDate": "2025-08-02",
"estimatedAttendee": ">1",
"venue": "Highland County",
"address": "165 W Main St",
"city": "Monterey",
"state": "Virginia",
"zip": "24465",
"country": "United States",
"region": "North_America",
"lat": "38.4127251",
"lng": "-79.5824095",
"proximity": 0,
"eventStatusCode": 1
}
Body parameter
{
"eventId": 0,
"eventName": "",
"category": "0",
"subCategory": "0",
"startDate": "2025-05-06",
"estimatedAttendee": "",
"venue": "",
"address": "",
"city": "",
"state": "",
"zip": "",
"country": "",
"region": "",
"lat": "",
"lng": "",
"proximity": 0,
"eventStatusCode": 1
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
eventsinfoPerPage | query | integer | false | The number of items to display in a page |
pageNumber | query | integer | false | Indicates the current page number |
body | body | postEventsinfoRequest | true | none |
Example responses
200 Response
{
"pageInfo": {
"totalRecords": 1,
"fetchedRecords": 1,
"totalPages": 1,
"currentPage": 1,
"pageSize": 10
},
"events": [
{
"id": 23271839,
"eventId": 3504099,
"venueId": 990977,
"eventName": "Highland County Maple Festival",
"category": "Tradeshows, Business events and conferences",
"subCategory": "Tradeshows/Fairs/Expo",
"description": "The award-winning Highland County Maple Festival, designated a Local Legacy by the Library of Congress, offers maple sugar camp tours where visitors can observe traditional and modern techniques of sugar making in the beautiful mountains of Virginia. This award-winning festival attracts 20,000 - 30,000 visitors annually during the 2nd and 3rd weekends of March, where visitors enjoy maple syrup, famous maple doughnuts, pancake, and buckwheat cake meals, sweet and savory treats, handmade arts & crafts, live entertainment, and small-town hospitality. Come on out, and experience the tradition that's been running strong since 1959!",
"startDate": "2025-04-10 00:00:00",
"endDate": "2025-04-10 00:00:00",
"estimatedAttendees": 2106,
"venue": "Highland County",
"address": "165 W Main St",
"city": "Monterey",
"state": "Virginia",
"zip": "24465",
"country": "United States",
"countryCode": "USA",
"region": "North_America",
"latitude": "38.4127251",
"longitude": "-79.5824095",
"eventStatus": "Scheduled"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | postEventsinfoResponse200 |
400 | Bad Request | Bad request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal server error | None |
Get Hotel Info
Code samples
# You can also use wget
curl -X POST /api/v1/hotelinfo/ \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /api/v1/hotelinfo/ HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"hotelCode": 0,
"hotelCodes": [],
"hotelName": "",
"address": "",
"city": "",
"state": "",
"zip": "",
"country": "",
"rating": "",
"lat": "",
"lng": "",
"proximity": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/hotelinfo/',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/api/v1/hotelinfo/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/hotelinfo/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/api/v1/hotelinfo/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/hotelinfo/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/api/v1/hotelinfo/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /hotelinfo/
This method is used to fetch list of hotels and their location details, within the desired proximity of venue geolocation, or for a whole city.
Implementation Notes
This API call returns the basic details of hotels available in our AI hotel database.
In case the hotel you search for is not displayed in our database, please send a request to
events@aggregateintelligence.in.
We will try to make it available within the next 24 hours.
Search Criteria:
Any parameter (single or in any combination).
If latitude and longitude are chosen, then proximity must also be provided.
Proximity:
- Format: Should be numeric and in miles
- Example: "proximity": 2
Hotel Code:
A unique ID assigned to a hotel in the AI hotel database.
If the user knows the hotel code, they can fetch the basic hotel details by calling this method.
Example 1:
{
"hotelCode": 0,
"hotelCodes": [],
"hotelName": "",
"address": "",
"city": "",
"state": "",
"zip": "",
"country": "",
"rating": "1",
"lat": "",
"lng": "",
"proximity": 0
}
Example 2:
{
"hotelCode": 0,
"hotelCodes": [5991590,5993989],
"hotelName": "",
"address": "",
"city": "",
"state": "",
"zip": "",
"country": "",
"rating": "1",
"lat": "",
"lng": "",
"proximity": 0
}
Example 3:
{
"hotelCode": 0,
"hotelCodes": [],
"hotelName": "",
"address": "",
"city": "",
"state": "",
"zip": "",
"country": "",
"rating": "1",
"lat": "41.8913913",
"lng": "-87.6054344",
"proximity": 5
}
Body parameter
{
"hotelCode": 0,
"hotelCodes": [],
"hotelName": "",
"address": "",
"city": "",
"state": "",
"zip": "",
"country": "",
"rating": "",
"lat": "",
"lng": "",
"proximity": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
hotelsinfoPerPage | query | integer | false | The number of items to display in a page |
pageNumber | query | integer | false | Indicates the current page number |
body | body | postHotelinfoRequest | true | none |
Example responses
200 Response
{
"pageInfo": {
"totalRecords": 533411,
"fetchedRecords": 1,
"totalPages": 533411,
"currentPage": 1,
"pageSize": 1
},
"hotels": [
{
"hotelCode": 2,
"hotelName": "Gwynn's Island RV Resort",
"address": "551 Buckchase Road",
"city": "Gwynn",
"state": "Virginia",
"zip": "23066",
"country": "United States",
"latitude": "37.4909",
"longitude": "-76.2745",
"rating": "4.00"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | postHotelinfoResponse200 |
400 | Bad Request | Bad Request - Invalid request parameters. | None |
401 | Unauthorized | Unauthorized - Authentication required. | None |
500 | Internal Server Error | Internal Server Error - Issue with the server. | None |
Get Events Info By Id
Code samples
# You can also use wget
curl -X GET /api/v1/eventsinfobyid/?id=1 \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /api/v1/eventsinfobyid/?id=1 HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/eventsinfobyid/?id=1',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/api/v1/eventsinfobyid/',
params: {
'id' => 'integer'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/eventsinfobyid/', params={
'id': '1'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/eventsinfobyid/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/eventsinfobyid/?id=1");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/eventsinfobyid/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /eventsinfobyid/
This method is to fetch an event's complete information by id
Implementation Notes
This API call returns the complete details for a particular event available in the EVENTS database. In case the event you search for is not displayed in our database, please send a request to events@aggregateintelligence.in. We will try to make it available within the next 24 hours.
Search Criteria: ID is the parameter (single). Please note it is the "id" value, not the "eventId", or "venueId"
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | query | integer | true | The unique identifier for the event. |
Example responses
200 Response
[
{
"id": 3046092,
"eventName": "Highland County Maple Festival",
"category": "Tradeshows, Business events and conferences",
"subCategory": "Tradeshows/Fairs/Expo",
"description": "The award-winning Highland County Maple Festival, designated a Local Legacy by the Library of Congress, offers maple sugar camp tours where visitors can observe traditional and modern techniques of sugar making in the beautiful mountains of Virginia. This award-winning festival attracts 20,000 - 30,000 visitors annually during the 2nd and 3rd weekends of March, where visitors enjoy maple syrup, famous maple doughnuts, pancake, and buckwheat cake meals, sweet and savory treats, handmade arts & crafts, live entertainment, and small-town hospitality. Come on out, and experience the tradition thats been running strong since 1959!",
"startDate": "2026-03-13 00:00:00",
"endDate": "2026-03-13 00:00:00",
"estimatedAttendees": 2600,
"venue": "Highland County",
"address": "165 W Main St",
"city": "Monterey",
"state": "Virginia",
"zip": "24465",
"country": "United States",
"countryCode": "USA",
"region": "North_America",
"latitude": "38.4127251",
"longitude": "-79.5824095",
"eventStatus": "Scheduled"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
404 | Not Found | Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» id | integer | false | none | none |
» eventName | string | false | none | none |
» category | string | false | none | none |
» subCategory | string | false | none | none |
» description | string | false | none | none |
» startDate | string(date-time) | false | none | none |
» endDate | string(date-time) | false | none | none |
» estimatedAttendees | integer | false | none | none |
» venue | string | false | none | none |
» address | string | false | none | none |
» city | string | false | none | none |
» state | string | false | none | none |
» zip | string | false | none | none |
» country | string | false | none | none |
» countryCode | string | false | none | none |
» region | string | false | none | none |
» latitude | string | false | none | none |
» longitude | string | false | none | none |
» eventStatus | string | false | none | none |
On-Demand Data Delivery
Get Hotel Demand
Code samples
# You can also use wget
curl -X POST /api/v1/hoteldemand/ \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /api/v1/hoteldemand/ HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"hotelCode": 0,
"city": "",
"country": "",
"horizon": 30,
"startDate": "2025-05-06",
"estimatedAttendee": "",
"category": "0",
"subCategory": "0"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/hoteldemand/',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/api/v1/hoteldemand/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/hoteldemand/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/api/v1/hoteldemand/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/hoteldemand/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/api/v1/hoteldemand/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /hoteldemand/
This method fetches the event information (events registered, event records) and hotel demand information (Absolute, Relative).
Implementation Notes
This API retrieves hotel demand data based on an individual hotel or an entire city.
- If a hotel is provided as input, demand will be calculated for a single hotel.
- If a city is provided as input, demand will be calculated for all hotels in that city, returning an H x D matrix, where:
- H = Number of hotels in the city
- D = Number of days in the time range
Output Files:
- Absolute Demand: Estimated number of potential guests per day.
- Relative Demand: A value between 0-100, where 0 is the lowest demand and 100 is the highest.
- Events Registered: Number of events per day contributing to the demand.
- Event Records (City-Level Only): Detailed event data including event name, venue, category, date, and expected attendance.
Search Criteria:
- Either hotelcode
or city, country
must be provided.
- horizon
(days to retrieve data for) must be ≤ 365.
- category
and subCategory
can be a single number, range, or combination.
Once the request is processed, the results will be emailed to the registered user.
Example Input 1 (Hotel-Specific Search):
json
{
"hotelCode": 12345,
"city": "Barcelona",
"country": "Spain",
"horizon": 5,
"startDate": "2022-04-01",
"estimatedAttendee": "500-1000",
"category": "2,4",
"subCategory": "1,5-7"
}
Example Input 2 (City-Wide Search):
json
{
"hotelCode": 0,
"city": "Florida",
"country": "United States",
"horizon": 5,
"startDate": "2022-04-01",
"estimatedAttendee": ">1000",
"category": "2,4",
"subCategory": "1,5-7"
}
Body parameter
{
"hotelCode": 0,
"city": "",
"country": "",
"horizon": 30,
"startDate": "2025-05-06",
"estimatedAttendee": "",
"category": "0",
"subCategory": "0"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | postHoteldemandRequest | true | none |
Example responses
200 Response
{
"demandId": 612
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | postHoteldemandResponse200 |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Get Hotel Demand Info
Code samples
# You can also use wget
curl -X GET /api/v1/hoteldemandinfo/{demandId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /api/v1/hoteldemandinfo/{demandId} HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/hoteldemandinfo/{demandId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/api/v1/hoteldemandinfo/{demandId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/hoteldemandinfo/{demandId}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/hoteldemandinfo/{demandId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/hoteldemandinfo/{demandId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/hoteldemandinfo/{demandId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /hoteldemandinfo/{demandId}
Generates and sends to email four json files - Absolute_Value (An absolute number of potential guests per day), Event_records (all the events in the city per day), Events_registered (Number of events taking place each day), Relative_Values(Relative value of the demand in the range 0-100)
Implementation Notes
This method takes a DemandId
generated by /hoteldemand/
as input
and returns the status of the request.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
demandId | path | number | true | none |
Example responses
200 Response
{
"status": "completed"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | getHoteldemandinfoDemandidResponse200 |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Get Hotel Demand Data
Code samples
# You can also use wget
curl -X GET /api/v1/hoteldemanddata/{demandId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /api/v1/hoteldemanddata/{demandId} HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/hoteldemanddata/{demandId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/api/v1/hoteldemanddata/{demandId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/hoteldemanddata/{demandId}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/hoteldemanddata/{demandId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/hoteldemanddata/{demandId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/hoteldemanddata/{demandId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /hoteldemanddata/{demandId}
View the Hotel Demand Shop status, after it's been scheduled.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
demandId | path | number | true | Unique ID of the Demand Shop to retrieve status for. |
Example responses
200 Response
{
"Absolute_Value.json": [
{
"HotelCode": 274581,
"HotelName": "Taj Santacruz",
"05/09/2024": 8473,
"05/10/2024": 64734
}
],
"Events_registered.json": [
{
"HotelCode": 274581,
"HotelName": "Taj Santacruz",
"05/09/2024": 27,
"05/10/2024": 74
}
],
"Event_records.json": [
{
"id": 20540722,
"eventName": "Airsoft Gun India Shooting Experience Centre",
"venue": "Hakone Entertainment Centre",
"category": "Entertainment events",
"city": "Mumbai",
"date": "05/09/2024",
"Estimated_Attendees": 480,
"latitude": 19.1219824,
"longitude": 72.9132549
}
],
"Relative_Values.json": [
{
"HotelCode": 274581,
"HotelName": "Taj Santacruz",
"05/09/2024": 2,
"05/10/2024": 44
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Get Event Impact
Code samples
# You can also use wget
curl -X POST /api/v1/eventimpact/ \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /api/v1/eventimpact/ HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"eventId": 0,
"eventName": "",
"category": "0",
"subCategory": "0",
"startDate": "2025-05-06",
"estimatedAttendee": "",
"venue": "",
"address": "",
"city": "",
"state": "",
"zip": "",
"country": "",
"region": "",
"lat": "",
"lng": "",
"proximity": 0,
"horizon": 30,
"impactEventType": "",
"eventStatusCode": 1
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/eventimpact/',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/api/v1/eventimpact/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/eventimpact/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/api/v1/eventimpact/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/eventimpact/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/api/v1/eventimpact/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /eventimpact/
This method is to fetch full event information with an impact score
Implementation Notes
This API returns complete details of all events and their impact from the EVENTS database.
Event Impact - Fetches the impact of a specific event on a given date on a scale of 0 to 100, based on multiple parameters of an event that have a corresponding impact within a specific geolocation.
Search Criteria:
- Any parameter (single or in combination).
- If lat
and lng
are chosen, proximity
is required.
Estimated Attendee Format:
1. Range: "100-500"
2. Minimum value: "<500"
3. Maximum value: ">500"
4. Exact: "500"
Event Status Codes:
- 0
: All Events
- 1
: Scheduled
- 2
: Rescheduled
- 3
: Postponed
- 4
: Holiday Events
- 5
: Cancelled
"category" - Type: string
; Format: Can be a number, range, or a combination of both.
"subCategory" - Type: string
; Format: Can be a number, range, or a combination of both.
"date" - Format: "YYYY-MM-DD"
(e.g., "2021-10-02"
).
- Change the date if the search is related to the date.
"proximity" - Type: string
; Format: Should be numeric and in miles.
Example 1:
```
{
"eventId": 12,
"eventName": "The Simon and Garfunkel Story",
"category": "1-5",
"subCategory": "7-10",
"startDate": "2025-10-02",
"estimatedAttendee": "100-500",
"venue": "Wilson Center at Cape Fear Community College",
"address": "703 N 3rd St",
"city": "Barcelona",
"state": "North Carolina",
"zip": "28401",
"country": "United States",
"region": "North_America",
"lat": "34.2435937",
"lng": "-77.9472972",
"proximity": 2,
"horizon": 5,
"impactEventType": "Very Low",
"eventStatusCode": 5
}
**Example 2:**
```
{
"eventId": 12,
"eventName": "The Simon and Garfunkel Story",
"category": "2,4-5",
"subCategory": "2,7,10-15",
"startDate": "2026-04-02",
"estimatedAttendee": "<1000",
"venue": "Wilson Center at Cape Fear Community College",
"address": "703 N 3rd St",
"city": "Barcelona",
"state": "North Carolina",
"zip": "28401",
"country": "United States",
"region": "North_America",
"lat": "34.2435937",
"lng": "-7.9472972",
"proximity": 1,
"horizon": 5,
"impactEventType": "High",
"eventStatusCode": 3
}
For missing events, send a request to events@aggregateintelligence.in
.
Body parameter
{
"eventId": 0,
"eventName": "",
"category": "0",
"subCategory": "0",
"startDate": "2025-05-06",
"estimatedAttendee": "",
"venue": "",
"address": "",
"city": "",
"state": "",
"zip": "",
"country": "",
"region": "",
"lat": "",
"lng": "",
"proximity": 0,
"horizon": 30,
"impactEventType": "",
"eventStatusCode": 1
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
eventsImpactPerPage | query | integer | false | The number of items to display in a page |
pageNumber | query | integer | false | Indicates the current page number |
body | body | postEventimpactRequest | true | none |
Example responses
200 Response
{
"pageInfo": {
"totalRecords": 39652,
"fetchedRecords": 1,
"totalPages": 39652,
"currentPage": 1,
"pageSize": 1
},
"events": [
{
"id": 20439038,
"eventId": 3456081,
"venueId": 609634,
"eventName": "Some Like it Hot",
"category": "Entertainment events",
"subCategory": "Theater",
"description": "The meeting aims to provide educational topics, facilitate professional networking.",
"startDate": "2025-04-10 00:00:00",
"endDate": "2025-04-10 00:00:00",
"estimatedAttendees": 574,
"impactEventType": "Low",
"venue": "William H. Mortensen Hall",
"address": "166 Capitol Ave",
"city": "Hartford",
"state": "Connecticut",
"zip": "06106",
"country": "United States",
"countryCode": "USA",
"region": "North_America",
"latitude": "41.7628413",
"longitude": "-72.6806411",
"impactScore": 25,
"eventStatus": "Scheduled"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | postEventimpactResponse200 |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Event Info Shop
Create Shop Info
Code samples
# You can also use wget
curl -X POST /api/v1/infoshop \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /api/v1/infoshop HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"shopName": "",
"estimatedAttendee": "",
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"eventIds": [],
"category": "0",
"subCategory": "0"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/infoshop',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/api/v1/infoshop',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/infoshop', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/api/v1/infoshop', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/infoshop");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/api/v1/infoshop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /infoshop
This method is used to create the shop to fetch an event's complete information without impact source and impact type.
Implementation Notes
This API call creates templates that help the user to call all mandatory parameters (shopName
, horizon
, and startDate
along with either of the permuted parameters listed below) that are used to filter the event dataset. Once defined, it can be called as needed or linked to a Schedule.
Search Criteria - Permuted Parameters:
- eventIds
, shopName
, horizon
, and startDate
- estimatedAttendee
, shopName
, horizon
, and startDate
- city
, shopName
, horizon
, and startDate
- country
, shopName
, horizon
, and startDate
- city
and country
, shopName
, horizon
, and startDate
- city
and estimatedAttendee
, shopName
, horizon
, and startDate
- country
and estimatedAttendee
, shopName
, horizon
, and startDate
Parameter Details:
shopName - Your custom name for the eventInfoShopId.
horizon - How many consecutive days from the call date to retrieve data for (days out). The maximum value for the horizon is 365.
startDate - Start date for the event data retrieval.
Format:"2021-10-02"
estimatedAttendee - Attendee count range or value.
Format:- Range value -
100-500
- Min value -
<500
- Max value -
>500
- Exact value -
500
- Range value -
category - A string containing category codes. It can be a number, a range, or both separated by commas.
Example:{ "category": "2,4-5" }
subCategory - A string containing subCategory codes. It can be a number, a range, or both separated by commas.
Example:{ "subCategory": "2,7,10-15" }
Example 1:
{
"shopName": "Music Festival Shop",
"estimatedAttendee": ">500",
"city": "Solan",
"country": "Sweden",
"startDate": "2026-04-01",
"horizon": 90,
"eventIds": [1],
"category": "2,3-5",
"subCategory": "2,4,5-9"
}
Example 2:
{
"shopName": "NYEvents_2022",
"estimatedAttendee": ">1000",
"city": "Ziro",
"country": "Australia",
"startDate": "2026-04-01",
"horizon": 90,
"eventIds": [1],
"category": "4",
"subCategory": "2-9,11"
}
Body parameter
{
"shopName": "",
"estimatedAttendee": "",
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"eventIds": [],
"category": "0",
"subCategory": "0"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | postInfoshopRequest | true | none |
Example responses
201 Response
{
"message": "Event info shop created successfully.",
"eventInfoShopId": 36418
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | postInfoshopResponse201 |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Get Shop Info
Code samples
# You can also use wget
curl -X GET /api/v1/infoshop \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /api/v1/infoshop HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/infoshop',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/api/v1/infoshop',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/infoshop', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/infoshop', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/infoshop");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/infoshop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /infoshop
Retrieve details of an Event Info Shop.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
eventInfoShopId | query | integer | false | Unique identifier for the Event Shop. |
Example responses
200 Response
[
{
"shopId": 137,
"shopName": "My first shop",
"estimatedAttendee": ">10000",
"city": "Solan",
"country": "Sweden",
"horizon": 30,
"eventIds": [
1
],
"startDate": "2025-03-13",
"category": "0",
"subCategory": "0",
"status": 1
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» shopId | integer | false | none | Unique identifier of the EventShop. |
» shopName | string | true | none | Name of the EventShop. |
» estimatedAttendee | string | false | none | Estimated number of attendees. |
» city | string | false | none | City where the event takes place. |
» country | string | false | none | Country where the event takes place. |
» horizon | integer | true | none | Number of days from the start date to retrieve data. |
» eventIds | [integer] | false | none | List of event IDs associated with the EventShop. |
» startDate | string(date) | true | none | Start date of the event. |
» category | string | false | none | Category codes (single value or range). |
» subCategory | string | false | none | Subcategory codes (single value or range). |
» status | integer | false | none | Shop active or Inactive |
Update Shop Info
Code samples
# You can also use wget
curl -X PUT /api/v1/infoshop?eventInfoShopId=0 \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT /api/v1/infoshop?eventInfoShopId=0 HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"shopName": "",
"estimatedAttendee": "",
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"eventIds": [],
"category": "0",
"subCategory": "0"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/infoshop?eventInfoShopId=0',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put '/api/v1/infoshop',
params: {
'eventInfoShopId' => 'integer'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('/api/v1/infoshop', params={
'eventInfoShopId': '0'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/api/v1/infoshop', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/infoshop?eventInfoShopId=0");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/api/v1/infoshop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /infoshop
Allows user to edit the EventInfoShop.
This API allows users to modify the details of an existing EventShop linked to an eventInfoShopId.
Body Example:
json
{
"shopName": "",
"estimatedAttendee": "",
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"eventIds": [],
"category": "0",
"subCategory": "0"
}
Body parameter
{
"shopName": "",
"estimatedAttendee": "",
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"eventIds": [],
"category": "0",
"subCategory": "0"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
eventInfoShopId | query | integer | true | Unique identifier of the EventShop. |
body | body | putInfoshopRequest | true | none |
Example responses
200 Response
{
"message": "Shop details updated successfully.",
"shopId": 765
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | putInfoshopResponse200 |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Delete Infoshop
Code samples
# You can also use wget
curl -X DELETE /api/v1/infoshop \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
DELETE /api/v1/infoshop HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"eventInfoShopId": []
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/infoshop',
{
method: 'DELETE',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete '/api/v1/infoshop',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('/api/v1/infoshop', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/api/v1/infoshop', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/infoshop");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "/api/v1/infoshop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /infoshop
Allows user to delete an EventInfoShop.
This API call allows the user to delete an EventShop linked to an eventInfoShopId from your account.
Body parameter
{
"eventInfoShopId": []
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | deleteInfoshopRequest | true | none |
Example responses
200 Response
{
"message": "Event info shops deleted successfully.",
"shopId": [
123,
456,
789
],
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | deleteInfoshopResponse200 |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
404 | Not Found | Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Event Impact Shop
Create Impact Shop
Code samples
# You can also use wget
curl -X POST /api/v1/impactshop \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /api/v1/impactshop HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"shopName": "",
"estimatedAttendee": "",
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"eventIds": [],
"category": "0",
"subCategory": "0"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/impactshop',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/api/v1/impactshop',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/impactshop', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/api/v1/impactshop', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/impactshop");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/api/v1/impactshop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /impactshop
This method is used to create the shop to fetch the event information with an impact score and impact type
Implementation Notes
This API call creates templates that help the user call all mandatory parameters (shopName
, horizon
, and startDate
along with any of the permuted parameters listed below) that are used to filter the event impact dataset.
Once defined, it can be called as needed or linked to a Schedule.
Search Criteria - Permuted Parameters:
1. eventids
, shopName
, horizon
, startDate
2. estimatedAttendee
, shopName
, horizon
, startDate
3. city
, shopName
, horizon
, startDate
4. country
, shopName
, horizon
, startDate
5. city
, country
, shopName
, horizon
, startDate
6. city
, estimatedAttendee
, shopName
, horizon
, startDate
7. country
, estimatedAttendee
, shopName
, horizon
, startDate
Parameter Details:
- shopName
- Your custom name for the event shop.
- horizon
- Number of days from the call date to retrieve data (max: 365).
- startDate
- Format: "YYYY-MM-DD"
.
estimatedAttendee
- Attendee range:
- 100-500 (Range)
- <500 (Min value)
- >500 (Max value)
- 500 (Exact number)
- 100-500 (Range)
category
- String containing category codes, allowing ranges and commas.
- Example:
"2,4-5"
- Example:
subCategory
- Similar tocategory
, allowing ranges and commas.
- Example:
"2,7,10-15"
- Example:
Example 1:
{
"shopName": "Music Festival Shop",
"estimatedAttendee": ">500",
"city": "Virar",
"country": "Australia",
"startDate": "2026-04-01",
"horizon": 90,
"eventIds": [1],
"category": "2",
"subCategory": "10-14"
}
Example 2:
{
"shopName": "NYEvents_2022_1000",
"estimatedAttendee": ">1000",
"city": "Taorem",
"country": "Sweden",
"startDate": "2026-04-01",
"horizon": 90,
"eventIds": [1],
"category": "4",
"subCategory": "2,7"
}
Body parameter
{
"shopName": "",
"estimatedAttendee": "",
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"eventIds": [],
"category": "0",
"subCategory": "0"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | postImpactshopRequest | true | none |
Example responses
201 Response
{
"message": "Event impact shop created successfully",
"impactShopId": 36418
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | postImpactshopResponse201 |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Get Impact Shop
Code samples
# You can also use wget
curl -X GET /api/v1/impactshop \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /api/v1/impactshop HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/impactshop',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/api/v1/impactshop',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/impactshop', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/impactshop', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/impactshop");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/impactshop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /impactshop
Retrieve details of an ImpactShop.
Implementation Notes
Retrieves details of an Event Impact Shop based on the provided impactShopId
.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
impactShopId | query | integer | false | Unique identifier for the Impact Shop. |
Example responses
200 Response
[
{
"shopId": 137,
"shopName": "My first shop",
"estimatedAttendee": ">10000",
"city": "Virar",
"country": "Australia",
"horizon": 30,
"eventIds": [
101,
202
],
"startDate": "2026-03-13",
"category": "0",
"subCategory": "0",
"status": 1
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error. | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» shopId | integer | false | none | none |
» shopName | string | true | none | none |
» estimatedAttendee | string | false | none | none |
» city | string | false | none | City where the event takes place. |
» country | string | false | none | Country where the event takes place. |
» horizon | integer | true | none | none |
» eventIds | [integer] | false | none | none |
» startDate | string(date) | true | none | none |
» category | string | false | none | none |
» subCategory | string | false | none | none |
» status | integer | false | none | Shop active or Inactive |
Edit Impact Shop
Code samples
# You can also use wget
curl -X PUT /api/v1/impactshop?impactShopId=1 \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT /api/v1/impactshop?impactShopId=1 HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"shopName": "",
"estimatedAttendee": "",
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"eventIds": [],
"category": "0",
"subCategory": "0"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/impactshop?impactShopId=1',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put '/api/v1/impactshop',
params: {
'impactShopId' => 'integer'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('/api/v1/impactshop', params={
'impactShopId': '1'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/api/v1/impactshop', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/impactshop?impactShopId=1");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/api/v1/impactshop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /impactshop
User can edit the EventImpactShop
Implementation Notes
This API call allows the user to modify the details of an existing impactshopname linked to a impactshopid
.
Body parameter
{
"shopName": "",
"estimatedAttendee": "",
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"eventIds": [],
"category": "0",
"subCategory": "0"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
impactShopId | query | integer | true | Unique identifier for the Impact Shop. |
body | body | putImpactshopRequest | true | none |
Example responses
200 Response
{
"message": "Shop details updated successfully.",
"shopId": 418
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | putImpactshopResponse200 |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | Not Found | None |
500 | Internal Server Error | Internal Server Error. | None |
Delete Impact Shop
Code samples
# You can also use wget
curl -X DELETE /api/v1/impactshop \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
DELETE /api/v1/impactshop HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"impactShopId": []
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/impactshop',
{
method: 'DELETE',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete '/api/v1/impactshop',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('/api/v1/impactshop', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/api/v1/impactshop', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/impactshop");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "/api/v1/impactshop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /impactshop
User can delete EventImpactShop.
Implementation Notes
This API allows the user to delete ImpactShop linked to an impactshopid
from their account.
Body parameter
{
"impactShopId": []
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | deleteImpactshopRequest | true | none |
Example responses
200 Response
{
"message": "Event impact shops deleted successfully",
"deletedShopIds": [
123,
456,
789
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | deleteImpactshopResponse200 |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
404 | Not Found | Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Hotel Demand Shop
Create Demand Shop
Code samples
# You can also use wget
curl -X POST /api/v1/demandshop \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /api/v1/demandshop HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"shopName": "",
"hotelCode": 0,
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"estimatedAttendee": "",
"proximity": 0,
"category": "0",
"subCategory": "0"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/demandshop',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/api/v1/demandshop',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/demandshop', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/api/v1/demandshop', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/demandshop");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/api/v1/demandshop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /demandshop
This method is used to create a shop to fetch hotel demand information.
Implementation Notes
This API call creates templates that help the user to call all mandatory parameters
(shopName
, horizon
, and startDate
along with either of the
permuted parameters listed below) that are used to filter the hotel demand dataset.
Once defined, it can be called as and when required or even be linked to a Schedule.
Search criteria - Permuted parameters:
hotelCode
,shopName
,horizon
,proximity
,estimatedAttendee
, andstartDate
city
,shopName
,horizon
,proximity
,estimatedAttendee
, andstartDate
country
,shopName
,horizon
,proximity
,estimatedAttendee
, andstartDate
city
andcountry
,shopName
,horizon
,proximity
,estimatedAttendee
, andstartDate
Parameter Descriptions:
- shopName: Your custom name for the
hoteldemandshop
. - horizon: The number of consecutive days from the call date to retrieve data (max 365 days).
- startDate: Format "YYYY-MM-DD" (e.g., "2021-10-02").
- estimatedAttendee:
100-500
(Range value)<500
(Min value)>500
(Max value)500
(Exact value)
- proximity: Numeric value in miles.
- category: A string containing category codes (e.g., "2,10-15").
- subCategory: A string containing subCategory codes (e.g., "2,7,10-15").
Example Requests:
Example 1:
{
"shopName": "Music Festival Shop",
"city": "Surampalem",
"country": "Romania",
"startDate": "2026-04-01",
"horizon": 365,
"hotelCode": 1,
"estimatedAttendee": ">1000",
"proximity": 2,
"category": "2,4",
"subCategory": "1,7,10-15"
}
Body parameter
{
"shopName": "",
"hotelCode": 0,
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"estimatedAttendee": "",
"proximity": 0,
"category": "0",
"subCategory": "0"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | postDemandshopRequest | true | none |
Example responses
201 Response
{
"message": "Hotel demand shop created successfully",
"demandShopId": 36418
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | postDemandshopResponse201 |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Get Demand Shop
Code samples
# You can also use wget
curl -X GET /api/v1/demandshop \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /api/v1/demandshop HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/demandshop',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/api/v1/demandshop',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/demandshop', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/demandshop', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/demandshop");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/demandshop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /demandshop
Retrieve details of a Hotel Demand Shop.
Retrieves details of a Hotel Demand Shop based on the provided demandShopId
.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
demandShopId | query | integer | false | Unique identifier for the Hotel Demand Shop. |
Example responses
200 Response
[
{
"shopId": 36415,
"shopName": "My first shop",
"city": "Surampalem",
"country": "Switzerland",
"horizon": 30,
"hotelCode": 1,
"estimatedAttendee": ">10000",
"proximity": 0,
"startDate": "2025-09-01",
"category": "0",
"subCategory": "0",
"status": 1
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successful retrieval of hotel demand shop details. | Inline |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» shopId | integer | false | none | none |
» shopName | string | false | none | none |
» city | string | false | none | none |
» country | string | false | none | none |
» horizon | integer | false | none | none |
» hotelCode | integer | false | none | none |
» estimatedAttendee | string | false | none | none |
» proximity | number(float) | false | none | none |
» startDate | string(date) | false | none | none |
» category | string | false | none | none |
» subCategory | string | false | none | none |
» status | integer | false | none | Shop active or inactive |
Edit Demand Shop
Code samples
# You can also use wget
curl -X PUT /api/v1/demandshop?demandShopId=1 \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT /api/v1/demandshop?demandShopId=1 HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"shopName": "",
"hotelCode": 0,
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"estimatedAttendee": "",
"proximity": 0,
"category": "0",
"subCategory": "0"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/demandshop?demandShopId=1',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put '/api/v1/demandshop',
params: {
'demandShopId' => 'integer'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('/api/v1/demandshop', params={
'demandShopId': '1'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/api/v1/demandshop', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/demandshop?demandShopId=1");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/api/v1/demandshop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /demandshop
User can edit the HotelDemandShop
Implementation Notes
This API call allows the user to modify the details of an existing demandshopname linked to a demandShopId
.
Body parameter
{
"shopName": "",
"hotelCode": 0,
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"estimatedAttendee": "",
"proximity": 0,
"category": "0",
"subCategory": "0"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
demandShopId | query | integer | true | Unique identifier for the Hotel Demand Shop. |
body | body | putDemandshopRequest | true | none |
Example responses
200 Response
{
"message": "Shop details updated successfully",
"shopId": 36418
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | putDemandshopResponse200 |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | Not Found | None |
500 | Internal Server Error | Internal Server Error. | None |
Delete Demand Shop
Code samples
# You can also use wget
curl -X DELETE /api/v1/demandshop \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
DELETE /api/v1/demandshop HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"demandShopId": []
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/demandshop',
{
method: 'DELETE',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete '/api/v1/demandshop',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('/api/v1/demandshop', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/api/v1/demandshop', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/demandshop");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "/api/v1/demandshop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /demandshop
User can delete HotelDemandShop
Implementation Notes
This API call allows the user to delete DemandShop linked to a demandshopid from your account.
Body parameter
{
"demandShopId": []
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | deleteDemandshopRequest | true | none |
Example responses
200 Response
{
"message": "Hotel demand shops deleted successfully",
"deletedShopIds": [
123,
456,
789
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | deleteDemandshopResponse200 |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
404 | Not Found | Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Schedule
Creat Schedule
Code samples
# You can also use wget
curl -X POST /api/v1/schedule \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /api/v1/schedule HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"scheduleName": "",
"shopId": 0,
"shopType": 0,
"fetchType": 0,
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "*",
"minute": "*",
"startDate": "2025-05-06",
"endDate": "2025-05-06"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/schedule',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/api/v1/schedule',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/schedule', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/api/v1/schedule', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/schedule");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/api/v1/schedule", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /schedule
This is to create the schedule
Implementation Notes
This API call allows a user to create a timetable for running a specific shop at a predetermined date and time on a set schedule. While creating this schedule, the user can also define the mode of delivery. Options are a Web-Hook or through a queueid.
- scheduleName: The name under which the schedule will be created.
- shopId: A unique ID generated while creating the shop.
- year:
- "*"
- No specification.
- "2025"
- One year only.
- "2025, 2025"
- Runs for two years.
- month:
- "*"
- Runs all 12 months in a year.
- "1"
- January.
- "2"
- February.
- "3"
- March.
- "4"
- April.
- "5"
- May.
- "6"
- June.
- "7"
- July.
- "8"
- August.
- "9"
- September.
- "10"
- October.
- "11"
- November.
- "12"
- December.
- "1,3"
- January & March.
- dow:
- "*"
- All days in a week.
- "1"
- Monday.
- "2"
- Tuesday.
- "3"
- Wednesday.
- "4"
- Thursday.
- "5"
- Friday.
- "6"
- Saturday.
- "7"
- Sunday.
- "1,3,5"
- Runs every Monday, Wednesday, and Friday.
- day:
- "*"
- All days in a month.
- "1-31"
- Any day index in a calendar month. Can be passed as an expression like "1,3,5"
.
- hour:
- "*"
- All hours in the day.
- "0-23"
- Any hour index in a day. Can be passed as an expression like "1,3,5"
. If the value is "*"
, it is considered undefined and can be run at 10:00 AM.
- minute:
- "0-59"
- Any minute index in an hour. Can be passed as an expression like "1,3,5"
. If the value is "*"
, it is considered undefined and can be run at the defined hour.
- fetchType:
- The location/server space where the user would want their results to be stored.
- Options:
- 1
- s3
.
- 2
- endpoint
.
- s3
: Email containing the path will be sent to the user once data is executed.
- endpoint
: User to specify a location of their preference.
- shopType:
- The type of shop.
- Options:
- 1
- eventsimpact
.
- 2
- eventsinfo
.
- 3
- hoteldemand
.
- startDate:
- This parameter determines when the schedule starts.
- endDate:
- This parameter determines when the schedule ends. If left undefined, the schedule runs indefinitely.
Body parameter
{
"scheduleName": "",
"shopId": 0,
"shopType": 0,
"fetchType": 0,
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "*",
"minute": "*",
"startDate": "2025-05-06",
"endDate": "2025-05-06"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | postScheduleRequest | true | none |
Example responses
201 Response
{
"message": "Schedule created successfully.",
"scheduleId": 47
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | Inline |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» message | string | false | none | none |
» scheduleId | integer | false | none | none |
Get Schedule
Code samples
# You can also use wget
curl -X GET /api/v1/schedule \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /api/v1/schedule HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/schedule',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/api/v1/schedule',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/schedule', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/schedule', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/schedule");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/schedule", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /schedule
View Schedule Details
Retrieves details of a Schedule based on the provided scheduleId
.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
scheduleId | query | integer | false | Unique identifier for the schedule. |
Example responses
200 Response
{
"scheduleId": 201,
"scheduleName": "sample_schedule_name",
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "*",
"minute": "20",
"status": 1,
"startDate": "2025-03-13",
"endDate": "2025-03-13",
"shopType": 3,
"fetchType": 1,
"shopId": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successful retrieval of schedule details. | getScheduleResponse200 |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Edit Schedule
Code samples
# You can also use wget
curl -X PUT /api/v1/schedule/{scheduleId}/ \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT /api/v1/schedule/{scheduleId}/ HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"shopId": 0,
"scheduleName": "",
"shopType": 0,
"fetchType": 0,
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "*",
"minute": "*",
"startDate": "2025-05-06",
"endDate": "2025-05-06"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/schedule/{scheduleId}/',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put '/api/v1/schedule/{scheduleId}/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('/api/v1/schedule/{scheduleId}/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/api/v1/schedule/{scheduleId}/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/schedule/{scheduleId}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/api/v1/schedule/{scheduleId}/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /schedule/{scheduleId}/
This is to edit the schedule
Implementation Notes
This API allows users to edit an existing schedule for running a shop at specific times. Users can define scheduling parameters, delivery mode, and execution settings.
Body parameter
{
"shopId": 0,
"scheduleName": "",
"shopType": 0,
"fetchType": 0,
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "*",
"minute": "*",
"startDate": "2025-05-06",
"endDate": "2025-05-06"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
scheduleId | path | integer | true | Enter your scheduleId |
body | body | putScheduleScheduleidRequest | true | none |
Example responses
200 Response
{
"message": "Schedule updated successfully.",
"scheduleId": 67
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | putScheduleScheduleidResponse200 |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Delete Schedule
Code samples
# You can also use wget
curl -X DELETE /api/v1/schedule/ \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
DELETE /api/v1/schedule/ HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"scheduleIds": []
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/schedule/',
{
method: 'DELETE',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete '/api/v1/schedule/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('/api/v1/schedule/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/api/v1/schedule/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/schedule/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "/api/v1/schedule/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /schedule/
This is to delete the schedule
Body parameter
{
"scheduleIds": []
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | deleteScheduleRequest | true | none |
Example responses
200 Response
{
"message": "Schedule deleted successfully",
"deletedScheduleIds": [
123,
456,
789
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK - Schedules deleted successfully. | deleteScheduleResponse200 |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
404 | Not Found | Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Hooks
Create Hook
Code samples
# You can also use wget
curl -X POST /api/v1/endpoint/ \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /api/v1/endpoint/ HTTP/1.1
Content-Type: application/json
const inputBody = '{
"authType": "",
"endpoint": "",
"userName": "",
"password": "",
"token": ""
}';
const headers = {
'Content-Type':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/endpoint/',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/api/v1/endpoint/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/endpoint/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/api/v1/endpoint/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/endpoint/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/api/v1/endpoint/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /endpoint/
Register a WebHook Endpoint
Implementation Notes
This API call allows you to set up a WebHook that receives data generated by EventsShop.
- Once a WebHook is defined, data is automatically delivered to the specified endpoint.
- The WebHook will send POST requests with JSON payloads corresponding to
eventsinfo
,eventimpact
, orhoteldemand
data.
Authentication: - The user must provide either Basic Auth (Username & Password) or OAuth 2.0 (Token). - If Basic Auth is used, the system will generate a new token.
Supported Authentication Types:
- "authType": "Basic Auth"
- "authType": "OAuth 2.0"
Example Input 1 (Basic Auth):
json
{
"authType": "Basic Auth",
"endpoint": "http://35.84.42.213:5000/",
"userName": "events",
"password": "*******",
"token": "71a49c4c-5694-11ec-bf63-0242ac130002"
}
Example Input 2 (OAuth 2.0):
json
{
"authType": "OAuth 2.0",
"endpoint": "http://35.84.42.213:5000/",
"userName": "events",
"password": "*******",
"token": "71a49c4c-5694-11ec-bf63-0242ac130002"
}
Body parameter
{
"authType": "",
"endpoint": "",
"userName": "",
"password": "",
"token": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | postEndpointRequest | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
202 | Accepted | Successfully registered the WebHook. | None |
400 | Bad Request | Bad Request - Invalid or missing parameters. | None |
401 | Unauthorized | Unauthorized - Authentication failed. | None |
500 | Internal Server Error | Internal Server Error. | None |
Reference
Get Attribute Definition
Code samples
# You can also use wget
curl -X GET /AttributeDefinition/ \
-H 'Authorization: Bearer {access-token}'
GET /AttributeDefinition/ HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/AttributeDefinition/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/AttributeDefinition/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/AttributeDefinition/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/AttributeDefinition/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/AttributeDefinition/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/AttributeDefinition/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /AttributeDefinition/
This is to view the Attribute Definition
By using this endpoint, users can retrieve the attribute definitions by making a GET request. This allows users to view the existing attribute definitions in their application or system.
The response will typically contain the attribute names, types, and any other relevant details associated with each attribute.
Overall, the GET /AttributeDefinition/ endpoint provides a straightforward way to access and review attribute definitions, helping users understand and utilize the attributes in their application or system.
Example responses
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ok | None |
400 | Bad Request | bad request | None |
401 | Unauthorized | unauthorized | None |
500 | Internal Server Error | internal error | None |
Response Schema
Get Category
Code samples
# You can also use wget
curl -X GET /api/v1/category/ \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /api/v1/category/ HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/category/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/api/v1/category/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/category/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/category/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/category/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/category/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /category/
Retrieve Available Categories
Implementation Notes
This API retrieves the list of available Categories used in the system. - Categories help classify different entities such as hotels, events, or services. - The endpoint requires Bearer Token Authentication.
Example responses
200 Response
[
{
"categoryCode": 1,
"category": "Luxury Hotels"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
List of categories.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» categoryCode | integer | false | none | Unique identifier of the category. |
» category | string | false | none | Name of the category. |
Get Category - subcategory group
Code samples
# You can also use wget
curl -X GET /api/v1/categorysubcategorygroup/ \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /api/v1/categorysubcategorygroup/ HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/categorysubcategorygroup/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/api/v1/categorysubcategorygroup/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/categorysubcategorygroup/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/categorysubcategorygroup/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/categorysubcategorygroup/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/categorysubcategorygroup/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /categorysubcategorygroup/
Retrieve Category-SubCategory Groups
Implementation Notes
This API fetches the mapping between Categories and SubCategories used in the system. - Helps classify different entities such as hotels, events, or services. - The endpoint requires Bearer Token Authentication.
Example responses
200 Response
[
{
"categoryCode": 1,
"category": "Hotels",
"subCategoryCode": 101,
"subCategory": "Luxury Hotels"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
List of category-subcategory mappings.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» categoryCode | integer | false | none | Unique identifier of the category. |
» category | string | false | none | Name of the category. |
» subCategoryCode | integer | false | none | Unique identifier of the subcategory. |
» subCategory | string | false | none | Name of the subcategory. |
Get Classdefinition
Code samples
# You can also use wget
curl -X GET /api/v1/classdefinition/ \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /api/v1/classdefinition/ HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/classdefinition/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/api/v1/classdefinition/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/classdefinition/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/classdefinition/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/classdefinition/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/classdefinition/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /classdefinition/
Retrieve Class Definitions
Implementation Notes
This API retrieves a list of available class definitions. - Class definitions categorize entities based on predefined classifications. - The endpoint requires Bearer Token Authentication.
Example responses
200 Response
[
{
"class": 1,
"attendeeOrCapacityRange": "Luxury"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
List of class definitions available in the system.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» class | string | false | none | Unique identifier of the class type. |
» attendeeOrCapacityRange | string | false | none | Attendee Or Capacity Range. |
Get Country
Code samples
# You can also use wget
curl -X GET /api/v1/country/ \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /api/v1/country/ HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/country/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/api/v1/country/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/country/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/country/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/country/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/country/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /country/
Retrieve List of Countries
Implementation Notes
This API fetches a list of all available countries in the system. - Requires Bearer Token Authentication. - Returns country details such as country ID and name.
Example responses
200 Response
[
{
"id": 28,
"countryCode": "USA",
"countryName": "United States of America"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
List of countries available in the system.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» id | integer | false | none | Numeric identifier of the country |
» countryCode | integer | false | none | Reference name of the country. |
» countryName | string | false | none | Name of the country. |
Get Eventstatus
Code samples
# You can also use wget
curl -X GET /api/v1/eventstatus/ \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /api/v1/eventstatus/ HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/eventstatus/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/api/v1/eventstatus/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/eventstatus/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/eventstatus/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/eventstatus/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/eventstatus/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /eventstatus/
Retrieve List of Event Statuses
Implementation Notes
This API fetches a list of available event statuses in the system. - Requires Bearer Token Authentication. - Returns event status details such as status ID and status name.
Example responses
200 Response
[
{
"eventStatus": "Scheduled"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
List of event statuses available in the system.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» eventStatus | string | false | none | Name of the event status. |
Get Region
Code samples
# You can also use wget
curl -X GET /api/v1/region/ \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /api/v1/region/ HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/region/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/api/v1/region/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/region/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/region/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/region/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/region/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /region/
Retrieve List of Regions
Implementation Notes
This API retrieves a list of available regions in the system. - Requires Bearer Token Authentication. - Returns region details such as region ID and region name.
Example responses
200 Response
[
{
"region": "North_America"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
List of regions available in the system.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» region | string | false | none | Name of the region. |
Get Subcategory
Code samples
# You can also use wget
curl -X GET /api/v1/subcategory/ \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /api/v1/subcategory/ HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/api/v1/subcategory/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/api/v1/subcategory/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/subcategory/', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/subcategory/', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/subcategory/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/subcategory/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /subcategory/
Retrieve List of Sub-Categories
Implementation Notes
This API retrieves a list of available sub-categories in the system. - Requires Bearer Token Authentication. - Returns sub-category details such as sub-category ID and name.
Example responses
200 Response
[
{
"subCategoryCode": 101,
"subCategory": "Luxury Hotels"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
List of sub-categories available in the system.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» subCategoryCode | integer | false | none | Unique identifier of the sub-category. |
» subCategory | string | false | none | Name of the sub-category. |
Schemas
getCreditsResponse200
{
"calls": {
"dailyCalls": 1000,
"weeklyCalls": 1000,
"monthlyCalls": 100000
},
"events": {
"maxEventsShops": 60,
"usedEventsShops": 70
},
"horizonMax": 50,
"pullsPerDay": 40,
"schedules": {
"maxSchedules": 70,
"usedSchedules": 80
},
"validTill": "Sat, 31 Dec 2050 00:00:00 GMT"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
calls | object | false | none | none |
» dailyCalls | integer | false | none | none |
» weeklyCalls | integer | false | none | none |
» monthlyCalls | integer | false | none | none |
events | object | false | none | none |
» maxEventsShops | integer | false | none | none |
» usedEventsShops | integer | false | none | none |
horizonMax | integer | false | none | none |
pullsPerDay | integer | false | none | none |
schedules | object | false | none | none |
» maxSchedules | integer | false | none | none |
» usedSchedules | integer | false | none | none |
validTill | string(date-time) | false | none | none |
postAuthtokenRequest
{
"userName": "",
"password": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
userName | string | true | none | The user's name (e.g., user@example.com) |
password | string | true | none | The user's password (e.g., password123) |
postAuthtokenResponse200
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyTmFtZSI6InRlc3RlxsygsjpbDEiLCJxbjwkSWQiOjE1LCJpYXQiOjE3NDI5NjY2OTYsImV4cCI6MTc0MzA1MzA5Nn0.pK7PJ1htZTpfVjy1Z4z67_K6fDugnezAOAQ_yk_xwGQ",
"isAdmin": false
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
token | string | false | none | JWT token |
isAdmin | boolean | false | none | Indicates whether the user is an admin |
postDemandshopRequest
{
"shopName": "",
"hotelCode": 0,
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"estimatedAttendee": "",
"proximity": 0,
"category": "0",
"subCategory": "0"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
shopName | string | true | none | none |
hotelCode | integer | false | none | none |
city | string | false | none | none |
country | string | false | none | none |
startDate | string(date) | true | none | none |
horizon | integer | true | none | none |
estimatedAttendee | string | false | none | none |
proximity | integer | false | none | none |
category | string | false | none | none |
subCategory | string | false | none | none |
postDemandshopResponse201
{
"message": "Hotel demand shop created successfully",
"demandShopId": 36418
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | false | none | Success message. |
demandShopId | integer | false | none | none |
putDemandshopRequest
{
"shopName": "",
"hotelCode": 0,
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"estimatedAttendee": "",
"proximity": 0,
"category": "0",
"subCategory": "0"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
shopName | string | false | none | none |
hotelCode | integer | false | none | none |
city | string | false | none | none |
country | string | false | none | none |
startDate | string(date) | false | none | none |
horizon | integer | false | none | none |
estimatedAttendee | string | false | none | none |
proximity | integer | false | none | none |
category | string | false | none | none |
subCategory | string | false | none | none |
putDemandshopResponse200
{
"message": "Shop details updated successfully",
"shopId": 36418
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | false | none | Success message. |
shopId | integer | false | none | Unique identifier for the event info shop. |
deleteDemandshopRequest
{
"demandShopId": []
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
demandShopId | [integer] | false | none | none |
deleteDemandshopResponse200
{
"message": "Hotel demand shops deleted successfully",
"deletedShopIds": [
123,
456,
789
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | false | none | none |
deletedShopIds | array | false | none | none |
postHoteldemandRequest
{
"hotelCode": 0,
"city": "",
"country": "",
"horizon": 30,
"startDate": "2025-05-06",
"estimatedAttendee": "",
"category": "0",
"subCategory": "0"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelCode | integer | false | none | Unique hotel identifier (0 if searching by city). |
city | Barcelona | false | none | City for demand calculation. |
country | string | false | none | Country for demand calculation. |
horizon | integer | false | none | Number of days for demand retrieval (max- 365). |
startDate | string(date) | false | none | Start date for demand calculation. |
estimatedAttendee | string | false | none | Estimated attendee count (range, min, max, exact). |
category | string | false | none | Event category (number, range, or combination). |
subCategory | string | false | none | Event subCategory (number, range, or combination). |
postHoteldemandResponse200
{
"demandId": 612
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
demandId | integer | false | none | Unique identifier for the demand. |
getHoteldemandinfoDemandidResponse200
{
"status": "completed"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
status | string | false | none | The status of the process. |
postEventimpactRequest
{
"eventId": 0,
"eventName": "",
"category": "0",
"subCategory": "0",
"startDate": "2025-05-06",
"estimatedAttendee": "",
"venue": "",
"address": "",
"city": "",
"state": "",
"zip": "",
"country": "",
"region": "",
"lat": "",
"lng": "",
"proximity": 0,
"horizon": 30,
"impactEventType": "",
"eventStatusCode": 1
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
eventId | integer | false | none | Unique identifier for the event. |
eventName | string | false | none | Name of the event. |
category | string | false | none | Event category (number, range, or combination). |
subCategory | string | false | none | Event subCategory (number, range, or combination). |
startDate | string(date) | false | none | Event start date. |
estimatedAttendee | string | false | none | Estimated attendee count (range, min, max, exact). |
venue | string | false | none | Event venue name. |
address | string | false | none | Event address. |
city | string | false | none | Event city. |
state | string | false | none | Event state. |
zip | string | false | none | Event zip code. |
country | string | false | none | Event country. |
region | string | false | none | Event region. |
lat | string | false | none | Latitude of the event location. |
lng | string | false | none | Longitude of the event location. |
proximity | integer | false | none | Proximity value (required if lat and lng are used). |
horizon | integer | false | none | Impact horizon period in days. |
impactEventType | string | false | none | Type of impact event. |
eventStatusCode | integer | false | none | Status of the event. |
postEventimpactResponse200
{
"pageInfo": {
"totalRecords": 39652,
"fetchedRecords": 1,
"totalPages": 39652,
"currentPage": 1,
"pageSize": 1
},
"events": [
{
"id": 20439038,
"eventId": 3456081,
"venueId": 609634,
"eventName": "Some Like it Hot",
"category": "Entertainment events",
"subCategory": "Theater",
"description": "The meeting aims to provide educational topics, facilitate professional networking.",
"startDate": "2025-04-10 00:00:00",
"endDate": "2025-04-10 00:00:00",
"estimatedAttendees": 574,
"impactEventType": "Low",
"venue": "William H. Mortensen Hall",
"address": "166 Capitol Ave",
"city": "Hartford",
"state": "Connecticut",
"zip": "06106",
"country": "United States",
"countryCode": "USA",
"region": "North_America",
"latitude": "41.7628413",
"longitude": "-72.6806411",
"impactScore": 25,
"eventStatus": "Scheduled"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
pageInfo | object | false | none | none |
» totalRecords | integer | false | none | none |
» fetchedRecords | integer | false | none | none |
» totalPages | integer | false | none | none |
» currentPage | integer | false | none | none |
» pageSize | integer | false | none | none |
events | [object] | false | none | none |
» id | integer | false | none | none |
» eventId | integer | false | none | none |
» venueId | integer | false | none | none |
» eventName | string | false | none | none |
» category | string | false | none | none |
» subCategory | string | false | none | none |
» description | string¦null | false | none | none |
» startDate | string(date-time) | false | none | none |
» endDate | string(date-time) | false | none | none |
» estimatedAttendees | integer | false | none | none |
» impactEventType | string | false | none | none |
» venue | string | false | none | none |
» address | string | false | none | none |
» city | string | false | none | none |
» state | string | false | none | none |
» zip | string | false | none | none |
» country | string | false | none | none |
» countryCode | string | false | none | none |
» region | string | false | none | none |
» latitude | string | false | none | none |
» longitude | string | false | none | none |
» impactScore | integer | false | none | none |
» eventStatus | string | false | none | none |
postEndpointRequest
{
"authType": "",
"endpoint": "",
"userName": "",
"password": "",
"token": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
authType | string | false | none | Authentication method to use. |
endpoint | string | false | none | URL of the WebHook endpoint. |
userName | string | false | none | Username for Basic Auth (leave empty for OAuth 2.0). |
password | string | false | none | Password for Basic Auth (leave empty for OAuth 2.0). |
token | string | false | none | OAuth 2.0 Token (leave empty for Basic Auth). |
Enumerated Values
Property | Value |
---|---|
authType | Basic Auth |
authType | OAuth 2.0 |
postImpactshopRequest
{
"shopName": "",
"estimatedAttendee": "",
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"eventIds": [],
"category": "0",
"subCategory": "0"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
shopName | string | true | none | Custom name for the event shop. |
estimatedAttendee | string | false | none | Attendee count filter in range or exact values. |
city | string | false | none | City where the event takes place. |
country | string | false | none | Country where the event takes place. |
startDate | string(date) | true | none | The starting date for event impact retrieval. |
horizon | integer | true | none | Number of days for impact retrieval (max- 365). |
eventIds | [integer] | false | none | List of event IDs to filter impact data. |
category | string | false | none | Category codes separated by commas or ranges. |
subCategory | string | false | none | Subcategory codes separated by commas or ranges. |
postImpactshopResponse201
{
"message": "Event impact shop created successfully",
"impactShopId": 36418
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | false | none | Success message. |
impactShopId | integer | false | none | none |
putImpactshopRequest
{
"shopName": "",
"estimatedAttendee": "",
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"eventIds": [],
"category": "0",
"subCategory": "0"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
shopName | string | false | none | none |
estimatedAttendee | string | false | none | none |
city | string | false | none | City where the event takes place. |
country | string | false | none | Country where the event takes place. |
startDate | string(date) | false | none | none |
horizon | integer | false | none | none |
eventIds | [integer] | false | none | none |
category | string | false | none | none |
subCategory | string | false | none | none |
putImpactshopResponse200
{
"message": "Shop details updated successfully.",
"shopId": 418
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | false | none | Success message. |
shopId | integer | false | none | Unique identifier for the event info shop. |
deleteImpactshopRequest
{
"impactShopId": []
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
impactShopId | [integer] | false | none | none |
deleteImpactshopResponse200
{
"message": "Event impact shops deleted successfully",
"deletedShopIds": [
123,
456,
789
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | false | none | none |
deletedShopIds | array | false | none | none |
postEventsRequest
{
"eventId": 0,
"eventName": "",
"category": "0",
"country": "",
"city": "",
"state": "",
"zip": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
eventId | integer | false | none | none |
eventName | string | false | none | none |
category | string | false | none | none |
country | string | false | none | none |
city | string | false | none | none |
state | string | false | none | none |
zip | string | false | none | none |
postEventsinfoRequest
{
"eventId": 0,
"eventName": "",
"category": "0",
"subCategory": "0",
"startDate": "2025-05-06",
"estimatedAttendee": "",
"venue": "",
"address": "",
"city": "",
"state": "",
"zip": "",
"country": "",
"region": "",
"lat": "",
"lng": "",
"proximity": 0,
"eventStatusCode": 1
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
eventId | integer | false | none | none |
eventName | string | false | none | none |
category | string | false | none | none |
subCategory | string | false | none | none |
startDate | string(date) | false | none | none |
estimatedAttendee | string | false | none | none |
venue | string | false | none | none |
address | string | false | none | none |
city | string | false | none | none |
state | string | false | none | none |
zip | string | false | none | none |
country | string | false | none | none |
region | string | false | none | none |
lat | string | false | none | none |
lng | string | false | none | none |
proximity | integer | false | none | none |
eventStatusCode | integer | false | none | none |
postEventsinfoResponse200
{
"pageInfo": {
"totalRecords": 1,
"fetchedRecords": 1,
"totalPages": 1,
"currentPage": 1,
"pageSize": 10
},
"events": [
{
"id": 23271839,
"eventId": 3504099,
"venueId": 990977,
"eventName": "Highland County Maple Festival",
"category": "Tradeshows, Business events and conferences",
"subCategory": "Tradeshows/Fairs/Expo",
"description": "The award-winning Highland County Maple Festival, designated a Local Legacy by the Library of Congress, offers maple sugar camp tours where visitors can observe traditional and modern techniques of sugar making in the beautiful mountains of Virginia. This award-winning festival attracts 20,000 - 30,000 visitors annually during the 2nd and 3rd weekends of March, where visitors enjoy maple syrup, famous maple doughnuts, pancake, and buckwheat cake meals, sweet and savory treats, handmade arts & crafts, live entertainment, and small-town hospitality. Come on out, and experience the tradition that's been running strong since 1959!",
"startDate": "2025-04-10 00:00:00",
"endDate": "2025-04-10 00:00:00",
"estimatedAttendees": 2106,
"venue": "Highland County",
"address": "165 W Main St",
"city": "Monterey",
"state": "Virginia",
"zip": "24465",
"country": "United States",
"countryCode": "USA",
"region": "North_America",
"latitude": "38.4127251",
"longitude": "-79.5824095",
"eventStatus": "Scheduled"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
pageInfo | object | false | none | none |
» totalRecords | integer | false | none | none |
» fetchedRecords | integer | false | none | none |
» totalPages | integer | false | none | none |
» currentPage | integer | false | none | none |
» pageSize | integer | false | none | none |
events | [object] | false | none | none |
» id | integer | false | none | none |
» eventId | integer | false | none | none |
» venueId | integer | false | none | none |
» eventName | string | false | none | none |
» category | string | false | none | none |
» subCategory | string | false | none | none |
» description | string | false | none | none |
» startDate | string(date-time) | false | none | none |
» endDate | string(date-time) | false | none | none |
» estimatedAttendees | integer | false | none | none |
» venue | string | false | none | none |
» address | string | false | none | none |
» city | string | false | none | none |
» state | string | false | none | none |
» zip | string | false | none | none |
» country | string | false | none | none |
» countryCode | string | false | none | none |
» region | string | false | none | none |
» latitude | string | false | none | none |
» longitude | string | false | none | none |
» eventStatus | string | false | none | none |
postHotelinfoRequest
{
"hotelCode": 0,
"hotelCodes": [],
"hotelName": "",
"address": "",
"city": "",
"state": "",
"zip": "",
"country": "",
"rating": "",
"lat": "",
"lng": "",
"proximity": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelCode | integer | false | none | Unique ID assigned to a hotel in the database. |
hotelCodes | [integer] | false | none | List of hotel codes to fetch multiple hotels. |
hotelName | string | false | none | none |
address | string | false | none | none |
city | string | false | none | none |
state | string | false | none | none |
zip | string | false | none | none |
country | string | false | none | none |
rating | string | false | none | none |
lat | string | false | none | Latitude coordinate of the hotel. |
lng | string | false | none | Longitude coordinate of the hotel. |
proximity | integer | false | none | Search radius in miles. |
postHotelinfoResponse200
{
"pageInfo": {
"totalRecords": 533411,
"fetchedRecords": 1,
"totalPages": 533411,
"currentPage": 1,
"pageSize": 1
},
"hotels": [
{
"hotelCode": 2,
"hotelName": "Gwynn's Island RV Resort",
"address": "551 Buckchase Road",
"city": "Gwynn",
"state": "Virginia",
"zip": "23066",
"country": "United States",
"latitude": "37.4909",
"longitude": "-76.2745",
"rating": "4.00"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
pageInfo | object | false | none | none |
» totalRecords | integer | false | none | none |
» fetchedRecords | integer | false | none | none |
» totalPages | integer | false | none | none |
» currentPage | integer | false | none | none |
» pageSize | integer | false | none | none |
hotels | [object] | false | none | none |
» hotelCode | integer | false | none | none |
» hotelName | string | false | none | none |
» address | string | false | none | none |
» city | string | false | none | none |
» state | string | false | none | none |
» zip | string | false | none | none |
» country | string | false | none | none |
» latitude | string | false | none | none |
» longitude | string | false | none | none |
» rating | string | false | none | none |
postInfoshopRequest
{
"shopName": "",
"estimatedAttendee": "",
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"eventIds": [],
"category": "0",
"subCategory": "0"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
shopName | string | false | none | Custom name for the event shop. |
estimatedAttendee | string | false | none | Attendee count filter in range or exact values (e.g., '100-500', '<500', '>500', '500'). |
city | string | false | none | Name of the city. |
country | string | false | none | Name of the country. |
startDate | string(date) | false | none | The starting date for event data retrieval. |
horizon | integer | false | none | Number of days to retrieve data for (max- 365). |
eventIds | [integer] | false | none | List of event IDs to filter data. |
category | string | false | none | Category codes (single number or range, comma-separated). |
subCategory | string | false | none | Subcategory codes (single number or range, comma-separated). |
postInfoshopResponse201
{
"message": "Event info shop created successfully.",
"eventInfoShopId": 36418
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | false | none | Success message. |
eventInfoShopId | integer | false | none | Unique identifier for the event info shop. |
putInfoshopRequest
{
"shopName": "",
"estimatedAttendee": "",
"city": "",
"country": "",
"startDate": "2025-05-06",
"horizon": 0,
"eventIds": [],
"category": "0",
"subCategory": "0"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
shopName | string | false | none | Name of the EventShop. |
estimatedAttendee | string | false | none | Estimated number of attendees. |
city | string | false | none | City where the event takes place. |
country | string | false | none | Country where the event takes place. |
startDate | string(date) | false | none | Start date of the event. |
horizon | integer | false | none | Number of days from the start date to retrieve data. |
eventIds | [integer] | false | none | List of event IDs associated with the EventShop. |
category | string | false | none | Category codes (single value or range). |
subCategory | string | false | none | Subcategory codes (single value or range). |
putInfoshopResponse200
{
"message": "Shop details updated successfully.",
"shopId": 765
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | false | none | Success message. |
shopId | integer | false | none | Unique identifier for the event info shop. |
deleteInfoshopRequest
{
"eventInfoShopId": []
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
eventInfoShopId | [integer] | false | none | none |
deleteInfoshopResponse200
{
"message": "Event info shops deleted successfully",
"deletedShopIds": [
123,
456,
789
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | false | none | none |
deletedShopIds | array | false | none | none |
postApidemandhotelinsertRequest
{
"hotelCode": 123,
"email": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelCode | integer | false | none | none |
string | false | none | none |
postApieventimpactfetchallRequest
{
"hotelCode": 4185209,
"startDate": "2025-04-07",
"endDate": "2025-05-06",
"proximity": 10,
"category": "0",
"subCategory": "0",
"estimatedAttendees": ">1",
"impactEventType": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelCode | integer | false | none | none |
startDate | string | false | none | none |
endDate | string | false | none | none |
proximity | number | false | none | none |
category | string | false | none | none |
subCategory | string | false | none | none |
estimatedAttendees | string | false | none | none |
impactEventType | string | false | none | none |
postApieventimpactfetchallResponse200
{
"requestId": 1744117662618,
"totalCount": 1,
"eventDetails": [
{
"eventId": 3731672,
"subEventId": "3731672_2",
"recurrenceId": null,
"seriesId": null,
"venueId": 779371,
"eventName": "Nakhon Pathom United FC vs. Port FC",
"category": "Sports events",
"subCategory": "Soccer/Football",
"description": "Buy and sell Nakhon Pathom United FC vs. Port FC Tickets for April 13 at Nakhon Pathom Municipality Sports School Stadium in Nakhon Pathom, Changwat Nakhon Pathom at StubHub! Tickets are 100% guaranteed by FanProtect",
"startDate": "2025-04-13 18:00:00",
"endDate": "2025-04-13 00:00:00",
"estimatedAttendees": 4000,
"impactEventType": "Low",
"venue": "Nakhon Pathom Municipality Sports School Stadium",
"address": "Sanam Chan Sub-district",
"city": "Mueang Nakhon Pathom District",
"state": "Nakhon Pathom",
"zip": "73000",
"country": "Thailand",
"countryCode": "THA",
"region": "ASIA",
"latitude": "13.799168",
"longitude": "100.055387",
"impactScore": "45",
"eventStatus": "Scheduled",
"distance": "2.05"
}
],
"dateDetails": [
[
"2025-04-13",
0,
0,
0,
1,
0
]
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
requestId | integer | false | none | none |
totalCount | integer | false | none | none |
eventDetails | [object] | false | none | none |
» eventId | integer | false | none | none |
» subEventId | string | false | none | none |
» recurrenceId | string¦null | false | none | none |
» seriesId | string¦null | false | none | none |
» venueId | integer | false | none | none |
» eventName | string | false | none | none |
» category | string | false | none | none |
» subCategory | string | false | none | none |
» description | string | false | none | none |
» startDate | string(date-time) | false | none | none |
» endDate | string(date-time) | false | none | none |
» estimatedAttendees | integer | false | none | none |
» impactEventType | string | false | none | none |
» venue | string | false | none | none |
» address | string | false | none | none |
» city | string | false | none | none |
» state | string | false | none | none |
» zip | string | false | none | none |
» country | string | false | none | none |
» countryCode | string | false | none | none |
» region | string | false | none | none |
» latitude | string | false | none | none |
» longitude | string | false | none | none |
» impactScore | string | false | none | none |
» eventStatus | string | false | none | none |
» distance | string | false | none | none |
dateDetails | [array] | false | none | none |
postApieventimpactfetchlocaionRequest
{
"hotelCode": 0,
"startDate": "2025-04-07",
"endDate": "2025-05-06",
"proximity": 10,
"category": "0",
"subCategory": "0",
"estimatedAttendees": ">1",
"impactEventType": "",
"latitude": "13.799168",
"longitude": "100.055387"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelCode | number | false | none | none |
startDate | string | false | none | Start date in YYYY-MM-DD format. |
endDate | string | false | none | End date in YYYY-MM-DD format. |
proximity | number(float) | false | none | Proximity radius in kilometers. |
category | string | false | none | Event category. |
subCategory | string | false | none | Subcategory of the event. |
estimatedAttendees | string | false | none | Estimated number of attendees. |
impactEventType | string | false | none | Type of the impact event. |
latitude | string | false | none | Latitude of the location. |
longitude | string | false | none | Longitude of the location. |
postApieventimpactfetchlocaionResponse200
{
"requestId": 1746428251675,
"totalCount": 1,
"eventDetails": [
{
"eventId": 3731672,
"subEventId": "3731672_2",
"recurrenceId": null,
"seriesId": null,
"venueId": 779371,
"eventName": "Nakhon Pathom United FC vs. Port FC",
"category": "Sports events",
"subCategory": "Soccer/Football",
"description": "Buy and sell Nakhon Pathom United FC vs. Port FC Tickets...",
"startDate": "2025-04-13 18:00:00",
"endDate": "2025-04-13 00:00:00",
"estimatedAttendees": 4000,
"impactEventType": "Low",
"venue": "Nakhon Pathom Municipality Sports School Stadium",
"address": "Sanam Chan Sub-district",
"city": "Mueang Nakhon Pathom District",
"state": "Nakhon Pathom",
"zip": "73000",
"country": "Thailand",
"countryCode": "THA",
"region": "ASIA",
"latitude": "13.799168",
"longitude": "100.055387",
"impactScore": "45",
"eventStatus": "Scheduled",
"distance": "0.00"
}
],
"dateDetails": [
[
"2025-04-13"
]
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
requestId | integer | false | none | none |
totalCount | integer | false | none | none |
eventDetails | [object] | false | none | none |
» eventId | integer | false | none | none |
» subEventId | string | false | none | none |
» recurrenceId | string¦null | false | none | none |
» seriesId | string¦null | false | none | none |
» venueId | integer | false | none | none |
» eventName | string | false | none | none |
» category | string | false | none | none |
» subCategory | string | false | none | none |
» description | string | false | none | none |
» startDate | string(date-time) | false | none | none |
» endDate | string(date-time) | false | none | none |
» estimatedAttendees | integer | false | none | none |
» impactEventType | string | false | none | none |
» venue | string | false | none | none |
» address | string | false | none | none |
» city | string | false | none | none |
» state | string | false | none | none |
» zip | string | false | none | none |
» country | string | false | none | none |
» countryCode | string | false | none | none |
» region | string | false | none | none |
» latitude | string | false | none | none |
» longitude | string | false | none | none |
» impactScore | string | false | none | none |
» eventStatus | string | false | none | none |
» distance | string | false | none | none |
dateDetails | [array] | false | none | none |
oneOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string(date) | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | integer | false | none | none |
postApieventimpactfetchlocationallRequest
{
"hotelCode": 0,
"startDate": "2025-04-07",
"endDate": "2025-05-06",
"proximity": 10,
"category": "0",
"subCategory": "0",
"estimatedAttendees": ">1",
"impactEventType": "",
"latitude": "13.799168",
"longitude": "100.055387"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelCode | number | false | none | none |
startDate | string | false | none | Start date in YYYY-MM-DD format. |
endDate | string | false | none | End date in YYYY-MM-DD format. |
proximity | number(float) | false | none | Proximity radius in kilometers. |
category | string | false | none | Event category. |
subCategory | string | false | none | Subcategory of the event. |
estimatedAttendees | string | false | none | Estimated number of attendees. |
impactEventType | string | false | none | Type of the impact event. |
latitude | string | false | none | Latitude of the location. |
longitude | string | false | none | Longitude of the location. |
postApieventimpactfetchlocationallResponse200
{
"requestId": 1746425524375,
"totalCount": 1,
"eventDetails": [
{
"eventId": 4013891,
"subEventId": "4013891_13",
"recurrenceId": 3196298,
"seriesId": null,
"venueId": 110127,
"eventName": "Fiesta",
"category": "Holidays, Festivals and Celebrations",
"subCategory": "Festival",
"description": "Buy and sell Fiesta Tickets for April 18 at Teatro Luchana - Complex in Madrid at StubHub! Tickets are 100% guaranteed by FanProtect",
"startDate": "2025-04-18 12:30:00",
"endDate": "2025-04-18 00:00:00",
"estimatedAttendees": 800,
"impactEventType": "Low",
"venue": "Teatros Luchana",
"address": "Calle de Luchana, 38",
"city": "Madrid",
"state": "Madrid",
"zip": "28010",
"country": "Spain",
"countryCode": "ESP",
"region": "EUROPE",
"latitude": "40.4318718",
"longitude": "-3.6982594",
"impactScore": "25",
"eventStatus": "Scheduled",
"distance": "1201.80"
}
],
"dateDetails": [
[
"2025-04-18",
0,
0,
1,
0,
0
]
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
requestId | integer | false | none | none |
totalCount | integer | false | none | none |
eventDetails | [object] | false | none | none |
» eventId | integer | false | none | none |
» subEventId | string | false | none | none |
» recurrenceId | integer | false | none | none |
» seriesId | integer | false | none | none |
» venueId | integer | false | none | none |
» eventName | string | false | none | none |
» category | string | false | none | none |
» subCategory | string | false | none | none |
» description | string | false | none | none |
» startDate | string(date-time) | false | none | none |
» endDate | string(date-time) | false | none | none |
» estimatedAttendees | integer | false | none | none |
» impactEventType | string | false | none | none |
» venue | string | false | none | none |
» address | string | false | none | none |
» city | string | false | none | none |
» state | string | false | none | none |
» zip | string | false | none | none |
» country | string | false | none | none |
» countryCode | string | false | none | none |
» region | string | false | none | none |
» latitude | string | false | none | none |
» longitude | string | false | none | none |
» impactScore | string | false | none | none |
» eventStatus | string | false | none | none |
» distance | string | false | none | none |
dateDetails | [array] | false | none | none |
postApidemantfetchRequest
{
"hotelCode": 170045,
"startDate": "2025-05-06",
"endDate": "2025-05-06"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelCode | integer | false | none | Unique identifier for the hotel. |
startDate | string(date) | false | none | Start date in YYYY-MM-DD format. |
endDate | string(date) | false | none | End date in YYYY-MM-DD format. |
postHolidayRequest
{
"countries": [
""
],
"horizon": 30,
"startDate": "2025-05-06",
"endDate": "2025-05-06"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
countries | [string] | false | none | List of country codes or names. |
horizon | integer | false | none | Horizon value in days. |
startDate | string(date) | false | none | Start date in YYYY-MM-DD format. |
endDate | string(date) | false | none | End date in YYYY-MM-DD format. |
postHolidayResponse200
{
"THA": [
{
"date": "2025-04-07",
"holidayName": "Day off for Chakri Day",
"country": "THA"
},
{
"date": "2025-04-13",
"holidayName": "Songkran",
"country": "THA"
}
],
"USA": [
{
"date": "2025-04-07",
"holidayName": "United Nations' World Health Day",
"country": "USA"
},
{
"date": "2025-04-07",
"holidayName": "Day of Remembrance of the Victims of the Rwanda Genocide",
"country": "USA"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
THA | [object] | false | none | none |
» date | string(date) | false | none | none |
» holidayName | string | false | none | none |
» country | string | false | none | none |
USA | [object] | false | none | none |
» date | string(date) | false | none | none |
» holidayName | string | false | none | none |
» country | string | false | none | none |
postScheduleRequest
{
"scheduleName": "",
"shopId": 0,
"shopType": 0,
"fetchType": 0,
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "*",
"minute": "*",
"startDate": "2025-05-06",
"endDate": "2025-05-06"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
scheduleName | string | true | none | Name of the schedule. |
shopId | integer | true | none | Unique ID generated when creating the shop. |
shopType | integer | true | none | Type of shop. |
fetchType | integer | true | none | Where results are stored. |
year | string(date) | true | none | Year(s) the schedule runs. |
month | string | true | none | Month(s) the schedule runs. |
dow | string | true | none | Days of the week the schedule runs. |
day | string | true | none | Days of the month the schedule runs. |
hour | string | true | none | Hours the schedule runs. |
minute | string | true | none | Minutes the schedule runs. |
startDate | string(date) | true | none | Start date of the schedule (UTC format). |
endDate | string(date) | true | none | End date of the schedule. If undefined, runs indefinitely. |
Enumerated Values
Property | Value |
---|---|
shopType | 1 |
shopType | 2 |
shopType | 3 |
fetchType | 1 |
fetchType | 2 |
getScheduleResponse200
{
"scheduleId": 201,
"scheduleName": "sample_schedule_name",
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "*",
"minute": "20",
"status": 1,
"startDate": "2025-03-13",
"endDate": "2025-03-13",
"shopType": 3,
"fetchType": 1,
"shopId": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
scheduleId | integer | false | none | Unique identifier for the schedule. |
scheduleName | string | false | none | Name of the schedule. |
year | string | false | none | Year for the schedule. |
month | string | false | none | Month for the schedule. |
dow | string | false | none | Day of the week for the schedule. |
day | string | false | none | Day of the month for the schedule. |
hour | string | false | none | Hour for the schedule. |
minute | string | false | none | Minute for the schedule. |
status | integer | false | none | Status of the schedule. |
startDate | string(date) | false | none | Start date of the schedule. |
endDate | string(date) | false | none | End date of the schedule. |
shopType | integer | false | none | Type of the shop. |
fetchType | integer | false | none | Type of the fetch operation. |
shopId | integer | false | none | Unique identifier for the shop in the schedule. |
putScheduleScheduleidRequest
{
"shopId": 0,
"scheduleName": "",
"shopType": 0,
"fetchType": 0,
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "*",
"minute": "*",
"startDate": "2025-05-06",
"endDate": "2025-05-06"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
shopId | integer | false | none | Unique shop ID associated with the schedule. |
scheduleName | string | false | none | Name of the schedule. |
shopType | integer | false | none | The type of shop. - 1 = eventsimpact - 2 = eventsinfo - 3 = hoteldemand |
fetchType | integer | false | none | Location where results are stored. - 1 = S3 - 2 = Endpoint |
year | string | false | none | Years the schedule should run. "*" means all years. |
month | string | false | none | Months the schedule should run. "*" means all months. |
dow | string | false | none | Days of the week the schedule should run. "*" means all days. |
day | string | false | none | Days of the month the schedule should run. "*" means all days. |
hour | string | false | none | Hours of the day the schedule should run. "*" means all hours. |
minute | string | false | none | Minutes of the hour the schedule should run. "*" means all minutes. |
startDate | string(date) | false | none | The date when the schedule starts (YYYY-MM-DD). |
endDate | string(date) | false | none | The date when the schedule ends (YYYY-MM-DD). |
Enumerated Values
Property | Value |
---|---|
shopType | 1 |
shopType | 2 |
shopType | 3 |
fetchType | 1 |
fetchType | 2 |
putScheduleScheduleidResponse200
{
"message": "Schedule updated successfully.",
"scheduleId": 67
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | false | none | Success message. |
scheduleId | integer | false | none | Unique identifier for the event info shop. |
deleteScheduleRequest
{
"scheduleIds": []
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
scheduleIds | [integer] | false | none | List of schedule IDs to delete. |
deleteScheduleResponse200
{
"message": "Schedule deleted successfully",
"deletedScheduleIds": [
123,
456,
789
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | false | none | none |
deletedScheduleIds | array | false | none | none |