Recent activity

Overview

Get a feed of recent changes across your partner: sub-partners, accounts, locations and users added, edited or removed.

Use this for an activity panel.

You'll need a partner token.

Returns recent events, newest first, a page at a time.

Prerequisites

Base URL

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

Endpoint

GET /api/v1/partner/stats/activities

Authentication

Partner token

  • Activities cover your own partner and the accounts and sub-partners directly under it.
  • When the user behind the token is limited to some accounts, only those accounts' activities are returned.

Rate limit

120 requests per minute, counted per user (the token’s user). See Rate limits.

Request parameters

ParameterInTypeRequiredDescription
limitqueryintegerNoActivities per page, 10 to 100. Values below 10 are raised to 10; above 100 returns 422. Default 10.
pagequeryintegerNoPage number. Default 1.

Request body

None.

Request payload

None.

Response body

The payload is inside data.

FieldTypeDescription
dataarray of objectsThe activities on this page, newest first.
data[].idintegerThe activity's id.
data[].descriptionstringWhat happened, in words, e.g. Acme Coffee - location edited.
data[].datestringWhen it happened (ISO 8601).
data[].activity_typestringThe kind of change: partner_created, partner_deleted, brand_created, brand_updated, location_created, location_updated, location_deleted, user_added or user_deleted. brand means an account.
data[].entity_typestringWhat changed, e.g. partner, brand (an account), location or user.
current_pageintegerThe current page.
per_pageintegerActivities per page.
totalintegerTotal activities across all pages.

Response payload

{
  "data": {
    "data": [
      {
        "id": 6357,
        "description": "Jane Smith - user added",
        "date": "2026-09-28T09:42:03.000000Z",
        "activity_type": "user_added",
        "entity_type": "user"
      },
      {
        "id": 6207,
        "description": "Acme Coffee - location edited",
        "date": "2026-09-23T12:46:14.000000Z",
        "activity_type": "location_updated",
        "entity_type": "location"
      }
    ],
    "current_page": 1,
    "per_page": 10,
    "total": 2
  }
}

Examples

Success payload

See Response payload.

No activity yet:

{
  "data": {
    "data": [],
    "current_page": 1,
    "per_page": 10,
    "total": 0
  }
}

Error payload

422 limit above 100

{
  "message": "The limit field must not be greater than 100.",
  "errors": {
    "limit": [
      "The limit field must not be greater than 100."
    ]
  }
}

500 No account behind the token

{
  "message": "Internal Server Error",
  "status": "error",
  "errors": "Company not found"
}

429 Too many requests

{
  "message": "Too Many Attempts."
}
StatusMeaning
200A page of activities.
401The token is missing, expired or invalid.
422limit is above 100.
429More than 120 requests in a minute from this user.
500The user behind the token has no company (Company not found), or an unexpected server error.

Example request

curl --request GET \
  --url "https://production-api.shoutaboutus.com/api/v1/partner/stats/activities?limit=10" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json'

Did this page help you?