/v1/qr-codesQR codes
Newest first, with scan counts, the placement window and where each code leads now.
Access: Signed-in members only (web or Android session) — not for API keys. Permission marketing.view.
Parameters
source_idquery- Id
Opaque record id.
project_idquery- Id
Opaque record id.
placementquery- QrPlacement
Response · 200
datarequired- array of QrCode
metarequired- object
curl -X GET 'https://api.propzolo.com/v1/qr-codes' \
-H 'Authorization: Bearer pz_live_…'{
"data": [
{
"id": "cmusrceel0000q7kaafxqi1om",
"name": "string",
"short_code": "string",
"short_url": "string",
"scans": 0,
"placement": "hoarding",
"sub_source": "string",
"source": {
"id": "cmusrceel0000q7kaafxqi1om",
"name": "string"
},
"campaign": {
"id": "cmusrceel0000q7kaafxqi1om",
"name": "string"
},
"project": {
"id": "cmusrceel0000q7kaafxqi1om",
"name": "string"
},
"utm_campaign": "string",
"utm_content": "string",
"valid_from": "2026-10-06T05:30:00.000Z",
"valid_until": "2026-10-06T05:30:00.000Z",
"is_active": true,
"state": "live",
"target": {
"kind": "form",
"id": "cmusrceel0000q7kaafxqi1om",
"label": "string",
"url": "string"
},
"last_scan_at": "2026-10-06T05:30:00.000Z",
"created_at": "2026-10-06T05:30:00.000Z",
"updated_at": "2026-10-06T05:30:00.000Z"
}
],
"meta": {}
}Errors
401No valid session or API key (missing, expired or revoked).403The caller lacks the permission, API-key scope or support grant this operation needs.422Invalid input; `error.fields` maps field paths to messages.429Too many requests; retry after the Retry-After header.500Unexpected error; quote `error.request_id` to support.

