Update QR template

Overview

Update an existing QR code template (identified by id in the body), filling the validated fields and saving. Requires that the template's store has a review-solicitation feature enabled.

Prerequisites

  • A bearer token. Callable with Account tokens.

Base URL

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

Endpoint

POST /api/v1/qr-codes/template/update

Authentication

  • Requires a bearer token in the Authorization: Bearer <bearer-token> header.

  • Who can call it: Account tokens.

  • Authentication. The endpoint loads the template (own company only, 404 otherwise).

  • Before saving, the store's active plan must have review_solicitation_email or review_solicitation_sms enabled. Otherwise the endpoint returns 400.

  • The route is POST./template/update. id comes from the body (the optional {id} method arg is unused by this route).

Rate limit

  • No rate limit.

Request body

  • Body:
FieldTypeRequiredDescription
idintegeroptional (effectively required)Template ID; must be an existing QR template. Resolved from body; without it the lookup 404s.
namestringrequiredMax 255.
template_typestringrequiredOne of standard, hangtag, custom.
design_htmlstringoptionalNullable.
design_settingsmixedoptionalNullable; JSON string is decoded to an object/array (invalid JSON falls back to []).
design_settings_backmixedoptionalNullable; same JSON decoding as design_settings.
design_html_backstringoptionalNullable.
qr_code_idintegeroptionalNullable; must be an existing QR code.
{
  "id": 10,
  "name": "Updated Standard A6",
  "template_type": "standard",
  "design_html": "<p>Scan to leave us a review</p>",
  "design_settings": {
    "primaryColor": "#222"
  },
  "design_html_back": "<p>Thank you</p>",
  "design_settings_back": {
    "logo": true
  },
  "qr_code_id": 123
}

Response

  • data.status (string) — "success".
  • data.data (object) — the updated QrCodeTemplate model (with included store id/name).
  • data.message (string) — "QR code template updated successfully".

200 OK · 200

{
  "data": {
    "status": "success",
    "data": {
      "id": 10,
      "name": "Updated Standard A6",
      "store_id": 8748,
      "template_type": "standard",
      "design_html": "<p>Scan to leave us a review</p>",
      "design_settings": { "primaryColor": "#222" },
      "design_html_back": "<p>Thank you</p>",
      "design_settings_back": { "logo": true },
      "qr_code_id": 123,
      "company_id": 456,
      "store": { "id": 8748, "name": "Downtown Branch" }
    },
    "message": "QR code template updated successfully"
  }
}

Errors

StatusMeaning
400The request was rejected — the response explains why
401The bearer token is missing, expired or invalid
404The template does not exist or belongs to another account
422The request failed validation — the response names the fields
500Unexpected server error

Example request

curl --request POST \
  --url "https://production-api.shoutaboutus.com/api/v1/qr-codes/template/update" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"id": 10, "name": "Updated Standard A6", "template_type": "standard", "design_html": "<p>Scan to leave us a review</p>", "design_settings": {"primaryColor": "#222"}, "design_html_back": "<p>Thank you</p>", "design_settings_back": {"logo": true}, "qr_code_id": 123}'

Did this page help you?