heruAPI
Branding

Upload a merchant's logo

BuildingIn development for the v1 API. The contract is set; the route is not served yet.

PUT
/branding/merchants/{id}/logo

Uploads the merchant's logo, a PNG or an SVG, and makes it the logo of its invoicing page and emails.

  • PNG: at most 2048 px a side; heru re-encodes it, which drops metadata, and the result must fit the size cap (256 KiB).
  • SVG: plain shapes, gradients and text only, within the same cap. heru refuses, instead of cleaning, a file with scripts, event handlers, foreignObject, images, links, animations or references outside the file. Export it as plain SVG.

JPEG and any other format are refused. The logo is served from an immutable public URL that does not name the merchant.

Needs the branding:write scope.

Authorization

oauth2 branding:write
headerAuthorizationBearer <token>

OAuth 2.0 client credentials. Exchange your client_id and client_secret at /oauth/token of the environment for a bearer token valid for one hour. The playground of every operation asks for your own client and keeps it in your browser tab only.

Scope: branding:write

Path parameters

id*string

The merchant id.

Match^mer_[0-7][0-9a-hjkmnp-tv-z]{25}$

Request body

multipart/form-data
  1. body
file*file

The logo, a PNG or an SVG (image/svg+xml). heru tells them apart by their bytes, not by the file name.

Formatbinary

Response body

The logo was saved and is now the merchant's.

application/json
  1. response
url*string

Public, immutable URL of the logo.

Formaturi
content_type*string
Value in"image/png""image/svg+xml"
width*integer

Pixels of the PNG, or the SVG's viewBox scaled so its longer side is at most 2048.

height*integer
curl -X PUT 'https://api.dev.b2b.heru.app/v1/branding/merchants/mer_01m4xnvf23ecb963n48h2j9vxz/logo' \  -F 'file=string'
{  "url": "https://invoice.heru.app/assets/logo/3f5c0a9d7e2b4c6a8f1e0d3b5a7c9e2f4b6d8a0c1e3f5a7b9d0c2e4f6a8b0c1d.png",  "content_type": "image/png",  "width": 480,  "height": 160}
© 2026 Kuarto Inc. (heru)heru.appQuestions about your integration? Contact your heru account team.