PATCH /brands/{brand} changes one brand. It needs the brands:write scope and the token’s creator must be an owner or admin of the workspace named in X-Workspace-Key.
Send a JSON object with at least one field. Fields you leave out stay as they are. A body with no valid field answers 400 invalid_request (“Nothing to update”). Keys the API does not know are ignored.
curl -X PATCH -H "Authorization: Bearer $TARKLE_TOKEN" -H "X-Workspace-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{"summary": "Business banking for small firms", "download_approval": true}' \
https://tarkle.com/api/v1/brands/acmeA successful call answers 200 with the whole brand after the change. Every change is recorded in the workspace Activity as brand.updated, with the token’s name and the fields it changed.
Fields you can change
| Field | What it accepts |
|---|---|
name |
Up to 120 characters. It cannot be empty. |
summary |
Up to 500 characters. |
story |
Up to 6,000 characters. |
industry, size, company_type |
Up to 80 characters each. |
year_founded |
A four-digit year, such as 2015. |
url |
A public web address. |
twitter, facebook, instagram, linkedin, youtube, github |
Up to 200 characters each. |
primary_color |
A hex color such as #714CB6. |
access |
public or restricted. |
confirm_public |
true. Needed to make a brand public. |
download_approval |
true or false. |
is_draft |
true or false. |
tracking |
An object with ga4, gtm, search_console and adobe_kit. |
meta_title |
The title for search results, up to 160 characters. |
meta_description |
The description for search results, up to 320 characters. |
team_title |
The heading above the team, up to 40 characters. |
Text longer than its limit is cut to the limit, not rejected. Send "" to clear any text field except name.
Rules for some fields
url takes a domain such as example.com; Tarkle adds https://. IP addresses, localhost, names ending in .local or .internal, addresses with a username or password, and ports other than 80 and 443 are rejected. The brand returns it as website.
primary_color must be six hex digits with a hash. #FFF is rejected. Tarkle stores it in uppercase.
access takes public or restricted.
- Making a brand public lets anyone open it and removes its password, so when the brand is not public yet the call needs
"confirm_public": true. Without it the call answers400 confirmation_requiredand changes nothing. It is not a separate scope:brands:writeplus the flag is enough. A brand that is already public needs no flag. - Making a brand restricted keeps its password but needs a contact or an organization assigned to the brand first, otherwise
400 invalid_request.
download_approval true means you approve each download request yourself. is_draft true marks the brand as a draft, and indexable becomes false.
tracking only changes the keys you send. An empty string clears a key.
ga4isG-followed by 4 to 16 letters or digits.gtmisGTM-followed by 4 to 12 letters or digits.search_consoleis a token of 16 to 128 characters, or the whole verification tag.adobe_kitis the seven-character ID of your Adobe Fonts web project, or the stylesheet link that contains it. Changing it to another project clears the Adobe fonts saved for the brand.
What you cannot change
- The slug and the id.
- Files such as logos, banners and collection files.
- Passwords. The API never sets one.
- Domains.
- The Adobe headline and body fonts. Choose them in the brand editor.
Errors
invalid_request(400): a value the API does not accept, a body that is not a JSON object, or a brand reference that is neither an id nor a slug.confirmation_required(400): making a brand public withoutconfirm_public: true.unauthorized(401): the token is missing, invalid or revoked.forbidden(403): the token lacksbrands:write, or its creator is not an owner or admin of the workspace.not_found(404): no brand with that id or slug in the workspace.rate_limited(429): waitRetry-Afterseconds.