Update Role

Update Role

PATCH https://api.ocamba.com/v2/adex/roles/{id}
Partially updates a custom Role. Only fields present in the body are changed. Updatable fields are name, description, and permissions. is_default is not changed here — use POST /roles/{id}/set-as-default. Read-only (system) roles cannot be updated. When permissions are sent, permissions_counter is recalculated.

Rate limits:

  • Burst: 10/s
  • Steady: 150/m

Path parameters

parameters

Request schema

body

Response schemas

•
204
No Content
curl -X PATCH \
 "https://api.ocamba.com/v2/adex/roles/{id}" \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Campaign ops",
  "description": "Updated copy.",
  "permissions": [
    "campaigns.get",
    "campaigns.post"
  ]
}'
const url = 'https://api.ocamba.com/v2/adex/roles/{id}';
const options = {
  method: 'PATCH',
  headers: {
    Authorization: "Bearer {TOKEN}",
    'Content-Type': "application/json"
  },
  body: JSON.stringify(
    {
      "name": "Campaign ops",
      "description": "Updated copy.",
      "permissions": [
        "campaigns.get",
        "campaigns.post"
      ]
    }
  )
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
$ch = curl_init("https://api.ocamba.com/v2/adex/roles/{id}");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  "Authorization: Bearer {TOKEN}",
  "Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(
  [
    "name" => "Campaign ops",
    "description" => "Updated copy.",
    "permissions" => [
      "campaigns.get",
      "campaigns.post"
    ]
  ]
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);

Responses

204 No Content

400 Bad Request

{
  "code": 400,
  "title": "Bad request.",
  "message": "The request is not valid.",
  "trace_id": "99a84211-f73d-4ff8-acdf-eb3e06bb9d62"
}

403 Forbidden

{
  "code": 403,
  "title": "Forbidden",
  "message": "You are not allowed to perform this action.",
  "trace_id": "99a84211-f73d-4ff8-acdf-eb3e06bb9d62"
}

500 Internal Server Error

{
  "code": 500,
  "title": "Internal server error.",
  "trace_id": "99a84211-f73d-4ff8-acdf-eb3e06bb9d62"
}
Responses