curl --request GET \
--url https://public-api.sessionboard.com/v1/event/{eventId}/registration/funnel \
--header 'x-access-token: <api-key>'import requests
url = "https://public-api.sessionboard.com/v1/event/{eventId}/registration/funnel"
headers = {"x-access-token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-access-token': '<api-key>'}};
fetch('https://public-api.sessionboard.com/v1/event/{eventId}/registration/funnel', 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}/registration/funnel",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://public-api.sessionboard.com/v1/event/{eventId}/registration/funnel"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-access-token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://public-api.sessionboard.com/v1/event/{eventId}/registration/funnel")
.header("x-access-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-api.sessionboard.com/v1/event/{eventId}/registration/funnel")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-access-token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"totals": {
"form_views": 1240,
"checkouts_started": 310,
"checkouts_completed": 262,
"abandoned": 48,
"abandonment_rate": 15.5,
"view_to_checkout_rate": 25,
"registered": 275,
"checkout_completion_rate": 84.5,
"conversion_rate": 21.1
},
"by_form": [
{
"form_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"name": "Annual Meeting registration",
"slug": "register",
"status": "open",
"kind": "attendee",
"form_views": 1100,
"checkouts_started": 290,
"checkouts_completed": 248,
"abandoned": 42,
"abandoned_value_cents": 2079000,
"registered": 259,
"view_to_checkout_rate": 26.4,
"checkout_completion_rate": 85.5,
"conversion_rate": 22.5,
"abandonment_rate": 14.5
}
],
"abandonment": {
"total": 48,
"value_cents": 2376000,
"last_7_days": 9,
"last_30_days": 31,
"by_ticket_type": [
{
"id": "3f2b8c1d-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"name": "Full conference",
"abandoned_checkouts": 40,
"quantity": 44
}
]
},
"definitions": {
"form_views": "Times the public form was opened (counted per day)."
}
}
}Get the registration funnel
The registration funnel per registration form: how many times the public form was
opened (form_views), checkouts started, checkouts completed (placed, paid or sent
to approval) and registrations now on the form, with the rates between them in
percent (null when there is nothing to divide by). abandoned counts public
checkouts still waiting for payment, or expired, and abandoned_value_cents what
they held. totals are the event’s, the same numbers as the Registration Overview
funnel; abandonment adds the last 7 and 30 days and the ticket types abandoned
checkouts held (every ticket type, no cap). Orders placed by staff, voided orders and drafts are left out. Counts
and sums only: no person is returned.
Requires read:registrations (legacy tokens with no scopes pass).
curl --request GET \
--url https://public-api.sessionboard.com/v1/event/{eventId}/registration/funnel \
--header 'x-access-token: <api-key>'import requests
url = "https://public-api.sessionboard.com/v1/event/{eventId}/registration/funnel"
headers = {"x-access-token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-access-token': '<api-key>'}};
fetch('https://public-api.sessionboard.com/v1/event/{eventId}/registration/funnel', 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}/registration/funnel",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://public-api.sessionboard.com/v1/event/{eventId}/registration/funnel"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-access-token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://public-api.sessionboard.com/v1/event/{eventId}/registration/funnel")
.header("x-access-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-api.sessionboard.com/v1/event/{eventId}/registration/funnel")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-access-token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"totals": {
"form_views": 1240,
"checkouts_started": 310,
"checkouts_completed": 262,
"abandoned": 48,
"abandonment_rate": 15.5,
"view_to_checkout_rate": 25,
"registered": 275,
"checkout_completion_rate": 84.5,
"conversion_rate": 21.1
},
"by_form": [
{
"form_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"name": "Annual Meeting registration",
"slug": "register",
"status": "open",
"kind": "attendee",
"form_views": 1100,
"checkouts_started": 290,
"checkouts_completed": 248,
"abandoned": 42,
"abandoned_value_cents": 2079000,
"registered": 259,
"view_to_checkout_rate": 26.4,
"checkout_completion_rate": 85.5,
"conversion_rate": 22.5,
"abandonment_rate": 14.5
}
],
"abandonment": {
"total": 48,
"value_cents": 2376000,
"last_7_days": 9,
"last_30_days": 31,
"by_ticket_type": [
{
"id": "3f2b8c1d-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"name": "Full conference",
"abandoned_checkouts": 40,
"quantity": 44
}
]
},
"definitions": {
"form_views": "Times the public form was opened (counted per day)."
}
}
}
