Get account details

Overview

Get a single account with everything the account-edit form needs: account row + company_options + city/state/country, the owner (name/email/phone), and the account's current plan_id. Returns 404 if the target is missing or not an account (bundle_id != 3).

Prerequisites

  • A bearer token. Callable with Partner tokens.
  • The brandId of the record you are targeting.

Base URL

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

Endpoint

GET /api/v1/partner/account/{brandId}

Authentication

  • Requires a bearer token in the Authorization: Bearer <bearer-token> header.
  • Who can call it: Partner tokens.
  • Authentication is under partner/account.
  • The endpoint validates the path id: it must be an existing account inside your own account tree.
  • A partner-supplied client_account_id query param (if present) takes precedence and resolves to the account within the caller's partner only.
  • After load, the controller walks getParentCompany(brand,'partner') and enforces canManageBrand (super-admin or matching partner) else 403.

Rate limit

  • No rate limit.

Path parameters

ParameterTypeRequiredDescription
brandIdintegerRequiredDigits only.

Query parameters

  • Query: client_account_id (string, optional) — partner-supplied external id; overrides the path id (404 if it resolves to none within the partner).

Response

  • data.account (object) — selected account fields: id, name, company_id, site_url, address, city_id, zip, company_phone, billing_id, client_account_id, phone, bundle_id, website, created_at. Plus company_option (id, company_id, who_will_pay, enable_generic_alert, enable_insight_report, enable_competitive_analysis) and a nested city.state.country.
  • data.owner (object|null) — first_name, last_name (from person), email, phone (from user); null if no owner.
  • data.plan_id (integer|null) — latest company_plans.plan_id for the account.

200 Success · 200

{
  "data": {
    "account": {
      "id": 42,
      "name": "Acme Brand",
      "bundle_id": 3,
      "companyindustry_id": 7,
      "companyindustry": { "id": 7, "name": "Trades & Services" },
      "inherited_industry": null
    },
    "owner": { "first_name": "John", "email": "[email protected]" },
    "plan_id": 10
  }
}

403 Out of partner tree · 403

{
  "message": "Forbidden",
  "status": "error",
  "errors": "You do not have access to this account."
}

404 Account not found · 404

{
  "message": "Not Found",
  "status": "error",
  "errors": "Account not found."
}

Errors

StatusMeaning
401The bearer token is missing, expired or invalid
403Out of partner tree
404Account not found
422The request failed validation — the response names the fields
500Unexpected server error

Example request

curl --request GET \
  --url "https://production-api.shoutaboutus.com/api/v1/partner/account/123" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json'

Did this page help you?