Skip to main content
GET
Retrieve a list of all QR code scans (impressions) from posters in your programs. This endpoint helps you track engagement, monitor scan activity, and analyze which posters are performing best.

Overview

The List Impressions endpoint returns a paginated list of all QR code scans. Use this endpoint to:
  • Track all QR code scans across your programs
  • Monitor which posters generate the most engagement
  • Filter impressions by program or poster
  • Build analytics dashboards for scan activity
  • Analyze conversion funnel from scan to signup

Authentication

This endpoint requires authentication using a Bearer token in the Authorization header:

Query Parameters

string
Filter results to only include impressions from a specific program. Useful when analyzing scan activity for individual programs.Example: programId=prog_123abc
string
Filter results to only include impressions from a specific poster. Use this to see all scans for a particular poster placement.Example: posterId=poster_123abc
integer
default:"50"
Maximum number of results to return per page. Default is 50, maximum is typically 100.Example: limit=25
integer
default:"0"
Number of results to skip before starting to return results. Use for pagination.Example: offset=50 skips the first 50 results

Request Example

Response

The API returns a JSON object containing an array of impression objects:
array
required
Array of impression objects, each containing information about a QR code scan.
Each impression object contains:
string
required
Unique identifier for the impression. This ID is used when creating referrals.
string
required
ID of the poster whose QR code was scanned.
string
required
ID of the program this impression belongs to.
string
required
ID of the student ambassador who placed the poster.
string
required
ISO 8601 timestamp of when the QR code was scanned.
string
User agent string of the device that scanned the QR code.
string
IP address of the device that scanned the QR code (if available).
object
Additional metadata about the scan, such as device type, location, or custom fields.

Response Example

Use Cases

Building an Impressions Dashboard

Fetch all impressions and display them in a dashboard:

Analyzing Poster Performance

See which posters generate the most scans:

Tracking Conversion Funnel

Link impressions to referrals to track conversion:

Exporting Impression Data

Fetch all impressions for export:

Best Practices

  1. Use filters effectively - Combine programId and posterId to narrow results
  2. Implement pagination - Always use limit and offset for large datasets
  3. Link to referrals - Use impression IDs when creating referrals to maintain the funnel
  4. Track device types - Use metadata to store device information for analytics
  5. Monitor scan rates - Compare impressions to poster placements to measure engagement

Error Responses

object
Unauthorized - Invalid or missing API key

Rate Limits

This endpoint is subject to rate limiting. Check response headers for rate limit information.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

programId
string

Filter by program ID

posterId
string

Filter by poster ID

limit
integer
default:50

Maximum number of results to return

offset
integer
default:0

Number of results to skip

Response

List of impressions

The response is of type object.