curl --request PUT \
--url https://api.us.cr4ce.com/entry/{entry_slug} \
--header 'Accept: <accept>' \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"category": "AbCdEfGh",
"chapter": "PqRsTuVw",
"entrant": "YzAbCdEf",
"title": "Documentary series",
"status": "submitted",
"moderation_status": "approved",
"entry_fields": {
"UvWxYzAb": "A short film about resilience."
},
"custom_deadline": "2026-03-05 17:00"
}
'import requests
url = "https://api.us.cr4ce.com/entry/{entry_slug}"
payload = {
"category": "AbCdEfGh",
"chapter": "PqRsTuVw",
"entrant": "YzAbCdEf",
"title": "Documentary series",
"status": "submitted",
"moderation_status": "approved",
"entry_fields": { "UvWxYzAb": "A short film about resilience." },
"custom_deadline": "2026-03-05 17:00"
}
headers = {
"Accept": "<accept>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
Accept: '<accept>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
category: 'AbCdEfGh',
chapter: 'PqRsTuVw',
entrant: 'YzAbCdEf',
title: 'Documentary series',
status: 'submitted',
moderation_status: 'approved',
entry_fields: {UvWxYzAb: 'A short film about resilience.'},
custom_deadline: '2026-03-05 17:00'
})
};
fetch('https://api.us.cr4ce.com/entry/{entry_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/entry/{entry_slug}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'category' => 'AbCdEfGh',
'chapter' => 'PqRsTuVw',
'entrant' => 'YzAbCdEf',
'title' => 'Documentary series',
'status' => 'submitted',
'moderation_status' => 'approved',
'entry_fields' => [
'UvWxYzAb' => 'A short film about resilience.'
],
'custom_deadline' => '2026-03-05 17:00'
]),
CURLOPT_HTTPHEADER => [
"Accept: <accept>",
"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.us.cr4ce.com/entry/{entry_slug}"
payload := strings.NewReader("{\n \"category\": \"AbCdEfGh\",\n \"chapter\": \"PqRsTuVw\",\n \"entrant\": \"YzAbCdEf\",\n \"title\": \"Documentary series\",\n \"status\": \"submitted\",\n \"moderation_status\": \"approved\",\n \"entry_fields\": {\n \"UvWxYzAb\": \"A short film about resilience.\"\n },\n \"custom_deadline\": \"2026-03-05 17:00\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Accept", "<accept>")
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.put("https://api.us.cr4ce.com/entry/{entry_slug}")
.header("Accept", "<accept>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"category\": \"AbCdEfGh\",\n \"chapter\": \"PqRsTuVw\",\n \"entrant\": \"YzAbCdEf\",\n \"title\": \"Documentary series\",\n \"status\": \"submitted\",\n \"moderation_status\": \"approved\",\n \"entry_fields\": {\n \"UvWxYzAb\": \"A short film about resilience.\"\n },\n \"custom_deadline\": \"2026-03-05 17:00\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.us.cr4ce.com/entry/{entry_slug}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Accept"] = '<accept>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"category\": \"AbCdEfGh\",\n \"chapter\": \"PqRsTuVw\",\n \"entrant\": \"YzAbCdEf\",\n \"title\": \"Documentary series\",\n \"status\": \"submitted\",\n \"moderation_status\": \"approved\",\n \"entry_fields\": {\n \"UvWxYzAb\": \"A short film about resilience.\"\n },\n \"custom_deadline\": \"2026-03-05 17:00\"\n}"
response = http.request(request)
puts response.read_body{
"entrant": {
"slug": "AbCdEfGh",
"link": "https://api.au.cr4ce.com/user/AbCdEfGh",
"name": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe",
"email": "jane.doe@example.com",
"global_id": "9c78dcbc-53cf-42f1-b5b3-82fe396f66e6"
},
"entry_fields": [
{
"slug": "IjKlMnOp",
"link": "https://api.au.cr4ce.com/field/IjKlMnOp",
"label": {
"en_GB": "<p>Summary</p>"
},
"title": {
"en_GB": "Summary"
},
"value": "A short film about resilience.",
"translated": {
"en_GB": ""
}
},
{
"slug": "QrStUvWx",
"link": "https://api.au.cr4ce.com/field/QrStUvWx",
"label": {
"en_GB": "<p>Budget</p>"
},
"title": {
"en_GB": "Budget"
},
"dynamicRows": [],
"values": {
"A1": "Travel",
"B1": "23.00",
"C1": "32"
},
"schema": {
"columns": [
{
"key": "A",
"label": {
"en_GB": "Item"
}
},
{
"key": "B",
"label": {
"en_GB": "Cost"
}
},
{
"key": "C",
"label": {
"en_GB": "Quantity"
}
}
]
},
"translated": {
"en_GB": ""
}
},
{
"slug": "YzAbCdEf",
"link": "https://api.au.cr4ce.com/field/YzAbCdEf",
"label": {
"en_GB": "<p>Supporting document</p>"
},
"title": {
"en_GB": "Supporting document"
},
"value": null,
"token": "GhIjKlMnOpQrStUv",
"download": "https://files.au.cr4ce.com/file/GhIjKlMnOpQrStUv/brief.pdf?Expires=1781485359&Signature=REDACTED&Key-Pair-Id=REDACTED",
"translated": {
"en_GB": ""
}
}
],
"attachments": [
{
"token": "GhIjKlMnOpQrStUv",
"link": "https://api.au.cr4ce.com/attachment/GhIjKlMnOpQrStUv",
"file": {
"token": "GhIjKlMnOpQrStUv",
"link": "https://api.au.cr4ce.com/file/GhIjKlMnOpQrStUv",
"filename": "brief.pdf",
"download": "https://files.au.cr4ce.com/file/GhIjKlMnOpQrStUv/brief.pdf?Expires=1781485359&Signature=REDACTED&Key-Pair-Id=REDACTED"
},
"attachment_fields": [],
"tab": {
"slug": "WxYzAbCd",
"type": "Attachments",
"created_at": "2025-04-27T01:00:00Z",
"updated_at": "2025-05-12T14:00:00Z"
}
}
],
"auto_score": 0,
"category": {
"slug": "EfGhIjKl",
"link": "https://api.au.cr4ce.com/category/EfGhIjKl",
"name": {
"en_GB": "Short film"
}
},
"chapter": {
"slug": "MnOpQrSt",
"link": "https://api.au.cr4ce.com/chapter/MnOpQrSt",
"name": {
"en_GB": "Europe"
}
},
"comments": "Jane Roe (2025-06-03T10:45:29+00:00): manager comment",
"contributor_count": 1,
"contributors": [
{
"slug": "UvWxYzAb",
"tab": {
"slug": "CdEfGhIj",
"type": "Contributors",
"created_at": "2025-04-13T10:35:30Z",
"updated_at": "2025-06-18T14:42:14Z"
},
"contributor_fields": [
{
"slug": "KlMnOpQr",
"link": "https://api.au.cr4ce.com/field/KlMnOpQr",
"label": {
"en_GB": "<p>Role</p>"
},
"title": {
"en_GB": "Role"
},
"value": "Director",
"translated": {
"en_GB": ""
}
}
]
}
],
"created": "2025-03-11T15:00:03Z",
"custom_deadline": "-",
"division": 2,
"eligibility_status": "",
"files_count": 1,
"form": {
"slug": "StUvWxYz",
"link": "https://api.au.cr4ce.com/form/StUvWxYz",
"name": {
"en_GB": "Entry form"
}
},
"grant_end_date": null,
"grant_status": null,
"local_id": 916,
"moderation_status": "undecided",
"parent_category": null,
"payment_status": "Paid",
"plagiarism_scan_status": "unscanned",
"review_status": "",
"season": {
"slug": "BcDeFgHi",
"link": "https://api.au.cr4ce.com/season/BcDeFgHi",
"name": {
"en_GB": "2026"
}
},
"slug": "PqRsTuVw",
"status": "submitted",
"submitted": "2025-08-11T13:19:42Z",
"tags": "documentary, finalist",
"title": "Documentary series",
"updated": "2026-06-18T07:25:20Z",
"user_comments": "Jane Roe (2025-02-19T14:22:43+00:00): strong submission"
}{
"message": "<string>",
"status_code": 400
}{
"message": "<string>",
"status_code": 401
}{
"message": "<string>",
"status_code": 403
}{
"message": "<string>",
"status_code": 404
}{
"message": "<string>",
"status_code": 422,
"errors": {}
}{
"message": "<string>",
"status_code": 429
}{
"status": "Maintenance in progress"
}Update entry
Update the entry identified by the specified slug.
curl --request PUT \
--url https://api.us.cr4ce.com/entry/{entry_slug} \
--header 'Accept: <accept>' \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"category": "AbCdEfGh",
"chapter": "PqRsTuVw",
"entrant": "YzAbCdEf",
"title": "Documentary series",
"status": "submitted",
"moderation_status": "approved",
"entry_fields": {
"UvWxYzAb": "A short film about resilience."
},
"custom_deadline": "2026-03-05 17:00"
}
'import requests
url = "https://api.us.cr4ce.com/entry/{entry_slug}"
payload = {
"category": "AbCdEfGh",
"chapter": "PqRsTuVw",
"entrant": "YzAbCdEf",
"title": "Documentary series",
"status": "submitted",
"moderation_status": "approved",
"entry_fields": { "UvWxYzAb": "A short film about resilience." },
"custom_deadline": "2026-03-05 17:00"
}
headers = {
"Accept": "<accept>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
Accept: '<accept>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
category: 'AbCdEfGh',
chapter: 'PqRsTuVw',
entrant: 'YzAbCdEf',
title: 'Documentary series',
status: 'submitted',
moderation_status: 'approved',
entry_fields: {UvWxYzAb: 'A short film about resilience.'},
custom_deadline: '2026-03-05 17:00'
})
};
fetch('https://api.us.cr4ce.com/entry/{entry_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/entry/{entry_slug}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'category' => 'AbCdEfGh',
'chapter' => 'PqRsTuVw',
'entrant' => 'YzAbCdEf',
'title' => 'Documentary series',
'status' => 'submitted',
'moderation_status' => 'approved',
'entry_fields' => [
'UvWxYzAb' => 'A short film about resilience.'
],
'custom_deadline' => '2026-03-05 17:00'
]),
CURLOPT_HTTPHEADER => [
"Accept: <accept>",
"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.us.cr4ce.com/entry/{entry_slug}"
payload := strings.NewReader("{\n \"category\": \"AbCdEfGh\",\n \"chapter\": \"PqRsTuVw\",\n \"entrant\": \"YzAbCdEf\",\n \"title\": \"Documentary series\",\n \"status\": \"submitted\",\n \"moderation_status\": \"approved\",\n \"entry_fields\": {\n \"UvWxYzAb\": \"A short film about resilience.\"\n },\n \"custom_deadline\": \"2026-03-05 17:00\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Accept", "<accept>")
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.put("https://api.us.cr4ce.com/entry/{entry_slug}")
.header("Accept", "<accept>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"category\": \"AbCdEfGh\",\n \"chapter\": \"PqRsTuVw\",\n \"entrant\": \"YzAbCdEf\",\n \"title\": \"Documentary series\",\n \"status\": \"submitted\",\n \"moderation_status\": \"approved\",\n \"entry_fields\": {\n \"UvWxYzAb\": \"A short film about resilience.\"\n },\n \"custom_deadline\": \"2026-03-05 17:00\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.us.cr4ce.com/entry/{entry_slug}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Accept"] = '<accept>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"category\": \"AbCdEfGh\",\n \"chapter\": \"PqRsTuVw\",\n \"entrant\": \"YzAbCdEf\",\n \"title\": \"Documentary series\",\n \"status\": \"submitted\",\n \"moderation_status\": \"approved\",\n \"entry_fields\": {\n \"UvWxYzAb\": \"A short film about resilience.\"\n },\n \"custom_deadline\": \"2026-03-05 17:00\"\n}"
response = http.request(request)
puts response.read_body{
"entrant": {
"slug": "AbCdEfGh",
"link": "https://api.au.cr4ce.com/user/AbCdEfGh",
"name": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe",
"email": "jane.doe@example.com",
"global_id": "9c78dcbc-53cf-42f1-b5b3-82fe396f66e6"
},
"entry_fields": [
{
"slug": "IjKlMnOp",
"link": "https://api.au.cr4ce.com/field/IjKlMnOp",
"label": {
"en_GB": "<p>Summary</p>"
},
"title": {
"en_GB": "Summary"
},
"value": "A short film about resilience.",
"translated": {
"en_GB": ""
}
},
{
"slug": "QrStUvWx",
"link": "https://api.au.cr4ce.com/field/QrStUvWx",
"label": {
"en_GB": "<p>Budget</p>"
},
"title": {
"en_GB": "Budget"
},
"dynamicRows": [],
"values": {
"A1": "Travel",
"B1": "23.00",
"C1": "32"
},
"schema": {
"columns": [
{
"key": "A",
"label": {
"en_GB": "Item"
}
},
{
"key": "B",
"label": {
"en_GB": "Cost"
}
},
{
"key": "C",
"label": {
"en_GB": "Quantity"
}
}
]
},
"translated": {
"en_GB": ""
}
},
{
"slug": "YzAbCdEf",
"link": "https://api.au.cr4ce.com/field/YzAbCdEf",
"label": {
"en_GB": "<p>Supporting document</p>"
},
"title": {
"en_GB": "Supporting document"
},
"value": null,
"token": "GhIjKlMnOpQrStUv",
"download": "https://files.au.cr4ce.com/file/GhIjKlMnOpQrStUv/brief.pdf?Expires=1781485359&Signature=REDACTED&Key-Pair-Id=REDACTED",
"translated": {
"en_GB": ""
}
}
],
"attachments": [
{
"token": "GhIjKlMnOpQrStUv",
"link": "https://api.au.cr4ce.com/attachment/GhIjKlMnOpQrStUv",
"file": {
"token": "GhIjKlMnOpQrStUv",
"link": "https://api.au.cr4ce.com/file/GhIjKlMnOpQrStUv",
"filename": "brief.pdf",
"download": "https://files.au.cr4ce.com/file/GhIjKlMnOpQrStUv/brief.pdf?Expires=1781485359&Signature=REDACTED&Key-Pair-Id=REDACTED"
},
"attachment_fields": [],
"tab": {
"slug": "WxYzAbCd",
"type": "Attachments",
"created_at": "2025-04-27T01:00:00Z",
"updated_at": "2025-05-12T14:00:00Z"
}
}
],
"auto_score": 0,
"category": {
"slug": "EfGhIjKl",
"link": "https://api.au.cr4ce.com/category/EfGhIjKl",
"name": {
"en_GB": "Short film"
}
},
"chapter": {
"slug": "MnOpQrSt",
"link": "https://api.au.cr4ce.com/chapter/MnOpQrSt",
"name": {
"en_GB": "Europe"
}
},
"comments": "Jane Roe (2025-06-03T10:45:29+00:00): manager comment",
"contributor_count": 1,
"contributors": [
{
"slug": "UvWxYzAb",
"tab": {
"slug": "CdEfGhIj",
"type": "Contributors",
"created_at": "2025-04-13T10:35:30Z",
"updated_at": "2025-06-18T14:42:14Z"
},
"contributor_fields": [
{
"slug": "KlMnOpQr",
"link": "https://api.au.cr4ce.com/field/KlMnOpQr",
"label": {
"en_GB": "<p>Role</p>"
},
"title": {
"en_GB": "Role"
},
"value": "Director",
"translated": {
"en_GB": ""
}
}
]
}
],
"created": "2025-03-11T15:00:03Z",
"custom_deadline": "-",
"division": 2,
"eligibility_status": "",
"files_count": 1,
"form": {
"slug": "StUvWxYz",
"link": "https://api.au.cr4ce.com/form/StUvWxYz",
"name": {
"en_GB": "Entry form"
}
},
"grant_end_date": null,
"grant_status": null,
"local_id": 916,
"moderation_status": "undecided",
"parent_category": null,
"payment_status": "Paid",
"plagiarism_scan_status": "unscanned",
"review_status": "",
"season": {
"slug": "BcDeFgHi",
"link": "https://api.au.cr4ce.com/season/BcDeFgHi",
"name": {
"en_GB": "2026"
}
},
"slug": "PqRsTuVw",
"status": "submitted",
"submitted": "2025-08-11T13:19:42Z",
"tags": "documentary, finalist",
"title": "Documentary series",
"updated": "2026-06-18T07:25:20Z",
"user_comments": "Jane Roe (2025-02-19T14:22:43+00:00): strong submission"
}{
"message": "<string>",
"status_code": 400
}{
"message": "<string>",
"status_code": 401
}{
"message": "<string>",
"status_code": 403
}{
"message": "<string>",
"status_code": 404
}{
"message": "<string>",
"status_code": 422,
"errors": {}
}{
"message": "<string>",
"status_code": 429
}{
"status": "Maintenance in progress"
}entry_fields, only the field slugs you include are updated, and any field slug that does not exist on the form for the entry is ignored. For most field types the value you supply replaces the stored value. Table fields are merged cell by cell: include only the cells you want to change, and send a cell with an empty value to clear it.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 Path Parameters
Slug of the entry.
^[A-Za-z]{8}$Body
Entry update payload.
Slug of the category.
^[A-Za-z]{8}$Slug of the chapter.
^[A-Za-z]{8}$Slug of the entrant.
^[A-Za-z]{8}$Title of the entry.
Entry status.
submitted, in_progress, resubmission_required, resubmitted Moderation status of the entry.
approved, undecided, rejected Entry field values keyed by field slug. Each key must be a valid eight-letter field slug. The value type depends on the field type.
Show child attributes
Show child attributes
Custom deadline in yyyy-mm-dd hh:mm format.
^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]) ([01][0-9]|2[0-3]):[0-5][0-9]$Slug of the grant status. Available when the grants feature is enabled.
^[A-Za-z]{8}$Date when the grant ends. Available when the grants feature is enabled.
Response
Entry updated.
Single entry, including the entrant, form field responses, attachments, contributors, and status.
Entrant who created and owns the entry.
Show child attributes
Show child attributes
Automated score calculated for the entry.
Category the entry is assigned to.
Show child attributes
Show child attributes
Chapter the entry is assigned to.
Show child attributes
Show child attributes
Manager comments recorded on the entry, joined into a single string.
Number of contributors linked to the entry.
Date and time when the entry was created.
Custom submission deadline for the entry, or - when none is set.
Division number assigned to the entry, or null when none is assigned.
Eligibility status of the entry.
Number of files uploaded to the entry.
Entry form used to capture the entry.
Show child attributes
Show child attributes
Date when the grant ends, or null when not applicable.
Grant status assigned to the entry, or null when none is set.
Show child attributes
Show child attributes
Sequential identifier of the entry within the account.
Moderation status of the entry.
Parent of the assigned category, or null when the category has no parent.
Show child attributes
Show child attributes
Payment status of the entry.
Plagiarism scan status of the entry.
Review status of the entry.
Season the entry belongs to.
Show child attributes
Show child attributes
URL-safe identifier of the entry.
Submission status of the entry, for example submitted, in_progress, resubmission_required, resubmitted, invited, or not_approved_for_submission.
Date and time when the entry was submitted, or null when not yet submitted.
Tags applied to the entry, as a comma-separated list.
Title of the entry.
Date and time when the entry was last updated.
Comments left by users on the entry, joined into a single string.
Form field responses captured on the entry.
Show child attributes
Show child attributes
Files attached to the entry.
Show child attributes
Show child attributes
Contributors linked to the entry.
Show child attributes
Show child attributes