Skip to content
SoundSyncAudio software platform

API reference

Revenue and Activity Reporting API

Read sale results, recorded payment issues, current charges and marketplace/share records without moving funds.

Choose the report that answers the question

/api/developer/revenue/summary wraps its result in summary. analytics-summary returns a multi-section overview directly. products groups results by product; timeline groups by day, week or month; transactions returns paginated product-level sale rows. All of these /revenue routes require analytics.view and all-products workspace scope.

Use shares for sale-share records and marketplace for the marketplace-attributed subset. These reports do not replace the affiliate/collaborator recipient settlement ledger, authorize a transfer, or prove bank receipt. Imported/external records and managed-payment records have different collection and accounting meanings. SoundSync covers ordinary processing only for SoundSync-managed checkout, not external reseller sales.

SoundSync

Illustrative reporting request

Read live USD product-level transactions
curl --fail-with-body -sS "$SOUNDSYNC_API_BASE/api/developer/revenue/transactions?range=30d&currency=usd&environment=live&page=1&limit=25" \
  -H "Authorization: Bearer $DEVELOPER_TOKEN"

Read the returned scope and availability

Revenue ranges support today, 7d, 30d, 90d, current_month and previous_month, or an explicit startDate/endDate. Check the returned start_date, end_date, currency and environment. Monetary fields ending in _cents are integer minor units, not displayed dollars; USD values are cents. Reporting accepts a three-letter currency filter for recorded data and does not convert currencies or enable non-USD checkout. Net sales, tax collected, fees, recipient allocations and estimated developer earnings are different figures; none is a provider transfer confirmation.

Current-month charges use the current UTC calendar month. The multi-section overview can return unavailable_sections; an unavailable section is not zero revenue or zero activity. Some figures depend on recorded events. Keep live and test reports distinct. Filters and product IDs cannot expand the authorized workspace.

Investigate refunds without initiating one

GET refunds-disputes returns rows with pagination and normalized filters. Detail uses /refunds-disputes/{type}/{orderId}, where type is refund or dispute and orderId identifies the owned order. Read its order, products, access impact, ledger and timeline. A missing permitted issue returns 404.

These calls are read-only. They do not preview current refund eligibility, reserve the 14-day deadline or refund a product. Use the purchase Refund API for preview and confirmed initiation. Do not expose private customer, order or ledger data in public dashboards.

Keep the three activity feeds distinct

/api/developer/revenue/activity reports recorded revenue/access activity. /api/developer/analytics/activity combines recorded website, plugin, email, download and usage events with assigned-product filtering. /api/developer/activity is the private platform-event feed. They do not have interchangeable schemas or retention guarantees.

The /analytics/overview route supports selected-product teammates only when one assigned product is resolved; a selected scope spanning several products must select one. Older /analytics/revenue compatibility routes have their own scope checks. Do not assume that every analytics route grants a workspace-wide report.

SoundSync

Related financial references

Analytics API

Overview and existing compatible report paths.

Refund API

Preview and initiate eligible refunds.

Statements and payouts

Eligibility, holds and payment references.

SoundSync

Requests and responses

GET /api/developer/revenue/summary

Read the current developer revenue summary

Auth
Account Bearer JWT
Scope
analytics.view and all-products workspace scope. Filters never expand the effective developer workspace.
Request fields
  • query range: value
  • query startDate: string
  • query endDate: string
  • query currency: string
  • query environment: value
  • query productId: integer
Returns
HTTP 200: summary.
Notes
Read-only report, not payment execution or a refund action. Monetary *_cents fields are integer cents; estimated earnings are not a bank transfer. Follow returned availability and scope. Current-month charges use the current UTC calendar month, not an arbitrary requested historical range. Summary/products/activity/charges have compatible /analytics/revenue routes with their own access guards.
Request, response and error reference

Query and header parameters

[
  {
    "name": "range",
    "in": "query",
    "schema": {
      "enum": [
        "today",
        "7d",
        "30d",
        "90d",
        "current_month",
        "previous_month"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "startDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "endDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "currency",
    "in": "query",
    "schema": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "default": "usd"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "environment",
    "in": "query",
    "schema": {
      "enum": [
        "live",
        "test"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "productId",
    "in": "query",
    "schema": {
      "type": "integer",
      "minimum": 1
    },
    "required": false,
    "description": ""
  }
]

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "summary": {
      "type": "object",
      "properties": {
        "range": {
          "type": "string"
        },
        "start_date": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "end_date": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "currency": {
          "type": "string"
        },
        "environment": {
          "type": "string"
        },
        "gross_revenue_cents": {
          "type": "integer"
        },
        "discount_total_cents": {
          "type": "integer"
        },
        "tax_collected_cents": {
          "type": "integer"
        },
        "refund_total_cents": {
          "type": "integer"
        },
        "chargeback_total_cents": {
          "type": "integer"
        },
        "disputed_total_cents": {
          "type": "integer"
        },
        "platform_fees_cents": {
          "type": "integer"
        },
        "marketplace_fees_cents": {
          "type": "integer"
        },
        "net_revenue_cents": {
          "type": "integer"
        },
        "estimated_net_revenue_cents": {
          "type": "integer"
        },
        "developer_earnings_cents": {
          "type": "integer"
        },
        "affiliate_share_cents": {
          "type": "integer"
        },
        "collaborator_share_cents": {
          "type": "integer"
        },
        "total_orders": {
          "type": "integer"
        },
        "unique_customers": {
          "type": "integer"
        },
        "revenue_breakdown": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        }
      },
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 500, 503.

GET /api/developer/revenue/analytics-summary

Read the multi-section revenue overview

Auth
Account Bearer JWT
Scope
analytics.view and all-products workspace scope. Filters never expand the effective developer workspace.
Request fields
  • query range: value
  • query startDate: string
  • query endDate: string
  • query currency: string
  • query environment: value
  • query productId: integer
Returns
HTTP 200: currency, environment, unavailable_sections, summary, windows, dashboard_metrics, current_month_charges, timeline, products, product_performance, customer_behavior, storefront_traffic, email_marketing, subscription_analytics, refunds_disputes, licensing_analytics, activity, customer_locations, calculation_rules.
Notes
Read-only report, not payment execution or a refund action. Monetary *_cents fields are integer cents; estimated earnings are not a bank transfer. Follow returned availability and scope. Current-month charges use the current UTC calendar month, not an arbitrary requested historical range. Summary/products/activity/charges have compatible /analytics/revenue routes with their own access guards.
Request, response and error reference

Query and header parameters

[
  {
    "name": "range",
    "in": "query",
    "schema": {
      "enum": [
        "today",
        "7d",
        "30d",
        "90d",
        "current_month",
        "previous_month"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "startDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "endDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "currency",
    "in": "query",
    "schema": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "default": "usd"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "environment",
    "in": "query",
    "schema": {
      "enum": [
        "live",
        "test"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "productId",
    "in": "query",
    "schema": {
      "type": "integer",
      "minimum": 1
    },
    "required": false,
    "description": ""
  }
]

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "currency": {
      "type": "string"
    },
    "environment": {
      "type": "string"
    },
    "unavailable_sections": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "additionalProperties": true
      }
    },
    "summary": {
      "type": "object",
      "properties": {
        "range": {
          "type": "string"
        },
        "start_date": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "end_date": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "currency": {
          "type": "string"
        },
        "environment": {
          "type": "string"
        },
        "gross_revenue_cents": {
          "type": "integer"
        },
        "discount_total_cents": {
          "type": "integer"
        },
        "tax_collected_cents": {
          "type": "integer"
        },
        "refund_total_cents": {
          "type": "integer"
        },
        "chargeback_total_cents": {
          "type": "integer"
        },
        "disputed_total_cents": {
          "type": "integer"
        },
        "platform_fees_cents": {
          "type": "integer"
        },
        "marketplace_fees_cents": {
          "type": "integer"
        },
        "net_revenue_cents": {
          "type": "integer"
        },
        "estimated_net_revenue_cents": {
          "type": "integer"
        },
        "developer_earnings_cents": {
          "type": "integer"
        },
        "affiliate_share_cents": {
          "type": "integer"
        },
        "collaborator_share_cents": {
          "type": "integer"
        },
        "total_orders": {
          "type": "integer"
        },
        "unique_customers": {
          "type": "integer"
        },
        "revenue_breakdown": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        }
      },
      "additionalProperties": true
    },
    "windows": {
      "type": "object",
      "properties": {
        "current_or_selected": {
          "type": "object",
          "properties": {
            "range": {
              "type": "string"
            },
            "start_date": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time"
            },
            "end_date": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time"
            },
            "currency": {
              "type": "string"
            },
            "environment": {
              "type": "string"
            },
            "gross_revenue_cents": {
              "type": "integer"
            },
            "discount_total_cents": {
              "type": "integer"
            },
            "tax_collected_cents": {
              "type": "integer"
            },
            "refund_total_cents": {
              "type": "integer"
            },
            "chargeback_total_cents": {
              "type": "integer"
            },
            "disputed_total_cents": {
              "type": "integer"
            },
            "platform_fees_cents": {
              "type": "integer"
            },
            "marketplace_fees_cents": {
              "type": "integer"
            },
            "net_revenue_cents": {
              "type": "integer"
            },
            "estimated_net_revenue_cents": {
              "type": "integer"
            },
            "developer_earnings_cents": {
              "type": "integer"
            },
            "affiliate_share_cents": {
              "type": "integer"
            },
            "collaborator_share_cents": {
              "type": "integer"
            },
            "total_orders": {
              "type": "integer"
            },
            "unique_customers": {
              "type": "integer"
            },
            "revenue_breakdown": {
              "type": "object",
              "additionalProperties": true,
              "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
            }
          },
          "additionalProperties": true
        },
        "last_30_days": {
          "type": "object",
          "properties": {
            "range": {
              "type": "string"
            },
            "start_date": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time"
            },
            "end_date": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time"
            },
            "currency": {
              "type": "string"
            },
            "environment": {
              "type": "string"
            },
            "gross_revenue_cents": {
              "type": "integer"
            },
            "discount_total_cents": {
              "type": "integer"
            },
            "tax_collected_cents": {
              "type": "integer"
            },
            "refund_total_cents": {
              "type": "integer"
            },
            "chargeback_total_cents": {
              "type": "integer"
            },
            "disputed_total_cents": {
              "type": "integer"
            },
            "platform_fees_cents": {
              "type": "integer"
            },
            "marketplace_fees_cents": {
              "type": "integer"
            },
            "net_revenue_cents": {
              "type": "integer"
            },
            "estimated_net_revenue_cents": {
              "type": "integer"
            },
            "developer_earnings_cents": {
              "type": "integer"
            },
            "affiliate_share_cents": {
              "type": "integer"
            },
            "collaborator_share_cents": {
              "type": "integer"
            },
            "total_orders": {
              "type": "integer"
            },
            "unique_customers": {
              "type": "integer"
            },
            "revenue_breakdown": {
              "type": "object",
              "additionalProperties": true,
              "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
            }
          },
          "additionalProperties": true
        },
        "previous_month": {
          "type": "object",
          "properties": {
            "range": {
              "type": "string"
            },
            "start_date": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time"
            },
            "end_date": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time"
            },
            "currency": {
              "type": "string"
            },
            "environment": {
              "type": "string"
            },
            "gross_revenue_cents": {
              "type": "integer"
            },
            "discount_total_cents": {
              "type": "integer"
            },
            "tax_collected_cents": {
              "type": "integer"
            },
            "refund_total_cents": {
              "type": "integer"
            },
            "chargeback_total_cents": {
              "type": "integer"
            },
            "disputed_total_cents": {
              "type": "integer"
            },
            "platform_fees_cents": {
              "type": "integer"
            },
            "marketplace_fees_cents": {
              "type": "integer"
            },
            "net_revenue_cents": {
              "type": "integer"
            },
            "estimated_net_revenue_cents": {
              "type": "integer"
            },
            "developer_earnings_cents": {
              "type": "integer"
            },
            "affiliate_share_cents": {
              "type": "integer"
            },
            "collaborator_share_cents": {
              "type": "integer"
            },
            "total_orders": {
              "type": "integer"
            },
            "unique_customers": {
              "type": "integer"
            },
            "revenue_breakdown": {
              "type": "object",
              "additionalProperties": true,
              "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
            }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    },
    "dashboard_metrics": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "current_month_charges": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "timeline": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "products": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "product_performance": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "customer_behavior": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "storefront_traffic": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "email_marketing": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "subscription_analytics": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "refunds_disputes": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "licensing_analytics": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "activity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "customer_locations": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "calculation_rules": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 500, 503.

GET /api/developer/revenue/products

Read revenue grouped by product

Auth
Account Bearer JWT
Scope
analytics.view and all-products workspace scope. Filters never expand the effective developer workspace.
Request fields
  • query range: value
  • query startDate: string
  • query endDate: string
  • query currency: string
  • query environment: value
  • query productId: integer
  • query sort: string
Returns
HTTP 200: range, start_date, end_date, currency, environment, sort, products.
Notes
Read-only report, not payment execution or a refund action. Monetary *_cents fields are integer cents; estimated earnings are not a bank transfer. Follow returned availability and scope. Current-month charges use the current UTC calendar month, not an arbitrary requested historical range. Summary/products/activity/charges have compatible /analytics/revenue routes with their own access guards.
Request, response and error reference

Query and header parameters

[
  {
    "name": "range",
    "in": "query",
    "schema": {
      "enum": [
        "today",
        "7d",
        "30d",
        "90d",
        "current_month",
        "previous_month"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "startDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "endDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "currency",
    "in": "query",
    "schema": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "default": "usd"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "environment",
    "in": "query",
    "schema": {
      "enum": [
        "live",
        "test"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "productId",
    "in": "query",
    "schema": {
      "type": "integer",
      "minimum": 1
    },
    "required": false,
    "description": ""
  },
  {
    "name": "sort",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  }
]

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "range": {
      "type": "string"
    },
    "start_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "end_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "currency": {
      "type": "string"
    },
    "environment": {
      "type": "string"
    },
    "sort": {
      "type": "string"
    },
    "products": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "product_id": {
            "type": "integer",
            "minimum": 1
          },
          "product_name": {
            "type": "string"
          },
          "gross_revenue_cents": {
            "type": "integer"
          },
          "net_revenue_cents": {
            "type": "integer"
          },
          "estimated_net_revenue_cents": {
            "type": "integer"
          },
          "order_count": {
            "type": "integer"
          }
        },
        "additionalProperties": true
      }
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 500, 503.

GET /api/developer/revenue/timeline

Read revenue grouped by day, week or month

Auth
Account Bearer JWT
Scope
analytics.view and all-products workspace scope. Filters never expand the effective developer workspace.
Request fields
  • query range: value
  • query startDate: string
  • query endDate: string
  • query currency: string
  • query environment: value
  • query productId: integer
  • query group: value
Returns
HTTP 200: range, start_date, end_date, currency, environment, group, timeline.
Notes
Read-only report, not payment execution or a refund action. Monetary *_cents fields are integer cents; estimated earnings are not a bank transfer. Follow returned availability and scope. Current-month charges use the current UTC calendar month, not an arbitrary requested historical range. Summary/products/activity/charges have compatible /analytics/revenue routes with their own access guards.
Request, response and error reference

Query and header parameters

[
  {
    "name": "range",
    "in": "query",
    "schema": {
      "enum": [
        "today",
        "7d",
        "30d",
        "90d",
        "current_month",
        "previous_month"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "startDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "endDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "currency",
    "in": "query",
    "schema": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "default": "usd"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "environment",
    "in": "query",
    "schema": {
      "enum": [
        "live",
        "test"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "productId",
    "in": "query",
    "schema": {
      "type": "integer",
      "minimum": 1
    },
    "required": false,
    "description": ""
  },
  {
    "name": "group",
    "in": "query",
    "schema": {
      "enum": [
        "day",
        "week",
        "month"
      ]
    },
    "required": false,
    "description": ""
  }
]

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "range": {
      "type": "string"
    },
    "start_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "end_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "currency": {
      "type": "string"
    },
    "environment": {
      "type": "string"
    },
    "group": {
      "type": "string"
    },
    "timeline": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "period": {
            "type": "string"
          },
          "gross_revenue_cents": {
            "type": "integer"
          },
          "net_revenue_cents": {
            "type": "integer"
          },
          "estimated_net_revenue_cents": {
            "type": "integer"
          },
          "orders": {
            "type": "integer"
          }
        },
        "additionalProperties": true
      }
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 500, 503.

GET /api/developer/revenue/transactions

Read paginated product-level sale rows

Auth
Account Bearer JWT
Scope
analytics.view and all-products workspace scope. Filters never expand the effective developer workspace.
Request fields
  • query range: value
  • query startDate: string
  • query endDate: string
  • query currency: string
  • query environment: value
  • query productId: integer
  • query page: integer
  • query limit: integer
  • query offset: integer
Returns
HTTP 200: range, start_date, end_date, currency, environment, page, limit, offset, total, has_more, transactions.
Notes
Read-only report, not payment execution or a refund action. Monetary *_cents fields are integer cents; estimated earnings are not a bank transfer. Follow returned availability and scope. Current-month charges use the current UTC calendar month, not an arbitrary requested historical range. Summary/products/activity/charges have compatible /analytics/revenue routes with their own access guards.
Request, response and error reference

Query and header parameters

[
  {
    "name": "range",
    "in": "query",
    "schema": {
      "enum": [
        "today",
        "7d",
        "30d",
        "90d",
        "current_month",
        "previous_month"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "startDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "endDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "currency",
    "in": "query",
    "schema": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "default": "usd"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "environment",
    "in": "query",
    "schema": {
      "enum": [
        "live",
        "test"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "productId",
    "in": "query",
    "schema": {
      "type": "integer",
      "minimum": 1
    },
    "required": false,
    "description": ""
  },
  {
    "name": "page",
    "in": "query",
    "schema": {
      "type": "integer",
      "minimum": 1
    },
    "required": false,
    "description": ""
  },
  {
    "name": "limit",
    "in": "query",
    "schema": {
      "type": "integer",
      "minimum": 1
    },
    "required": false,
    "description": ""
  },
  {
    "name": "offset",
    "in": "query",
    "schema": {
      "type": "integer"
    },
    "required": false,
    "description": ""
  }
]

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "range": {
      "type": "string"
    },
    "start_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "end_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "currency": {
      "type": "string"
    },
    "environment": {
      "type": "string"
    },
    "page": {
      "type": "integer"
    },
    "limit": {
      "type": "integer"
    },
    "offset": {
      "type": "integer"
    },
    "total": {
      "type": "integer"
    },
    "has_more": {
      "type": "boolean"
    },
    "transactions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "order_id": {
            "type": "integer",
            "minimum": 1
          },
          "order_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "product": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "minimum": 1
              },
              "name": {
                "type": "string"
              }
            },
            "additionalProperties": true
          },
          "customer": {
            "type": [
              "object",
              "null"
            ]
          },
          "gross_amount_cents": {
            "type": "integer"
          },
          "refund_amount_cents": {
            "type": "integer"
          },
          "net_amount_cents": {
            "type": "integer"
          },
          "estimated_net_amount_cents": {
            "type": "integer"
          },
          "order_source": {
            "type": "string"
          },
          "sale_channel": {
            "type": "string"
          }
        },
        "additionalProperties": true
      }
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 500, 503.

GET /api/developer/revenue/activity

Read recorded revenue and access activity

Auth
Account Bearer JWT
Scope
analytics.view and all-products workspace scope. Filters never expand the effective developer workspace.
Request fields
  • query range: value
  • query startDate: string
  • query endDate: string
  • query currency: string
  • query environment: value
  • query productId: integer
  • query limit: integer
Returns
HTTP 200: range, start_date, end_date, currency, environment, limit, activity, backend_gaps.
Notes
Read-only report, not payment execution or a refund action. Monetary *_cents fields are integer cents; estimated earnings are not a bank transfer. Follow returned availability and scope. Current-month charges use the current UTC calendar month, not an arbitrary requested historical range. Summary/products/activity/charges have compatible /analytics/revenue routes with their own access guards.
Request, response and error reference

Query and header parameters

[
  {
    "name": "range",
    "in": "query",
    "schema": {
      "enum": [
        "today",
        "7d",
        "30d",
        "90d",
        "current_month",
        "previous_month"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "startDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "endDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "currency",
    "in": "query",
    "schema": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "default": "usd"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "environment",
    "in": "query",
    "schema": {
      "enum": [
        "live",
        "test"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "productId",
    "in": "query",
    "schema": {
      "type": "integer",
      "minimum": 1
    },
    "required": false,
    "description": ""
  },
  {
    "name": "limit",
    "in": "query",
    "schema": {
      "type": "integer",
      "minimum": 1
    },
    "required": false,
    "description": ""
  }
]

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "range": {
      "type": "string"
    },
    "start_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "end_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "currency": {
      "type": "string"
    },
    "environment": {
      "type": "string"
    },
    "limit": {
      "type": "integer"
    },
    "activity": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "source_id": {
            "type": [
              "string",
              "number"
            ]
          },
          "occurred_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "amount_cents": {
            "type": [
              "integer",
              "null"
            ]
          },
          "currency": {
            "type": [
              "string",
              "null"
            ]
          },
          "product": {
            "type": [
              "object",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      }
    },
    "backend_gaps": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 500, 503.

GET /api/developer/revenue/current-month-charges

Read current-month billed and usage charge estimates

Auth
Account Bearer JWT
Scope
analytics.view and all-products workspace scope. Filters never expand the effective developer workspace.
Request fields
  • query range: value
  • query startDate: string
  • query endDate: string
  • query currency: string
  • query environment: value
  • query productId: integer
Returns
HTTP 200: charges.
Notes
Read-only report, not payment execution or a refund action. Monetary *_cents fields are integer cents; estimated earnings are not a bank transfer. Follow returned availability and scope. Current-month charges use the current UTC calendar month, not an arbitrary requested historical range. Summary/products/activity/charges have compatible /analytics/revenue routes with their own access guards.
Request, response and error reference

Query and header parameters

[
  {
    "name": "range",
    "in": "query",
    "schema": {
      "enum": [
        "today",
        "7d",
        "30d",
        "90d",
        "current_month",
        "previous_month"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "startDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "endDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "currency",
    "in": "query",
    "schema": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "default": "usd"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "environment",
    "in": "query",
    "schema": {
      "enum": [
        "live",
        "test"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "productId",
    "in": "query",
    "schema": {
      "type": "integer",
      "minimum": 1
    },
    "required": false,
    "description": ""
  }
]

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "charges": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 500, 503.

GET /api/developer/revenue/shares

Read developer sale-share records

Auth
Account Bearer JWT
Scope
analytics.view and all-products workspace scope. Filters never expand the effective developer workspace.
Request fields
  • query range: value
  • query startDate: string
  • query endDate: string
  • query currency: string
  • query environment: value
  • query productId: integer
  • query page: integer
  • query limit: integer
  • query offset: integer
Returns
HTTP 200: range, start_date, end_date, currency, environment, summary, page, limit, offset, total, has_more, shares.
Notes
Read-only report, not payment execution or a refund action. Monetary *_cents fields are integer cents; estimated earnings are not a bank transfer. Follow returned availability and scope. Current-month charges use the current UTC calendar month, not an arbitrary requested historical range. Summary/products/activity/charges have compatible /analytics/revenue routes with their own access guards.
Request, response and error reference

Query and header parameters

[
  {
    "name": "range",
    "in": "query",
    "schema": {
      "enum": [
        "today",
        "7d",
        "30d",
        "90d",
        "current_month",
        "previous_month"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "startDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "endDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "currency",
    "in": "query",
    "schema": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "default": "usd"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "environment",
    "in": "query",
    "schema": {
      "enum": [
        "live",
        "test"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "productId",
    "in": "query",
    "schema": {
      "type": "integer",
      "minimum": 1
    },
    "required": false,
    "description": ""
  },
  {
    "name": "page",
    "in": "query",
    "schema": {
      "type": "integer",
      "minimum": 1
    },
    "required": false,
    "description": ""
  },
  {
    "name": "limit",
    "in": "query",
    "schema": {
      "type": "integer",
      "minimum": 1
    },
    "required": false,
    "description": ""
  },
  {
    "name": "offset",
    "in": "query",
    "schema": {
      "type": "integer"
    },
    "required": false,
    "description": ""
  }
]

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "range": {
      "type": "string"
    },
    "start_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "end_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "currency": {
      "type": "string"
    },
    "environment": {
      "type": "string"
    },
    "summary": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "page": {
      "type": "integer"
    },
    "limit": {
      "type": "integer"
    },
    "offset": {
      "type": "integer"
    },
    "total": {
      "type": "integer"
    },
    "has_more": {
      "type": "boolean"
    },
    "shares": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1
          },
          "order_id": {
            "type": "integer",
            "minimum": 1
          },
          "order_item_id": {
            "type": "integer",
            "minimum": 1
          },
          "occurred_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "sale_source": {
            "type": "string"
          },
          "payment_state": {
            "type": [
              "string",
              "null"
            ]
          },
          "product": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "minimum": 1
              },
              "name": {
                "type": "string"
              }
            },
            "additionalProperties": true
          },
          "gross_amount_cents": {
            "type": "integer"
          },
          "platform_fee_cents": {
            "type": "integer"
          },
          "developer_share_cents": {
            "type": "integer"
          },
          "reseller_share_cents": {
            "type": "integer"
          },
          "currency": {
            "type": "string"
          },
          "fee_model": {
            "type": "object",
            "additionalProperties": true,
            "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
          }
        },
        "additionalProperties": true
      }
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 500, 503.

GET /api/developer/revenue/marketplace

Read marketplace-attributed developer sale shares

Auth
Account Bearer JWT
Scope
analytics.view and all-products workspace scope. Filters never expand the effective developer workspace.
Request fields
  • query range: value
  • query startDate: string
  • query endDate: string
  • query currency: string
  • query environment: value
  • query productId: integer
Returns
HTTP 200: range, start_date, end_date, currency, environment, summary, page, limit, offset, total, has_more, shares.
Notes
Uses the share-report shape with marketplace-only filtering. Attribution is not a second SoundSync fee or proof of a completed recipient payout.
Request, response and error reference

Query and header parameters

[
  {
    "name": "range",
    "in": "query",
    "schema": {
      "enum": [
        "today",
        "7d",
        "30d",
        "90d",
        "current_month",
        "previous_month"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "startDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "endDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "currency",
    "in": "query",
    "schema": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "default": "usd"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "environment",
    "in": "query",
    "schema": {
      "enum": [
        "live",
        "test"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "productId",
    "in": "query",
    "schema": {
      "type": "integer",
      "minimum": 1
    },
    "required": false,
    "description": ""
  }
]

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "range": {
      "type": "string"
    },
    "start_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "end_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "currency": {
      "type": "string"
    },
    "environment": {
      "type": "string"
    },
    "summary": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "page": {
      "type": "integer"
    },
    "limit": {
      "type": "integer"
    },
    "offset": {
      "type": "integer"
    },
    "total": {
      "type": "integer"
    },
    "has_more": {
      "type": "boolean"
    },
    "shares": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1
          },
          "order_id": {
            "type": "integer",
            "minimum": 1
          },
          "order_item_id": {
            "type": "integer",
            "minimum": 1
          },
          "occurred_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "sale_source": {
            "type": "string"
          },
          "payment_state": {
            "type": [
              "string",
              "null"
            ]
          },
          "product": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "minimum": 1
              },
              "name": {
                "type": "string"
              }
            },
            "additionalProperties": true
          },
          "gross_amount_cents": {
            "type": "integer"
          },
          "platform_fee_cents": {
            "type": "integer"
          },
          "developer_share_cents": {
            "type": "integer"
          },
          "reseller_share_cents": {
            "type": "integer"
          },
          "currency": {
            "type": "string"
          },
          "fee_model": {
            "type": "object",
            "additionalProperties": true,
            "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
          }
        },
        "additionalProperties": true
      }
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 500, 503.

GET /api/developer/revenue/refunds-disputes

Read recorded refunds and disputes

Auth
Account Bearer JWT
Scope
analytics.view and all-products workspace scope. Filters never expand the effective developer workspace.
Request fields
  • query type: string
  • query status: string
  • query q: string
  • query search: string
  • query orderId: string
  • query productId: string
  • query startDate: string
  • query endDate: string
  • query dateBasis: string
  • query minAmountCents: string
  • query maxAmountCents: string
  • query needsAttention: string
  • query sort: string
  • query limit: string
  • query offset: string
Returns
HTTP 200: rows, pagination, filters.
Notes
This recorded-issue list is not a refund eligibility preview. limit defaults to 50 and caps at 100. Match issue type and owned order; records can contain private purchase and ledger details.
Request, response and error reference

Query and header parameters

[
  {
    "name": "type",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "status",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "q",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "search",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "orderId",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "productId",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "startDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "endDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "dateBasis",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "minAmountCents",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "maxAmountCents",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "needsAttention",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "sort",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "limit",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "offset",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  }
]

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "refund",
              "dispute"
            ]
          },
          "status": {
            "type": "string"
          },
          "order": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 1
                  },
                  {
                    "type": "string",
                    "pattern": "^[1-9][0-9]*$"
                  }
                ]
              }
            },
            "additionalProperties": true
          },
          "amount_cents": {
            "type": "integer"
          },
          "reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "entitlements": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
            }
          },
          "ledger_entries": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
            }
          },
          "timeline": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "occurred_at": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time"
                },
                "title": {
                  "type": "string"
                },
                "detail": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": true
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer"
        },
        "offset": {
          "type": "integer"
        }
      },
      "additionalProperties": true
    },
    "filters": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "q": {
          "type": "string"
        }
      },
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 500, 503.

GET /api/developer/revenue/refunds-disputes/{type}/{orderId}

Read an owned order refund or dispute with its timeline

Auth
Account Bearer JWT
Scope
analytics.view and all-products workspace scope. Filters never expand the effective developer workspace.
Returns
HTTP 200: issue.
Notes
type must be refund or dispute; orderId is the order identifier, not a refund ID. Returns 404 when the permitted issue is not found. No funds or access are changed.
Request, response and error reference

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "issue": {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "refund",
            "dispute"
          ]
        },
        "status": {
          "type": "string"
        },
        "order": {
          "type": "object",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 1
                },
                {
                  "type": "string",
                  "pattern": "^[1-9][0-9]*$"
                }
              ]
            }
          },
          "additionalProperties": true
        },
        "amount_cents": {
          "type": "integer"
        },
        "reason": {
          "type": [
            "string",
            "null"
          ]
        },
        "entitlements": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": true,
            "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
          }
        },
        "ledger_entries": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": true,
            "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
          }
        },
        "timeline": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "occurred_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "title": {
                "type": "string"
              },
              "detail": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 500, 503.

GET /api/developer/analytics/activity

Read the product-scoped combined activity feed

Auth
Account Bearer JWT
Scope
analytics.view and assigned-product scope.
Request fields
  • query range: value
  • query startDate: string
  • query endDate: string
  • query currency: string
  • query environment: value
  • query productId: integer
  • query source: string
  • query type: string
  • query search: string
  • query customerId: string
  • query limit: string
Returns
HTTP 200: range, start_date, end_date, currency, environment, limit, filters, summary, activity.
Notes
Distinct from /revenue/activity and /developer/activity. Combines recorded website, plugin, email, download and usage events. Private customer/device diagnostics are not a public analytics feed; missing telemetry does not mean zero activity.
Request, response and error reference

Query and header parameters

[
  {
    "name": "range",
    "in": "query",
    "schema": {
      "enum": [
        "today",
        "7d",
        "30d",
        "90d",
        "current_month",
        "previous_month"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "startDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "endDate",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "currency",
    "in": "query",
    "schema": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "default": "usd"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "environment",
    "in": "query",
    "schema": {
      "enum": [
        "live",
        "test"
      ]
    },
    "required": false,
    "description": ""
  },
  {
    "name": "productId",
    "in": "query",
    "schema": {
      "type": "integer",
      "minimum": 1
    },
    "required": false,
    "description": ""
  },
  {
    "name": "source",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "type",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "search",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "customerId",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  },
  {
    "name": "limit",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": false,
    "description": ""
  }
]

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "range": {
      "type": "string"
    },
    "start_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "end_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "currency": {
      "type": "string"
    },
    "environment": {
      "type": "string"
    },
    "limit": {
      "type": "integer"
    },
    "filters": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "summary": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "activity": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true,
        "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
      }
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 500, 503.