Update QR code
Overview
Partially updates a QR code belonging to the authenticated account-user. All fields are optional (only sent fields are applied via fill(validated)); when any destination-related field changes the QR image is regenerated. Requires the store's active plan to still have a review-solicitation feature enabled.
Prerequisites
- A bearer token. Callable with Account tokens.
- The
qrCodeIdof the record you are targeting.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
PUT /api/v1/qr-codes/{qrCodeId}
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
Who can call it: Account tokens.
-
Authentication (404 if outside the account company).
-
Also enforces an active
StorePlanwhose plan hasreview_solicitation_emailorreview_solicitation_smsfeatureenabled = 1, else HTTP 400.
Rate limit
- No rate limit.
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
qrCodeId | integer | Required | Digits only. |
Request body
- Body:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | sometimes | max 255; unique on the QR code's name ignoring the current id |
destination_type | string | sometimes | one of landing_page, review_site, custom_url |
landing_page_id | integer | conditional | required_if:destination_type,landing_page; must Must be an existing landing-page template; else nullable |
review_site_id | integer | conditional | required_if:destination_type,review_site; must Must be an existing review site; else nullable |
destination_url | string | conditional | required_if:destination_type,custom_url; else nullable |
customization | object | optional | Nullable JSON object. |
{
"name": "Front desk",
"destination_type": "custom_url",
"destination_url": "https://example.com/promo"
}Response
data.status(string) —"success".data.data(object) — updated QrCode withcompany:id,name,store:id,name,landingPage:id,reviewSite:idloaded andqr_code_image_urlappended.data.message(string) —"QR code updated successfully".
200 OK · 200
200{
"data": {
"status": "success",
"data": {
"id": 200,
"name": "Front desk",
"destination_type": "custom_url",
"destination_url": "https://example.com/promo",
"landing_page_id": null,
"review_site_id": null,
"qr_code_image_path": "qr-codes/abc.png",
"qr_code_image_url": "https://s3.example.com/qr-codes/abc.png"
},
"message": "QR code updated successfully"
}
}Errors
| Status | Meaning |
|---|---|
400 | The store has no plan, or review solicitation is not enabled for it |
401 | The bearer token is missing, expired or invalid |
404 | Returned if outside the account company |
422 | The request failed validation — the response names the fields |
500 | Unexpected server error |
Example request
curl --request PUT \
--url "https://production-api.shoutaboutus.com/api/v1/qr-codes/123" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"name": "Front desk", "destination_type": "custom_url", "destination_url": "https://example.com/promo"}'Updated 10 days ago
Did this page help you?
