curl --request POST \
--url https://api.nowadays.ai/v1/events \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "Annual Summit",
"formattedLocations": [
{
"city": "Austin"
}
],
"eventDates": [
{
"startDate": "2027-03-15",
"endDate": "2027-03-17"
}
],
"venueType": "<string>",
"numPeople": 123,
"numHotelRoomsNeeded": 123,
"meetingRooms": "<string>",
"numMeetingRoomsNeeded": 123,
"meetingRoomRequirements": {
"generalSession": {
"needed": true,
"roomCount": 1
},
"breakout": {
"needed": true,
"count": 3
}
},
"foodBeverageRequirements": "<string>",
"flexibility": "<string>",
"accommodations": [
{
"date": "2027-03-15",
"Single": 60,
"Double": 11
}
],
"currency": "<string>",
"organizationId": 123
}
'import requests
url = "https://api.nowadays.ai/v1/events"
payload = {
"name": "Annual Summit",
"formattedLocations": [{ "city": "Austin" }],
"eventDates": [
{
"startDate": "2027-03-15",
"endDate": "2027-03-17"
}
],
"venueType": "<string>",
"numPeople": 123,
"numHotelRoomsNeeded": 123,
"meetingRooms": "<string>",
"numMeetingRoomsNeeded": 123,
"meetingRoomRequirements": {
"generalSession": {
"needed": True,
"roomCount": 1
},
"breakout": {
"needed": True,
"count": 3
}
},
"foodBeverageRequirements": "<string>",
"flexibility": "<string>",
"accommodations": [
{
"date": "2027-03-15",
"Single": 60,
"Double": 11
}
],
"currency": "<string>",
"organizationId": 123
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Annual Summit',
formattedLocations: [{city: 'Austin'}],
eventDates: [{startDate: '2027-03-15', endDate: '2027-03-17'}],
venueType: '<string>',
numPeople: 123,
numHotelRoomsNeeded: 123,
meetingRooms: '<string>',
numMeetingRoomsNeeded: 123,
meetingRoomRequirements: {
generalSession: {needed: true, roomCount: 1},
breakout: {needed: true, count: 3}
},
foodBeverageRequirements: '<string>',
flexibility: '<string>',
accommodations: [{date: '2027-03-15', Single: 60, Double: 11}],
currency: '<string>',
organizationId: 123
})
};
fetch('https://api.nowadays.ai/v1/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nowadays.ai/v1/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Annual Summit',
'formattedLocations' => [
[
'city' => 'Austin'
]
],
'eventDates' => [
[
'startDate' => '2027-03-15',
'endDate' => '2027-03-17'
]
],
'venueType' => '<string>',
'numPeople' => 123,
'numHotelRoomsNeeded' => 123,
'meetingRooms' => '<string>',
'numMeetingRoomsNeeded' => 123,
'meetingRoomRequirements' => [
'generalSession' => [
'needed' => true,
'roomCount' => 1
],
'breakout' => [
'needed' => true,
'count' => 3
]
],
'foodBeverageRequirements' => '<string>',
'flexibility' => '<string>',
'accommodations' => [
[
'date' => '2027-03-15',
'Single' => 60,
'Double' => 11
]
],
'currency' => '<string>',
'organizationId' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.nowadays.ai/v1/events"
payload := strings.NewReader("{\n \"name\": \"Annual Summit\",\n \"formattedLocations\": [\n {\n \"city\": \"Austin\"\n }\n ],\n \"eventDates\": [\n {\n \"startDate\": \"2027-03-15\",\n \"endDate\": \"2027-03-17\"\n }\n ],\n \"venueType\": \"<string>\",\n \"numPeople\": 123,\n \"numHotelRoomsNeeded\": 123,\n \"meetingRooms\": \"<string>\",\n \"numMeetingRoomsNeeded\": 123,\n \"meetingRoomRequirements\": {\n \"generalSession\": {\n \"needed\": true,\n \"roomCount\": 1\n },\n \"breakout\": {\n \"needed\": true,\n \"count\": 3\n }\n },\n \"foodBeverageRequirements\": \"<string>\",\n \"flexibility\": \"<string>\",\n \"accommodations\": [\n {\n \"date\": \"2027-03-15\",\n \"Single\": 60,\n \"Double\": 11\n }\n ],\n \"currency\": \"<string>\",\n \"organizationId\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.nowadays.ai/v1/events")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Annual Summit\",\n \"formattedLocations\": [\n {\n \"city\": \"Austin\"\n }\n ],\n \"eventDates\": [\n {\n \"startDate\": \"2027-03-15\",\n \"endDate\": \"2027-03-17\"\n }\n ],\n \"venueType\": \"<string>\",\n \"numPeople\": 123,\n \"numHotelRoomsNeeded\": 123,\n \"meetingRooms\": \"<string>\",\n \"numMeetingRoomsNeeded\": 123,\n \"meetingRoomRequirements\": {\n \"generalSession\": {\n \"needed\": true,\n \"roomCount\": 1\n },\n \"breakout\": {\n \"needed\": true,\n \"count\": 3\n }\n },\n \"foodBeverageRequirements\": \"<string>\",\n \"flexibility\": \"<string>\",\n \"accommodations\": [\n {\n \"date\": \"2027-03-15\",\n \"Single\": 60,\n \"Double\": 11\n }\n ],\n \"currency\": \"<string>\",\n \"organizationId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nowadays.ai/v1/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Annual Summit\",\n \"formattedLocations\": [\n {\n \"city\": \"Austin\"\n }\n ],\n \"eventDates\": [\n {\n \"startDate\": \"2027-03-15\",\n \"endDate\": \"2027-03-17\"\n }\n ],\n \"venueType\": \"<string>\",\n \"numPeople\": 123,\n \"numHotelRoomsNeeded\": 123,\n \"meetingRooms\": \"<string>\",\n \"numMeetingRoomsNeeded\": 123,\n \"meetingRoomRequirements\": {\n \"generalSession\": {\n \"needed\": true,\n \"roomCount\": 1\n },\n \"breakout\": {\n \"needed\": true,\n \"count\": 3\n }\n },\n \"foodBeverageRequirements\": \"<string>\",\n \"flexibility\": \"<string>\",\n \"accommodations\": [\n {\n \"date\": \"2027-03-15\",\n \"Single\": 60,\n \"Double\": 11\n }\n ],\n \"currency\": \"<string>\",\n \"organizationId\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "3f1a2b4c-5d6e-7f80-9a1b-2c3d4e5f6071",
"grantedTo": 3
}Create event
Create an event in the organization the API key belongs to. The key’s user becomes the owner, so the event’s visibility follows their group memberships.
curl --request POST \
--url https://api.nowadays.ai/v1/events \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "Annual Summit",
"formattedLocations": [
{
"city": "Austin"
}
],
"eventDates": [
{
"startDate": "2027-03-15",
"endDate": "2027-03-17"
}
],
"venueType": "<string>",
"numPeople": 123,
"numHotelRoomsNeeded": 123,
"meetingRooms": "<string>",
"numMeetingRoomsNeeded": 123,
"meetingRoomRequirements": {
"generalSession": {
"needed": true,
"roomCount": 1
},
"breakout": {
"needed": true,
"count": 3
}
},
"foodBeverageRequirements": "<string>",
"flexibility": "<string>",
"accommodations": [
{
"date": "2027-03-15",
"Single": 60,
"Double": 11
}
],
"currency": "<string>",
"organizationId": 123
}
'import requests
url = "https://api.nowadays.ai/v1/events"
payload = {
"name": "Annual Summit",
"formattedLocations": [{ "city": "Austin" }],
"eventDates": [
{
"startDate": "2027-03-15",
"endDate": "2027-03-17"
}
],
"venueType": "<string>",
"numPeople": 123,
"numHotelRoomsNeeded": 123,
"meetingRooms": "<string>",
"numMeetingRoomsNeeded": 123,
"meetingRoomRequirements": {
"generalSession": {
"needed": True,
"roomCount": 1
},
"breakout": {
"needed": True,
"count": 3
}
},
"foodBeverageRequirements": "<string>",
"flexibility": "<string>",
"accommodations": [
{
"date": "2027-03-15",
"Single": 60,
"Double": 11
}
],
"currency": "<string>",
"organizationId": 123
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Annual Summit',
formattedLocations: [{city: 'Austin'}],
eventDates: [{startDate: '2027-03-15', endDate: '2027-03-17'}],
venueType: '<string>',
numPeople: 123,
numHotelRoomsNeeded: 123,
meetingRooms: '<string>',
numMeetingRoomsNeeded: 123,
meetingRoomRequirements: {
generalSession: {needed: true, roomCount: 1},
breakout: {needed: true, count: 3}
},
foodBeverageRequirements: '<string>',
flexibility: '<string>',
accommodations: [{date: '2027-03-15', Single: 60, Double: 11}],
currency: '<string>',
organizationId: 123
})
};
fetch('https://api.nowadays.ai/v1/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nowadays.ai/v1/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Annual Summit',
'formattedLocations' => [
[
'city' => 'Austin'
]
],
'eventDates' => [
[
'startDate' => '2027-03-15',
'endDate' => '2027-03-17'
]
],
'venueType' => '<string>',
'numPeople' => 123,
'numHotelRoomsNeeded' => 123,
'meetingRooms' => '<string>',
'numMeetingRoomsNeeded' => 123,
'meetingRoomRequirements' => [
'generalSession' => [
'needed' => true,
'roomCount' => 1
],
'breakout' => [
'needed' => true,
'count' => 3
]
],
'foodBeverageRequirements' => '<string>',
'flexibility' => '<string>',
'accommodations' => [
[
'date' => '2027-03-15',
'Single' => 60,
'Double' => 11
]
],
'currency' => '<string>',
'organizationId' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.nowadays.ai/v1/events"
payload := strings.NewReader("{\n \"name\": \"Annual Summit\",\n \"formattedLocations\": [\n {\n \"city\": \"Austin\"\n }\n ],\n \"eventDates\": [\n {\n \"startDate\": \"2027-03-15\",\n \"endDate\": \"2027-03-17\"\n }\n ],\n \"venueType\": \"<string>\",\n \"numPeople\": 123,\n \"numHotelRoomsNeeded\": 123,\n \"meetingRooms\": \"<string>\",\n \"numMeetingRoomsNeeded\": 123,\n \"meetingRoomRequirements\": {\n \"generalSession\": {\n \"needed\": true,\n \"roomCount\": 1\n },\n \"breakout\": {\n \"needed\": true,\n \"count\": 3\n }\n },\n \"foodBeverageRequirements\": \"<string>\",\n \"flexibility\": \"<string>\",\n \"accommodations\": [\n {\n \"date\": \"2027-03-15\",\n \"Single\": 60,\n \"Double\": 11\n }\n ],\n \"currency\": \"<string>\",\n \"organizationId\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.nowadays.ai/v1/events")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Annual Summit\",\n \"formattedLocations\": [\n {\n \"city\": \"Austin\"\n }\n ],\n \"eventDates\": [\n {\n \"startDate\": \"2027-03-15\",\n \"endDate\": \"2027-03-17\"\n }\n ],\n \"venueType\": \"<string>\",\n \"numPeople\": 123,\n \"numHotelRoomsNeeded\": 123,\n \"meetingRooms\": \"<string>\",\n \"numMeetingRoomsNeeded\": 123,\n \"meetingRoomRequirements\": {\n \"generalSession\": {\n \"needed\": true,\n \"roomCount\": 1\n },\n \"breakout\": {\n \"needed\": true,\n \"count\": 3\n }\n },\n \"foodBeverageRequirements\": \"<string>\",\n \"flexibility\": \"<string>\",\n \"accommodations\": [\n {\n \"date\": \"2027-03-15\",\n \"Single\": 60,\n \"Double\": 11\n }\n ],\n \"currency\": \"<string>\",\n \"organizationId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nowadays.ai/v1/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Annual Summit\",\n \"formattedLocations\": [\n {\n \"city\": \"Austin\"\n }\n ],\n \"eventDates\": [\n {\n \"startDate\": \"2027-03-15\",\n \"endDate\": \"2027-03-17\"\n }\n ],\n \"venueType\": \"<string>\",\n \"numPeople\": 123,\n \"numHotelRoomsNeeded\": 123,\n \"meetingRooms\": \"<string>\",\n \"numMeetingRoomsNeeded\": 123,\n \"meetingRoomRequirements\": {\n \"generalSession\": {\n \"needed\": true,\n \"roomCount\": 1\n },\n \"breakout\": {\n \"needed\": true,\n \"count\": 3\n }\n },\n \"foodBeverageRequirements\": \"<string>\",\n \"flexibility\": \"<string>\",\n \"accommodations\": [\n {\n \"date\": \"2027-03-15\",\n \"Single\": 60,\n \"Double\": 11\n }\n ],\n \"currency\": \"<string>\",\n \"organizationId\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "3f1a2b4c-5d6e-7f80-9a1b-2c3d4e5f6071",
"grantedTo": 3
}Authorizations
Body
Event title.
"Annual Summit"
Candidate locations. Each entry needs a city.
[{ "city": "Austin" }]
Inclusive date ranges, YYYY-MM-DD.
[
{
"startDate": "2027-03-15",
"endDate": "2027-03-17"
}
]
Venue type. Defaults to 'hotel'.
Total attendees.
Guestrooms needed.
Free-text meeting-room requirement.
Meeting rooms needed, counting the general session. Ignored when meetingRoomRequirements is sent, which the count is derived from.
The general-session and breakout ask, as the UI stores it.
{
"generalSession": { "needed": true, "roomCount": 1 },
"breakout": { "needed": true, "count": 3 }
}
Free-text food and beverage needs.
How firm the dates are, in the requester's own words (e.g. 'can shift a week either way').
Room block per night. One entry per night, each with the room-type split.
[
{
"date": "2027-03-15",
"Single": 60,
"Double": 11
}
]
ISO currency code. Defaults to 'USD'.
The organization to create the event under; must be one the acting user belongs to. Ignored on the developer API, where the key already binds an organization.
Response
The created event's id, and how many people can see it