RecomlyRecomlyRecomlyDocs
Recomly APIEndpoints

Update branding

Update the organization's branding settings — color, social links, and logo metadata.

PATCH /api/app/branding

Updates the organization's branding settings. All fields are optional — only the fields you include are written. At least one field must be present.

To upload a logo, use Upload logo URL to obtain a pre-signed S3 URL, upload the file directly to S3, then call this endpoint with the resulting logoUrl and logoKey.

Requires the customBranding feature entitlement.


Request

See API Basics for required headers.

Body

FieldTypeRequiredDescription
primaryColorstringNoHex color code, e.g. "#2563eb". Must be a valid 6-digit hex value with leading #.
instagramstringNoInstagram handle without the @. Max 30 characters.
twitterXstringNoX (Twitter) handle without the @. Max 15 characters.
facebookstringNoFacebook page URL. Max 255 characters.
nextdoorstringNoNextdoor business page URL. Max 255 characters.
logoUrlstringNoPublic CDN URL returned by the Upload logo URL endpoint. Max 512 characters.
logoKeystringNoInternal S3 key returned by the Upload logo URL endpoint. Required when setting logoUrl. Max 512 characters.

logoUrl and logoKey should always be set together. Pass both values from the Upload logo URL response — the key is retained internally to enable future logo deletion from S3.


Sample request

curl -X PATCH https://api.recomly.com/api/app/branding \
  -H "Authorization: Bearer rk_live_abc123:def456" \
  -H "Content-Type: application/json" \
  -d '{
    "primaryColor": "#16a34a",
    "instagram": "mybusiness",
    "twitterX": "mybusiness"
  }'

Sample response

Status: 200 OK

{
  "branding": {
    "orgId": "a1b2c3d4-0000-4000-8000-e5f6a7b8c9d0",
    "updatedAt": "2026-04-07T18:35:00.000Z",
    "primaryColor": "#16a34a",
    "instagram": "mybusiness",
    "twitterX": "mybusiness"
  }
}

The response reflects the full branding record after the update. Optional fields that have never been set are omitted.


Error responses

See API Basics for standard status codes and error response format.

StatusWhen
400 Bad RequestA field failed validation (e.g. invalid hex color, value too long, no fields provided).
403 ForbiddenCaller does not have the admin role, or the customBranding feature is not enabled for this organization.

On this page

We use cookies

We use essential cookies to keep the site working, and optional analytics cookies to understand how it's used. Read our Privacy Policy.