---
updatedAt: 2025-09-30T17:52:46.000Z
agentTools:
  projectIndex: https://developer.sovrn.com/llms.txt
---

# Transactions

This endpoint is used to query all commission events (transactions) that have occurred or been updated on a specified date. This data can be used to see individual link performance, actualized earnings, individual site performance and more, all in real-time.

> ❗️ Authorization
>
> To query this API, include a Secret Key in the Authorization header of your request. The value of the header must be formatted as `secret {SECRET_KEY}`, ensuring that the word `secret` is followed by a space before the key itself.
>
> For details on generating a Secret Key for your site, visit our [Authorization](https://developer.sovrn.com/docs/authorization) guide.

> 🚧 Required Field
>
> At least one date (`clickDate`, `commissionDate`, or `updateDate`) is required for each API call.

# Dates

You will need to submit at least one date (clickDate, commissionDate or updateDate) with each call to the API in the format "yyyy-mm-dd" where yyyy is the four digit year, mm is the two digit month and dd is the two digit day. If you specify more than one date in your request, your data will be filtered to only return transactions that meet the date criteria set.

> 📘 Delta Queries
>
> Looking for only data that has changed or been updated since your last request? Use the updateDate to request all transactions that have been updated on a given day.

# Date Range

Each API request is limited to one day of data based on the date supplied in your request. In order to get transactions for a period, call the API for each day you would like to ingest.

# Rate Limiting

> 📘 API Rate Limit
>
> 1 request every 60 seconds

You can make API requests at a rate of up to 1 request every 60 seconds. To adhere to this rate limit, include a delay of at least 60 seconds between consecutive calls. Exceeding this rate limit may result in your API key being temporarily blocked or throttled.

For example, if you need to make multiple requests for Transactions across multiple dates, ensure there is a minimum gap of 60 seconds between each request.

# Filters

You can filter the response by including one or more of the following query parameters: `clickDate`, `commissionDate`,`updateDate`, `campaignIds`, `merchantGroupIds`, `programType`. The specific field data types are listed below, at the bottom of the page. For an example of specifying multiple filters, see [`Example of multiple filters`](#section-example-of-multiple-filters) below. Note that `campaignId` and `merchantGroupId` can also take a comma separated list of numeric ID values.

# Campaigns

You can filter the response by `campaignIds`, or by using multiple `campaignIds`. To filter by `campaignIds`, include the `campaignIds` parameter in the request, followed by the equal sign, followed by one or more `campaignIds`, separated by commas. For example: `campaignIds=1,2,3`. The `campaignIds` must only contain numeric values, greater than 0. The same applies for `merchantGroupIds`. See [`Example of filtering by multiple campaignIds`](#section-example-of-filtering-by-multiple-campaign-ids) below.

To get a list of campaigns, or search for a specific campaign by `name`, visit our [Campaigns](https://developer.sovrn.com/reference/campaigns) reference guide.

# Examples

You can use `CURL`, `Postman`, `Insomnia`, `Talend`, or your favorite REST API tool of choice, in order to make the `/reporting/transactions` request. Using `gzip` compression will compress the response, therefore making the response time quicker. Note that the response will always be in JSON format.

A CURL example executed from the command line, using gzip compression and writing the response to a file named `commerce-txn-reporting.json` would be:

```
curl --request GET --location 'https://viglink.io/v1/reports/transactions?clickDate=2023-01-01' \
--header 'Authorization: secret <your_secret_key_here>' \
--header 'Accept-Encoding: gzip' --compressed > commerce-txn-reporting.json
```

#### Example without gzip compression:

```
curl --request GET --location 'https://viglink.io/v1/reports/transactions?clickDate=2023-01-01' \
--header 'Authorization: secret <your_secret_key_here>' > commerce-txn-reporting.json
```

#### Example of multiple filters:

```
curl --request GET --location 'https://viglink.io/v1/reports/transactions?clickDate=2023-01-01&updateDate=2023-01-02&campaignIds=100&merchantGroupIds=78910&programType=CPC'  \
--header 'Authorization: secret <your_secret_key_here>' \
--header 'Accept-Encoding: gzip' --compressed > commerce-txn-reporting.json
```

#### Example of filtering by multiple `campaignIds`:

```
curl --request GET --location 'https://viglink.io/v1/reports/transactions?clickDate=2023-01-01&updateDate=2023-01-02&campaignIds=100,200,300&merchantGroupIds=78910&programType=CPC'  \
--header 'Authorization: secret <your_secret_key_here>' \
--header 'Accept-Encoding: gzip' --compressed > commerce-txn-reporting.json
```

#### Example of filtering by multiple `merchantGroupIds`:

```
curl --request GET --location 'https://viglink.io/v1/reports/transactions?clickDate=2023-01-01&updateDate=2023-01-02&campaignIds=100&merchantGroupIds=70,80,90,100&programType=CPA'  \
--header 'Authorization: secret <your_secret_key_here>' \
--header 'Accept-Encoding: gzip' --compressed > commerce-txn-reporting.json
```

#### Example response, with a single campaignId:

```
{"transactions":[{"account":{"accountId":1234,"campaignId":1,"campaignName":"Awesome Stuff"},"commission":{"revenueId":"123456","commissionId":"abcd1234","commissionDate":"2023-01-01","updateDate":"2023-01-13","orderValue":0,"publisherNetRevenue":0.0075,"programType":"cpc"},"click":{"clickId":"defg1234","clickDate":"2023-01-01","cuid":"","linkUtmInfo":{"utmSource":"","utmMedium":"","utmCampaign":"","utmTerm":"","utmContent":""},"pageUtmInfo":{"utmSource":"","utmMedium":"","utmCampaign":"","utmTerm":"","utmContent":""},"pageUrl":"www.awesome-stuff.com/","linkUrl":"awesome.click/abc123?campaignid=1","sovrnProduct":"Link","country":"us","device":"Mobile"},"merchant":{"merchantGroupId":56789,"merchantGroupName":"AwesomeSauce","network":"Sovrn"},"product":[]}]}
```

# FAQ

Q: If one of my readers returns their purchase, how will this show?\
A: Depending on the data we get back from our network partners, the return may show either as an adjustment to the original transaction or as a new separate transaction. Utilizing updateDate to query what data has changed will capture both types of adjustments.

Q: In what case would product array be empty, and have data?\
A: The product array will return information about the products purchased as part of the transaction. Not all merchants and networks provide this information, so you may see an empty array when not available.

Q: deviceType is sometimes not showing, why?\
A: We don't always have access to detailed information about the click, or there may be instances where we are unable to accurately determine the device type.

Q: what are all the possible values for deviceType?\
A: Mobile, Desktop, and Tablet

Q: clickUrl, pageUrl, and pageTitle are sometimes not showing, is this expected?\
A: We don't always have detailed information about the click that leads to a conversion. In these instances, some of the fields related to the click may be empty.

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "title": "Commerce Real-Time Reports",
    "description": "Transaction Reporting Service (TRS) provides Reporting APIs.",
    "termsOfService": "http://sovrn.io/terms/",
    "version": "20230630"
  },
  "externalDocs": {
    "description": "Find out more Transaction Reporting Services",
    "url": "https://authcore.atlassian.net/l/cp/G5HL5km5"
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "servers": [
    {
      "url": "https://viglink.io/v1"
    }
  ],
  "paths": {
    "/reports/transactions": {
      "get": {
        "tags": [
          "reports"
        ],
        "summary": "Transactions",
        "description": "This endpoint is used to query all commission events (transactions) that have occurred or been updated on a specified date. This data can be used to see individual link performance, actualized earnings, individual site performance and more, all in real-time.",
        "parameters": [
          {
            "name": "clickDate",
            "in": "query",
            "description": "Click date for filtering",
            "required": false,
            "explode": true,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "commissionDate",
            "in": "query",
            "description": "Commission date for filtering",
            "required": false,
            "explode": true,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "updateDate",
            "in": "query",
            "description": "Update date for filtering",
            "required": false,
            "explode": true,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "campaignIds",
            "in": "query",
            "description": "Comma separated list of campaign IDs",
            "required": false,
            "explode": true,
            "schema": {
              "type": "string",
              "pattern": "^[0-9,]+$"
            }
          },
          {
            "name": "merchantGroupIds",
            "in": "query",
            "description": "Comma separated list of merchant group IDs",
            "required": false,
            "explode": true,
            "schema": {
              "type": "string",
              "pattern": "^[0-9,]+$"
            }
          },
          {
            "name": "programType",
            "in": "query",
            "description": "Type of program (CPA/CPC)",
            "required": false,
            "explode": true,
            "schema": {
              "type": "string",
              "enum": [
                "CPC",
                "CPA"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionsResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Invalid status value"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "SovrnProductModel": {
        "type": "string",
        "enum": [
          "UNK",
          "ORG",
          "INS",
          "WRA",
          "RAC",
          "RAL",
          "CUP",
          "TPA",
          "PCR",
          "TXT",
          "SHG",
          "PRF"
        ]
      },
      "DeviceTypeModel": {
        "type": "string",
        "enum": [
          "DSK",
          "MBL",
          "TBL",
          "UKN"
        ]
      },
      "ProductModel": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string"
          },
          "productName": {
            "type": "string"
          },
          "price": {
            "type": "number",
            "format": "float",
            "example": 100.99
          },
          "quantity": {
            "type": "number",
            "example": 10
          }
        }
      },
      "LinkUtmInfoModel": {
        "type": "object",
        "properties": {
          "utmSource": {
            "type": "string"
          },
          "utmMedium": {
            "type": "string"
          },
          "utmCampaign": {
            "type": "string"
          },
          "utmTerm": {
            "type": "string"
          },
          "utmContent": {
            "type": "string"
          }
        }
      },
      "PageUtmInfoModel": {
        "type": "object",
        "properties": {
          "utmSource": {
            "type": "string"
          },
          "utmMedium": {
            "type": "string"
          },
          "utmCampaign": {
            "type": "string"
          },
          "utmTerm": {
            "type": "string"
          },
          "utmContent": {
            "type": "string"
          }
        }
      },
      "TransactionsResponseModel": {
        "type": "object",
        "properties": {
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TransactionModel"
            }
          }
        }
      },
      "TransactionModel": {
        "type": "object",
        "properties": {
          "revenueId": {
            "type": "number"
          },
          "clickSid": {
            "type": "string"
          },
          "accountId": {
            "type": "number",
            "format": "integer"
          },
          "commissionId": {
            "type": "string"
          },
          "merchantGroupId": {
            "type": "integer",
            "format": "int64"
          },
          "merchantGroupName": {
            "type": "string"
          },
          "campaignId": {
            "type": "number",
            "format": "integer"
          },
          "campaignName": {
            "type": "string"
          },
          "clickDate": {
            "type": "string"
          },
          "commissionDate": {
            "type": "string"
          },
          "updateDate": {
            "type": "string"
          },
          "publisherRevenue": {
            "type": "number"
          },
          "orderValue": {
            "type": "number"
          },
          "cuid": {
            "type": "string"
          },
          "linkUtmInfo": {
            "$ref": "#/components/schemas/LinkUtmInfoModel"
          },
          "pageUtmInfo": {
            "$ref": "#/components/schemas/PageUtmInfoModel"
          },
          "destinationUrl": {
            "type": "string"
          },
          "pageUrl": {
            "type": "string"
          },
          "affProduct": {
            "$ref": "#/components/schemas/SovrnProductModel"
          },
          "affProductSubType": {
            "type": "string"
          },
          "programType": {
            "type": "string"
          },
          "networkName": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "deviceType": {
            "$ref": "#/components/schemas/DeviceTypeModel"
          },
          "merchandise": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductModel"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "apiKey",
        "name": "authorization",
        "in": "header"
      }
    }
  },
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  }
}
```