Skip to content

Get campaign claims with advanced filtering

Request

Get campaign claims with comprehensive filtering options. Use pagination parameters (page & limit) for optimal performance - critical for high-volume campaigns. Legacy support: returns array without params (deprecated - will be removed in future).

  • campaignId: Filter by specific campaign (optional)
  • userId: Filter by specific user ID (admin only)
  • businessId: Filter by specific business ID (admin only)
  • include: Optionally include related entities (campaign, user, business, transactions)

Access Control:

  • Users: See only their own claims, campaignId optional
  • Business: See only claims associated with their business account, campaignId optional
  • Admin: Can filter by any combination of parameters or see all claims

Security Notes:

  • Users cannot access userId or businessId parameters (automatically filtered)
  • Business accounts automatically filter to their own businessId regardless of parameter
  • Admin has full access to all filtering options
Security
projectKey or authJWT
Query
campaignIdstring

Filter by specific campaign ID

userIdstring

Filter by specific user ID (admin only)

businessIdstring

Filter by specific business ID (admin only)

includeArray of strings

Include related entities: campaign, user, business, triggerSource, transactions (comma-separated)

pagenumber

Page number (1-based)

limitnumber

Items per page

dateFromstring, (date-time)

Filter items created after this date (ISO 8601)

dateTostring, (date-time)

Filter items created before this date (ISO 8601)

sortBystring

Sort field

Enum:"createdAt""status"
sortOrderstring

Sort order (ASC or DESC)

Enum:"ASC""DESC"
curl -i -X GET \
  'https://docs.pers.ninja/_mock/swagger/campaigns/claims?campaignId=string&userId=string&businessId=string&include=string&page=0&limit=0&dateFrom=2019-08-24T14%3A15%3A22Z&dateTo=2019-08-24T14%3A15%3A22Z&sortBy=createdAt&sortOrder=ASC' \
  -H 'x-project-key: YOUR_API_KEY_HERE'

Responses

Campaign claims retrieved successfully

Bodyapplication/json
Array [
idstringrequired

The id of the campaign user claim

externalReferenceIdstringrequired

External reference ID for idempotency. Used to prevent duplicate claims. Use case: Stripe payment ID, order ID, webhook event ID, etc.

createdAtstring or null, (date-time)required

The date the campaign user claim was created

userIdstringrequired

User ID who claimed the campaign

campaignIdstringrequired

Campaign ID that was claimed

businessIdstring or null

Business ID associated with this claim (if applicable)

triggerSourceIdstring or null

Trigger Source ID that was used for this claim (e.g., specific QR code, NFC tag, etc.)

userCountryCodestring or nullrequired

Country code of the user claiming the campaign

latitudenumber or null

Latitude coordinate where claim was made (reduced precision ~1.1km for privacy compliance)

Example:41.39
longitudenumber or null

Longitude coordinate where claim was made (reduced precision ~1.1km for privacy compliance)

Example:2.18
statusstringrequired

Status of the claim processing (PENDING, PROCESSING, COMPLETED, FAILED)

Enum:"PENDING""PROCESSING""COMPLETED""FAILED"
messagestring or null

Status or error message for the claim

dataSourceobject or null

Analytics tracking: source/channel of this claim action

Example:
{ "channel": "mobile", "medium": "referral", "campaign": "summer_promo" }
includedobject or null

Included related entities. Only populated when include parameter is specified. Contains campaign, user, business, triggerSource, and/or transactions entities based on requested relations.

userobjectrequireddeprecated

User object (DEPRECATED: use userId instead. Only contains {id} during migration. Will be removed in Q2 2026)

Example:
{ "id": "user-uuid-123" }
campaignobjectrequireddeprecated

Campaign object (DEPRECATED: use campaignId instead. Only contains {id} during migration. Will be removed in Q2 2026)

Example:
{ "id": "campaign-uuid-123" }
businessobjectdeprecated

Business object (DEPRECATED: use businessId instead. Only contains {id} during migration. Will be removed in Q2 2026)

Example:
{ "id": "business-uuid-123" }
]
Response
[ { "id": "string", "externalReferenceId": "string", "createdAt": "2019-08-24T14:15:22Z", "userId": "string", "campaignId": "string", "businessId": "string", "triggerSourceId": "string", "user": {}, "campaign": {}, "business": {}, "userCountryCode": "string", "latitude": 41.39, "longitude": 2.18, "status": "PENDING", "message": "string", "dataSource": {}, "included": {} } ]