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 brandId of the account you are targeting.

Base URL

EnvironmentURL
Productionhttps://production-api.shoutaboutus.com
Developmenthttps://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

ParameterTypeRequiredDescription
brandIdintegerRequiredDigits only. The unique identifier for the account.

Response

  • data.data.account (object) — full Company model 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 assigned Plan (latest company_plans row) with:
    • id, plan_name, price, status, plan_type, enforcement_mode, is_admin_managed, short_info, timestamps.
    • features (array) — plan_features rows: feature_name, enabled, service_limit, limit_type, included_units, overage_rate, hard_stop.
    • plan_review_sites (array) — each with review_site_id, pull_frequency, pull_interval, pull_times, pull_days and a nested review_site object.
    • null if the account has no company_plans.plan_id.

200 OK · 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

StatusMeaning
401The bearer token is missing, expired or invalid
404The account (brandId) does not exist
500Unexpected 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'

Did this page help you?