Get assigned plan for account
Overview
Get the account company record plus the plan currently assigned to it. The response includes the plan's features and review-site profile, or plan: null when no plan is assigned.
Prerequisites
- A bearer token (Partner tokens supported).
- The
brandIdof the account you are targeting.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
GET /api/v1/partner/account/{brandId}/assigned-plan
Authentication
- Requires a bearer token in the
Authorization: Bearer <bearer-token>header. - Who can call it: Partner tokens.
- Authentication is under
partner/account. - The route id is constrained to
[0-9]+.
Note: This method only checks that the account exists (returns 404 if not). It does NOT call canManageBrand, so it performs no partner-tree ownership check beyond authentication.
Rate limit
- No rate limit.
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
brandId | integer | Required | Digits only. The unique identifier for the account. |
Response
data.data.account(object) — fullCompanymodel row for the account (id, name, code,company_id,bundle_id, billing_model, contract_model, client_account_id, timestamps, etc.).data.data.plan(object|null) — the assignedPlan(latestcompany_plansrow) with:id,plan_name,price,status,plan_type,enforcement_mode,is_admin_managed,short_info, timestamps.features(array) —plan_featuresrows:feature_name,enabled,service_limit,limit_type,included_units,overage_rate,hard_stop.plan_review_sites(array) — each withreview_site_id,pull_frequency,pull_interval,pull_times,pull_daysand a nestedreview_siteobject.nullif the account has nocompany_plans.plan_id.
200 OK · 200
200{
"data": {
"data": {
"account": { "id": 12, "name": "Acme Brand", "bundle_id": 3, "company_id": 5 },
"plan": {
"id": 4,
"plan_name": "Gold",
"status": "active",
"is_admin_managed": true,
"features": [
{ "feature_name": "ai_response", "enabled": true, "overage_rate": "0.0800", "hard_stop": false }
],
"plan_review_sites": [
{ "review_site_id": 1, "pull_frequency": "daily", "review_site": { "id": 1, "name": "Yelp" } }
]
}
}
}
}Errors
| Status | Meaning |
|---|---|
401 | The bearer token is missing, expired or invalid |
404 | The account (brandId) does not exist |
500 | Unexpected server error |
Example request
curl --request GET \
--url "https://production-api.shoutaboutus.com/api/v1/partner/account/123/assigned-plan" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json'Updated 9 days ago
Did this page help you?
