Query Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
page | integer | No | 1 | Page number (1-based). |
ordering | string | No | created | Sort order. Prefix with - for descending. Allowed: created, -created, name, -name, category__name, -category__name, dynamic_url_object__visit_count, -dynamic_url_object__visit_count. |
created_from | date (YYYY-MM-DD) | No | — | Only return QR codes created on/after this date. |
created_till | date (YYYY-MM-DD) | No | — | Only return QR codes created on/before this date. |
tags | string | No | — | Comma-separated tags (URL-encoded). Example: marketing,summer-campaign. |
category | string | No | — | Comma-separated category slugs. Example: url,product. |
type | string | No | — | Filter by QR type: st (static), dy (dynamic). |
status | string | No | — | Filter by status: active, inactive. |
users | string | No | — | Comma-separated user IDs (URL-encoded). |
scan_type | string | No | — | Scan-count comparison mode: less_than, between, greater_than, equal_to. Must be used with scan_count1. |
scan_count1 | integer | No | — | Primary scan-count value (required with scan_type). |
scan_count2 | integer | No | — | Secondary scan-count value (required when scan_type=between). |
search | string | No | — | Free-text search value. |
search_fields | string | No | — | Comma-separated fields to search in: qrid, dynamic_url_object__url_hash, name. If omitted, default search fields are used. |
Usage Notes (query params)
orderingexample:?ordering=-dynamic_url_object__visit_countreturns most-scanned QR codes first.- Date filters accept
YYYY-MM-DD(server timezone aware). To filter by exact datetime, use server-side date range withcreated_from/created_till. - For
scan_type=between, supply bothscan_count1andscan_count2(e.g.,scan_count1=10&scan_count2=100). - When filtering by
tagsorcategory, URL-encode commas (or use repeated parameters depending on your client).
Examples
Get All QR Codes
Pagination
Sorting
Date Filtering
Category and Type Filtering
Tag Filtering
User Filtering
Scan Count Filtering
Search
Complex Filtering
Response Example
Performance & Pagination Best Practices
- Use sensible page sizes on the client (server defaults to a safe page size). For large exports, use dedicated export endpoints if available.
- Cache category metadata (it changes rarely) instead of refetching per-QR item.
- Use server-side sorting (
ordering) for accurate, paginated results rather than fetching all pages and sorting client-side. - Avoid deep paging with very large offsets; prefer cursor-based or export flows for millions of records.
- Rate-limit handling: implement retries with exponential backoff for
429 Too Many Requests.
UI/UX Tips for Rendering
- Show thumbnail if available; fall back to generated QR preview using
qr_url. - Respect
is_activeandis_visibleflags when listing to end users. - Use
dynamic_url_object.visit_countandqr_type_displayfor quick insights. - For lists with many columns, provide column toggles — hide expensive fields (full
infoJSON) by default.
Authorizations
API key authentication. Enter your API key directly in the Authorization header.
Query Parameters
Page number to retrieve
x >= 1Sort order. Use '-' prefix for descending order
created, -created, name, -name, category__name, -category__name, dynamic_url_object__visit_count, -dynamic_url_object__visit_count Filter QR codes created from this date (YYYY-MM-DD)
Filter QR codes created till this date (YYYY-MM-DD)
Filter by tags (comma-separated, URL encoded)
Filter by category slugs (comma-separated, URL encoded)
Filter by QR code type
st, dy Filter by QR code status
active, inactive Filter by user IDs (comma-separated, URL encoded)
Filter by scan count comparison type
less_than, between, greater_than, equal_to Primary scan count value (required with scan_type)
x >= 0Secondary scan count value (required for 'between' scan_type)
x >= 0Search value
Fields to search in (comma-separated)
qrid, dynamic_url_object__url_hash, name