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
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://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-labelprefix. -
When you supply
company_idit 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_codethe resolver falls back to theRefererhost 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
Refererhost):
| Field | Type | Required | Description |
|---|---|---|---|
company_id | integer | optional | Must be an existing account inside your own account tree (must be in caller's hierarchy). |
referral_code | string | optional | Must 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) — latestRsUserThemeSettingrow for the resolved company (id,user_id,company_id,theme_optionsJSON string, timestamps), or null if none.data.company(object) —{ name }of the resolved company (empty string if unresolved).data.data(object|array) — theRsWhiteLabelrow spread out (id,company_id,domain_name,domain_prefix,white_url,email,title,status, timestamps, nestedcompanyrelation) withlogo/login_logo/mobile_logo/faviconrewritten to versioned S3 URLs (or null), plussubDomainSetting(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
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
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
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
| Status | Meaning |
|---|---|
401 | The bearer token is missing, expired or invalid |
422 | Unprocessable Entity |
500 | Unexpected 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}'Updated 9 days ago
