Update service
Update a service. Passing category_id moves the service to that
category; omitting it leaves the service where it is.
curl --request PUT \
--url https://cookiechimp.com/api/v1/services/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"site_service": {
"name": "Google Analytics 4",
"auto_block": false
}
}
'import requests
url = "https://cookiechimp.com/api/v1/services/{id}"
payload = { "site_service": {
"name": "Google Analytics 4",
"auto_block": False
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({site_service: {name: 'Google Analytics 4', auto_block: false}})
};
fetch('https://cookiechimp.com/api/v1/services/{id}', 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/services/{id}",
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([
'site_service' => [
'name' => 'Google Analytics 4',
'auto_block' => false
]
]),
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/services/{id}"
payload := strings.NewReader("{\n \"site_service\": {\n \"name\": \"Google Analytics 4\",\n \"auto_block\": false\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://cookiechimp.com/api/v1/services/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"site_service\": {\n \"name\": \"Google Analytics 4\",\n \"auto_block\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cookiechimp.com/api/v1/services/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"site_service\": {\n \"name\": \"Google Analytics 4\",\n \"auto_block\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "svc1",
"name": "Google Analytics",
"description": "Measures how visitors use the site.",
"processing_company": "Google LLC",
"privacy_policy_url": "https://policies.google.com/privacy",
"additional_info": null,
"accepted_by_default": false,
"enabled": true,
"auto_block": true,
"auto_block_domains": [
"google-analytics.com"
],
"default_language": "en",
"category": {
"id": "cat1",
"name": "Analytics"
},
"translations": [
{
"id": "svct1",
"language_code": "de",
"description": "Misst, wie Besucher die Website nutzen.",
"additional_info": null
}
],
"created_at": "2023-03-01T09:00:00Z",
"updated_at": "2023-03-23T12:34:56Z"
}
}{
"errors": [
{
"code": 400,
"message": "Specify account_id when the API key can access more than one account"
}
]
}{
"errors": [
{
"code": 401,
"message": "API key must belong to an account"
}
]
}{
"errors": [
{
"code": 403,
"message": "User must be an admin of this account"
}
]
}{
"errors": [
{
"code": 404,
"message": "Record not found"
}
]
}{
"errors": [
{
"error": "Name can't be blank"
}
]
}{
"errors": [
{
"code": 429,
"message": "Too many requests. Please retry later."
}
]
}Authorizations
API token obtained from the login endpoint or the dashboard
Path Parameters
ID of the resource
Query Parameters
Which account to act on, as the account's API id. Only meaningful for a user API key, which may reach several accounts — an account key already identifies exactly one and ignores this.
Accepted by the endpoints that declare it; others act on the account the key resolves to on its own.
Optional for reads, where it narrows the request to that account.
Required for writes that declare it when the key can reach more than one
account: without it the request would act on an account it picked rather
than one you named, so it is refused with a 400.
Body
Service to update
Every field is optional; anything omitted keeps its current value.
Supplying category_id moves the service to that category.
Everything a service accepts on update, including its translations.
Show child attributes
Show child attributes
Response
Updated service
Show child attributes
Show child attributes
{ "id": "svc1", "name": "Google Analytics", "description": "Measures how visitors use the site.", "processing_company": "Google LLC", "privacy_policy_url": "https://policies.google.com/privacy", "additional_info": null, "accepted_by_default": false, "enabled": true, "auto_block": true, "auto_block_domains": ["google-analytics.com"], "default_language": "en", "category": { "id": "cat1", "name": "Analytics" }, "translations": [ { "id": "svct1", "language_code": "de", "description": "Misst, wie Besucher die Website nutzen.", "additional_info": null } ], "created_at": "2023-03-01T09:00:00Z", "updated_at": "2023-03-23T12:34:56Z" }
Was this page helpful?
curl --request PUT \
--url https://cookiechimp.com/api/v1/services/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"site_service": {
"name": "Google Analytics 4",
"auto_block": false
}
}
'import requests
url = "https://cookiechimp.com/api/v1/services/{id}"
payload = { "site_service": {
"name": "Google Analytics 4",
"auto_block": False
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({site_service: {name: 'Google Analytics 4', auto_block: false}})
};
fetch('https://cookiechimp.com/api/v1/services/{id}', 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/services/{id}",
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([
'site_service' => [
'name' => 'Google Analytics 4',
'auto_block' => false
]
]),
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/services/{id}"
payload := strings.NewReader("{\n \"site_service\": {\n \"name\": \"Google Analytics 4\",\n \"auto_block\": false\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://cookiechimp.com/api/v1/services/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"site_service\": {\n \"name\": \"Google Analytics 4\",\n \"auto_block\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cookiechimp.com/api/v1/services/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"site_service\": {\n \"name\": \"Google Analytics 4\",\n \"auto_block\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "svc1",
"name": "Google Analytics",
"description": "Measures how visitors use the site.",
"processing_company": "Google LLC",
"privacy_policy_url": "https://policies.google.com/privacy",
"additional_info": null,
"accepted_by_default": false,
"enabled": true,
"auto_block": true,
"auto_block_domains": [
"google-analytics.com"
],
"default_language": "en",
"category": {
"id": "cat1",
"name": "Analytics"
},
"translations": [
{
"id": "svct1",
"language_code": "de",
"description": "Misst, wie Besucher die Website nutzen.",
"additional_info": null
}
],
"created_at": "2023-03-01T09:00:00Z",
"updated_at": "2023-03-23T12:34:56Z"
}
}{
"errors": [
{
"code": 400,
"message": "Specify account_id when the API key can access more than one account"
}
]
}{
"errors": [
{
"code": 401,
"message": "API key must belong to an account"
}
]
}{
"errors": [
{
"code": 403,
"message": "User must be an admin of this account"
}
]
}{
"errors": [
{
"code": 404,
"message": "Record not found"
}
]
}{
"errors": [
{
"error": "Name can't be blank"
}
]
}{
"errors": [
{
"code": 429,
"message": "Too many requests. Please retry later."
}
]
}