Delete a brand
Deletes the brand and its images. Links and datarooms that pinned it fall back to the team default. Deleting the default brand promotes the oldest remaining brand.
Authorization
bearerAuth branding.writeDashboard-issued token (pm_live_...) or OAuth-issued access token.
In: header
Scope: branding.write
Path Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://api.papermark.com/v1/brands/string"{
"id": "clxy9abc1234567890",
"object": "document",
"deleted": true
}{
"error": {
"code": "bad_request",
"message": "The request body is not valid JSON.",
"doc_url": "https://www.papermark.com/docs/api/errors#bad_request",
"details": null
}
}{
"error": {
"code": "unauthorized",
"message": "Missing bearer token. Include an `Authorization: Bearer <token>` header.",
"doc_url": "https://www.papermark.com/docs/api/errors#unauthorized",
"details": null
}
}{
"error": {
"code": "forbidden",
"message": "Token is missing required scope: links.write.",
"doc_url": "https://www.papermark.com/docs/api/errors#forbidden",
"details": null
}
}{
"error": {
"code": "not_found",
"message": "Link link_abcd1234 not found.",
"doc_url": "https://www.papermark.com/docs/api/errors#not_found",
"details": null
}
}{
"error": {
"code": "unprocessable_entity",
"message": "Invalid request body.",
"doc_url": "https://www.papermark.com/docs/api/errors#unprocessable_entity",
"details": {
"formErrors": [],
"fieldErrors": {
"expires_at": [
"Invalid datetime"
]
}
}
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again in 30s.",
"doc_url": "https://www.papermark.com/docs/api/errors#rate_limit_exceeded",
"details": null
}
}{
"error": {
"code": "internal_server_error",
"message": "An unexpected error occurred. Please try again.",
"doc_url": "https://www.papermark.com/docs/api/errors#internal_server_error",
"details": null
}
}Update a brand
Partial update: omitted fields stay as they are, null clears a field. Pass `is_default: true` to make this the team's default brand. Replaced images are deleted once nothing else uses them.
Upload a brand image
Upload a logo, banner, or link preview image as the raw request body, e.g. `curl -X PUT --data-binary @logo.png -H 'Content-Type: image/png' …`. Replaces the current image in that slot. To set an image from a public URL instead, PATCH the brand with `{ "logo": { "source_url": "https://…" } }`; to remove one, PATCH it to null.