Create a contact
curl --request POST \
--url https://public-api.sessionboard.com/v1/event/{eventId}/contacts/create \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"email": "[email protected]",
"first_name": "<string>",
"last_name": "<string>",
"company": "<string>",
"title": "<string>",
"phone": "<string>",
"custom_fields": {}
}
'import requests
url = "https://public-api.sessionboard.com/v1/event/{eventId}/contacts/create"
payload = {
"email": "[email protected]",
"first_name": "<string>",
"last_name": "<string>",
"company": "<string>",
"title": "<string>",
"phone": "<string>",
"custom_fields": {}
}
headers = {
"x-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: '[email protected]',
first_name: '<string>',
last_name: '<string>',
company: '<string>',
title: '<string>',
phone: '<string>',
custom_fields: {}
})
};
fetch('https://public-api.sessionboard.com/v1/event/{eventId}/contacts/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://public-api.sessionboard.com/v1/event/{eventId}/contacts/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 => json_encode([
'email' => '[email protected]',
'first_name' => '<string>',
'last_name' => '<string>',
'company' => '<string>',
'title' => '<string>',
'phone' => '<string>',
'custom_fields' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-access-token: <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://public-api.sessionboard.com/v1/event/{eventId}/contacts/create"
payload := strings.NewReader("{\n \"email\": \"[email protected]\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"company\": \"<string>\",\n \"title\": \"<string>\",\n \"phone\": \"<string>\",\n \"custom_fields\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-access-token", "<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://public-api.sessionboard.com/v1/event/{eventId}/contacts/create")
.header("x-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"[email protected]\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"company\": \"<string>\",\n \"title\": \"<string>\",\n \"phone\": \"<string>\",\n \"custom_fields\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-api.sessionboard.com/v1/event/{eventId}/contacts/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"[email protected]\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"company\": \"<string>\",\n \"title\": \"<string>\",\n \"phone\": \"<string>\",\n \"custom_fields\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"friendly_id": "<string>",
"full_name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"email": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"photo_url": "<string>",
"company_name": "<string>",
"title": "<string>",
"about": "<string>",
"phone_home": "<string>",
"phone_mobile": "<string>",
"address_line_1": "<string>",
"address_line_2": "<string>",
"address_city": "<string>",
"address_state": "<string>",
"address_postal_code": "<string>",
"address_country": "<string>",
"website_url": "<string>",
"linkedin_url": "<string>",
"twitter_url": "<string>",
"facebook_url": "<string>",
"honorific": "<string>",
"salutation": "<string>",
"pronouns": "<string>",
"gender": "<string>",
"past_companies": "<string>",
"educational_affiliation": "<string>",
"highest_level_of_education": "<string>",
"ethnicity": "<string>",
"languages": "<string>",
"speaker_score": "<string>",
"organization_contact": "<string>",
"speaker_fee": "<string>",
"availability": "<string>",
"preferred_session_format": "<string>",
"annual_revenue": "<string>",
"headcount": "<string>",
"years_in_operation": "<string>",
"organization_structure": "<string>",
"industry": "<string>",
"global_region": "<string>",
"audience_type": "<string>",
"target_age_range": "<string>",
"topic_expertise": "<string>",
"brand": "<string>",
"translated_fields": [
{
"id": "<string>",
"name": "<string>",
"type": "<string>",
"parent_field_id": "<string>",
"parent_field_source": "<string>",
"parent_field_name": "<string>",
"parent_field_internal_name": "<string>",
"translated_language": "<string>",
"value": "<string>"
}
],
"custom_fields": [
{
"id": "<string>",
"name": "<string>",
"value": "<string>",
"type": "<string>",
"internal_name": "<string>",
"created_at": "<string>"
}
],
"admin_url": "<string>"
}Event — Contacts
Create a contact
Create a new contact in an event. Requires the write:contacts scope. Subject to rate limiting (100 req/15min) and daily write quota (10,000/day per token).
POST
/
v1
/
event
/
{eventId}
/
contacts
/
create
Create a contact
curl --request POST \
--url https://public-api.sessionboard.com/v1/event/{eventId}/contacts/create \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"email": "[email protected]",
"first_name": "<string>",
"last_name": "<string>",
"company": "<string>",
"title": "<string>",
"phone": "<string>",
"custom_fields": {}
}
'import requests
url = "https://public-api.sessionboard.com/v1/event/{eventId}/contacts/create"
payload = {
"email": "[email protected]",
"first_name": "<string>",
"last_name": "<string>",
"company": "<string>",
"title": "<string>",
"phone": "<string>",
"custom_fields": {}
}
headers = {
"x-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: '[email protected]',
first_name: '<string>',
last_name: '<string>',
company: '<string>',
title: '<string>',
phone: '<string>',
custom_fields: {}
})
};
fetch('https://public-api.sessionboard.com/v1/event/{eventId}/contacts/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://public-api.sessionboard.com/v1/event/{eventId}/contacts/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 => json_encode([
'email' => '[email protected]',
'first_name' => '<string>',
'last_name' => '<string>',
'company' => '<string>',
'title' => '<string>',
'phone' => '<string>',
'custom_fields' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-access-token: <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://public-api.sessionboard.com/v1/event/{eventId}/contacts/create"
payload := strings.NewReader("{\n \"email\": \"[email protected]\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"company\": \"<string>\",\n \"title\": \"<string>\",\n \"phone\": \"<string>\",\n \"custom_fields\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-access-token", "<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://public-api.sessionboard.com/v1/event/{eventId}/contacts/create")
.header("x-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"[email protected]\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"company\": \"<string>\",\n \"title\": \"<string>\",\n \"phone\": \"<string>\",\n \"custom_fields\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-api.sessionboard.com/v1/event/{eventId}/contacts/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"[email protected]\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"company\": \"<string>\",\n \"title\": \"<string>\",\n \"phone\": \"<string>\",\n \"custom_fields\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"friendly_id": "<string>",
"full_name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"email": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"photo_url": "<string>",
"company_name": "<string>",
"title": "<string>",
"about": "<string>",
"phone_home": "<string>",
"phone_mobile": "<string>",
"address_line_1": "<string>",
"address_line_2": "<string>",
"address_city": "<string>",
"address_state": "<string>",
"address_postal_code": "<string>",
"address_country": "<string>",
"website_url": "<string>",
"linkedin_url": "<string>",
"twitter_url": "<string>",
"facebook_url": "<string>",
"honorific": "<string>",
"salutation": "<string>",
"pronouns": "<string>",
"gender": "<string>",
"past_companies": "<string>",
"educational_affiliation": "<string>",
"highest_level_of_education": "<string>",
"ethnicity": "<string>",
"languages": "<string>",
"speaker_score": "<string>",
"organization_contact": "<string>",
"speaker_fee": "<string>",
"availability": "<string>",
"preferred_session_format": "<string>",
"annual_revenue": "<string>",
"headcount": "<string>",
"years_in_operation": "<string>",
"organization_structure": "<string>",
"industry": "<string>",
"global_region": "<string>",
"audience_type": "<string>",
"target_age_range": "<string>",
"topic_expertise": "<string>",
"brand": "<string>",
"translated_fields": [
{
"id": "<string>",
"name": "<string>",
"type": "<string>",
"parent_field_id": "<string>",
"parent_field_source": "<string>",
"parent_field_name": "<string>",
"parent_field_internal_name": "<string>",
"translated_language": "<string>",
"value": "<string>"
}
],
"custom_fields": [
{
"id": "<string>",
"name": "<string>",
"value": "<string>",
"type": "<string>",
"internal_name": "<string>",
"created_at": "<string>"
}
],
"admin_url": "<string>"
}Authorizations
ApiKeyBearerToken
Organization API token. Generate from Organization Settings → API Tokens.
Path Parameters
The event ID.
Body
application/json
Contact email address (required, must be unique within the event).
First name.
Last name.
Company or organization name.
Job title.
Phone number.
Custom field values keyed by field internal name.
Response
Contact created
A contact (speaker, attendee, or organizational contact) in Sessionboard.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Deep link to this entity in the Sessionboard admin UI.
⌘I

