Delete a category
curl --request DELETE \
--url https://public-api.sessionboard.com/v1/organization/{orgId}/awards/programs/{programId}/categories/{categoryId} \
--header 'x-access-token: <api-key>'import requests
url = "https://public-api.sessionboard.com/v1/organization/{orgId}/awards/programs/{programId}/categories/{categoryId}"
headers = {"x-access-token": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'x-access-token': '<api-key>'}};
fetch('https://public-api.sessionboard.com/v1/organization/{orgId}/awards/programs/{programId}/categories/{categoryId}', 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/organization/{orgId}/awards/programs/{programId}/categories/{categoryId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
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/organization/{orgId}/awards/programs/{programId}/categories/{categoryId}"
req, _ := http.NewRequest("DELETE", 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.delete("https://public-api.sessionboard.com/v1/organization/{orgId}/awards/programs/{programId}/categories/{categoryId}")
.header("x-access-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-api.sessionboard.com/v1/organization/{orgId}/awards/programs/{programId}/categories/{categoryId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["x-access-token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"error": "SCOPE_REQUIRED",
"message": "Token missing required scope: write:awards"
}{
"error": "NOT_FOUND",
"message": "Not found"
}{
"error": "CONFLICT",
"message": "Category has 2 subcategories; send cascade=true to delete them too"
}Org — Awards
Delete a category
Soft-deletes the category. One with subcategories returns 409 unless cascade=true is sent, which deletes the whole subtree. One that submissions are filed under (directly or through a subcategory) also returns 409 unless force=true is sent. Requires the write:awards scope.
DELETE
/
v1
/
organization
/
{orgId}
/
awards
/
programs
/
{programId}
/
categories
/
{categoryId}
Delete a category
curl --request DELETE \
--url https://public-api.sessionboard.com/v1/organization/{orgId}/awards/programs/{programId}/categories/{categoryId} \
--header 'x-access-token: <api-key>'import requests
url = "https://public-api.sessionboard.com/v1/organization/{orgId}/awards/programs/{programId}/categories/{categoryId}"
headers = {"x-access-token": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'x-access-token': '<api-key>'}};
fetch('https://public-api.sessionboard.com/v1/organization/{orgId}/awards/programs/{programId}/categories/{categoryId}', 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/organization/{orgId}/awards/programs/{programId}/categories/{categoryId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
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/organization/{orgId}/awards/programs/{programId}/categories/{categoryId}"
req, _ := http.NewRequest("DELETE", 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.delete("https://public-api.sessionboard.com/v1/organization/{orgId}/awards/programs/{programId}/categories/{categoryId}")
.header("x-access-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-api.sessionboard.com/v1/organization/{orgId}/awards/programs/{programId}/categories/{categoryId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["x-access-token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"error": "SCOPE_REQUIRED",
"message": "Token missing required scope: write:awards"
}{
"error": "NOT_FOUND",
"message": "Not found"
}{
"error": "CONFLICT",
"message": "Category has 2 subcategories; send cascade=true to delete them too"
}Authorizations
ApiKeyBearerToken
Organization API token. Generate from Organization Settings → API Tokens.
Path Parameters
Your organization ID. Any other organization returns 404.
The Awards program ID.
The category ID.
Query Parameters
Also delete the category's subcategories.
Delete even though the record is in use (see the 409 response).
Response
Category deleted

