Skip to main content
POST
/
categories
Create category
curl --request POST \
  --url https://cookiechimp.com/api/v1/categories \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "description": "<string>",
  "required": true
}
'
import requests

url = "https://cookiechimp.com/api/v1/categories"

payload = {
"name": "<string>",
"description": "<string>",
"required": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', description: '<string>', required: true})
};

fetch('https://cookiechimp.com/api/v1/categories', 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://cookiechimp.com/api/v1/categories",
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([
'name' => '<string>',
'description' => '<string>',
'required' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$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://cookiechimp.com/api/v1/categories"

payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"required\": true\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
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://cookiechimp.com/api/v1/categories")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"required\": true\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://cookiechimp.com/api/v1/categories")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"required\": true\n}"

response = http.request(request)
puts response.read_body
{
  "id": "essential",
  "name": "Essential",
  "description": "Cookies essential for website functionality",
  "required": true,
  "created_at": "2023-01-01T00:00:00Z",
  "updated_at": "2023-01-02T00:00:00Z"
}
{
"error": {
"code": 400,
"message": "Invalid request"
}
}

Authorizations

Authorization
string
header
required

API token obtained from the login endpoint or the dashboard

Body

application/json

Category to create

name
string
required

Name of the category that is displayed to users

description
string
required

Description of the category that is displayed to users

required
boolean
required

Whether the category is required for the website to function

Response

Created category

name
string
required

Name of the category that is displayed to users

description
string
required

Description of the category that is displayed to users

required
boolean
required

Whether the category is required for the website to function

id
string
read-only

Unique identifier for the category

created_at
string<date-time>
read-only

Date and time when the category was created

updated_at
string<date-time>
read-only

Date and time when the category was last updated