Tracking Links
Tracking links allow organizers to create shareable URLs that attribute ticket sales to specific employees, venues, or affiliates. Each link generates a unique short URL (e.g., https://showpass.com/l/abc12345) that redirects to your event page while recording views, unique visitors, and conversion data.
Authentication
This endpoint requires authentication using a Showpass token:
Authorization: Token YOUR_API_TOKEN
Endpoints
The base URL for all tracking link endpoints is:
https://www.showpass.com/api/venue/{venue_id}/analytics/tracking/links/
| Method | Path | Description |
|---|---|---|
GET |
/links/ |
List all tracking links |
POST |
/links/ |
Create a new tracking link |
GET |
/links/{id}/ |
Retrieve a single tracking link |
PUT |
/links/{id}/ |
Update a tracking link |
DELETE |
/links/{id}/ |
Delete a tracking link |
GET |
/links/me/ |
List my tracking links |
Path Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
venue_id |
Integer | Required | The ID of your venue |
id |
Integer | Required | The tracking link ID (detail, update, or delete) |
Tracking Link Types
| Value | Name | Description |
|---|---|---|
1 |
Employee | Links shared by staff members for sales attribution |
2 |
Venue | Links created at the venue / organization level |
3 |
Affiliate | Links for external partners and promoters |
4 |
Quick Purchase | Pre-configured checkout links with items already in the basket |
Note: The API only returns user-generated link types (Employee, Venue, Affiliate, Quick Purchase). System-generated links such as Abandoned Basket, Held Basket, and Membership Renewal are excluded from results.
Request Body (Create / Update)
| Parameter | Type | Status | Description |
|---|---|---|---|
venue |
Integer | Required | The venue ID (auto-set from session on create) |
event |
Integer | Optional | The event ID to link to. Null for venue-level links |
referred_by |
Integer | Optional | The user ID of the person sharing this link |
description |
String | Optional | A human-readable label (max 512 characters) |
via |
Integer | Required | The tracking link type — see Tracking Link Types above |
ticket_types |
Array | Optional | List of ticket type IDs to restrict the link to. Must belong to the specified venue |
hide_public_ticket_types |
Boolean | Optional | If true, hides public ticket types and shows only those in ticket_types |
extra |
Array | Optional | Additional configuration. Required when via=4 (Quick Purchase) — see Quick Purchase Links below |
Response Fields
| Field | Type | Description |
|---|---|---|
id |
Integer | Unique identifier |
owner_venue |
Integer | The venue that owns the link (set automatically) |
venue |
Integer | The venue the link is associated with |
referred_by |
Integer | User ID of the referrer (null if unset) |
description |
String | Human-readable label |
long_url |
String | Full destination URL the short link redirects to |
short_url |
String | Generated short URL (e.g., https://showpass.com/l/abc12345) |
tiny_url |
String | Alternative compact URL format |
event |
Integer | Linked event ID (null for venue-level links) |
views |
Integer | Total click count |
visitors |
Integer | Unique visitor count |
stats |
Object | Aggregated conversion statistics (baskets, revenue, etc.) |
via |
Integer | Tracking link type identifier |
ticket_types |
Array | Restricted ticket type IDs (null if unrestricted) |
hide_public_ticket_types |
Boolean | Whether public ticket types are hidden |
extra |
Array | Configuration data (used by Quick Purchase links) |
Filtering and Search
Search
Use the search query parameter to match against description, referred_by__username, or slug:
GET /api/venue/{venue_id}/analytics/tracking/links/?search=john
Filters
| Parameter | Type | Description |
|---|---|---|
via |
Integer | Link type: 1 (Employee), 2 (Venue), 3 (Affiliate), 4 (Quick Purchase) |
event |
Integer | Exact event ID |
event__in |
String | Multiple event IDs, comma-separated |
event__ends_on__gte |
DateTime | Events ending on or after this date |
event__ends_on__lte |
DateTime | Events ending on or before this date |
Pagination
Results are paginated with a default page size of 20. The response includes count, next, previous, and results.
GET /api/venue/{venue_id}/analytics/tracking/links/?page=2
Quick Purchase Links
Quick Purchase links (via=4) pre-configure a basket with specific items and quantities. When a user clicks the link they go directly to checkout with items already in their cart.
The extra field is required for this type and must be an array of objects:
| Field | Type | Status | Description |
|---|---|---|---|
ticket_type |
Integer | Optional | Ticket type ID (provide either this or product_attribute) |
product_attribute |
Integer | Optional | Product attribute ID |
quantity |
Integer | Required | Number of items to add to the basket |
All items in the extra array must belong to the same venue.
My Links
Returns only tracking links where referred_by matches the authenticated user:
GET /api/venue/{venue_id}/analytics/tracking/links/me/
Returns the same paginated response as the list endpoint, filtered to the current user.
Business Rules
- Updates — Only Quick Purchase links (
via=4) can be updated. All other types return405 Method Not Allowed. - Deletes — A link can only be deleted if it has no completed purchases. If any referred basket has been completed, the delete returns
405. - Venue scoping — Results include links where the current venue is either the selling venue (
venue) or the owning venue (owner_venue), so both organizers and seller organizations can see shared links.
Error Responses
405 Method Not Allowed
Returned when updating a non-Quick Purchase link or deleting a link with completed purchases:
{
"detail": "Method \"PUT\" not allowed."
}
400 Bad Request
Returned for validation failures:
// Ticket type doesn't belong to the venue
{
"ticket_types": "3001 does not exist"
}
// Quick Purchase link missing basket data
{
"extra": "Quick purchase tracking links requires basket data defined in the extra field."
}