List every transaction (attribution) for a creator group, with cursor pagination by default. If more than one member filter is passed (playerId, memberId, providerId, code), only one is used, in that priority order. Filtering by code with the default codeScope=member returns every transaction for the member that code currently resolves to, even ones attributed under a different one of that member’s codes; codeScope=code narrows results to that exact code string.
Pagination is cursor-based unless you pass page, which switches to offset pagination and disables the cursor. A corrupted or hand-edited cursor fails with 400 InvalidCursor. pageSize is capped at 1000 in both pagination modes.
An invalid codeScope, status, origin, sort, date, cursor, or groupId all fail with 400 and a machine-readable code field; branch on that field, not on message.
NOTE: This method uses secret (nexus_sk_...) API keys and should never be called from or embedded into the gaming client. These routes should ONLY be accessed from your back-end services.
Authorizations
Section titled “Authorizations”Send your secret API key (nexus_sk_...) in the X-SHARED-SECRET header. Generate one in the Publisher Dashboard.
Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters”Example
V1StGXR8_Z5jdHi6B1LiOCreator group to retrieve transactions for. If your key is scoped to a single program, that group is always used regardless of this value; otherwise falls back to your default group when omitted.
Example
100Maximum number of records to return. Defaults to 500 and is capped at 1000 in both cursor and offset pagination modes.
Cursor for the page of transactions to be returned.
Example
1Page of records to return. Not recommended: passing this disables cursor pagination for the request.
Example
2026-06-23T15:00:00ZStart of the date range to filter transactions by.
Example
2026-07-23T15:00:00ZEnd of the date range to filter transactions by.
Origin(s) to include.
Example
origin=api&origin=webshopCode or origin=api,webshopCodeExample
normalTransaction status(es) to include, comma-separated or repeated. Matched case-insensitively.
Example
popcornfrogFilter transactions by the creator code they were attributed to.
Example
membermember (default) returns all of that member’s transactions across every code they have; code restricts to the exact code string.
Example
CsRKC8uD0NLtyQ0LOt8RuFilter by the member’s Nexus id.
Example
player_8f2c41d0Filter by your internal player/user ID for this member (their externalRef).
Filter a member with a specific OAUTH provider ID, such as twitch or youtube
Property and sort direction. Format: { property }:{ asc or desc }. Valid properties: transactionDate.
Example
sort=transactionDate:descResponses
Section titled “ Responses ”Returns all transactions with the given transactionId
object
object
Nexus-generated id for this attribution record, not your own transactionId.
The creator code this transaction should be attributed to. The member must have an approved membership in the target group.
Your identifier for the creator this transaction was attributed to, from their group membership, not the purchasing player.
Initial transaction status. Only Normal or Test is honored on creation; any other value (or omitting this) is stored as Normal.
Purchase subtotal, in the smallest denomination of currency (e.g. cents for USD). Must be a whole number of at least 1, once validated; by default that is also what you send.
Total charged, in the smallest denomination of totalCurrency. Defaults to subtotal if omitted.
Currency for total. Defaults to currency if omitted.
Your own idempotency key for this purchase. Reusing one already saved for your publisher account returns a bare 409 with only the default status text, no JSON payload. Reusing one within the same request array is allowed and is how you split one purchase’s credit across multiple members.
Metrics are optional but will allow Nexus to provide useful statistics about your program
object
The date that the player joined your game
Conversion metrics are used for calculationg the conversion rate of your customers. Only one of lastPurchaseDate or totalSpendToDate are required. lastPurchaseDate is preferred, but totalSpendToDate can be used if not available
object
object
The platform where the last purchase was made
object
The amount that the member received for this transaction. This will not be specified upon initial transaction creation, as the calculation happens in a separate process.
The percent of the subtotal for this transaction that the member received. if a memberSharePercent is provided upon transaction creation, it will always be used. Otherwise, the percent a member receives will be influenced by factors such as the default group setting, member tier, scheduled revenue shares, spcific skus
Your internal ID for the item that was purchased
Not found
const url = 'https://api.nexus.gg/v1/attributions/transactions?groupId=V1StGXR8_Z5jdHi6B1LiO&pageSize=500&page=1&startDate=2026-06-23T15%3A00%3A00Z&endDate=2026-07-23T15%3A00%3A00Z&origin=origin%3Dapi%26origin%3DwebshopCode%20or%20origin%3Dapi%2CwebshopCode&status=normal&code=popcornfrog&codeScope=member&memberId=CsRKC8uD0NLtyQ0LOt8Ru&playerId=player_8f2c41d0&sort=sort%3DtransactionDate%3Adesc';const options = {method: 'GET', headers: {'X-SHARED-SECRET': 'nexus_sk_your_key_here'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.nexus.gg/v1/attributions/transactions?groupId=V1StGXR8_Z5jdHi6B1LiO&pageSize=500&page=1&startDate=2026-06-23T15%3A00%3A00Z&endDate=2026-07-23T15%3A00%3A00Z&origin=origin%3Dapi%26origin%3DwebshopCode%20or%20origin%3Dapi%2CwebshopCode&status=normal&code=popcornfrog&codeScope=member&memberId=CsRKC8uD0NLtyQ0LOt8Ru&playerId=player_8f2c41d0&sort=sort%3DtransactionDate%3Adesc' \ --header 'X-SHARED-SECRET: nexus_sk_your_key_here'Example
[ { "transaction": { "id": "2ixlNNFdJh-9scoXek80w", "code": "popcornfrog", "memberPlayerId": "player_8f2c41d0", "description": "1000 gems", "status": "Normal", "subtotal": 999, "currency": "AED", "total": 999, "totalCurrency": "AED", "transactionId": "txn_8f2c41d0", "transactionDate": "2026-03-13T17:32:28Z", "platform": "PC", "playerId": "12345", "playerName": "shadowstrike99", "metrics": { "joinDate": "2026-03-13T17:32:28Z", "conversion": { "lastPurchase": { "date": "2026-03-13T17:32:28Z", "platform": "Android" }, "totalSpendToDate": { "total": 129.99, "currency": "AED" } } }, "memberShareAmount": 1, "memberSharePercent": 10, "memberPaid": false, "skuId": "Hv98bvRCSm1jDDPhls1qC" } }]