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.
Authorization
bearerAuth branding.writeDashboard-issued token (pm_live_...) or OAuth-issued access token.
In: header
Scope: branding.write
Path Parameters
logo: PNG or JPEG, up to 2 MB. banner: PNG or JPEG, up to 4 MB. link_preview_image: PNG or JPEG, up to 4 MB (1200x630 recommended). link_preview_favicon: PNG or ICO, up to 1 MB. The two link preview slots require a Business or Data Rooms plan.
"logo" | "banner" | "link_preview_image" | "link_preview_favicon"The image file as the raw request body. Content-Type must be the file's real type; it is checked against the file's bytes.
TypeScript Definitions
Use the request body type in TypeScript.
binaryResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://api.papermark.com/v1/brands/string/images/logo" \ -H "Content-Type: image/png" \ -d 'string'{
"id": "clxbrand1234567890",
"object": "brand",
"name": "Default",
"is_default": true,
"logo_url": "string",
"hide_logo": true,
"banner_url": "string",
"banner_hidden": true,
"brand_color": "#0f172a",
"accent_color": "#ffffff",
"accent_button_color": "string",
"apply_accent_color_to_dataroom_view": true,
"welcome_message": "string",
"cta_label": "string",
"cta_url": "string",
"card_layout": "GRID",
"show_folder_tree": true,
"viewer_layout_preset": "STANDARD",
"viewer_header_style": "DEFAULT",
"hide_folder_icons_in_main": true,
"default_language": "en",
"custom_link_preview_enabled": true,
"link_preview_title": "string",
"link_preview_description": "string",
"link_preview_image_url": "string",
"link_preview_favicon_url": "string",
"created": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}{
"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
}
}