NAV
Shell HTTP JavaScript Ruby Python PHP Java Go

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:

Images

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

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

Images

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:

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.

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:

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

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:

  1. hotelCode, shopName, horizon, proximity, estimatedAttendee, and startDate
  2. city, shopName, horizon, proximity, estimatedAttendee, and startDate
  3. country, shopName, horizon, proximity, estimatedAttendee, and startDate
  4. city and country, shopName, horizon, proximity, estimatedAttendee, and startDate

Parameter Descriptions:

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.

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
email 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