PapermarkDocs

Upload a dataroom branding image

Upload an image for the dataroom's custom branding as the raw request body. The dataroom must be in `custom` mode; switch with PATCH /v1/datarooms/{id}/branding `{ "mode": "custom" }` first. To set an image from a public URL instead, PATCH with `{ "mode": "custom", "logo": { "source_url": "https://…" } }`.

PUT
/v1/datarooms/{id}/branding/images/{slot}

Authorization

bearerAuth datarooms.write
AuthorizationBearer <token>

Dashboard-issued token (pm_live_...) or OAuth-issued access token.

In: header

Scope: datarooms.write

Path Parameters

id*string
slot*string

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.

Value in"logo" | "banner" | "link_preview_image" | "link_preview_favicon"

Request Body

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.

body*file
Formatbinary

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://api.papermark.com/v1/datarooms/string/branding/images/logo" \  -H "Content-Type: image/png" \  -d 'string'
{
  "object": "dataroom_branding",
  "dataroom_id": "clxy9abc1234567890",
  "dataroom_pid": "dr_abc123def456",
  "mode": "team_default",
  "brand_id": "string",
  "custom": {
    "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"
  },
  "effective": {
    "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"
  }
}
{
  "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": "conflict",
    "message": "Dataroom branding is in team_default mode. Set mode to custom first with PATCH /v1/datarooms/{id}/branding.",
    "doc_url": "https://www.papermark.com/docs/api/errors#conflict",
    "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
  }
}