Get one QR code

Overview

Get a code's details and image.

Use this to download or display it.

You'll need the qr_code_id (id in List QR codes).

Returns the code.

Prerequisites

Base URL

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

Endpoint

GET /api/v1/qr-codes/{qrCodeId}

Authentication

Account token

  • The endpoint scopes results to the caller's own account automatically; there is no parameter to query another account.
  • store_id isn't accepted here; to find a location's codes, use List QR codes with store_id.
🚧

QR codes belong to the account that created them, and every QR endpoint matches on that account exactly; it doesn't walk the partner tree. A Partner token sees nothing, even for a location inside the partner's own tree: list endpoints return an empty result, and single-record endpoints return 404 QR code not found. The 404 means "not visible to this token", not "this QR code doesn't exist". Use an Account token for every endpoint in this section.

Rate limit

This endpoint has no rate limit.

Request parameters

ParameterInTypeRequiredDescription
qrCodeIdpathintegerYesThe QR code's id (id in List QR codes). Digits only.

Request body

None.

Request payload

None.

Response body

The payload is inside data.

FieldTypeDescription
statusstringsuccess.
dataobjectThe QR code.
data.idintegerThe QR code's id. Use it as qrCodeId.
data.namestringThe code's name.
data.company_idintegerThe account that owns the code.
data.store_idintegerThe location the code is for.
data.qr_code_image_pathstringWhere the image is stored.
data.destination_typestringWhere a scan goes: landing_page (a landing page template), review_site (the location's landing page URL on a review site) or custom_url (any URL).
data.landing_page_idinteger or nullThe landing page template, for landing_page.
data.review_site_idinteger or nullThe review site, for review_site.
data.destination_urlstring or nullThe URL a scan opens.
data.last_scanned_atstring or nullWhen the code was last scanned (ISO 8601), or null.
data.customizationobject or nullHow the image looks: color (a hex colour such as #000000, a colour name, or [r, g, b]) and width (pixels, 64 to 2048; 300 when left out).
data.created_atstringWhen the code was created (ISO 8601).
data.updated_atstringWhen the code was last changed (ISO 8601).
data.deleted_atstring or nullAlways null here.
data.unique_codestringThe code's public id, used in the link the image encodes.
data.qr_code_image_urlstring or nullURL of the QR code image (PNG).
data.companyobjectThe owning account.
data.company.idintegerThe account's id.
data.company.namestringThe account's name.
data.storeobject or nullThe location.
data.store.idintegerThe location's id.
data.store.namestringThe location's name.
data.landing_pageobject or nullThe landing page template, or null.
data.landing_page.idintegerThe template's id.
data.landing_page.unique_codestringThe template's encoded id.
data.review_siteobject or nullThe review site ({"id": …}), or null.
messagestringQR code retrieved successfully

Response payload

{
  "data": {
    "status": "success",
    "data": {
      "id": 2963,
      "name": "Default QR Code",
      "company_id": 5994,
      "store_id": 3007,
      "qr_code_image_path": "qr_codes/qr_2963_1790160225.png",
      "destination_type": "landing_page",
      "landing_page_id": 1,
      "review_site_id": null,
      "destination_url": "https://production.shoutaboutus.com/lp/1?store_id=3007",
      "last_scanned_at": null,
      "customization": {
        "color": "#000000",
        "width": 240
      },
      "created_at": "2026-09-23T10:43:44.000000Z",
      "updated_at": "2026-09-23T10:43:45.000000Z",
      "deleted_at": null,
      "unique_code": "g7qkum",
      "qr_code_image_url": "https://d2ny6zb7otrnhl.cloudfront.net/qr_codes/qr_2963_1790160225.png",
      "company": {
        "id": 5994,
        "name": "Acme Coffee"
      },
      "store": {
        "id": 3007,
        "name": "Acme Coffee"
      },
      "landing_page": {
        "id": 1,
        "unique_code": "9ocy"
      },
      "review_site": null
    },
    "message": "QR code retrieved successfully"
  }
}

Examples

Success payload

See Response payload.

Error payload

404 Not found

{
  "message": "QR code not found",
  "status": "error",
  "errors": []
}
StatusMeaning
200The QR code.
401The token is missing, expired or invalid.
404QR code not found: the QR code wasn't created under your token's account (another account, a Partner token, or it has been deleted).
500Unexpected server error.

Example request

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

Did this page help you?