Suger Report API

Access to revenue or usage metering Report resources

OpenAPI Specification

suger-report-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  contact:
    email: support@suger.io
    name: Suger Support
    url: https://www.suger.io/support
  description: CRUD operations on a set of resources, including organizations, products, offers, entitlements, usage record groups for meterting, etc.
  title: Suger API Report API
  version: '1.0'
servers:
- url: https://api.suger.cloud
tags:
- description: Access to revenue or usage metering Report resources
  name: Report
paths:
  /org/{orgId}/dailyRevenueRecord:
    get:
      description: list daily revenue records for the given organization, partner, entitlement, or buyer, within the given date range.
      operationId: ListDailyRevenueRecords
      parameters:
      - description: Organization ID
        explode: false
        in: path
        name: orgId
        required: true
        schema:
          type: string
        style: simple
      - description: Cloud Partner
        explode: true
        in: query
        name: partner
        required: false
        schema:
          enum:
          - AWS
          - AZURE
          - GCP
          type: string
        style: form
      - description: Filter daily revenue records by the given product ID
        explode: true
        in: query
        name: productId
        required: false
        schema:
          type: string
        style: form
      - description: Filter daily revenue records by the given buyer ID
        explode: true
        in: query
        name: buyerId
        required: false
        schema:
          type: string
        style: form
      - description: Filter daily revenue records by the given entitlement ID
        explode: true
        in: query
        name: entitlementId
        required: false
        schema:
          type: string
        style: form
      - description: start date (UTC) in YYYY-MM-DD format, default is 30 days before the endDate
        explode: true
        in: query
        name: startDate
        required: false
        schema:
          type: string
        style: form
      - description: end date (UTC) in YYYY-MM-DD format, default is today
        explode: true
        in: query
        name: endDate
        required: false
        schema:
          type: string
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/RevenueRecord'
                type: array
          description: OK
        '400':
          content:
            application/json:
              schema:
                type: string
          description: Bad request error
        '500':
          content:
            application/json:
              schema:
                type: string
          description: Internal server error
      security:
      - APIKeyAuth: []
      summary: List Daily Revenue Records
      tags:
      - Report
  /org/{orgId}/partner/{partner}/revenueRecord:
    get:
      description: list the revenue records for the given organization, product, entitlement, or buyer.
      operationId: ListRevenueRecords
      parameters:
      - description: Organization ID
        explode: false
        in: path
        name: orgId
        required: true
        schema:
          type: string
        style: simple
      - description: Cloud Partner
        explode: false
        in: path
        name: partner
        required: true
        schema:
          enum:
          - AWS
          - AZURE
          - GCP
          type: string
        style: simple
      - description: Filter revenue records by the given product ID
        explode: true
        in: query
        name: productId
        required: false
        schema:
          type: string
        style: form
      - description: Filter revenue records by the given entitlement ID
        explode: true
        in: query
        name: entitlementId
        required: false
        schema:
          type: string
        style: form
      - description: Filter revenue records by the given buyer ID
        explode: true
        in: query
        name: buyerId
        required: false
        schema:
          type: string
        style: form
      - description: start date (UTC) in YYYY-MM-DD format, default is 30 days before the endDate
        explode: true
        in: query
        name: startDate
        required: false
        schema:
          type: string
        style: form
      - description: end date (UTC) in YYYY-MM-DD format, default is today
        explode: true
        in: query
        name: endDate
        required: false
        schema:
          type: string
        style: form
      - description: List pagination size, default 1000, max value is 1000
        explode: true
        in: query
        name: limit
        required: false
        schema:
          type: integer
        style: form
      - description: List pagination offset, default 0
        explode: true
        in: query
        name: offset
        required: false
        schema:
          type: integer
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListRevenueRecordsResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                type: string
          description: Bad request error
        '500':
          content:
            application/json:
              schema:
                type: string
          description: Internal server error
      security:
      - APIKeyAuth: []
      summary: List Revenue Records
      tags:
      - Report
  /org/{orgId}/partner/{partner}/revenueRecordDetail:
    get:
      description: list the raw revenue record details for the given organization, partner, product, entitlement, or buyer.
      operationId: ListRevenueRecordDetails
      parameters:
      - description: Organization ID
        explode: false
        in: path
        name: orgId
        required: true
        schema:
          type: string
        style: simple
      - description: Cloud Partner
        explode: false
        in: path
        name: partner
        required: true
        schema:
          enum:
          - AWS
          - AZURE
          - GCP
          type: string
        style: simple
      - description: Filter revenue record details by the given product ID
        explode: true
        in: query
        name: productId
        required: false
        schema:
          type: string
        style: form
      - description: Filter revenue record details by the given buyer ID
        explode: true
        in: query
        name: buyerId
        required: false
        schema:
          type: string
        style: form
      - description: Filter revenue record details by the given entitlement ID
        explode: true
        in: query
        name: entitlementId
        required: false
        schema:
          type: string
        style: form
      - description: start date (UTC) in YYYY-MM-DD format, default is 30 days before the endDate
        explode: true
        in: query
        name: startDate
        required: false
        schema:
          type: string
        style: form
      - description: end date (UTC) in YYYY-MM-DD format, default is today
        explode: true
        in: query
        name: endDate
        required: false
        schema:
          type: string
        style: form
      - description: List pagination size, default 1000, max value is 1000
        explode: true
        in: query
        name: limit
        required: false
        schema:
          type: integer
        style: form
      - description: List pagination offset, default 0
        explode: true
        in: query
        name: offset
        required: false
        schema:
          type: integer
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListRevenueRecordDetailsResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                type: string
          description: Bad request error
        '500':
          content:
            application/json:
              schema:
                type: string
          description: Internal server error
      security:
      - APIKeyAuth: []
      summary: List Revenue Record Details
      tags:
      - Report
  /org/{orgId}/partner/{partner}/usageMeteringDailyRecord:
    get:
      description: list the daily records of the usage metering from the cloud marketplace for the given organization, entitlement, or buyer.
      operationId: ListUsageMeteringDailyRecords
      parameters:
      - description: Organization ID
        explode: false
        in: path
        name: orgId
        required: true
        schema:
          type: string
        style: simple
      - description: Filter by the Cloud Partner
        explode: false
        in: path
        name: partner
        required: true
        schema:
          enum:
          - AWS
          - AZURE
          - GCP
          type: string
        style: simple
      - description: Filter usage metering daily records by the given buyer ID
        explode: true
        in: query
        name: buyerId
        required: false
        schema:
          type: string
        style: form
      - description: Filter usage metering daily records by the given entitlement ID
        explode: true
        in: query
        name: entitlementId
        required: false
        schema:
          type: string
        style: form
      - description: start date (UTC) in YYYY-MM-DD format, default is 30 days before the endDate
        explode: true
        in: query
        name: startDate
        required: false
        schema:
          type: string
        style: form
      - description: end date (UTC) in YYYY-MM-DD format, default is today
        explode: true
        in: query
        name: endDate
        required: false
        schema:
          type: string
        style: form
      - description: List pagination size, default 1000, max value is 1000
        explode: true
        in: query
        name: limit
        required: false
        schema:
          type: integer
        style: form
      - description: List pagination offset, default 0
        explode: true
        in: query
        name: offset
        required: false
        schema:
          type: integer
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListUsageMeteringDailyRecordsResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                type: string
          description: Bad request error
        '500':
          content:
            application/json:
              schema:
                type: string
          description: Internal server error
      security:
      - APIKeyAuth: []
      summary: List Usage Metering Daily Records
      tags:
      - Report
  /org/{orgId}/revenueReport:
    post:
      description: Get the revenue report of the given organization, product, entitlement, or buyer.
      operationId: GetRevenueReport
      parameters:
      - description: Organization ID
        explode: false
        in: path
        name: orgId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetRevenueReportParams'
        description: Get Revenue Report Params
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RevenueReport'
          description: OK
        '400':
          content:
            application/json:
              schema:
                type: string
          description: Bad request error
        '500':
          content:
            application/json:
              schema:
                type: string
          description: Internal server error
      security:
      - APIKeyAuth: []
      summary: Get Revenue Report
      tags:
      - Report
      x-codegen-request-body-name: data
components:
  schemas:
    RevenueReport:
      example:
        organizationID: organizationID
        reportType: GrossAmount
        partner: partner
        productID: productID
        reportDate: 2000-01-23 04:56:07+00:00
        service: service
        entitlementID: entitlementID
        groupBy: '{}'
        revenueRecords:
        - date: 2000-01-23 04:56:07+00:00
          amount: 0.8008281904610115
          productID: productID
          refundDisburseAmount: 9.965781217890562
          entitlementID: entitlementID
          invoiceAmount: 5.025004791520295
          buyerID: buyerID
          invoiceDate: 2000-01-23 04:56:07+00:00
          collectableAmount: 6.027456183070403
          disburseDate: 2000-01-23 04:56:07+00:00
          refundInvoiceDate: 2000-01-23 04:56:07+00:00
          refundDisburseDate: 2000-01-23 04:56:07+00:00
          organizationID: organizationID
          paymentDueDate: 2000-01-23 04:56:07+00:00
          refundInvoiceAmount: 9.369310271410669
          partner: partner
          currency: currency
          disburseAmount: 1.4658129805029452
          id: id
          taxAmount: 6.683562403749608
          info:
            awsRevenueRecords:
            - brokerID: brokerID
              usagePeriodStartDate:
                valid: true
                time: time
              productID: productID
              insertDate:
                valid: true
                time: time
              toAccountID: toAccountID
              usagePeriodEndDate:
                valid: true
                time: time
              parentBillingEventID: parentBillingEventID
              disbursementBillingEventID: disbursementBillingEventID
              action: action
              offerID: offerID
              currency: currency
              invoiceID: invoiceID
              id: id
              balanceImpacting: 5
              amount: 5.962133916683182
              endUserAccountID: endUserAccountID
              dataFeedProductID: dataFeedProductID
              entitlementID: entitlementID
              buyerID: buyerID
              invoiceDate:
                valid: true
                time: time
              transactionReferenceID: transactionReferenceID
              organizationID: organizationID
              transactionType: transactionType
              paymentDueDate:
                valid: true
                time: time
              fromAccountID: fromAccountID
              agreementID: agreementID
              billingAddressID: billingAddressID
              bankTraceID: bankTraceID
            - brokerID: brokerID
              usagePeriodStartDate:
                valid: true
                time: time
              productID: productID
              insertDate:
                valid: true
                time: time
              toAccountID: toAccountID
              usagePeriodEndDate:
                valid: true
                time: time
              parentBillingEventID: parentBillingEventID
              disbursementBillingEventID: disbursementBillingEventID
              action: action
              offerID: offerID
              currency: currency
              invoiceID: invoiceID
              id: id
              balanceImpacting: 5
              amount: 5.962133916683182
              endUserAccountID: endUserAccountID
              dataFeedProductID: dataFeedProductID
              entitlementID: entitlementID
              buyerID: buyerID
              invoiceDate:
                valid: true
                time: time
              transactionReferenceID: transactionReferenceID
              organizationID: organizationID
              transactionType: transactionType
              paymentDueDate:
                valid: true
                time: time
              fromAccountID: fromAccountID
              agreementID: agreementID
              billingAddressID: billingAddressID
              bankTraceID: bankTraceID
            resellerName: resellerName
            resource: resource
            billingModel: SubscriptionBased
            channel: '{}'
            idSource: idSource
            earningId: earningId
            resellerId: resellerId
            disbursementNotificationSent: true
            azureRevenueRecords:
            - purchaseRecordID: purchaseRecordID
              productID: productID
              termEndDate: termEndDate
              azureCustomerID: azureCustomerID
              billingModel: billingModel
              payoutStatus: payoutStatus
              resellerCity: resellerCity
              resellerID: resellerID
              programName: programName
              resellerState: resellerState
              azureAssetID: azureAssetID
              offerID: offerID
              earningUsd: 2.3021358869347655
              invoiceID: invoiceID
              azurePlanID: azurePlanID
              paymentStatus: paymentStatus
              revenueUsd: 7.061401241503109
              azureBillingAccountID: azureBillingAccountID
              entitlementID: entitlementID
              resellerEmail: resellerEmail
              buyerID: buyerID
              invoiceDate:
                valid: true
                time: time
              transactionDate:
                valid: true
                time: time
              earningID: earningID
              invoiceDueDate:
                valid: true
                time: time
              resellerCompany: resellerCompany
              organizationID: organizationID
              resellerCountry: resellerCountry
              paymentID: paymentID
              termStartDate: termStartDate
              azureOfferID: azureOfferID
              estimatedPayoutMonth:
                valid: true
                time: time
              paymentSentDate:
                valid: true
                time: time
            - purchaseRecordID: purchaseRecordID
              productID: productID
              termEndDate: termEndDate
              azureCustomerID: azureCustomerID
              billingModel: billingModel
              payoutStatus: payoutStatus
              resellerCity: resellerCity
              resellerID: resellerID
              programName: programName
              resellerState: resellerState
              azureAssetID: azureAssetID
              offerID: offerID
              earningUsd: 2.3021358869347655
              invoiceID: invoiceID
              azurePlanID: azurePlanID
              paymentStatus: paymentStatus
              revenueUsd: 7.061401241503109
              azureBillingAccountID: azureBillingAccountID
              entitlementID: entitlementID
              resellerEmail: resellerEmail
              buyerID: buyerID
              invoiceDate:
                valid: true
                time: time
              transactionDate:
                valid: true
                time: time
              earningID: earningID
              invoiceDueDate:
                valid: true
                time: time
              resellerCompany: resellerCompany
              organizationID: organizationID
              resellerCountry: resellerCountry
              paymentID: paymentID
              termStartDate: termStartDate
              azureOfferID: azureOfferID
              estimatedPayoutMonth:
                valid: true
                time: time
              paymentSentDate:
                valid: true
                time: time
            paymentId: paymentId
            disbursementBillingEventId: disbursementBillingEventId
            bankTraceId: bankTraceId
            creditAmount: 9.301444243932576
            gcpRevenueRecords:
            - productID: productID
              usage: 1.1730742509559433
              withheld: 4.965218492984954
              paymentType: paymentType
              accountID: accountID
              refundBalanceOutstanding: 1.4894159098541704
              reportDate: reportDate
              trialUse: 7.457744773683766
              paymentSchedule: paymentSchedule
              offerID: offerID
              currency: currency
              prepayCredits: 1.2315135367772556
              abandoned: 3.616076749251911
              sku: sku
              released: 6.84685269835264
              usedBy: usedBy
              insightAccountID: insightAccountID
              dueVendor: 4.145608029883936
              resource: resource
              googleEntity: googleEntity
              refundReason: refundReason
              entitlementID: entitlementID
              buyerID: buyerID
              organizationID: organizationID
              charges: 2.027123023002322
              unit: unit
              refundBalanceDeductedThisMonth: 1.0246457001441578
              ordinal: 7
            - productID: productID
              usage: 1.1730742509559433
              withheld: 4.965218492984954
              paymentType: paymentType
              accountID: accountID
              refundBalanceOutstanding: 1.4894159098541704
              reportDate: reportDate
              trialUse: 7.457744773683766
              paymentSchedule: paymentSchedule
              offerID: offerID
              currency: currency
              prepayCredits: 1.2315135367772556
              abandoned: 3.616076749251911
              sku: sku
              released: 6.84685269835264
              usedBy: usedBy
              insightAccountID: insightAccountID
              dueVendor: 4.145608029883936
              resource: resource
              googleEntity: googleEntity
              refundReason: refundReason
              entitlementID: entitlementID
              buyerID: buyerID
              organizationID: organizationID
              charges: 2.027123023002322
              unit: unit
              refundBalanceDeductedThisMonth: 1.0246457001441578
              ordinal: 7
        - date: 2000-01-23 04:56:07+00:00
          amount: 0.8008281904610115
          productID: productID
          refundDisburseAmount: 9.965781217890562
          entitlementID: entitlementID
          invoiceAmount: 5.025004791520295
          buyerID: buyerID
          invoiceDate: 2000-01-23 04:56:07+00:00
          collectableAmount: 6.027456183070403
          disburseDate: 2000-01-23 04:56:07+00:00
          refundInvoiceDate: 2000-01-23 04:56:07+00:00
          refundDisburseDate: 2000-01-23 04:56:07+00:00
          organizationID: organizationID
          paymentDueDate: 2000-01-23 04:56:07+00:00
          refundInvoiceAmount: 9.369310271410669
          partner: partner
          currency: currency
          disburseAmount: 1.4658129805029452
          id: id
          taxAmount: 6.683562403749608
          info:
            awsRevenueRecords:
            - brokerID: brokerID
              usagePeriodStartDate:
                valid: true
                time: time
              productID: productID
              insertDate:
                valid: true
                time: time
              toAccountID: toAccountID
              usagePeriodEndDate:
                valid: true
                time: time
              parentBillingEventID: parentBillingEventID
              disbursementBillingEventID: disbursementBillingEventID
              action: action
              offerID: offerID
              currency: currency
              invoiceID: invoiceID
              id: id
              balanceImpacting: 5
              amount: 5.962133916683182
              endUserAccountID: endUserAccountID
              dataFeedProductID: dataFeedProductID
              entitlementID: entitlementID
              buyerID: buyerID
              invoiceDate:
                valid: true
                time: time
              transactionReferenceID: transactionReferenceID
              organizationID: organizationID
              transactionType: transactionType
              paymentDueDate:
                valid: true
                time: time
              fromAccountID: fromAccountID
              agreementID: agreementID
              billingAddressID: billingAddressID
              bankTraceID: bankTraceID
            - brokerID: brokerID
              usagePeriodStartDate:
                valid: true
                time: time
              productID: productID
              insertDate:
                valid: true
                time: time
              toAccountID: toAccountID
              usagePeriodEndDate:
                valid: true
                time: time
              parentBillingEventID: parentBillingEventID
              disbursementBillingEventID: disbursementBillingEventID
              action: action
              offerID: offerID
              currency: currency
              invoiceID: invoiceID
              id: id
              balanceImpacting: 5
              amount: 5.962133916683182
              endUserAccountID: endUserAccountID
              dataFeedProductID: dataFeedProductID
              entitlementID: entitlementID
              buyerID: buyerID
              invoiceDate:
                valid: true
                time: time
              transactionReferenceID: transactionReferenceID
              organizationID: organizationID
              transactionType: transactionType
              paymentDueDate:
                valid: true
                time: time
              fromAccountID: fromAccountID
              agreementID: agreementID
              billingAddressID: billingAddressID
              bankTraceID: bankTraceID
            resellerName: resellerName
            resource: resource
            billingModel: SubscriptionBased
            channel: '{}'
            idSource: idSource
            earningId: earningId
            resellerId: resellerId
            disbursementNotificationSent: true
            azureRevenueRecords:
            - purchaseRecordID: purchaseRecordID
              productID: productID
              termEndDate: termEndDate
              azureCustomerID: azureCustomerID
              billingModel: billingModel
              payoutStatus: payoutStatus
              resellerCity: resellerCity
              resellerID: resellerID
              programName: programName
              resellerState: resellerState
              azureAssetID: azureAssetID
              offerID: offerID
              earningUsd: 2.3021358869347655
              invoiceID: invoiceID
              azurePlanID: azurePlanID
              paymentStatus: paymentStatus
              revenueUsd: 7.061401241503109
              azureBillingAccountID: azureBillingAccountID
              entitlementID: entitlementID
              resellerEmail: resellerEmail
              buyerID: buyerID
              invoiceDate:
                valid: true
                time: time
              transactionDate:
                valid: true
                time: time
              earningID: earningID
              invoiceDueDate:
                valid: true
                time: time
              resellerCompany: resellerCompany
              organizationID: organizationID
              resellerCountry: resellerCountry
              paymentID: paymentID
              termStartDate: termStartDate
              azureOfferID: azureOfferID
              estimatedPayoutMonth:
                valid: true
                time: time
              paymentSentDate:
                valid: true
                time: time
            - purchaseRecordID: purchaseRecordID
              productID: productID
              termEndDate: termEndDate
              azureCustomerID: azureCustomerID
              billingModel: billingModel
              payoutStatus: payoutStatus
              resellerCity: resellerCity
              resellerID: resellerID
              programName: programName
              resellerState: resellerState
              azureAssetID: azureAssetID
              offerID: offerID
              earningUsd: 2.3021358869347655
              invoiceID: invoiceID
              azurePlanID: azurePlanID
              paymentStatus: paymentStatus
              revenueUsd: 7.061401241503109
              azureBillingAccountID: azureBillingAccountID
              entitlementID: entitlementID
              resellerEmail: resellerEmail
              buyerID: buyerID
              invoiceDate:
                valid: true
                time: time
              transactionDate:
                valid: true
                time: time
              earningID: earningID
              invoiceDueDate:
                valid: true
                time: time
              resellerCompany: resellerCompany
              organizationID: organizationID
              resellerCountry: resellerCountry
              paymentID: paymentID
              termStartDate: termStartDate
              azureOfferID: azureOfferID
              estimatedPayoutMonth:
                valid: true
                time: time
              paymentSentDate:
                valid: true
                time: time
            paymentId: paymentId
            disbursementBillingEventId: disbursementBillingEventId
            bankTraceId: bankTraceId
            creditAmount: 9.301444243932576
            gcpRevenueRecords:
            - productID: productID
              usage: 1.1730742509559433
              withheld: 4.965218492984954
              paymentType: paymentType
              accountID: accountID
              refundBalanceOutstanding: 1.4894159098541704
              reportDate: reportDate
              trialUse: 7.457744773683766
              paymentSchedule: paymentSchedule
              offerID: offerID
              currency: currency
              prepayCredits: 1.2315135367772556
              abandoned: 3.616076749251911
              sku: sku
              released: 6.84685269835264
              usedBy: usedBy
              insightAccountID: insightAccountID
              dueVendor: 4.145608029883936
              resource: resource
              googleEntity: googleEntity
              refundReason: refundReason
              entitlementID: entitlementID
              buyerID: buyerID
              organizationID: organizationID
              charges: 2.027123023002322
              unit: unit
              refundBalanceDeductedThisMonth: 1.0246457001441578
              ordinal: 7
            - productID: productID
              usage: 1.1730742509559433
              withheld: 4.965218492984954
              paymentType: paymentType
              accountID: accountID
              refundBalanceOutstanding: 1.4894159098541704
              reportDate: reportDate
              trialUse: 7.457744773683766
              paymentSchedule: paymentSchedule
              offerID: offerID
              currency: currency
              prepayCredits: 1.2315135367772556
              abandoned: 3.616076749251911
              sku: sku
              released: 6.84685269835264
              usedBy: usedBy
              insightAccountID: insightAccountID
              dueVendor: 4.145608029883936
              resource: resource
              googleEntity: googleEntity
              refundReason: refundReason
              entitlementID: entitlementID
              buyerID: buyerID
              organizationID: organizationID
              charges: 2.027123023002322
              unit: unit
              refundBalanceDeductedThisMonth: 1.0246457001441578
              ordinal: 7
        buyerID: buyerID
      properties:
        buyerID:
          type: string
        entitlementID:
          type: string
        groupBy:
          allOf:
          - $ref: '#/components/schemas/GroupByInterval'
          description: The group by of the revenue report.
          type: object
        organizationID:
          type: string
        partner:
          type: string
        productID:
          type: string
        reportDate:
          format: date-time
          type: string
        reportType:
          $ref: '#/components/schemas/RevenueReportType'
        revenueRecords:
          items:
            $ref: '#/components/schemas/RevenueRecord'
          type: array
        service:
          type: string
      type: object
    UsageMeteringDailyRecord:
      exam

# --- truncated at 32 KB (86 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/suger/refs/heads/main/openapi/suger-report-api-openapi.yml