Suger

Get revenue record detail

GET https://api.suger.cloud/org/{orgId}/revenue/record/{partner}/{recordId}

Return one unified revenue record in full, including its billing, cash-collection, and disbursement amounts and its lifecycle stage. A unified revenue record is a single billing event normalized across channels. Use ListUnifiedRevenueRecords to find record IDs, and GetRevenueRecordEvents for the record's provenance chain.

Parameters

NameInTypeRequiredDescription
orgId path string yes Organization ID
partner path string yes Channel the record belongs to (AWS, AZURE, GCP, STRIPE, or a CRM_* source)
recordId path string yes Unified revenue record ID, as returned by ListUnifiedRevenueRecords

Responses

200 — OK

Content-Type: application/json · Schema: RevenueRecordInfo

RevenueRecordInfo fields:

FieldTypeRequiredDescription
awsRevenueRecords array<AwsBillingEvent> no For raw revenue records in AWS Marketplace
azureRevenueRecords array<AzureCmaRevenue> no For raw revenue records in Azure Marketplace
bankTraceId string no The bank trace ID of the revenue record if applicable
billingModel RevenueBillingModel no
cancellationEffectiveDate string no CancellationEffectiveDate is the date a subscription was actually terminated (ISO 8601 date or date-time string). Used by the analytics waterfall churn rule (F30) to distinguish records that were active at a measurement date but later canceled — those still count toward starting ARR and contribute to churn. Empty string means no explicit cancellation date; downstream code falls back to recognition_trigger_date when payment_status=CANCELED.
channel RevenueChannel no
chargebeeInvoiceId string no The Chargebee invoice ID for this revenue record if synced to Chargebee
chargebeePaymentTransactionId string no The Chargebee payment transaction ID for this revenue record if a payment was recorded in Chargebee
chargebeeRefundTransactionId string no The Chargebee refund transaction ID for this revenue record if a refund was recorded in Chargebee
createNotificationDigestId string no Stable audited identity for the CREATE digest batch. It survives activity retries so a successful enqueue followed by an acknowledgement failure is deduplicated on replay.
createNotificationDigestPending boolean no Whether this record still needs to be included in the human-channel CREATE digest after its invoice projection has completed successfully.
createNotificationPending boolean no Whether the per-record CREATE notification still needs to be delivered. Persisting this with the revenue row makes notification delivery retryable after a partially-completed sync.
creditAmount number no The credit amount used in the revenue record.
crmDealName string no Human-readable CRM deal/opportunity name for unbilled queue display.
crmOpportunityId string no Native CRM opportunity/deal identifier used for idempotent booking upsert and later cancellation/invoice matching.
crmPartner string no CRM source that produced a booking-stage revenue record. V1 CRM inbound stores booking facts here because billing.revenue_record remains the canonical lifecycle record and no separate CRM booking table exists.
crmStage string no Native CRM stage at the time Suger last polled the deal.
dealNotInvoicedAlertedAt string no DealNotInvoicedAlertedAt is the RFC3339 timestamp of the last fired DEAL_NOT_INVOICED alert for this record (D07 durable dedup). Prevents the alert from re-firing daily for the same long-unbilled deal — the alert fires once, then suppressed until manually cleared.
disbursementBillingEventId string no The disbursement ID of the revenue record if applicable
disbursementNotificationSent boolean no Whether the disbursement notification has been sent to the seller/ISV.
disbursementReferenceNumber string no The disbursement reference number generated by AWS upon creating each disbursement request. It can be used to correlate seller bank-provided deposit notifications and reports to invoices in AWS Marketplace reports.
dismissReason string no DismissReason is the free-text reason recorded on manual dismiss (D03).
dismissedBy string no DismissedBy is the user ID that performed the manual dismiss (D03 audit).
dismissedFromQueueAt string no DismissedFromQueueAt is the RFC3339 timestamp at which a CRM booking record was manually removed from the unbilled queue (D03). Only valid for direct/Stripe deals with no linked marketplace offer in ACCEPTED state; the dismiss handler rejects marketplace-accepted deals because those can only exit via auto-removal on entitlement provisioning (F27).
earningId string no The earning ID of the revenue record if applicable
gcpRevenueRecords array<GcpChargeUsage> no For raw revenue records in GCP Marketplace
idSource string no Source of the revenue record ID.
invoiceId string no The invoice ID of the revenue record if applicable
paymentId string no The payment ID of the revenue record if applicable
prepayCreditAmount number no The prepay credit amount drawn down on this revenue record. Applicable only to GCP Marketplace. Sourced from the "Prepay Credits" column of the GCP Charges and Usage V2 report.
queueAutoRemovedAt string no QueueAutoRemovedAt is the RFC3339 timestamp at which the unbilled queue reconciliation removed a marketplace CRM booking because its linked offer was provisioned into an active entitlement (F27 auto-removal). Distinct from DismissedFromQueueAt so the audit trail differentiates manual finance action from automatic system reconciliation.
relatedEntitlementIDs array<string> no RelatedEntitlementIDs is populated on aggregated invoice projections when one provider invoice contains revenue relationships for multiple contracts.
resellerId string no The reseller ID of the revenue record if applicable
resellerName string no The reseller name of the revenue record if application
resource string no Resource name for the revenue record. Applicable only to GCP Marketplace.
usagePeriodEndDate string no The end of the usage period covered by this revenue record, if applicable.
usagePeriodStartDate string no The start of the usage period covered by this revenue record, if applicable.

AwsBillingEvent fields:

FieldTypeRequiredDescription
action string no
actionDate NullableTime no
agreementID string no
amount number no
balanceImpacting integer no
bankTraceID string no
billingAddressID string no
brokerID string no
buyerID string no
buyerTransactionReferenceID string no
currency string no
dataFeedProductID string no
disbursementBillingEventID string no
disbursementReferenceNumber string no
endUserAccountID string no
entitlementID string no
fromAccountID string no
id string no
insertDate NullableTime no
invoiceDate NullableTime no
invoiceID string no
offerID string no
organizationID string no
parentBillingEventID string no
paymentDueDate NullableTime no
productID string no
refundedBuyerTransactionReferenceID string no
toAccountID string no
transactionReferenceID string no
transactionType string no
usagePeriodEndDate NullableTime no
usagePeriodStartDate NullableTime no

AzureCmaRevenue fields:

FieldTypeRequiredDescription
azureAssetID string no
azureBillingAccountID string no
azureCustomerID string no
azureOfferID string no
azurePlanID string no
billingModel string no
buyerID string no
earningID string no
earningUsd number no
entitlementID string no
estimatedPayoutMonth NullableTime no
invoiceDate NullableTime no
invoiceDueDate NullableTime no
invoiceID string no
offerID string no
organizationID string no
paymentID string no
paymentSentDate NullableTime no
paymentStatus string no
payoutStatus string no
productID string no
programName string no
purchaseRecordID string no
resellerCity string no
resellerCompany string no
resellerCountry string no
resellerEmail string no
resellerID string no
resellerState string no
revenueUsd number no
termEndDate string no
termStartDate string no
transactionDate NullableTime no

GcpChargeUsage fields:

FieldTypeRequiredDescription
abandoned number no
accountID string no
buyerID string no
charges number no
currency string no
dueVendor number no
entitlementID string no
googleEntity string no
insightAccountID string no
offerID string no
ordinal integer no
organizationID string no
paymentSchedule string no
paymentType string no
prepayCredits number no
productID string no
refundBalanceDeductedThisMonth number no
refundBalanceOutstanding number no
refundReason string no
released number no
reportDate string no
resource string no
sku string no
trialUse number no
unit string no
usage number no
usedBy string no
withheld number no

NullableTime fields:

FieldTypeRequiredDescription
Time string no
Valid boolean no Valid is true if Time is not NULL.

401 — Missing or invalid access token, or the caller lacks the revenue read permission

Content-Type: application/json

404 — No record with this ID exists for the organization and partner

Content-Type: application/json

500 — Failed to query the record

Content-Type: application/json


View as Markdown · Interactive API reference

Spotted something wrong or out of date on this page? Tell us and we'll correct it.