{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/moesif/main/json-schema/moesif-billing-report-schema.json", "title": "BillingReport", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/moesif-billing-reports-api-openapi.yml#/components/schemas/BillingReport", "properties": { "ending_balance": { "$ref": "#/$defs/CreditBalance" }, "company_id": { "type": "string" }, "success": { "type": "boolean" }, "provider": { "type": "string" }, "report_version": { "type": "integer", "format": "int32" }, "usage_end_time": { "type": "string", "format": "date-time" }, "usage": { "$ref": "#/$defs/BillingReportUsage" }, "_id": { "type": "string" }, "meter_usage": { "type": "integer", "format": "int64" }, "last_success_time": { "type": "string", "format": "date-time" }, "beginning_balance": { "$ref": "#/$defs/CreditBalance" }, "billing_meter_id": { "type": "string" }, "amount": { "type": "number", "format": "double" }, "usage_start_time": { "type": "string", "format": "date-time" }, "status": { "type": "string" }, "provider_requests": { "type": "array", "items": { "$ref": "#/$defs/ProviderRequest" } }, "currency": { "type": "string" }, "report_total_usage": { "type": "integer", "format": "int64" }, "channel_requests": { "type": "array", "items": { "$ref": "#/$defs/ChannelRequest" } }, "created_at": { "type": "string", "format": "date-time" }, "app_id": { "type": "string" }, "subscription_id": { "type": "string" }, "subscription_period_start": { "type": "string", "format": "date-time" }, "balance_changes": { "type": "array", "items": { "$ref": "#/$defs/BalanceChange" } }, "type": { "type": "string" }, "updated_at": { "type": "string", "format": "date-time" }, "org_id": { "type": "string" }, "subscription_period_end": { "type": "string", "format": "date-time" }, "meter_metric": { "type": "integer", "format": "int64" } }, "required": [ "org_id", "app_id", "usage_start_time", "usage_end_time", "subscription_id", "billing_meter_id", "provider", "company_id", "meter_metric", "meter_usage", "report_total_usage", "success", "provider_requests" ], "$defs": { "BalanceChange": { "properties": { "amount": { "type": "number", "format": "double" } }, "required": [ "amount" ] }, "BillingReportUsage": { "properties": { "invoice": { "$ref": "#/$defs/BillingReportUsageInvoice" }, "aggregator": { "type": "string" } } }, "BillingReportUsageInvoice": { "properties": { "period_start": { "type": "string", "format": "date-time" }, "period_end": { "type": "string", "format": "date-time" }, "id": { "type": "string" } }, "required": [ "id" ] }, "ChannelRequest": { "properties": { "channel_id": { "type": "string" }, "channel_name": { "type": "string" }, "provider_requests": { "type": "array", "items": { "$ref": "#/$defs/ProviderRequest" } } }, "required": [ "channel_id", "channel_name", "provider_requests" ] }, "CreditBalance": { "properties": { "sequence_id": { "type": "integer", "format": "int32" }, "current_balance": { "type": "number", "format": "double" }, "pending_activity": { "type": "number", "format": "double" }, "available_balance": { "type": "number", "format": "double" } }, "required": [ "sequence_id", "current_balance", "pending_activity", "available_balance" ] }, "ProviderRequest": { "properties": { "success": { "type": "boolean" }, "status_code": { "type": "integer", "format": "int32" }, "job_id": { "type": "string" }, "error_message": { "type": "string" }, "error_code": { "type": "string" }, "request_time": { "type": "string", "format": "date-time" } }, "required": [ "job_id", "request_time", "success", "status_code", "error_code", "error_message" ] } } }