List open problems
Overview
Get the current problems across your locations: which location, which site, what went wrong, when, and whether it's been looked at.
Use this as a regular check, or to build an alerts view in your dashboard.
You'll need a partner token. Choose the list with type (open, acknowledged or resolved), and narrow it with search_field and search_value (location, account, site, subject or date).
Returns one entry per problem, newest first, 5 per page unless you send limit.
Prerequisites
- A Partner bearer token. See Authentication.
- The list you want:
type.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
GET /api/v1/partner/error-notifications
Authentication
Partner token
- Lists the problems for the partner behind the token.
Rate limit
This endpoint has no rate limit.
Request parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
type | query | string | Yes | open (neither acknowledged nor resolved), acknowledged or resolved. |
limit | query | integer | No | Page size, 10–100. Default 5 when left out. Values below 10 are raised to 10; above 100 returns 422. |
page | query | integer | No | The page to return, from 1. Default 1. |
sort_field | query | string | No | Sort by notificationDate (default), latest_note_date, accountName, storeName, reviewSiteName, subject or resolved. |
sort_by | query | string | No | asc or desc (default). |
search_field | query | string | No | Where to search: notificationDate (default; matches the day), accountName, storeName, subject or reviewSiteName. |
search_value | query | string | No | What to search for. |
Request body
None.
Request payload
None.
Response body
The problems are in a top-level data array, next to links and meta.
| Field | Type | Description |
|---|---|---|
data | array of objects | One entry per problem. Empty when there are none. |
data[].id | integer | The problem's id (notification_id). |
data[].is_badge | string | Yes when nobody has opened it yet, otherwise No. |
data[].notificationDate | string | When it was raised, mm/dd/yy. |
data[].accountName | string or null | The account's name. |
data[].storeName | string | The location's name, with its storeId label. |
data[].reviewSiteName | string | The review site, or #N/A when it isn't about one. |
data[].subject | string | What went wrong, in short, or #N/A. |
data[].isResolved | string | Yes or No. |
data[].latestNote | string | The newest note, or #N/A. |
data[].lastUpdated | string | When the newest note was saved, or when the problem last changed, mm/dd/yy. |
data[].show_acknowledge_button | string | yes when it can still be marked acknowledged (not acknowledged or resolved yet), otherwise no. |
data[].show_resolved_button | string | yes when it can still be marked resolved, otherwise no. |
data[].store_id | integer or null | The location's id. |
data[].review_site_id | integer or null | The review site's id. |
data[].store_review_site_id | integer or null | The connection's id for that location and site, or null. |
data[].show_connect_button | string | yes when the problem is about a review site and isn't resolved, otherwise no. |
links | object | Paging links. |
links.first | string | URL of the first page. |
links.last | string | URL of the last page. |
links.prev | string or null | URL of the previous page, or null. |
links.next | string or null | URL of the next page, or null. |
meta | object | Paging details. |
meta.current_page | integer | This page. |
meta.from | integer or null | Position of the first entry on this page. |
meta.last_page | integer | The last page. |
meta.links | array of objects | Page links for a pager. |
meta.links[].url | string or null | The page's URL. |
meta.links[].label | string | The link label. |
meta.links[].page | integer or null | The page number. |
meta.links[].active | boolean | true for this page. |
meta.path | string | The endpoint's URL. |
meta.per_page | integer | Entries per page. |
meta.to | integer or null | Position of the last entry on this page. |
meta.total | integer | Entries across all pages. |
Response payload
{
"data": [
{
"id": 1215,
"is_badge": "Yes",
"notificationDate": "05/29/26",
"accountName": "Acme Coffee",
"storeName": "Acme Coffee - Sydney",
"reviewSiteName": "Google",
"subject": "Google scrape failed",
"isResolved": "No",
"latestNote": "#N/A",
"lastUpdated": "05/29/26",
"show_acknowledge_button": "yes",
"show_resolved_button": "yes",
"store_id": 3007,
"review_site_id": 44,
"store_review_site_id": 8784,
"show_connect_button": "yes"
}
],
"links": {
"first": "https://production-api.shoutaboutus.com/api/v1/partner/error-notifications?page=1",
"last": "https://production-api.shoutaboutus.com/api/v1/partner/error-notifications?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "https://production-api.shoutaboutus.com/api/v1/partner/error-notifications?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://production-api.shoutaboutus.com/api/v1/partner/error-notifications",
"per_page": 10,
"to": 1,
"total": 1
}
}Examples
Success payload
Open problems: see Response payload.
No problems:
{
"data": [],
"links": {
"first": "https://production-api.shoutaboutus.com/api/v1/partner/error-notifications?page=1",
"last": "https://production-api.shoutaboutus.com/api/v1/partner/error-notifications?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "https://production-api.shoutaboutus.com/api/v1/partner/error-notifications?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://production-api.shoutaboutus.com/api/v1/partner/error-notifications",
"per_page": 10,
"to": null,
"total": 0
}
}Error payload
422 Missing type
{
"message": "The type field is required.",
"errors": {
"type": [
"The type field is required."
]
}
}422 Invalid values
{
"message": "The selected type is invalid. (and 1 more error)",
"errors": {
"type": [
"The selected type is invalid."
],
"sort_by": [
"The selected sort by is invalid."
]
}
}422 limit over 100
{
"message": "The limit field must not be greater than 100.",
"errors": {
"limit": [
"The limit field must not be greater than 100."
]
}
}| Status | Meaning |
|---|---|
200 | A page of problems, or an empty page. |
401 | The token is missing, expired or invalid. |
422 | type is missing or invalid, sort_by isn't allowed, or limit is over 100. |
500 | Unexpected server error. |
Example request
curl --request GET \
--url "https://production-api.shoutaboutus.com/api/v1/partner/error-notifications?type=open&limit=10" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json'Updated 17 days ago
Did this page help you?
