White Label - Get data (data resolver)

Overview

Resolve the white-label branding/domain config for an account. The record is looked up by explicit company_id, by referral_code (resolved to its account), or — if neither is given — inferred from the request Referer host (subdomain + domain matched against domain_prefix/domain_name). When a record is found, the endpoint also live-checks the custom subdomain status via AWS Amplify (persisting active/inactive). It then pulls the latest theme settings and the partner referral code, and rewrites logo/favicon paths to versioned S3 URLs.

Prerequisites

  • A bearer token. Callable with Partner and Account tokens.

Base URL

EnvironmentURL
Productionhttps://production-api.shoutaboutus.com
Developmenthttps://development-api.shoutaboutus.com

Endpoint

POST /api/v1/account/white-label/data

Authentication

  • Requires a bearer token in the Authorization: Bearer <bearer-token> header.

  • Who can call it: Partner and Account tokens.

  • Authentication (top-level authenticated group), role-agnostic account/white-label prefix.

  • When you supply company_id it must sit inside your own account tree.

  • A partner can therefore resolve any partner/account/location company beneath it. An account user reaches only its own part of the account tree.

  • With no company_id/referral_code the resolver falls back to the Referer host and returns whatever public white-label matches, regardless of role.

Rate limit

  • No rate limit.

Request body

  • Body (all optional; if none given, falls back to Referer host):
FieldTypeRequiredDescription
company_idintegeroptionalMust be an existing account inside your own account tree (must be in caller's hierarchy).
referral_codestringoptionalMust be an existing referral code; resolved to its company_id if company_id absent.
{
  "company_id": 1
}

Response

  • data.status (string) — always "success".
  • data.theme_settings (object|null) — latest RsUserThemeSetting row for the resolved company (id, user_id, company_id, theme_options JSON string, timestamps), or null if none.
  • data.company (object) — { name } of the resolved company (empty string if unresolved).
  • data.data (object|array) — the RsWhiteLabel row spread out (id, company_id, domain_name, domain_prefix, white_url, email, title, status, timestamps, nested company relation) with logo/login_logo/mobile_logo/favicon rewritten to versioned S3 URLs (or null), plus subDomainSetting (e.g. "verified" / "Domain not found!"). Returns an empty array [] when no white-label record is found.
  • data.instruction_file (string) — asset URL to the domain-setup PDF.
  • data.partner_referral (string|null) — referral code of the owning partner (only present when a white-label record is found).

200 OK (found) · 200

{
  "data": {
    "status": "success",
    "theme_settings": {
      "id": 1,
      "user_id": 3,
      "company_id": 5,
      "theme_options": "{\"mode\":\"system\",\"skin\":\"default\",\"primaryColor\":\"#f1874c\"}",
      "deleted_at": null,
      "created_at": "2026-06-11T11:53:05.000000Z",
      "updated_at": "2026-06-11T11:53:05.000000Z"
    },
    "company": {
      "name": "Yelp partner"
    },
    "data": {
      "id": 1,
      "company_id": 5,
      "domain_name": "manage-myreviews.com",
      "domain_prefix": "hipages",
      "white_url": "production.shoutaboutus.com",
      "email": null,
      "title": "hipages",
      "status": "active",
      "created_at": "2026-06-11T11:52:44.000000Z",
      "updated_at": "2026-06-11T11:52:44.000000Z",
      "deleted_at": null,
      "logo": "https://d2ny6zb7otrnhl.cloudfront.net/white-label/logo/xxxxxxxx.png?v=1781608178",
      "login_logo": "https://d2ny6zb7otrnhl.cloudfront.net/white-label/login_logo/xxxxxxxx.png?v=1781608178",
      "mobile_logo": null,
      "favicon": "https://d2ny6zb7otrnhl.cloudfront.net/white-label/favicon/xxxxxxxx.png?v=1781608178",
      "subDomainSetting": "verified"
    },
    "instruction_file": "https://production-api.shoutaboutus.com/assets/sample/RM White Label domain Setup Instructions.pdf",
    "partner_referral": "REF123"
  }
}

200 OK (no white-label) · 200

{
  "data": {
    "status": "success",
    "company": {
      "name": "Yelp partner"
    },
    "data": [],
    "instruction_file": "https://production-api.shoutaboutus.com/assets/sample/RM White Label domain Setup Instructions.pdf"
  }
}

422 Unprocessable Entity · 422

{
  "message": "The selected company id does not belong to your company hierarchy.",
  "errors": {
    "company_id": [
      "The selected company id does not belong to your company hierarchy."
    ]
  }
}

Errors

StatusMeaning
401The bearer token is missing, expired or invalid
422Unprocessable Entity
500Unexpected server error

Example request

curl --request POST \
  --url "https://production-api.shoutaboutus.com/api/v1/account/white-label/data" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"company_id": 1}'

Did this page help you?