curl --request GET \
--url https://api.us.cr4ce.com/category/{category_slug} \
--header 'Accept: <accept>' \
--header 'x-api-key: <api-key>'import requests
url = "https://api.us.cr4ce.com/category/{category_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/category/{category_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/category/{category_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/category/{category_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/category/{category_slug}")
.header("Accept", "<accept>")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.us.cr4ce.com/category/{category_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{
"created": "2025-01-15T09:00:00Z",
"description": {
"en_GB": "Submit your documentary films exploring real-world subjects and stories."
},
"divisions": 1,
"form": {
"slug": "GhIjKlMn",
"link": "https://api.au.cr4ce.com/form/GhIjKlMn",
"name": {
"en_GB": "Entry form"
}
},
"name": {
"en_GB": "Documentary"
},
"parent": {
"slug": "KlMnOpQr",
"link": "https://api.au.cr4ce.com/category/KlMnOpQr",
"name": {
"en_GB": "Film"
}
},
"promoted": null,
"season": {
"slug": "QrStUvWx",
"link": "https://api.au.cr4ce.com/season/QrStUvWx",
"name": {
"en_GB": "2025"
}
},
"shortcode": {
"en_GB": "01"
},
"slug": "AbCdEfGh",
"status": "active",
"updated": "2025-06-20T14:30:00Z",
"chapters": [
{
"slug": "MnOpQrSt",
"link": "https://api.au.cr4ce.com/chapter/MnOpQrSt",
"name": {
"en_GB": "Film"
}
}
],
"entrant_max_entries": null,
"entry_name_label": {
"en_GB": "Entry title"
},
"fill_entry_name": false,
"image_heading": {
"en_GB": "Category image"
},
"images": [
{
"token": "AbCdEfGhIjKlMnOp",
"link": "https://api.au.cr4ce.com/file/AbCdEfGhIjKlMnOp",
"filename": "example.png",
"download": "https://files.au.cr4ce.com/file/AbCdEfGhIjKlMnOp/example.png?Expires=1781657570&Signature=REDACTED&Key-Pair-Id=REDACTED"
}
],
"max_image_width": 300,
"packing_slip_instructions": {
"en_GB": "Attach this slip to each physical submission."
},
"pdf_packing_slip": false
}{
"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 category
Get the category identified by the specified slug.
curl --request GET \
--url https://api.us.cr4ce.com/category/{category_slug} \
--header 'Accept: <accept>' \
--header 'x-api-key: <api-key>'import requests
url = "https://api.us.cr4ce.com/category/{category_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/category/{category_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/category/{category_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/category/{category_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/category/{category_slug}")
.header("Accept", "<accept>")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.us.cr4ce.com/category/{category_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{
"created": "2025-01-15T09:00:00Z",
"description": {
"en_GB": "Submit your documentary films exploring real-world subjects and stories."
},
"divisions": 1,
"form": {
"slug": "GhIjKlMn",
"link": "https://api.au.cr4ce.com/form/GhIjKlMn",
"name": {
"en_GB": "Entry form"
}
},
"name": {
"en_GB": "Documentary"
},
"parent": {
"slug": "KlMnOpQr",
"link": "https://api.au.cr4ce.com/category/KlMnOpQr",
"name": {
"en_GB": "Film"
}
},
"promoted": null,
"season": {
"slug": "QrStUvWx",
"link": "https://api.au.cr4ce.com/season/QrStUvWx",
"name": {
"en_GB": "2025"
}
},
"shortcode": {
"en_GB": "01"
},
"slug": "AbCdEfGh",
"status": "active",
"updated": "2025-06-20T14:30:00Z",
"chapters": [
{
"slug": "MnOpQrSt",
"link": "https://api.au.cr4ce.com/chapter/MnOpQrSt",
"name": {
"en_GB": "Film"
}
}
],
"entrant_max_entries": null,
"entry_name_label": {
"en_GB": "Entry title"
},
"fill_entry_name": false,
"image_heading": {
"en_GB": "Category image"
},
"images": [
{
"token": "AbCdEfGhIjKlMnOp",
"link": "https://api.au.cr4ce.com/file/AbCdEfGhIjKlMnOp",
"filename": "example.png",
"download": "https://files.au.cr4ce.com/file/AbCdEfGhIjKlMnOp/example.png?Expires=1781657570&Signature=REDACTED&Key-Pair-Id=REDACTED"
}
],
"max_image_width": 300,
"packing_slip_instructions": {
"en_GB": "Attach this slip to each physical submission."
},
"pdf_packing_slip": false
}{
"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 category.
^[A-Za-z]{8}$Response
Category retrieved.
Competition category that entries are submitted to.
Date and time when the category was created.
Description shown to entrants on the category, as an HTML fragment map keyed by locale code.
Show child attributes
Show child attributes
Number of divisions configured for the category, always at least 1.
x >= 1Entry form attached to the category.
Show child attributes
Show child attributes
Display name of the category, as a map of translated strings keyed by locale code.
Show child attributes
Show child attributes
Parent category this category sits under, or null for a top-level category.
Show child attributes
Show child attributes
Promotion state of the category, 1 when promoted, 0 when not, and null when unset.
0, 1, null Season the category belongs to.
Show child attributes
Show child attributes
Short code used to reference the category, as a map of translated strings keyed by locale code.
Show child attributes
Show child attributes
Short URL-safe identifier for the category.
Current state of the category.
active, inactive Date and time when the category was last updated.
Chapters the category is available in.
Show child attributes
Show child attributes
Maximum number of entries a single entrant may submit to this category, or null if uncapped.
Custom label for the entry-name field shown to entrants, as a map of translated strings keyed by locale code.
Show child attributes
Show child attributes
Specifies whether entrants are asked to name their entry when submitting to this category.
Heading shown above the category images, as a map of translated strings keyed by locale code.
Show child attributes
Show child attributes
Images attached to the category.
Show child attributes
Show child attributes
Maximum display width for the category images, in pixels.
Instructions shown on the packing slip for the category, as a map of translated strings keyed by locale code.
Show child attributes
Show child attributes
Specifies whether a PDF packing slip is enabled for the category.