curl --request GET \
--url https://api.us.cr4ce.com/tab/{tab_slug} \
--header 'Accept: <accept>' \
--header 'x-api-key: <api-key>'import requests
url = "https://api.us.cr4ce.com/tab/{tab_slug}"
headers = {
"Accept": "<accept>",
"x-api-key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Accept: '<accept>', 'x-api-key': '<api-key>'}};
fetch('https://api.us.cr4ce.com/tab/{tab_slug}', 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.us.cr4ce.com/tab/{tab_slug}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept: <accept>",
"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"
"net/http"
"io"
)
func main() {
url := "https://api.us.cr4ce.com/tab/{tab_slug}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept", "<accept>")
req.Header.Add("x-api-key", "<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://api.us.cr4ce.com/tab/{tab_slug}")
.header("Accept", "<accept>")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.us.cr4ce.com/tab/{tab_slug}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Accept"] = '<accept>'
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"categories": [
{
"slug": "KlMnOpQr",
"link": "https://api.au.cr4ce.com/category/KlMnOpQr",
"name": {
"en_GB": "Documentary"
}
}
],
"category_option": "select",
"content_block": null,
"created": "2024-12-12T09:41:21Z",
"field_count": 6,
"form": "GhIjKlMn",
"locked": false,
"name": {
"en_GB": "About you"
},
"order": 20,
"resource": "applications",
"season": {
"slug": "EfGhIjKl",
"link": "https://api.au.cr4ce.com/season/EfGhIjKl",
"name": {
"en_GB": "2026"
}
},
"settings": null,
"slug": "StUvWxYz",
"tab_divider_on_pdfs": true,
"type": "fields",
"updated": "2026-04-13T13:45:50Z",
"visible_to_applicants": true
}{
"message": "<string>",
"status_code": 400
}{
"message": "<string>",
"status_code": 401
}{
"message": "<string>",
"status_code": 403
}{
"message": "<string>",
"status_code": 404
}{
"message": "<string>",
"status_code": 429
}{
"status": "Maintenance in progress"
}Get tab
Get the tab identified by the specified slug.
curl --request GET \
--url https://api.us.cr4ce.com/tab/{tab_slug} \
--header 'Accept: <accept>' \
--header 'x-api-key: <api-key>'import requests
url = "https://api.us.cr4ce.com/tab/{tab_slug}"
headers = {
"Accept": "<accept>",
"x-api-key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Accept: '<accept>', 'x-api-key': '<api-key>'}};
fetch('https://api.us.cr4ce.com/tab/{tab_slug}', 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.us.cr4ce.com/tab/{tab_slug}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept: <accept>",
"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"
"net/http"
"io"
)
func main() {
url := "https://api.us.cr4ce.com/tab/{tab_slug}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept", "<accept>")
req.Header.Add("x-api-key", "<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://api.us.cr4ce.com/tab/{tab_slug}")
.header("Accept", "<accept>")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.us.cr4ce.com/tab/{tab_slug}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Accept"] = '<accept>'
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"categories": [
{
"slug": "KlMnOpQr",
"link": "https://api.au.cr4ce.com/category/KlMnOpQr",
"name": {
"en_GB": "Documentary"
}
}
],
"category_option": "select",
"content_block": null,
"created": "2024-12-12T09:41:21Z",
"field_count": 6,
"form": "GhIjKlMn",
"locked": false,
"name": {
"en_GB": "About you"
},
"order": 20,
"resource": "applications",
"season": {
"slug": "EfGhIjKl",
"link": "https://api.au.cr4ce.com/season/EfGhIjKl",
"name": {
"en_GB": "2026"
}
},
"settings": null,
"slug": "StUvWxYz",
"tab_divider_on_pdfs": true,
"type": "fields",
"updated": "2026-04-13T13:45:50Z",
"visible_to_applicants": true
}{
"message": "<string>",
"status_code": 400
}{
"message": "<string>",
"status_code": 401
}{
"message": "<string>",
"status_code": 403
}{
"message": "<string>",
"status_code": 404
}{
"message": "<string>",
"status_code": 429
}{
"status": "Maintenance in progress"
}Authorizations
API key used to authenticate and authorise every request.
Include it in the x-api-key header.
Headers
Defines the response type.
application/vnd.Creative Force.v2.3+json, application/vnd.Creative Force.v2.3+xml Defines the languages included in the response. If non are provided, the account default language is returned.
Value all overrides any other values present.
You can request multiple languages using a comma-separated string of languages.
The selected language must be supported by your account or a 400 error is returned.
all, ar_AR, bg_BG, bn_IN, ca_ES, cs_CZ, cy_GB, da_DK, de_DE, en_GB, en_US, el_GR, es_NN, es_LA, et_EE, fa_NN, fi_FI, fr_FR, fr_CA, he_IL, hi_IN, hr_HR, hu_HU, hy_AM, it_IT, ja_JP, ko_KR, lt_LT, ms_MY, nl_NL, nb_NO, pl_PL, pt_BR, ro_RO, ru_RU, sk_SK, sl_SI, sq_AL, sr_RS, sv_SE, sw_NN, th_TH, tr_TR, uk_UA, vi_VN, zh_CN, zh_HK Path Parameters
Slug of the tab.
^[A-Za-z]{8}$Response
Tab retrieved.
Section of a form that groups what is collected from applicants, such as application details, custom fields, attachments, contributors, or referees.
Categories the tab is shown in, or ["*"] when it is shown in every category.
category_option says which of the two a tab is using, so read that rather than testing for the marker. The same shape is used by the categories property of a field.
Show child attributes
Show child attributes
How categories are applied to the tab.
all- Shown in every category.select- Shown only in the categories listed incategories.
all, select Content block shown at the top of the tab, or null when no content block is assigned.
Show child attributes
Show child attributes
Date and time when the tab was created.
Number of fields attached to the tab.
Slug of the form the tab belongs to.
^[A-Za-z]{8}$Specifies whether the tab is locked.
A locked tab always holds position 1 and you cannot reorder or delete it.
Display name of the tab, as a map of translated strings keyed by locale code.
Show child attributes
Show child attributes
Position of the tab within the form, where lower values appear first.
Resource the tab collects data for.
applications- Part of an application form.users- Part of the user profile form.
applications, users Season the tab belongs to.
Show child attributes
Show child attributes
Configuration that applies only to this type of tab, or null for a type that carries none, such as a details or fields tab.
Each type populates its own properties and omits the rest: an attachments tab carries the upload limits, an eligibility tab the assessment and communication settings, a referees tab the reference limits, and a contributors tab the contributor limits.
These are the limits the applicant form applies. Apply them in your own interface so that applicants do not upload files the form would refuse.
Show child attributes
Show child attributes
{
"allowed_file_types": {
"images": ["jpg", "png"],
"video": ["mp4"]
},
"accept_attachment_links": false,
"min_attachments": 1,
"max_attachments": 10,
"min_filesize": null,
"max_filesize": 25,
"min_video_length": null,
"max_video_length": 120,
"image_dimension_constraints": {
"min_width": 800,
"max_width": 4000,
"min_height": 600,
"max_height": 4000
}
}
Short URL-safe identifier for the tab.
Specifies whether generated PDF documents include a divider page for the tab.
Type of the tab, which determines what the tab collects.
details- Core application details, such as the application title and the category the application is submitted to.attachments- Supplementary files uploaded against the application.contributors- People credited on the application alongside the applicant.fields- Answers to the custom fields on the form.eligibility- Answers used to assess whether the application is eligible.referees- Referees asked to provide a reference for the application.
details, attachments, contributors, fields, eligibility, referees Date and time when the tab was last updated.
Specifies whether applicants see the tab.
A tab hidden from applicants stays visible to program managers, so use it to collect information applicants do not manage themselves.