curl --request POST \
--url https://api.swoogo.com/api/v1/events/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data close_date=2020-04-05 \
--data close_time=19:13:44 \
--data display_url=new-event \
--data end_date=2020-04-02 \
--data end_time=22:15:04 \
--data folder_id=2 \
--data 'name=New Event' \
--data start_date=2020-04-01 \
--data start_time=23:12:10 \
--data timezone=US/Easternimport requests
url = "https://api.swoogo.com/api/v1/events/create"
payload = {
"close_date": "2020-04-05",
"close_time": "19:13:44",
"display_url": "new-event",
"end_date": "2020-04-02",
"end_time": "22:15:04",
"folder_id": "2",
"name": "New Event",
"start_date": "2020-04-01",
"start_time": "23:12:10",
"timezone": "US/Eastern"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/x-www-form-urlencoded"
}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: new URLSearchParams({
close_date: '2020-04-05',
close_time: '19:13:44',
display_url: 'new-event',
end_date: '2020-04-02',
end_time: '22:15:04',
folder_id: '2',
name: 'New Event',
start_date: '2020-04-01',
start_time: '23:12:10',
timezone: 'US/Eastern'
})
};
fetch('https://api.swoogo.com/api/v1/events/create', 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.swoogo.com/api/v1/events/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "close_date=2020-04-05&close_time=19%3A13%3A44&display_url=new-event&end_date=2020-04-02&end_time=22%3A15%3A04&folder_id=2&name=New%20Event&start_date=2020-04-01&start_time=23%3A12%3A10&timezone=US%2FEastern",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/x-www-form-urlencoded"
],
]);
$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.swoogo.com/api/v1/events/create"
payload := strings.NewReader("close_date=2020-04-05&close_time=19%3A13%3A44&display_url=new-event&end_date=2020-04-02&end_time=22%3A15%3A04&folder_id=2&name=New%20Event&start_date=2020-04-01&start_time=23%3A12%3A10&timezone=US%2FEastern")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
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.swoogo.com/api/v1/events/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("close_date=2020-04-05&close_time=19%3A13%3A44&display_url=new-event&end_date=2020-04-02&end_time=22%3A15%3A04&folder_id=2&name=New%20Event&start_date=2020-04-01&start_time=23%3A12%3A10&timezone=US%2FEastern")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.swoogo.com/api/v1/events/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "close_date=2020-04-05&close_time=19%3A13%3A44&display_url=new-event&end_date=2020-04-02&end_time=22%3A15%3A04&folder_id=2&name=New%20Event&start_date=2020-04-01&start_time=23%3A12%3A10&timezone=US%2FEastern"
response = http.request(request)
puts response.read_body{
"created_at": "2022-06-26 14:30:00",
"updated_at": "2022-06-26 14:30:00"
}{
"name": "Unauthorized",
"message": "Your request was made with invalid credentials.",
"code": 0,
"status": 401
}{
"name": "Forbidden",
"message": "You do not have access to that resource.",
"code": 0,
"status": 403
}{
"name": "Not Found",
"message": "The requested resource does not exist.",
"code": 0,
"status": 404
}{
"name": "Internal Server Error",
"message": "An error occurred while processing your request.",
"code": 0,
"status": 500
}Create Event
Creates a new event in your account. Returns the full event record on success.
Required fields: name, start_date, start_time, end_date, end_time, and timezone (e.g., US/Eastern, Europe/London, Asia/Tokyo — see the Formatting conventions page for the accepted identifiers). Optionally set close_date and close_time to control when registration closes, folder_id to organize the event, and display_url to set the registration page URL slug.
The event is created in draft status by default. Configure registration types, packages, and sessions after creation.
curl --request POST \
--url https://api.swoogo.com/api/v1/events/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data close_date=2020-04-05 \
--data close_time=19:13:44 \
--data display_url=new-event \
--data end_date=2020-04-02 \
--data end_time=22:15:04 \
--data folder_id=2 \
--data 'name=New Event' \
--data start_date=2020-04-01 \
--data start_time=23:12:10 \
--data timezone=US/Easternimport requests
url = "https://api.swoogo.com/api/v1/events/create"
payload = {
"close_date": "2020-04-05",
"close_time": "19:13:44",
"display_url": "new-event",
"end_date": "2020-04-02",
"end_time": "22:15:04",
"folder_id": "2",
"name": "New Event",
"start_date": "2020-04-01",
"start_time": "23:12:10",
"timezone": "US/Eastern"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/x-www-form-urlencoded"
}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: new URLSearchParams({
close_date: '2020-04-05',
close_time: '19:13:44',
display_url: 'new-event',
end_date: '2020-04-02',
end_time: '22:15:04',
folder_id: '2',
name: 'New Event',
start_date: '2020-04-01',
start_time: '23:12:10',
timezone: 'US/Eastern'
})
};
fetch('https://api.swoogo.com/api/v1/events/create', 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.swoogo.com/api/v1/events/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "close_date=2020-04-05&close_time=19%3A13%3A44&display_url=new-event&end_date=2020-04-02&end_time=22%3A15%3A04&folder_id=2&name=New%20Event&start_date=2020-04-01&start_time=23%3A12%3A10&timezone=US%2FEastern",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/x-www-form-urlencoded"
],
]);
$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.swoogo.com/api/v1/events/create"
payload := strings.NewReader("close_date=2020-04-05&close_time=19%3A13%3A44&display_url=new-event&end_date=2020-04-02&end_time=22%3A15%3A04&folder_id=2&name=New%20Event&start_date=2020-04-01&start_time=23%3A12%3A10&timezone=US%2FEastern")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
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.swoogo.com/api/v1/events/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("close_date=2020-04-05&close_time=19%3A13%3A44&display_url=new-event&end_date=2020-04-02&end_time=22%3A15%3A04&folder_id=2&name=New%20Event&start_date=2020-04-01&start_time=23%3A12%3A10&timezone=US%2FEastern")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.swoogo.com/api/v1/events/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "close_date=2020-04-05&close_time=19%3A13%3A44&display_url=new-event&end_date=2020-04-02&end_time=22%3A15%3A04&folder_id=2&name=New%20Event&start_date=2020-04-01&start_time=23%3A12%3A10&timezone=US%2FEastern"
response = http.request(request)
puts response.read_body{
"created_at": "2022-06-26 14:30:00",
"updated_at": "2022-06-26 14:30:00"
}{
"name": "Unauthorized",
"message": "Your request was made with invalid credentials.",
"code": 0,
"status": 401
}{
"name": "Forbidden",
"message": "You do not have access to that resource.",
"code": 0,
"status": 403
}{
"name": "Not Found",
"message": "The requested resource does not exist.",
"code": 0,
"status": 404
}{
"name": "Internal Server Error",
"message": "An error occurred while processing your request.",
"code": 0,
"status": 500
}Authorizations
OAuth 2.0 bearer token obtained from POST /oauth2/token. Tokens expire after 30 minutes. Include in the Authorization header as Bearer {access_token}.
Body
"2020-04-05"
"19:13:44"
"new-event"
"2020-04-02"
"22:15:04"
"2"
"New Event"
"2020-04-01"
"23:12:10"
"US/Eastern"