Access tiers
Create access tier
Creates an access tier for a project to control player access to content.
POST
/
projects
/
{project_id}
/
player_settings
/
access_tiers
Create access tier
curl --request POST \
--url https://api.beyondwords.io/v1/projects/{project_id}/player_settings/access_tiers \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"slug": "<string>",
"name": "<string>",
"segment_limit": 123,
"ads_enabled": true,
"intro_url": "<string>",
"outro_url": "<string>"
}
'import requests
url = "https://api.beyondwords.io/v1/projects/{project_id}/player_settings/access_tiers"
payload = {
"slug": "<string>",
"name": "<string>",
"segment_limit": 123,
"ads_enabled": True,
"intro_url": "<string>",
"outro_url": "<string>"
}
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({
slug: '<string>',
name: '<string>',
segment_limit: 123,
ads_enabled: true,
intro_url: '<string>',
outro_url: '<string>'
})
};
fetch('https://api.beyondwords.io/v1/projects/{project_id}/player_settings/access_tiers', 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.beyondwords.io/v1/projects/{project_id}/player_settings/access_tiers",
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([
'slug' => '<string>',
'name' => '<string>',
'segment_limit' => 123,
'ads_enabled' => true,
'intro_url' => '<string>',
'outro_url' => '<string>'
]),
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.beyondwords.io/v1/projects/{project_id}/player_settings/access_tiers"
payload := strings.NewReader("{\n \"slug\": \"<string>\",\n \"name\": \"<string>\",\n \"segment_limit\": 123,\n \"ads_enabled\": true,\n \"intro_url\": \"<string>\",\n \"outro_url\": \"<string>\"\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.beyondwords.io/v1/projects/{project_id}/player_settings/access_tiers")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"slug\": \"<string>\",\n \"name\": \"<string>\",\n \"segment_limit\": 123,\n \"ads_enabled\": true,\n \"intro_url\": \"<string>\",\n \"outro_url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.beyondwords.io/v1/projects/{project_id}/player_settings/access_tiers")
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 \"slug\": \"<string>\",\n \"name\": \"<string>\",\n \"segment_limit\": 123,\n \"ads_enabled\": true,\n \"intro_url\": \"<string>\",\n \"outro_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": 1,
"slug": "anonymous",
"name": "anonymous",
"segment_limit": null,
"ads_enabled": true,
"intro_url": null,
"outro_url": null,
"created": "2026-01-01 00:00:00 UTC",
"updated": "2026-01-01 00:00:00 UTC"
}{
"code": 123,
"message": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>"
}
]
}Authorizations
Path Parameters
The numeric ID of your project
Body
application/json
Response
Created
Unique identifier for the object
Human readable name of the access tier
Maximum number of segments allowed for playback. Null means no limit.
Whether ads are enabled for this tier
URL of the intro audio file
URL of the outro audio file
Time at which the object was created (ISO 8601)
Time at which the object was updated (ISO 8601)
Was this page helpful?
⌘I
Create access tier
curl --request POST \
--url https://api.beyondwords.io/v1/projects/{project_id}/player_settings/access_tiers \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"slug": "<string>",
"name": "<string>",
"segment_limit": 123,
"ads_enabled": true,
"intro_url": "<string>",
"outro_url": "<string>"
}
'import requests
url = "https://api.beyondwords.io/v1/projects/{project_id}/player_settings/access_tiers"
payload = {
"slug": "<string>",
"name": "<string>",
"segment_limit": 123,
"ads_enabled": True,
"intro_url": "<string>",
"outro_url": "<string>"
}
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({
slug: '<string>',
name: '<string>',
segment_limit: 123,
ads_enabled: true,
intro_url: '<string>',
outro_url: '<string>'
})
};
fetch('https://api.beyondwords.io/v1/projects/{project_id}/player_settings/access_tiers', 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.beyondwords.io/v1/projects/{project_id}/player_settings/access_tiers",
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([
'slug' => '<string>',
'name' => '<string>',
'segment_limit' => 123,
'ads_enabled' => true,
'intro_url' => '<string>',
'outro_url' => '<string>'
]),
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.beyondwords.io/v1/projects/{project_id}/player_settings/access_tiers"
payload := strings.NewReader("{\n \"slug\": \"<string>\",\n \"name\": \"<string>\",\n \"segment_limit\": 123,\n \"ads_enabled\": true,\n \"intro_url\": \"<string>\",\n \"outro_url\": \"<string>\"\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.beyondwords.io/v1/projects/{project_id}/player_settings/access_tiers")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"slug\": \"<string>\",\n \"name\": \"<string>\",\n \"segment_limit\": 123,\n \"ads_enabled\": true,\n \"intro_url\": \"<string>\",\n \"outro_url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.beyondwords.io/v1/projects/{project_id}/player_settings/access_tiers")
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 \"slug\": \"<string>\",\n \"name\": \"<string>\",\n \"segment_limit\": 123,\n \"ads_enabled\": true,\n \"intro_url\": \"<string>\",\n \"outro_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": 1,
"slug": "anonymous",
"name": "anonymous",
"segment_limit": null,
"ads_enabled": true,
"intro_url": null,
"outro_url": null,
"created": "2026-01-01 00:00:00 UTC",
"updated": "2026-01-01 00:00:00 UTC"
}{
"code": 123,
"message": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>"
}
]
}