Get partner plan

Overview

Get a single plan for the authenticated partner (usage-based: for editing; plan-based: read-only).

Prerequisites

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

Base URL

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

Endpoint

GET /api/v1/partner/plans/{planId}

Authentication

  • Requires a bearer token in the Authorization: Bearer <bearer-token> header.
  • Who can call it: Partner tokens.
  • Sits in the authenticated group, with no extra route-level guard.
  • getPartnerPlan resolves the partner via getAuthPartner (403 if none).
  • You must link the plan to the partner via company_plans (planBelongsToCompany) else 403.
  • Usage-based, then must be plan_type=usage-based AND is_admin_managed=0 else 403; plan-based, then must be plan_type=plan-based AND is_admin_managed=1 else 403.
  • 404 if the plan id doesn't exist.

Rate limit

  • No rate limit.

Path parameters

ParameterTypeRequiredDescription
planIdintegerRequiredDigits only.

Path parameters

ParamInTypeRequiredDescription
planIdpathintegerYesPlan ID (route [0-9]+). Must belong to the partner.

Response

200 OK · 200

{
  "data": {
    "data": {
      "id": 4,
      "plan_name": "Gold",
      "price": 4,
      "status": "active",
      "plan_type": "plan-based",
      "is_admin_managed": true,
      "features": [
        {
          "feature_name": "ai_response",
          "enabled": true,
          "overage_rate": "0.0800",
          "hard_stop": false,
          "partner_billing_enabled": true
        }
      ],
      "plan_review_sites": [
        {
          "review_site_id": 1,
          "pull_frequency": "daily",
          "review_site": {
            "id": 1,
            "name": "Yelp",
            "auth_type": "cookie"
          }
        }
      ]
    },
    "meta": {
      "read_only": true
    }
  }
}

Errors

StatusMeaning
401The bearer token is missing, expired or invalid
403Returned if none
404Returned if the plan id doesn't exist
500Unexpected server error

Example request

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

Did this page help you?