Create Speaker
curl --request POST \
--url https://api.swoogo.com/api/v1/speakers/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data contact_id=4 \
--data event_id=55import requests
url = "https://api.swoogo.com/api/v1/speakers/create"
payload = {
"contact_id": "4",
"event_id": "55"
}
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({contact_id: '4', event_id: '55'})
};
fetch('https://api.swoogo.com/api/v1/speakers/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/speakers/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 => "contact_id=4&event_id=55",
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/speakers/create"
payload := strings.NewReader("contact_id=4&event_id=55")
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/speakers/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("contact_id=4&event_id=55")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.swoogo.com/api/v1/speakers/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 = "contact_id=4&event_id=55"
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
}Speakers
Create Speaker
Creates a new speaker for an event by linking an existing contact. Both event_id and contact_id are required. The speaker’s profile data (name, email, company, bio) is pulled from the linked contact record. Returns the newly created speaker object. Note that speakers cannot be updated via PUT — to change speaker details, update the underlying contact or delete and re-create the speaker.
POST
/
speakers
/
create
Create Speaker
curl --request POST \
--url https://api.swoogo.com/api/v1/speakers/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data contact_id=4 \
--data event_id=55import requests
url = "https://api.swoogo.com/api/v1/speakers/create"
payload = {
"contact_id": "4",
"event_id": "55"
}
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({contact_id: '4', event_id: '55'})
};
fetch('https://api.swoogo.com/api/v1/speakers/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/speakers/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 => "contact_id=4&event_id=55",
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/speakers/create"
payload := strings.NewReader("contact_id=4&event_id=55")
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/speakers/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("contact_id=4&event_id=55")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.swoogo.com/api/v1/speakers/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 = "contact_id=4&event_id=55"
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}.
⌘I