Skip to main content
AI Visibility ScoreGEO AcademyCase StudiesBook a Demo

Developer Reference

Cheers Public API

The Cheers API allows you to programmatically access your organization's review data, badges, taps, and more. All API endpoints require authentication via API key.

Base URLhttps://app.cheers.tech/api/public/v1

Authentication

All API requests require a Bearer token in the Authorization header. To obtain an API key, visit your organization settings in the Cheers dashboard or contact your account administrator.

Example Request
curl -X GET "https://app.cheers.tech/api/public/v1/organizations?organization_id=123" \
  -H "Authorization: Bearer YOUR_API_KEY"

Rate Limits: API requests are rate-limited to ensure fair usage. If you exceed the rate limit, you'll receive a 429 Too Many Requests response.

Common Parameters

Most endpoints support the following query parameters for filtering, pagination, and date-based queries.

ParameterTypeRequiredDescription
organization_idintegerOptionalFilter by specific organization ID
parent_organization_idintegerOptionalGet data for all child organizations
fromISO 8601 datetimeOptionalFilter records updated after this time
toISO 8601 datetimeOptionalFilter records updated before this time
created_fromISO 8601 datetimeOptionalFilter records created after this time
created_toISO 8601 datetimeOptionalFilter records created before this time
limitintegerOptionalMaximum records to return (default: 100, max: 1000)
offsetintegerOptionalNumber of records to skip for pagination

Note: Either organization_id or parent_organization_id is required for all endpoints.

Endpoints

GET/organizations

Retrieve organization details.

Query Parameters

ParameterTypeRequiredDescription
organization_idintegerOptionalSpecific organization ID (one of organization_id or parent_organization_id required)
parent_organization_idintegerOptionalGet all child organizations (one of organization_id or parent_organization_id required)

Response Fields

FieldTypeDescription
idintegerOrganization ID
namestringOrganization name
created_atdatetimeWhen the organization was created
updated_atdatetimeLast update timestamp
subscription_tierstringSubscription level
parent_organization_idintegerParent organization ID (null if root)
Request
curl -X GET "https://app.cheers.tech/api/public/v1/organizations?organization_id=123" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response
[
  {
    "id": 123,
    "name": "Acme Restaurant",
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-06-20T14:45:00Z",
    "subscription_tier": "pro",
    "parent_organization_id": null
  }
]
GET/organization-connections

Retrieve platform connections for organizations (Google, Yelp, Facebook, etc.).

Query Parameters

ParameterTypeRequiredDescription
organization_idintegerOptionalSpecific organization ID (one of organization_id or parent_organization_id required)
parent_organization_idintegerOptionalGet connections for all child organizations (one of organization_id or parent_organization_id required)

Response Fields

FieldTypeDescription
organization_idintegerOrganization ID
google_place_idstringGoogle Places ID
google_account_idstringGoogle My Business account ID
google_location_idstringGoogle My Business location ID
yelp_business_idstringYelp business ID
tripadvisor_location_idstringTripAdvisor location ID
facebook_page_idstringFacebook page ID
facebook_urlstringFacebook page URL
trustpilot_company_websitestringTrustpilot company identifier
bbb_profile_urlstringBetter Business Bureau profile URL
created_atdatetimeWhen the connection was created
Request
curl -X GET "https://app.cheers.tech/api/public/v1/organization-connections?organization_id=123" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response
[
  {
    "organization_id": 123,
    "google_place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
    "google_account_id": "accounts/123456789",
    "google_location_id": "locations/987654321",
    "yelp_business_id": "acme-restaurant-new-york",
    "tripadvisor_location_id": null,
    "facebook_page_id": "123456789012345",
    "facebook_url": "https://facebook.com/acmerestaurant",
    "trustpilot_company_website": null,
    "bbb_profile_url": null,
    "created_at": "2024-01-15T10:30:00Z"
  }
]
GET/cards

Retrieve badge/card information for your organization.

Query Parameters

ParameterTypeRequiredDescription
organization_idintegerOptionalSpecific organization ID (one of organization_id or parent_organization_id required)
parent_organization_idintegerOptionalGet cards for all child organizations (one of organization_id or parent_organization_id required)

Response Fields

FieldTypeDescription
idstring (UUID)Unique card identifier
created_atdatetimeWhen the card was created
updated_atdatetimeLast update timestamp
cardholder_namestringName of the badge holder
organization_idintegerOrganization ID
titlestringBadge holder's title/position
photo_urlstringURL to badge holder's photo
encode_urlstringEncoded URL for the badge
linktree_enabledbooleanWhether linktree is enabled for this card
badge_numberstringCustom badge identifier
Request
curl -X GET "https://app.cheers.tech/api/public/v1/cards?organization_id=123" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response
[
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "created_at": "2024-03-01T09:00:00Z",
    "updated_at": "2024-03-15T14:30:00Z",
    "cardholder_name": "John Smith",
    "organization_id": 123,
    "title": "Server",
    "photo_url": "https://storage.cheers.tech/photos/john-smith.jpg",
    "encode_url": "https://app.cheers.tech/t/abc123",
    "linktree_enabled": true,
    "badge_number": "EMP-001"
  }
]
PATCH/cards

Update a card's organization assignment.

Request Body

ParameterTypeRequiredDescription
cardIdstring (body)OptionalCard UUID to update (one of cardId or badge_number required)
badge_numberstring (body)OptionalBadge number for bulk update (one of cardId or badge_number required)
organization_idinteger (body)RequiredTarget organization ID

Either cardId or badge_number is required in the request body.

Request
curl -X PATCH "https://app.cheers.tech/api/public/v1/cards" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"cardId": "550e8400-e29b-41d4-a716-446655440000", "organization_id": 456}'
Response
{
  "success": true
}
GET/taps

Retrieve tap events (when a customer taps a badge).

Query Parameters

ParameterTypeRequiredDescription
organization_idintegerOptionalSpecific organization ID (one of organization_id or parent_organization_id required)
parent_organization_idintegerOptionalGet taps for all child organizations (one of organization_id or parent_organization_id required)

Response Fields

FieldTypeDescription
idintegerTap ID
created_atdatetimeWhen the tap occurred
updated_atdatetimeLast update timestamp
card_idstring (UUID)Associated card ID
organization_idintegerOrganization ID
usedbooleanWhether the tap resulted in a completed action
Request
curl -X GET "https://app.cheers.tech/api/public/v1/taps?organization_id=123&from=2024-01-01T00:00:00Z" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response
[
  {
    "id": 12345,
    "created_at": "2024-06-15T18:30:00Z",
    "updated_at": "2024-06-15T18:30:00Z",
    "card_id": "550e8400-e29b-41d4-a716-446655440000",
    "organization_id": 123,
    "used": true
  }
]
GET/reviews

Retrieve customer reviews from all connected platforms.

Query Parameters

ParameterTypeRequiredDescription
organization_idintegerOptionalSpecific organization ID (one of organization_id or parent_organization_id required)
parent_organization_idintegerOptionalGet reviews for all child organizations (one of organization_id or parent_organization_id required)
formatstringOptionalUse "v2" or "new" for full response fields

Response Fields

FieldTypeDescription
idintegerReview ID
created_atdatetimeWhen the review was received
updated_atdatetimeLast update timestamp
ratingintegerRating value (1-5)
card_idstringAssociated card ID (if attributed)
review_textstringFull review text
organization_idintegerOrganization ID
sourcestringPlatform source (GOOGLE, YELP, FACEBOOK, etc.)
reviewer_namestringReviewer's display name
reviewer_photo_urlstringReviewer's profile photo
owner_responsestringBusiness owner's response
response_timestampdatetimeWhen the response was posted
review_urlstringDirect link to the review
internalbooleanWhether this is an internal Cheers review

Use format=v2 to get all available fields including source and reviewer information.

Request
curl -X GET "https://app.cheers.tech/api/public/v1/reviews?organization_id=123&format=v2" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response
[
  {
    "id": 5678,
    "created_at": "2024-06-10T12:00:00Z",
    "updated_at": "2024-06-10T12:00:00Z",
    "rating": 5,
    "card_id": "550e8400-e29b-41d4-a716-446655440000",
    "review_text": "Amazing service! John was incredibly helpful.",
    "organization_id": 123,
    "source": "GOOGLE",
    "reviewer_name": "Jane D.",
    "reviewer_photo_url": "https://lh3.googleusercontent.com/...",
    "owner_response": "Thank you for the kind words!",
    "response_timestamp": "2024-06-11T09:00:00Z",
    "review_url": "https://search.google.com/local/reviews?...",
    "internal": false
  }
]

Error Handling

All endpoints return consistent error responses with appropriate HTTP status codes.

Status CodeDescription
400Bad Request - Missing or invalid parameters
401Unauthorized - Invalid or missing API key
403Forbidden - No access to requested resource
404Not Found - Resource does not exist
429Too Many Requests - Rate limit exceeded
500Internal Server Error
Error Response Format
{
  "error": "Error message describing the issue"
}

Pagination

Use limit and offset parameters to paginate through large result sets.

Pagination Example
# First page (records 0-99)
GET /reviews?organization_id=123&limit=100&offset=0

# Second page (records 100-199)
GET /reviews?organization_id=123&limit=100&offset=100

Filtering by Date

Use ISO 8601 format for date filtering:

Date Filtering Examples
# Reviews updated in the last 7 days
GET /reviews?organization_id=123&from=2026-03-17T00:00:00Z

# Reviews created in January 2026
GET /reviews?organization_id=123&created_from=2026-01-01T00:00:00Z&created_to=2026-01-31T23:59:59Z

Need Help?

For API support, contact us at info@cheers.tech