Skip to content
  • Auto
  • Light
  • Dark
Talk to an expert

Preview Events

Preview events
v1.customers.preview_events(CustomerPreviewEventsParams**kwargs) -> dataInvoiceCustomerPreviewEventsResponse
post/v1/customers/{customer_id}/previewEvents

Preview how a set of events will affect a customer's invoice. Generates a draft invoice for a customer using their current contract configuration and the provided events. This is useful for testing how new events will affect the customer's invoice before they are actually processed.

Parameters
customer_idstr
formatuuid
eventsiterable
event_typestrcustomer_idstrpropertiesDict[str, object]timestampstrtransaction_idstrIterable[Event]
Hide ParametersShow Parameters
event_typestr
minLength1
customer_idstr
optional

This has no effect for preview events, but may be set for consistency with Event objects. They will be processed even if they do not match the customer's ID or ingest aliases.

minLength1
propertiesDict[str, object]
optional
Dict[str, object]
timestampstr
optional

RFC 3339 formatted. If not provided, the current time will be used.

transaction_idstr
optional

This has no effect for preview events, but may be set for consistency with Event objects. Duplicate transaction_ids are NOT filtered out, even within the same request.

minLength1
maxLength128
modeliteral
optional
Literal["replace", "merge"]

If set to "replace", the preview will be generated as if those were the only events for the specified customer. If set to "merge", the events will be merged with any existing events for the specified customer. Defaults to "replace".

Hide ParametersShow Parameters
"replace"
"merge"
skip_zero_qty_line_itemsbool
optional

If set, all zero quantity line items will be filtered out of the response.

Returns
CustomerPreviewEventsResponseclass
Hide ParametersShow Parameters
dataidstrcredit_typeCreditTypeDatacustomer_idstrline_itemsliststatusstrtotalfloattypestramendment_idstrbillable_statusliteralcontract_custom_fieldsDict[str, str]contract_idstrcorrection_recordCorrectionRecordcreated_atdatetimecustom_fieldsDict[str, object]customer_custom_fieldsDict[str, str]end_timestampdatetimeexternal_invoiceExternalInvoiceinvoice_adjustmentslistissued_atdatetimenet_payment_terms_daysfloatnetsuite_sales_order_idstrplan_custom_fieldsDict[str, str]plan_idstrplan_namestrreseller_royaltyResellerRoyaltysalesforce_opportunity_idstrstart_timestampdatetimesubtotalfloatInvoice
from metronome import Metronome

client = Metronome(
    bearer_token="My Bearer Token",
)
response = client.v1.customers.preview_events(
    customer_id="d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc",
    events=[{
        "event_type": "heartbeat",
        "timestamp": "2021-01-01T00:00:00Z",
        "properties": {
            "cpu_hours": 100,
            "memory_gb_hours": 200,
        },
    }],
)
print(response.data)
200 Example
{
  "data": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "credit_type": {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "name": "name"
    },
    "customer_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "line_items": [
      {
        "credit_type": {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "name": "name"
        },
        "name": "name",
        "total": 0,
        "applied_commit_or_credit": {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "type": "PREPAID"
        },
        "commit_custom_fields": {
          "foo": "string"
        },
        "commit_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "commit_netsuite_item_id": "commit_netsuite_item_id",
        "commit_netsuite_sales_order_id": "commit_netsuite_sales_order_id",
        "commit_segment_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "commit_type": "commit_type",
        "custom_fields": {
          "foo": "string"
        },
        "discount_custom_fields": {
          "foo": "string"
        },
        "discount_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "ending_before": "2019-12-27T18:11:19.117Z",
        "group_key": "group_key",
        "group_value": "group_value",
        "is_prorated": true,
        "list_price": {
          "rate_type": "FLAT",
          "credit_type": {
            "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "name": "name"
          },
          "custom_rate": {
            "foo": "bar"
          },
          "is_prorated": true,
          "price": 0,
          "pricing_group_values": {
            "foo": "string"
          },
          "quantity": 0,
          "tiers": [
            {
              "price": 0,
              "size": 0
            }
          ],
          "use_list_prices": true
        },
        "metadata": "metadata",
        "netsuite_invoice_billing_end": "2019-12-27T18:11:19.117Z",
        "netsuite_invoice_billing_start": "2019-12-27T18:11:19.117Z",
        "netsuite_item_id": "netsuite_item_id",
        "postpaid_commit": {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        },
        "presentation_group_values": {
          "foo": "string"
        },
        "pricing_group_values": {
          "foo": "string"
        },
        "product_custom_fields": {
          "foo": "string"
        },
        "product_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "product_tags": [
          "string"
        ],
        "product_type": "product_type",
        "professional_service_custom_fields": {
          "foo": "string"
        },
        "professional_service_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "quantity": 0,
        "reseller_type": "AWS",
        "scheduled_charge_custom_fields": {
          "foo": "string"
        },
        "scheduled_charge_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "starting_at": "2019-12-27T18:11:19.117Z",
        "sub_line_items": [
          {
            "custom_fields": {
              "foo": "string"
            },
            "name": "name",
            "quantity": 0,
            "subtotal": 0,
            "charge_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "credit_grant_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "end_date": "2019-12-27T18:11:19.117Z",
            "price": 0,
            "start_date": "2019-12-27T18:11:19.117Z",
            "tier_period": {
              "starting_at": "2019-12-27T18:11:19.117Z",
              "ending_before": "2019-12-27T18:11:19.117Z"
            },
            "tiers": [
              {
                "price": 0,
                "quantity": 0,
                "starting_at": 0,
                "subtotal": 0
              }
            ]
          }
        ],
        "subscription_custom_fields": {
          "foo": "string"
        },
        "tier": {
          "level": 0,
          "starting_at": "starting_at",
          "size": "size"
        },
        "unit_price": 0
      }
    ],
    "status": "DRAFT, VOID, or FINALIZED",
    "total": 0,
    "type": "PLAN_ARREARS, SCHEDULED, USAGE, CORRECTION, CREDIT_PURCHASE, or SEAT_PURCHASE",
    "amendment_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "billable_status": "billable",
    "contract_custom_fields": {
      "foo": "string"
    },
    "contract_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "correction_record": {
      "corrected_invoice_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "memo": "memo",
      "reason": "reason",
      "corrected_external_invoice": {
        "billing_provider_type": "aws_marketplace",
        "external_status": "DRAFT",
        "invoice_id": "invoice_id",
        "issued_at_timestamp": "2019-12-27T18:11:19.117Z"
      }
    },
    "created_at": "2019-12-27T18:11:19.117Z",
    "custom_fields": {
      "foo": "bar"
    },
    "customer_custom_fields": {
      "foo": "string"
    },
    "end_timestamp": "2019-12-27T18:11:19.117Z",
    "external_invoice": {
      "billing_provider_type": "aws_marketplace",
      "external_status": "DRAFT",
      "invoice_id": "invoice_id",
      "issued_at_timestamp": "2019-12-27T18:11:19.117Z"
    },
    "invoice_adjustments": [
      {
        "credit_type": {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "name": "name"
        },
        "name": "Monthly minimum ($1,000)",
        "total": 0,
        "credit_grant_custom_fields": {
          "foo": "string"
        },
        "credit_grant_id": "credit_grant_id"
      }
    ],
    "issued_at": "2019-12-27T18:11:19.117Z",
    "net_payment_terms_days": 0,
    "netsuite_sales_order_id": "netsuite_sales_order_id",
    "plan_custom_fields": {
      "foo": "string"
    },
    "plan_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "plan_name": "plan_name",
    "reseller_royalty": {
      "fraction": "fraction",
      "netsuite_reseller_id": "netsuite_reseller_id",
      "reseller_type": "AWS",
      "aws_options": {
        "aws_account_number": "aws_account_number",
        "aws_offer_id": "aws_offer_id",
        "aws_payer_reference_id": "aws_payer_reference_id"
      },
      "gcp_options": {
        "gcp_account_id": "gcp_account_id",
        "gcp_offer_id": "gcp_offer_id"
      }
    },
    "salesforce_opportunity_id": "salesforce_opportunity_id",
    "start_timestamp": "2019-12-27T18:11:19.117Z",
    "subtotal": 0
  }
}