---
title: "Get notification event"
method: GET
path: "/api/v1/notification/events/{eventId}"
tags: ["Notifications"]
---

# Get notification event

`GET /api/v1/notification/events/{eventId}`

Get a notification event by id.

## Path parameters

- `eventId` string, required

## Response `200`

The request has succeeded.

- NotificationEvent — Type of the notification event.
  - `annotations` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.
  - `createdAt` string, date-time, required — Timestamp when the notification event was created in RFC 3339 format.
  - `deliveryStatus` NotificationEventDeliveryStatus[], required — The delivery status of the notification event.
    - `annotations` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.
    - `attempts` NotificationEventDeliveryAttempt[], required — List of delivery attempts.
      - `response` EventDeliveryAttemptResponse, required — The response of the event delivery attempt.
        - `body` string, required — The body of the response.
        - `durationMs` integer, required — The duration of the response in milliseconds.
        - `statusCode` integer — Status code of the response if available.
        - `url` string — URL where the event was sent in case of notification channel with webhook type.
      - `state` 'SUCCESS' | 'FAILED' | 'SENDING' | 'PENDING' | 'RESENDING', required — The delivery state of the notification event to the channel.
      - `timestamp` string, date-time, required — Timestamp of the delivery attempt.
    - `channel` NotificationChannelMeta, required — Metadata only fields of a notification channel.
      - `id` string, required — Identifies the notification channel.
      - `type` 'WEBHOOK', required — Type of the notification channel.
    - `nextAttempt` string, date-time — Timestamp of the next delivery attempt. If null it means there will be no more delivery attempts.
    - `reason` string, required — The reason of the last deliverry state update.
    - `state` 'SUCCESS' | 'FAILED' | 'SENDING' | 'PENDING' | 'RESENDING', required — The delivery state of the notification event to the channel.
    - `updatedAt` string, date-time, required — Timestamp of when the status was last updated in RFC 3339 format.
  - `id` string, required — A unique identifier of the notification event.
  - `payload` union, required — The delivery status of the notification event.
    - object — Payload for notification event with `entitlements.reset` type.
      - `data` NotificationEventEntitlementValuePayloadBase, required — Base data for any payload with entitlement entitlement value.
        - `customer` Customer — A customer object.
          - `annotations` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.
          - `billingAddress` Address — Address
            - `city` string — City.
            - `country` string — [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 country code. Custom two-letter country codes are also supported for convenience.
            - `line1` string — First line of the address.
            - `line2` string — Second line of the address.
            - `phoneNumber` string — Phone number.
            - `postalCode` string — Postal code.
            - `state` string — State or province.
          - `createdAt` string, date-time, required — Timestamp of when the resource was created.
          - `currency` string — Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.
          - `currentSubscriptionId` string — The ID of the Subscription if the customer has one.
          - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
          - `description` string — Optional description of the resource. Maximum 1024 characters.
          - `id` string, required — A unique identifier for the resource.
          - `key` string — An optional unique key of the customer. Either key or usageAttribution.subjectKeys must be provided. Useful to reference the customer in external systems. For example, your database ID.
          - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
          - `name` string, required — Human-readable name for the resource. Between 1 and 256 characters.
          - `primaryEmail` string — The primary email address of the customer.
          - `subscriptions` Subscription[] — The subscriptions of the customer. Only with the `subscriptions` expand option.
            - `activeFrom` string, date-time, required — The cadence start of the resource.
            - `activeTo` string, date-time — The cadence end of the resource.
            - `alignment` Alignment — Alignment configuration for a plan or subscription.
              - …
            - `annotations` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.
            - `billingAnchor` string, date-time, required — The normalizedbilling anchor of the subscription.
            - `billingCadence` string, duration, required — The billing cadence for the subscriptions. Defines how often customers are billed using ISO8601 duration format. Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually).
            - `costBasisMode` 'dynamic' | 'pinned', required — Controls how custom-currency cost bases are selected for the subscription.
            - `costBasisPins` SubscriptionCostBasisPin[], required — Cost bases pinned to custom-currency pairs for this subscription.
              - …
            - `createdAt` string, date-time, required — Timestamp of when the resource was created.
            - `currency` string, required — Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.
            - `customerId` string, required — The customer ID of the subscription.
            - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
            - `description` string — Optional description of the resource. Maximum 1024 characters.
            - `id` string, required — A unique identifier for the resource.
            - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
            - `name` string, required — Human-readable name for the resource. Between 1 and 256 characters.
            - `plan` PlanReference — References an exact plan.
              - …
            - `proRatingConfig` ProRatingConfig — Configuration for pro-rating behavior.
              - …
            - `settlementMode` 'credit_then_invoice' | 'credit_only', required — The settlement mode of a plan. It determines how the billing system generates invoices and credits for the subscriptions using this plan. - credit_then_invoice: credits from the previous billing period are applied first, then the remaining balance is invoiced. This is the default and most common settlement mode. - credit_only: only credits from the previous billing period are generated and applied. No invoices are generated for the subscription.
            - `status` 'active' | 'inactive' | 'canceled' | 'scheduled', required — Subscription status.
            - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
          - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
          - `usageAttribution` CustomerUsageAttribution — Mapping to attribute metered usage to the customer. One customer can have zero or more subjects, but one subject can only belong to one customer.
            - `subjectKeys` string[], required — The subjects that are attributed to the customer. Can be empty when no subjects are associated with the customer.
        - `entitlement` EntitlementMetered, required — Metered entitlements are useful for many different use cases, from setting up usage based access to implementing complex credit systems. Access is determined based on feature usage using a balance calculation (the "usage allowance" provided by the issued grants is "burnt down" by the usage).
          - `activeFrom` string, date-time, required — The cadence start of the resource.
          - `activeTo` string, date-time — The cadence end of the resource.
          - `annotations` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.
          - `createdAt` string, date-time, required — Timestamp of when the resource was created.
          - `currentUsagePeriod` Period, required — A period with a start and end time.
            - `from` string, date-time, required — Period start time.
            - `to` string, date-time, required — Period end time.
          - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
          - `featureId` string, required — The feature the subject is entitled to use.
          - `featureKey` string, required — The feature the subject is entitled to use.
          - `id` string, required — Readonly unique ULID identifier.
          - `isSoftLimit` boolean — If softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true.
          - `isUnlimited` boolean — Deprecated, ignored by the backend. Please use isSoftLimit instead; this field will be removed in the future.
          - `issueAfterReset` number, double — You can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same.
          - `issueAfterResetPriority` integer — Defines the grant priority for the default grant.
          - `lastReset` string, date-time, required — The time the last reset happened.
          - `measureUsageFrom` string, date-time, required — The time from which usage is measured. If not specified on creation, defaults to entitlement creation time.
          - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
          - `preserveOverageAtReset` boolean — If true, the overage is preserved at reset. If false, the usage is reset to 0.
          - `subjectKey` string, required — The identifier key unique to the subject. NOTE: Subjects are being deprecated, please use the new customer APIs.
          - `type` 'metered', required
          - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
          - `usagePeriod` RecurringPeriod, required — Recurring period with an interval and an anchor.
            - `anchor` string, date-time, required — A date-time anchor to base the recurring period on.
            - `interval` union, required — Period duration for the recurrence
              - …
            - `intervalISO` string, duration, required — The unit of time for the interval in ISO8601 format.
        - `feature` Feature, required — Represents a feature that can be enabled or disabled for a plan. Used both for product catalog and entitlements.
          - `advancedMeterGroupByFilters` object — Optional advanced meter group by filters. You can use this to filter for values of the meter groupBy fields.
          - `archivedAt` string, date-time — Timestamp of when the resource was archived.
          - `createdAt` string, date-time, required — Timestamp of when the resource was created.
          - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
          - `id` string, required — Readonly unique ULID identifier.
          - `key` string, required — A key is a unique string that is used to identify a resource.
          - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
          - `meterGroupByFilters` object — Optional meter group by filters. Useful if the meter scope is broader than what feature tracks. Example scenario would be a meter tracking all token use with groupBy fields for the model, then the feature could filter for model=gpt-4. ⚠️ __Deprecated__: Use advancedMeterGroupByFilters instead
          - `meterSlug` string — A key is a unique string that is used to identify a resource.
          - `name` string, required
          - `unitCost` union — Per-unit cost configuration for a feature. Either a fixed manual amount or a dynamic LLM cost lookup.
            - object — A fixed per-unit cost amount.
              - …
            - object — LLM cost lookup configuration. Maps meter group-by dimensions to LLM cost database fields.
              - …
          - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
        - `subject` Subject, required — A subject is a unique identifier for a usage attribution by its key. Subjects only exist in the concept of metering. Subjects are optional to create and work as an enrichment for the subject key like displayName, metadata, etc. Subjects are useful when you are reporting usage events with your own database ID but want to enrich the subject with a human-readable name or metadata. For most use cases, a subject is equivalent to a customer. ⚠️ __Deprecated__: Subjects as managable entities are being depracated, use customers with subject key usage attribution instead.
          - `createdAt` string, date-time, required — Timestamp of when the resource was created.
          - `currentPeriodEnd` string, date-time — The end of the current period for the subject.
          - `currentPeriodStart` string, date-time — The start of the current period for the subject.
          - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
          - `displayName` string, nullable — A human-readable display name for the subject.
          - `id` string, required — A unique identifier for the subject.
          - `key` string, required — A unique, human-readable identifier for the subject. This is typically a database ID or a customer key.
          - `metadata` object, nullable — Metadata for the subject.
          - `stripeCustomerId` string, nullable — The Stripe customer ID for the subject.
          - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
        - `value` EntitlementValue, required — Entitlements are the core of OpenMeter access management. They define access to features for subjects. Entitlements can be metered, boolean, or static.
          - `balance` number, double — Only available for metered entitlements. Metered entitlements are built around a balance calculation where feature usage is deducted from the issued grants. Balance represents the remaining balance of the entitlement, it's value never turns negative.
          - `config` string — Only available for static entitlements. The JSON parsable config of the entitlement.
          - `hasAccess` boolean, required — Whether the subject has access to the feature. Shared accross all entitlement types.
          - `overage` number, double — Only available for metered entitlements. Overage represents the usage that wasn't covered by grants, e.g. if the subject had a total feature usage of 100 in the period but they were only granted 80, there would be 20 overage.
          - `totalAvailableGrantAmount` number, double — Only available for metered entitlements. The summed amount of all grant active at query time PLUS the used amount of since inactive grants.
          - `usage` number, double — Only available for metered entitlements. Returns the total feature usage in the current period.
      - `id` string, required — A unique identifier for the notification event the payload belongs to.
      - `timestamp` string, date-time, required — Timestamp when the notification event was created in RFC 3339 format.
      - `type` 'entitlements.reset', required — Type of the notification event.
    - object — Payload for notification event with `entitlements.balance.threshold` type.
      - `data` NotificationEventBalanceThresholdPayloadData, required — Data of the payload for notification event with `entitlements.balance.threshold` type.
        - `customer` Customer — A customer object.
          - `annotations` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.
          - `billingAddress` Address — Address
            - `city` string — City.
            - `country` string — [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 country code. Custom two-letter country codes are also supported for convenience.
            - `line1` string — First line of the address.
            - `line2` string — Second line of the address.
            - `phoneNumber` string — Phone number.
            - `postalCode` string — Postal code.
            - `state` string — State or province.
          - `createdAt` string, date-time, required — Timestamp of when the resource was created.
          - `currency` string — Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.
          - `currentSubscriptionId` string — The ID of the Subscription if the customer has one.
          - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
          - `description` string — Optional description of the resource. Maximum 1024 characters.
          - `id` string, required — A unique identifier for the resource.
          - `key` string — An optional unique key of the customer. Either key or usageAttribution.subjectKeys must be provided. Useful to reference the customer in external systems. For example, your database ID.
          - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
          - `name` string, required — Human-readable name for the resource. Between 1 and 256 characters.
          - `primaryEmail` string — The primary email address of the customer.
          - `subscriptions` Subscription[] — The subscriptions of the customer. Only with the `subscriptions` expand option.
            - `activeFrom` string, date-time, required — The cadence start of the resource.
            - `activeTo` string, date-time — The cadence end of the resource.
            - `alignment` Alignment — Alignment configuration for a plan or subscription.
              - …
            - `annotations` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.
            - `billingAnchor` string, date-time, required — The normalizedbilling anchor of the subscription.
            - `billingCadence` string, duration, required — The billing cadence for the subscriptions. Defines how often customers are billed using ISO8601 duration format. Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually).
            - `costBasisMode` 'dynamic' | 'pinned', required — Controls how custom-currency cost bases are selected for the subscription.
            - `costBasisPins` SubscriptionCostBasisPin[], required — Cost bases pinned to custom-currency pairs for this subscription.
              - …
            - `createdAt` string, date-time, required — Timestamp of when the resource was created.
            - `currency` string, required — Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.
            - `customerId` string, required — The customer ID of the subscription.
            - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
            - `description` string — Optional description of the resource. Maximum 1024 characters.
            - `id` string, required — A unique identifier for the resource.
            - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
            - `name` string, required — Human-readable name for the resource. Between 1 and 256 characters.
            - `plan` PlanReference — References an exact plan.
              - …
            - `proRatingConfig` ProRatingConfig — Configuration for pro-rating behavior.
              - …
            - `settlementMode` 'credit_then_invoice' | 'credit_only', required — The settlement mode of a plan. It determines how the billing system generates invoices and credits for the subscriptions using this plan. - credit_then_invoice: credits from the previous billing period are applied first, then the remaining balance is invoiced. This is the default and most common settlement mode. - credit_only: only credits from the previous billing period are generated and applied. No invoices are generated for the subscription.
            - `status` 'active' | 'inactive' | 'canceled' | 'scheduled', required — Subscription status.
            - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
          - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
          - `usageAttribution` CustomerUsageAttribution — Mapping to attribute metered usage to the customer. One customer can have zero or more subjects, but one subject can only belong to one customer.
            - `subjectKeys` string[], required — The subjects that are attributed to the customer. Can be empty when no subjects are associated with the customer.
        - `entitlement` EntitlementMetered, required — Metered entitlements are useful for many different use cases, from setting up usage based access to implementing complex credit systems. Access is determined based on feature usage using a balance calculation (the "usage allowance" provided by the issued grants is "burnt down" by the usage).
          - `activeFrom` string, date-time, required — The cadence start of the resource.
          - `activeTo` string, date-time — The cadence end of the resource.
          - `annotations` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.
          - `createdAt` string, date-time, required — Timestamp of when the resource was created.
          - `currentUsagePeriod` Period, required — A period with a start and end time.
            - `from` string, date-time, required — Period start time.
            - `to` string, date-time, required — Period end time.
          - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
          - `featureId` string, required — The feature the subject is entitled to use.
          - `featureKey` string, required — The feature the subject is entitled to use.
          - `id` string, required — Readonly unique ULID identifier.
          - `isSoftLimit` boolean — If softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true.
          - `isUnlimited` boolean — Deprecated, ignored by the backend. Please use isSoftLimit instead; this field will be removed in the future.
          - `issueAfterReset` number, double — You can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same.
          - `issueAfterResetPriority` integer — Defines the grant priority for the default grant.
          - `lastReset` string, date-time, required — The time the last reset happened.
          - `measureUsageFrom` string, date-time, required — The time from which usage is measured. If not specified on creation, defaults to entitlement creation time.
          - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
          - `preserveOverageAtReset` boolean — If true, the overage is preserved at reset. If false, the usage is reset to 0.
          - `subjectKey` string, required — The identifier key unique to the subject. NOTE: Subjects are being deprecated, please use the new customer APIs.
          - `type` 'metered', required
          - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
          - `usagePeriod` RecurringPeriod, required — Recurring period with an interval and an anchor.
            - `anchor` string, date-time, required — A date-time anchor to base the recurring period on.
            - `interval` union, required — Period duration for the recurrence
              - …
            - `intervalISO` string, duration, required — The unit of time for the interval in ISO8601 format.
        - `feature` Feature, required — Represents a feature that can be enabled or disabled for a plan. Used both for product catalog and entitlements.
          - `advancedMeterGroupByFilters` object — Optional advanced meter group by filters. You can use this to filter for values of the meter groupBy fields.
          - `archivedAt` string, date-time — Timestamp of when the resource was archived.
          - `createdAt` string, date-time, required — Timestamp of when the resource was created.
          - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
          - `id` string, required — Readonly unique ULID identifier.
          - `key` string, required — A key is a unique string that is used to identify a resource.
          - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
          - `meterGroupByFilters` object — Optional meter group by filters. Useful if the meter scope is broader than what feature tracks. Example scenario would be a meter tracking all token use with groupBy fields for the model, then the feature could filter for model=gpt-4. ⚠️ __Deprecated__: Use advancedMeterGroupByFilters instead
          - `meterSlug` string — A key is a unique string that is used to identify a resource.
          - `name` string, required
          - `unitCost` union — Per-unit cost configuration for a feature. Either a fixed manual amount or a dynamic LLM cost lookup.
            - object — A fixed per-unit cost amount.
              - …
            - object — LLM cost lookup configuration. Maps meter group-by dimensions to LLM cost database fields.
              - …
          - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
        - `subject` Subject, required — A subject is a unique identifier for a usage attribution by its key. Subjects only exist in the concept of metering. Subjects are optional to create and work as an enrichment for the subject key like displayName, metadata, etc. Subjects are useful when you are reporting usage events with your own database ID but want to enrich the subject with a human-readable name or metadata. For most use cases, a subject is equivalent to a customer. ⚠️ __Deprecated__: Subjects as managable entities are being depracated, use customers with subject key usage attribution instead.
          - `createdAt` string, date-time, required — Timestamp of when the resource was created.
          - `currentPeriodEnd` string, date-time — The end of the current period for the subject.
          - `currentPeriodStart` string, date-time — The start of the current period for the subject.
          - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
          - `displayName` string, nullable — A human-readable display name for the subject.
          - `id` string, required — A unique identifier for the subject.
          - `key` string, required — A unique, human-readable identifier for the subject. This is typically a database ID or a customer key.
          - `metadata` object, nullable — Metadata for the subject.
          - `stripeCustomerId` string, nullable — The Stripe customer ID for the subject.
          - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
        - `threshold` NotificationRuleBalanceThresholdValue, required — Threshold value with multiple supported types.
          - `type` 'PERCENT' | 'NUMBER' | 'balance_value' | 'usage_percentage' | 'usage_value', required — Type of the rule in the balance threshold specification: * `balance_value`: threshold defined by the remaining balance value based on usage and the total of grants in the current usage period * `usage_percentage`: threshold defined by the usage percentage compared to the total of grants in the current usage period * `usage_value`: threshold defined by the usage value in the current usage period * `NUMBER` (**deprecated**): see `usage_value` * `PERCENT` (**deprecated**): see `usage_percentage`
          - `value` number, double, required — Value of the threshold.
        - `value` EntitlementValue, required — Entitlements are the core of OpenMeter access management. They define access to features for subjects. Entitlements can be metered, boolean, or static.
          - `balance` number, double — Only available for metered entitlements. Metered entitlements are built around a balance calculation where feature usage is deducted from the issued grants. Balance represents the remaining balance of the entitlement, it's value never turns negative.
          - `config` string — Only available for static entitlements. The JSON parsable config of the entitlement.
          - `hasAccess` boolean, required — Whether the subject has access to the feature. Shared accross all entitlement types.
          - `overage` number, double — Only available for metered entitlements. Overage represents the usage that wasn't covered by grants, e.g. if the subject had a total feature usage of 100 in the period but they were only granted 80, there would be 20 overage.
          - `totalAvailableGrantAmount` number, double — Only available for metered entitlements. The summed amount of all grant active at query time PLUS the used amount of since inactive grants.
          - `usage` number, double — Only available for metered entitlements. Returns the total feature usage in the current period.
      - `id` string, required — A unique identifier for the notification event the payload belongs to.
      - `timestamp` string, date-time, required — Timestamp when the notification event was created in RFC 3339 format.
      - `type` 'entitlements.balance.threshold', required — Type of the notification event.
    - object — Payload for notification event with `invoice.created` type.
      - `data` Invoice, required — Invoice represents an invoice in the system.
        - `collectionAt` string, date-time — The time when the invoice will be/has been collected.
        - `createdAt` string, date-time, required — Timestamp of when the resource was created.
        - `currency` string, required — Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.
        - `customer` BillingInvoiceCustomerExtendedDetails, required — BillingInvoiceCustomerExtendedDetails is a collection of fields that are used to extend the billing party details for invoices. These fields contain the OpenMeter specific details for the customer, that are not strictly required for the invoice itself.
          - `addresses` Address[] — Regular post addresses for where information should be sent if needed.
            - `city` string — City.
            - `country` string — [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 country code. Custom two-letter country codes are also supported for convenience.
            - `line1` string — First line of the address.
            - `line2` string — Second line of the address.
            - `phoneNumber` string — Phone number.
            - `postalCode` string — Postal code.
            - `state` string — State or province.
          - `id` string — Unique identifier for the party (if available)
          - `key` string — An optional unique key of the party (if available)
          - `name` string — Legal name or representation of the organization.
          - `taxId` BillingPartyTaxIdentity — Identity stores the details required to identify an entity for tax purposes in a specific country.
            - `code` string — TaxIdentificationCode is a normalized tax code shown on the original identity document.
          - `usageAttribution` CustomerUsageAttribution, required — Mapping to attribute metered usage to the customer. One customer can have zero or more subjects, but one subject can only belong to one customer.
            - `subjectKeys` string[], required — The subjects that are attributed to the customer. Can be empty when no subjects are associated with the customer.
        - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
        - `description` string — Optional description of the resource. Maximum 1024 characters.
        - `draftUntil` string, date-time — The time until the invoice is in draft status. On draft invoice creation it is calculated from the workflow settings. If manual approval is required, the draftUntil time is set.
        - `dueAt` string, date-time — Due time of the fulfillment of the invoice (if available).
        - `externalIds` InvoiceAppExternalIds — InvoiceAppExternalIds contains the external IDs of the invoice in other apps such as Stripe.
          - `invoicing` string — The external ID of the invoice in the invoicing app if available.
          - `payment` string — The external ID of the invoice in the payment app if available.
          - `tax` string — The external ID of the invoice in the tax app if available.
        - `id` string, required — A unique identifier for the resource.
        - `issuedAt` string, date-time — The time the invoice was issued. Depending on the status of the invoice this can mean multiple things: - draft, gathering: The time the invoice will be issued based on the workflow settings. - issued: The time the invoice was issued.
        - `lines` InvoiceLine[] — List of invoice lines representing each of the items sold to the customer.
          - `children` InvoiceDetailedLine[] — The lines detailing the item or service sold.
            - `category` 'regular' | 'commitment' — InvoiceDetailedLineCostCategory determines if the flat fee is a regular fee due to use due to a commitment.
            - `createdAt` string, date-time, required — Timestamp of when the resource was created.
            - `creditAllocations` InvoiceLineCreditAllocation[] — Credit allocations applied to this line. Credits are deducted from the line total before taxes are applied.
              - …
            - `currency` string, required — Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.
            - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
            - `description` string — Optional description of the resource. Maximum 1024 characters.
            - `discounts` InvoiceLineDiscounts — InvoiceLineDiscounts represents the discounts applied to the invoice line by type.
              - …
            - `externalIds` InvoiceLineAppExternalIds — InvoiceLineAppExternalIds contains the external IDs of the invoice in other apps such as Stripe.
              - …
            - `id` string, required — ID of the line.
            - `invoice` InvoiceReference — Reference to an invoice.
              - …
            - `invoiceAt` string, date-time, required — The time this line item should be invoiced.
            - `managedBy` 'subscription' | 'system' | 'manual', required — InvoiceLineManagedBy specifies who manages the line.
            - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
            - `name` string, required — Human-readable name for the resource. Between 1 and 256 characters.
            - `paymentTerm` 'in_advance' | 'in_arrears' — The payment term of a flat price. One of: in_advance or in_arrears.
            - `perUnitAmount` string — Numeric represents an arbitrary precision number.
            - `period` Period, required — A period with a start and end time.
              - …
            - `quantity` string — Numeric represents an arbitrary precision number.
            - `rateCard` InvoiceDetailedLineRateCard — InvoiceDetailedLineRateCard represents the rate card (intent) for a flat fee line.
              - …
            - `status` 'valid' | 'detailed' | 'split', required — Line status specifies the status of the line.
            - `subscription` InvoiceLineSubscriptionReference — InvoiceLineSubscriptionReference contains the references to the subscription that this line is related to.
              - …
            - `taxConfig` TaxConfig — Set of provider specific tax configs.
              - …
            - `taxes` InvoiceLineTaxItem[] — Taxes applied to the invoice totals.
              - …
            - `totals` InvoiceTotals, required — Totals contains the summaries of all calculations for the invoice.
              - …
            - `type` 'flat_fee', required — Type of the line.
            - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
          - `createdAt` string, date-time, required — Timestamp of when the resource was created.
          - `creditAllocations` InvoiceLineCreditAllocation[] — Credit allocations applied to this line. Credits are deducted from the line total before taxes are applied.
            - `amount` string, required — Numeric represents an arbitrary precision number.
            - `description` string — Text description as to why the credit was allocated.
          - `currency` string, required — Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.
          - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
          - `description` string — Optional description of the resource. Maximum 1024 characters.
          - `discounts` InvoiceLineDiscounts — InvoiceLineDiscounts represents the discounts applied to the invoice line by type.
            - `amount` InvoiceLineAmountDiscount[] — Amount based discounts applied to the line. Amount based discounts are deduced from the total price of the line.
              - …
            - `usage` InvoiceLineUsageDiscount[] — Usage based discounts applied to the line. Usage based discounts are deduced from the usage of the line before price calculations are applied.
              - …
          - `externalIds` InvoiceLineAppExternalIds — InvoiceLineAppExternalIds contains the external IDs of the invoice in other apps such as Stripe.
            - `invoicing` string — The external ID of the invoice in the invoicing app if available.
            - `tax` string — The external ID of the invoice in the tax app if available.
          - `featureKey` string — The feature that the usage is based on.
          - `id` string, required — ID of the line.
          - `invoice` InvoiceReference — Reference to an invoice.
            - `id` string, required — The ID of the invoice.
            - `number` string — InvoiceNumber is a unique identifier for the invoice, generated by the invoicing app. The uniqueness depends on a lot of factors: - app setting (unique per app or unique per customer) - multiple app scenarios (multiple apps generating invoices with the same prefix)
          - `invoiceAt` string, date-time, required — The time this line item should be invoiced.
          - `managedBy` 'subscription' | 'system' | 'manual', required — InvoiceLineManagedBy specifies who manages the line.
          - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
          - `meteredPreLinePeriodQuantity` string — Numeric represents an arbitrary precision number.
          - `meteredQuantity` string — Numeric represents an arbitrary precision number.
          - `name` string, required — Human-readable name for the resource. Between 1 and 256 characters.
          - `period` Period, required — A period with a start and end time.
            - `from` string, date-time, required — Period start time.
            - `to` string, date-time, required — Period end time.
          - `preLinePeriodQuantity` string — Numeric represents an arbitrary precision number.
          - `price` union — The price of the usage based rate card.
            - object — Flat price with payment term.
              - …
            - object — Unit price with spend commitments.
              - …
            - object — Tiered price with spend commitments.
              - …
            - object — Dynamic price with spend commitments.
              - …
            - object — Package price with spend commitments.
              - …
          - `quantity` string — Numeric represents an arbitrary precision number.
          - `rateCard` InvoiceUsageBasedRateCard — InvoiceUsageBasedRateCard represents the rate card (intent) for an usage-based line.
            - `discounts` BillingDiscounts — A discount by type.
              - …
            - `featureKey` string — The feature the customer is entitled to use.
            - `price` union, required — The price of the usage based rate card.
              - …
            - `taxConfig` TaxConfig — Set of provider specific tax configs.
              - …
          - `status` 'valid' | 'detailed' | 'split', required — Line status specifies the status of the line.
          - `subscription` InvoiceLineSubscriptionReference — InvoiceLineSubscriptionReference contains the references to the subscription that this line is related to.
            - `billingPeriod` Period, required — A period with a start and end time.
              - …
            - `item` IDResource, required — IDResource is a resouce with an ID.
              - …
            - `phase` IDResource, required — IDResource is a resouce with an ID.
              - …
            - `subscription` IDResource, required — IDResource is a resouce with an ID.
              - …
          - `taxConfig` TaxConfig — Set of provider specific tax configs.
            - `behavior` 'inclusive' | 'exclusive' — Tax behavior. This enum is used to specify whether tax is included in the price or excluded from the price.
            - `customInvoicing` CustomInvoicingTaxConfig — Custom invoicing tax config.
              - …
            - `stripe` StripeTaxConfig — The tax config for Stripe.
              - …
            - `taxCodeId` string — Tax code reference. When both `taxCodeId` and `stripe.code` are provided, `taxCodeId` takes precedence: the referenced tax code entity is used and `stripe.code` is ignored.
          - `taxes` InvoiceLineTaxItem[] — Taxes applied to the invoice totals.
            - `behavior` 'inclusive' | 'exclusive' — InvoiceLineTaxBehavior details how the tax item is applied to the base amount. Inclusive means the tax is included in the base amount. Exclusive means the tax is added to the base amount.
            - `config` TaxConfig — Set of provider specific tax configs.
              - …
            - `percent` number, double — Numeric representation of a percentage 50% is represented as 50
            - `surcharge` string — Numeric represents an arbitrary precision number.
          - `totals` InvoiceTotals, required — Totals contains the summaries of all calculations for the invoice.
            - `amount` string, required — Numeric represents an arbitrary precision number.
            - `chargesTotal` string, required — Numeric represents an arbitrary precision number.
            - `creditsTotal` string, required — Numeric represents an arbitrary precision number.
            - `discountsTotal` string, required — Numeric represents an arbitrary precision number.
            - `taxesExclusiveTotal` string, required — Numeric represents an arbitrary precision number.
            - `taxesInclusiveTotal` string, required — Numeric represents an arbitrary precision number.
            - `taxesTotal` string, required — Numeric represents an arbitrary precision number.
            - `total` string, required — Numeric represents an arbitrary precision number.
          - `type` 'usage_based', required — Type of the line.
          - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
        - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
        - `number` string, required — InvoiceNumber is a unique identifier for the invoice, generated by the invoicing app. The uniqueness depends on a lot of factors: - app setting (unique per app or unique per customer) - multiple app scenarios (multiple apps generating invoices with the same prefix)
        - `payment` InvoicePaymentTerms — Payment contains details as to how the invoice should be paid.
          - `terms` union — PaymentTerms defines the terms for payment.
            - PaymentTermInstant — PaymentTermInstant defines the terms for payment on receipt of invoice.
              - …
            - PaymentTermDueDate — PaymentTermDueDate defines the terms for payment on a specific date.
              - …
        - `period` Period — A period with a start and end time.
          - `from` string, date-time, required — Period start time.
          - `to` string, date-time, required — Period end time.
        - `preceding` InvoiceDocumentRef[] — Key information regarding previous invoices and potentially details as to why they were corrected.
          - `description` string — Additional details about the document.
          - `reason` string — Human readable description on why this reference is here or needs to be used.
          - `type` 'credit_note_original_invoice', required — InvoiceDocumentRefType defines the type of document that is being referenced.
        - `quantitySnapshotedAt` string, date-time — The time when the quantity snapshots on the invoice lines were taken.
        - `sentToCustomerAt` string, date-time — The time the invoice was sent to customer.
        - `status` 'gathering' | 'draft' | 'issuing' | 'issued' | 'payment_processing' | 'overdue' | 'paid' | 'uncollectible' | 'voided', required — InvoiceStatus describes the status of an invoice.
        - `statusDetails` InvoiceStatusDetails, required — InvoiceStatusDetails represents the details of the invoice status. API users are encouraged to rely on the immutable/failed/avaliableActions fields to determine the next steps of the invoice instead of the extendedStatus field.
          - `availableActions` InvoiceAvailableActions, required — InvoiceAvailableActions represents the actions that can be performed on the invoice.
            - `advance` InvoiceAvailableActionDetails — InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for non-gathering invoices.
              - …
            - `approve` InvoiceAvailableActionDetails — InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for non-gathering invoices.
              - …
            - `delete` InvoiceAvailableActionDetails — InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for non-gathering invoices.
              - …
            - `invoice` InvoiceAvailableActionInvoiceDetails — InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for gathering invoices.
            - `retry` InvoiceAvailableActionDetails — InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for non-gathering invoices.
              - …
            - `snapshotQuantities` InvoiceAvailableActionDetails — InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for non-gathering invoices.
              - …
            - `void` InvoiceAvailableActionDetails — InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for non-gathering invoices.
              - …
          - `extendedStatus` string, required — Extended status information for the invoice.
          - `failed` boolean, required — Is the invoice in a failed state?
          - `immutable` boolean, required — Is the invoice editable?
        - `supplier` BillingParty, required — Party represents a person or business entity.
          - `addresses` Address[] — Regular post addresses for where information should be sent if needed.
            - `city` string — City.
            - `country` string — [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 country code. Custom two-letter country codes are also supported for convenience.
            - `line1` string — First line of the address.
            - `line2` string — Second line of the address.
            - `phoneNumber` string — Phone number.
            - `postalCode` string — Postal code.
            - `state` string — State or province.
          - `id` string — Unique identifier for the party (if available)
          - `key` string — An optional unique key of the party (if available)
          - `name` string — Legal name or representation of the organization.
          - `taxId` BillingPartyTaxIdentity — Identity stores the details required to identify an entity for tax purposes in a specific country.
            - `code` string — TaxIdentificationCode is a normalized tax code shown on the original identity document.
        - `totals` InvoiceTotals, required — Totals contains the summaries of all calculations for the invoice.
          - `amount` string, required — Numeric represents an arbitrary precision number.
          - `chargesTotal` string, required — Numeric represents an arbitrary precision number.
          - `creditsTotal` string, required — Numeric represents an arbitrary precision number.
          - `discountsTotal` string, required — Numeric represents an arbitrary precision number.
          - `taxesExclusiveTotal` string, required — Numeric represents an arbitrary precision number.
          - `taxesInclusiveTotal` string, required — Numeric represents an arbitrary precision number.
          - `taxesTotal` string, required — Numeric represents an arbitrary precision number.
          - `total` string, required — Numeric represents an arbitrary precision number.
        - `type` 'standard' | 'credit_note', required — InvoiceType represents the type of invoice. The type of invoice determines the purpose of the invoice and how it should be handled.
        - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
        - `validationIssues` ValidationIssue[] — Validation issues reported by the invoice workflow.
          - `code` string — Machine indentifiable code for the issue, if available.
          - `component` string, required — Component reporting the issue.
          - `createdAt` string, date-time, required — Timestamp of when the resource was created.
          - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
          - `field` string — The field that the issue is related to, if available in JSON path format.
          - `id` string, required — ID of the charge or discount.
          - `message` string, required — A human-readable description of the issue.
          - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
          - `severity` 'critical' | 'warning', required — ValidationIssueSeverity describes the severity of a validation issue. Issues with severity "critical" will prevent the invoice from being issued.
          - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
        - `voidedAt` string, date-time — The time the invoice was voided. If the invoice was voided, this field will be set to the time the invoice was voided.
        - `workflow` InvoiceWorkflowSettings, required — InvoiceWorkflowSettings represents the workflow settings used by the invoice. This is a clone of the billing profile's workflow settings at the time of invoice creation with customer overrides considered.
          - `apps` union — ProfileAppsOrReference represents the union of ProfileApps and ProfileAppReferences for a billing profile.
            - BillingProfileApps — BillingProfileApps represents the applications used by a billing profile
              - …
            - BillingProfileAppReferences — BillingProfileAppReferences represents the references (id, type) to the apps used by a billing profile
              - …
          - `sourceBillingProfileId` string, required — sourceBillingProfileID is the billing profile on which the workflow was based on. The profile is snapshotted on invoice creation, after which it can be altered independently of the profile itself.
          - `workflow` BillingWorkflow, required — BillingWorkflow represents the settings for a billing workflow.
            - `collection` BillingWorkflowCollectionSettings — Workflow collection specifies how to collect the pending line items for an invoice
              - …
            - `invoicing` BillingWorkflowInvoicingSettings — BillingWorkflowInvoicingSettings represents the invoice settings for a billing workflow
              - …
            - `payment` BillingWorkflowPaymentSettings — BillingWorkflowPaymentSettings represents the payment settings for a billing workflow
              - …
            - `tax` BillingWorkflowTaxSettings — BillingWorkflowTaxSettings represents the tax settings for a billing workflow
              - …
      - `id` string, required — A unique identifier for the notification event the payload belongs to.
      - `timestamp` string, date-time, required — Timestamp when the notification event was created in RFC 3339 format.
      - `type` 'invoice.created', required — Type of the notification event.
    - object — Payload for notification event with `invoice.updated` type.
      - `data` Invoice, required — Invoice represents an invoice in the system.
        - `collectionAt` string, date-time — The time when the invoice will be/has been collected.
        - `createdAt` string, date-time, required — Timestamp of when the resource was created.
        - `currency` string, required — Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.
        - `customer` BillingInvoiceCustomerExtendedDetails, required — BillingInvoiceCustomerExtendedDetails is a collection of fields that are used to extend the billing party details for invoices. These fields contain the OpenMeter specific details for the customer, that are not strictly required for the invoice itself.
          - `addresses` Address[] — Regular post addresses for where information should be sent if needed.
            - `city` string — City.
            - `country` string — [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 country code. Custom two-letter country codes are also supported for convenience.
            - `line1` string — First line of the address.
            - `line2` string — Second line of the address.
            - `phoneNumber` string — Phone number.
            - `postalCode` string — Postal code.
            - `state` string — State or province.
          - `id` string — Unique identifier for the party (if available)
          - `key` string — An optional unique key of the party (if available)
          - `name` string — Legal name or representation of the organization.
          - `taxId` BillingPartyTaxIdentity — Identity stores the details required to identify an entity for tax purposes in a specific country.
            - `code` string — TaxIdentificationCode is a normalized tax code shown on the original identity document.
          - `usageAttribution` CustomerUsageAttribution, required — Mapping to attribute metered usage to the customer. One customer can have zero or more subjects, but one subject can only belong to one customer.
            - `subjectKeys` string[], required — The subjects that are attributed to the customer. Can be empty when no subjects are associated with the customer.
        - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
        - `description` string — Optional description of the resource. Maximum 1024 characters.
        - `draftUntil` string, date-time — The time until the invoice is in draft status. On draft invoice creation it is calculated from the workflow settings. If manual approval is required, the draftUntil time is set.
        - `dueAt` string, date-time — Due time of the fulfillment of the invoice (if available).
        - `externalIds` InvoiceAppExternalIds — InvoiceAppExternalIds contains the external IDs of the invoice in other apps such as Stripe.
          - `invoicing` string — The external ID of the invoice in the invoicing app if available.
          - `payment` string — The external ID of the invoice in the payment app if available.
          - `tax` string — The external ID of the invoice in the tax app if available.
        - `id` string, required — A unique identifier for the resource.
        - `issuedAt` string, date-time — The time the invoice was issued. Depending on the status of the invoice this can mean multiple things: - draft, gathering: The time the invoice will be issued based on the workflow settings. - issued: The time the invoice was issued.
        - `lines` InvoiceLine[] — List of invoice lines representing each of the items sold to the customer.
          - `children` InvoiceDetailedLine[] — The lines detailing the item or service sold.
            - `category` 'regular' | 'commitment' — InvoiceDetailedLineCostCategory determines if the flat fee is a regular fee due to use due to a commitment.
            - `createdAt` string, date-time, required — Timestamp of when the resource was created.
            - `creditAllocations` InvoiceLineCreditAllocation[] — Credit allocations applied to this line. Credits are deducted from the line total before taxes are applied.
              - …
            - `currency` string, required — Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.
            - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
            - `description` string — Optional description of the resource. Maximum 1024 characters.
            - `discounts` InvoiceLineDiscounts — InvoiceLineDiscounts represents the discounts applied to the invoice line by type.
              - …
            - `externalIds` InvoiceLineAppExternalIds — InvoiceLineAppExternalIds contains the external IDs of the invoice in other apps such as Stripe.
              - …
            - `id` string, required — ID of the line.
            - `invoice` InvoiceReference — Reference to an invoice.
              - …
            - `invoiceAt` string, date-time, required — The time this line item should be invoiced.
            - `managedBy` 'subscription' | 'system' | 'manual', required — InvoiceLineManagedBy specifies who manages the line.
            - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
            - `name` string, required — Human-readable name for the resource. Between 1 and 256 characters.
            - `paymentTerm` 'in_advance' | 'in_arrears' — The payment term of a flat price. One of: in_advance or in_arrears.
            - `perUnitAmount` string — Numeric represents an arbitrary precision number.
            - `period` Period, required — A period with a start and end time.
              - …
            - `quantity` string — Numeric represents an arbitrary precision number.
            - `rateCard` InvoiceDetailedLineRateCard — InvoiceDetailedLineRateCard represents the rate card (intent) for a flat fee line.
              - …
            - `status` 'valid' | 'detailed' | 'split', required — Line status specifies the status of the line.
            - `subscription` InvoiceLineSubscriptionReference — InvoiceLineSubscriptionReference contains the references to the subscription that this line is related to.
              - …
            - `taxConfig` TaxConfig — Set of provider specific tax configs.
              - …
            - `taxes` InvoiceLineTaxItem[] — Taxes applied to the invoice totals.
              - …
            - `totals` InvoiceTotals, required — Totals contains the summaries of all calculations for the invoice.
              - …
            - `type` 'flat_fee', required — Type of the line.
            - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
          - `createdAt` string, date-time, required — Timestamp of when the resource was created.
          - `creditAllocations` InvoiceLineCreditAllocation[] — Credit allocations applied to this line. Credits are deducted from the line total before taxes are applied.
            - `amount` string, required — Numeric represents an arbitrary precision number.
            - `description` string — Text description as to why the credit was allocated.
          - `currency` string, required — Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.
          - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
          - `description` string — Optional description of the resource. Maximum 1024 characters.
          - `discounts` InvoiceLineDiscounts — InvoiceLineDiscounts represents the discounts applied to the invoice line by type.
            - `amount` InvoiceLineAmountDiscount[] — Amount based discounts applied to the line. Amount based discounts are deduced from the total price of the line.
              - …
            - `usage` InvoiceLineUsageDiscount[] — Usage based discounts applied to the line. Usage based discounts are deduced from the usage of the line before price calculations are applied.
              - …
          - `externalIds` InvoiceLineAppExternalIds — InvoiceLineAppExternalIds contains the external IDs of the invoice in other apps such as Stripe.
            - `invoicing` string — The external ID of the invoice in the invoicing app if available.
            - `tax` string — The external ID of the invoice in the tax app if available.
          - `featureKey` string — The feature that the usage is based on.
          - `id` string, required — ID of the line.
          - `invoice` InvoiceReference — Reference to an invoice.
            - `id` string, required — The ID of the invoice.
            - `number` string — InvoiceNumber is a unique identifier for the invoice, generated by the invoicing app. The uniqueness depends on a lot of factors: - app setting (unique per app or unique per customer) - multiple app scenarios (multiple apps generating invoices with the same prefix)
          - `invoiceAt` string, date-time, required — The time this line item should be invoiced.
          - `managedBy` 'subscription' | 'system' | 'manual', required — InvoiceLineManagedBy specifies who manages the line.
          - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
          - `meteredPreLinePeriodQuantity` string — Numeric represents an arbitrary precision number.
          - `meteredQuantity` string — Numeric represents an arbitrary precision number.
          - `name` string, required — Human-readable name for the resource. Between 1 and 256 characters.
          - `period` Period, required — A period with a start and end time.
            - `from` string, date-time, required — Period start time.
            - `to` string, date-time, required — Period end time.
          - `preLinePeriodQuantity` string — Numeric represents an arbitrary precision number.
          - `price` union — The price of the usage based rate card.
            - object — Flat price with payment term.
              - …
            - object — Unit price with spend commitments.
              - …
            - object — Tiered price with spend commitments.
              - …
            - object — Dynamic price with spend commitments.
              - …
            - object — Package price with spend commitments.
              - …
          - `quantity` string — Numeric represents an arbitrary precision number.
          - `rateCard` InvoiceUsageBasedRateCard — InvoiceUsageBasedRateCard represents the rate card (intent) for an usage-based line.
            - `discounts` BillingDiscounts — A discount by type.
              - …
            - `featureKey` string — The feature the customer is entitled to use.
            - `price` union, required — The price of the usage based rate card.
              - …
            - `taxConfig` TaxConfig — Set of provider specific tax configs.
              - …
          - `status` 'valid' | 'detailed' | 'split', required — Line status specifies the status of the line.
          - `subscription` InvoiceLineSubscriptionReference — InvoiceLineSubscriptionReference contains the references to the subscription that this line is related to.
            - `billingPeriod` Period, required — A period with a start and end time.
              - …
            - `item` IDResource, required — IDResource is a resouce with an ID.
              - …
            - `phase` IDResource, required — IDResource is a resouce with an ID.
              - …
            - `subscription` IDResource, required — IDResource is a resouce with an ID.
              - …
          - `taxConfig` TaxConfig — Set of provider specific tax configs.
            - `behavior` 'inclusive' | 'exclusive' — Tax behavior. This enum is used to specify whether tax is included in the price or excluded from the price.
            - `customInvoicing` CustomInvoicingTaxConfig — Custom invoicing tax config.
              - …
            - `stripe` StripeTaxConfig — The tax config for Stripe.
              - …
            - `taxCodeId` string — Tax code reference. When both `taxCodeId` and `stripe.code` are provided, `taxCodeId` takes precedence: the referenced tax code entity is used and `stripe.code` is ignored.
          - `taxes` InvoiceLineTaxItem[] — Taxes applied to the invoice totals.
            - `behavior` 'inclusive' | 'exclusive' — InvoiceLineTaxBehavior details how the tax item is applied to the base amount. Inclusive means the tax is included in the base amount. Exclusive means the tax is added to the base amount.
            - `config` TaxConfig — Set of provider specific tax configs.
              - …
            - `percent` number, double — Numeric representation of a percentage 50% is represented as 50
            - `surcharge` string — Numeric represents an arbitrary precision number.
          - `totals` InvoiceTotals, required — Totals contains the summaries of all calculations for the invoice.
            - `amount` string, required — Numeric represents an arbitrary precision number.
            - `chargesTotal` string, required — Numeric represents an arbitrary precision number.
            - `creditsTotal` string, required — Numeric represents an arbitrary precision number.
            - `discountsTotal` string, required — Numeric represents an arbitrary precision number.
            - `taxesExclusiveTotal` string, required — Numeric represents an arbitrary precision number.
            - `taxesInclusiveTotal` string, required — Numeric represents an arbitrary precision number.
            - `taxesTotal` string, required — Numeric represents an arbitrary precision number.
            - `total` string, required — Numeric represents an arbitrary precision number.
          - `type` 'usage_based', required — Type of the line.
          - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
        - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
        - `number` string, required — InvoiceNumber is a unique identifier for the invoice, generated by the invoicing app. The uniqueness depends on a lot of factors: - app setting (unique per app or unique per customer) - multiple app scenarios (multiple apps generating invoices with the same prefix)
        - `payment` InvoicePaymentTerms — Payment contains details as to how the invoice should be paid.
          - `terms` union — PaymentTerms defines the terms for payment.
            - PaymentTermInstant — PaymentTermInstant defines the terms for payment on receipt of invoice.
              - …
            - PaymentTermDueDate — PaymentTermDueDate defines the terms for payment on a specific date.
              - …
        - `period` Period — A period with a start and end time.
          - `from` string, date-time, required — Period start time.
          - `to` string, date-time, required — Period end time.
        - `preceding` InvoiceDocumentRef[] — Key information regarding previous invoices and potentially details as to why they were corrected.
          - `description` string — Additional details about the document.
          - `reason` string — Human readable description on why this reference is here or needs to be used.
          - `type` 'credit_note_original_invoice', required — InvoiceDocumentRefType defines the type of document that is being referenced.
        - `quantitySnapshotedAt` string, date-time — The time when the quantity snapshots on the invoice lines were taken.
        - `sentToCustomerAt` string, date-time — The time the invoice was sent to customer.
        - `status` 'gathering' | 'draft' | 'issuing' | 'issued' | 'payment_processing' | 'overdue' | 'paid' | 'uncollectible' | 'voided', required — InvoiceStatus describes the status of an invoice.
        - `statusDetails` InvoiceStatusDetails, required — InvoiceStatusDetails represents the details of the invoice status. API users are encouraged to rely on the immutable/failed/avaliableActions fields to determine the next steps of the invoice instead of the extendedStatus field.
          - `availableActions` InvoiceAvailableActions, required — InvoiceAvailableActions represents the actions that can be performed on the invoice.
            - `advance` InvoiceAvailableActionDetails — InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for non-gathering invoices.
              - …
            - `approve` InvoiceAvailableActionDetails — InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for non-gathering invoices.
              - …
            - `delete` InvoiceAvailableActionDetails — InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for non-gathering invoices.
              - …
            - `invoice` InvoiceAvailableActionInvoiceDetails — InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for gathering invoices.
            - `retry` InvoiceAvailableActionDetails — InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for non-gathering invoices.
              - …
            - `snapshotQuantities` InvoiceAvailableActionDetails — InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for non-gathering invoices.
              - …
            - `void` InvoiceAvailableActionDetails — InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for non-gathering invoices.
              - …
          - `extendedStatus` string, required — Extended status information for the invoice.
          - `failed` boolean, required — Is the invoice in a failed state?
          - `immutable` boolean, required — Is the invoice editable?
        - `supplier` BillingParty, required — Party represents a person or business entity.
          - `addresses` Address[] — Regular post addresses for where information should be sent if needed.
            - `city` string — City.
            - `country` string — [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 country code. Custom two-letter country codes are also supported for convenience.
            - `line1` string — First line of the address.
            - `line2` string — Second line of the address.
            - `phoneNumber` string — Phone number.
            - `postalCode` string — Postal code.
            - `state` string — State or province.
          - `id` string — Unique identifier for the party (if available)
          - `key` string — An optional unique key of the party (if available)
          - `name` string — Legal name or representation of the organization.
          - `taxId` BillingPartyTaxIdentity — Identity stores the details required to identify an entity for tax purposes in a specific country.
            - `code` string — TaxIdentificationCode is a normalized tax code shown on the original identity document.
        - `totals` InvoiceTotals, required — Totals contains the summaries of all calculations for the invoice.
          - `amount` string, required — Numeric represents an arbitrary precision number.
          - `chargesTotal` string, required — Numeric represents an arbitrary precision number.
          - `creditsTotal` string, required — Numeric represents an arbitrary precision number.
          - `discountsTotal` string, required — Numeric represents an arbitrary precision number.
          - `taxesExclusiveTotal` string, required — Numeric represents an arbitrary precision number.
          - `taxesInclusiveTotal` string, required — Numeric represents an arbitrary precision number.
          - `taxesTotal` string, required — Numeric represents an arbitrary precision number.
          - `total` string, required — Numeric represents an arbitrary precision number.
        - `type` 'standard' | 'credit_note', required — InvoiceType represents the type of invoice. The type of invoice determines the purpose of the invoice and how it should be handled.
        - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
        - `validationIssues` ValidationIssue[] — Validation issues reported by the invoice workflow.
          - `code` string — Machine indentifiable code for the issue, if available.
          - `component` string, required — Component reporting the issue.
          - `createdAt` string, date-time, required — Timestamp of when the resource was created.
          - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
          - `field` string — The field that the issue is related to, if available in JSON path format.
          - `id` string, required — ID of the charge or discount.
          - `message` string, required — A human-readable description of the issue.
          - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
          - `severity` 'critical' | 'warning', required — ValidationIssueSeverity describes the severity of a validation issue. Issues with severity "critical" will prevent the invoice from being issued.
          - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
        - `voidedAt` string, date-time — The time the invoice was voided. If the invoice was voided, this field will be set to the time the invoice was voided.
        - `workflow` InvoiceWorkflowSettings, required — InvoiceWorkflowSettings represents the workflow settings used by the invoice. This is a clone of the billing profile's workflow settings at the time of invoice creation with customer overrides considered.
          - `apps` union — ProfileAppsOrReference represents the union of ProfileApps and ProfileAppReferences for a billing profile.
            - BillingProfileApps — BillingProfileApps represents the applications used by a billing profile
              - …
            - BillingProfileAppReferences — BillingProfileAppReferences represents the references (id, type) to the apps used by a billing profile
              - …
          - `sourceBillingProfileId` string, required — sourceBillingProfileID is the billing profile on which the workflow was based on. The profile is snapshotted on invoice creation, after which it can be altered independently of the profile itself.
          - `workflow` BillingWorkflow, required — BillingWorkflow represents the settings for a billing workflow.
            - `collection` BillingWorkflowCollectionSettings — Workflow collection specifies how to collect the pending line items for an invoice
              - …
            - `invoicing` BillingWorkflowInvoicingSettings — BillingWorkflowInvoicingSettings represents the invoice settings for a billing workflow
              - …
            - `payment` BillingWorkflowPaymentSettings — BillingWorkflowPaymentSettings represents the payment settings for a billing workflow
              - …
            - `tax` BillingWorkflowTaxSettings — BillingWorkflowTaxSettings represents the tax settings for a billing workflow
              - …
      - `id` string, required — A unique identifier for the notification event the payload belongs to.
      - `timestamp` string, date-time, required — Timestamp when the notification event was created in RFC 3339 format.
      - `type` 'invoice.updated', required — Type of the notification event.
  - `rule` union, required — Notification Rule.
    - object — Notification rule with entitlements.balance.threshold type.
      - `annotations` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.
      - `channels` NotificationChannelMeta[], required — List of notification channels the rule applies to.
        - `id` string, required — Identifies the notification channel.
        - `type` 'WEBHOOK', required — Type of the notification channel.
      - `createdAt` string, date-time, required — Timestamp of when the resource was created.
      - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
      - `disabled` boolean — Whether the rule is disabled or not.
      - `features` FeatureMeta[] — Optional field containing list of features the rule applies to.
        - `id` string, required — Unique identifier of a feature.
        - `key` string, required — The key is an immutable unique identifier of the feature used throughout the API, for example when interacting with a subject's entitlements.
      - `id` string, required — Identifies the notification rule.
      - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
      - `name` string, required — The user friendly name of the notification rule.
      - `thresholds` NotificationRuleBalanceThresholdValue[], required — List of thresholds the rule suppose to be triggered.
        - `type` 'PERCENT' | 'NUMBER' | 'balance_value' | 'usage_percentage' | 'usage_value', required — Type of the rule in the balance threshold specification: * `balance_value`: threshold defined by the remaining balance value based on usage and the total of grants in the current usage period * `usage_percentage`: threshold defined by the usage percentage compared to the total of grants in the current usage period * `usage_value`: threshold defined by the usage value in the current usage period * `NUMBER` (**deprecated**): see `usage_value` * `PERCENT` (**deprecated**): see `usage_percentage`
        - `value` number, double, required — Value of the threshold.
      - `type` 'entitlements.balance.threshold', required — Notification rule type.
      - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
    - object — Notification rule with entitlements.reset type.
      - `annotations` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.
      - `channels` NotificationChannelMeta[], required — List of notification channels the rule applies to.
        - `id` string, required — Identifies the notification channel.
        - `type` 'WEBHOOK', required — Type of the notification channel.
      - `createdAt` string, date-time, required — Timestamp of when the resource was created.
      - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
      - `disabled` boolean — Whether the rule is disabled or not.
      - `features` FeatureMeta[] — Optional field containing list of features the rule applies to.
        - `id` string, required — Unique identifier of a feature.
        - `key` string, required — The key is an immutable unique identifier of the feature used throughout the API, for example when interacting with a subject's entitlements.
      - `id` string, required — Identifies the notification rule.
      - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
      - `name` string, required — The user friendly name of the notification rule.
      - `type` 'entitlements.reset', required — Notification rule type.
      - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
    - object — Notification rule with invoice.created type.
      - `annotations` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.
      - `channels` NotificationChannelMeta[], required — List of notification channels the rule applies to.
        - `id` string, required — Identifies the notification channel.
        - `type` 'WEBHOOK', required — Type of the notification channel.
      - `createdAt` string, date-time, required — Timestamp of when the resource was created.
      - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
      - `disabled` boolean — Whether the rule is disabled or not.
      - `id` string, required — Identifies the notification rule.
      - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
      - `name` string, required — The user friendly name of the notification rule.
      - `type` 'invoice.created', required — Notification rule type.
      - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
    - object — Notification rule with invoice.updated type.
      - `annotations` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.
      - `channels` NotificationChannelMeta[], required — List of notification channels the rule applies to.
        - `id` string, required — Identifies the notification channel.
        - `type` 'WEBHOOK', required — Type of the notification channel.
      - `createdAt` string, date-time, required — Timestamp of when the resource was created.
      - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
      - `disabled` boolean — Whether the rule is disabled or not.
      - `id` string, required — Identifies the notification rule.
      - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
      - `name` string, required — The user friendly name of the notification rule.
      - `type` 'invoice.updated', required — Notification rule type.
      - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
  - `type` 'entitlements.balance.threshold' | 'entitlements.reset' | 'invoice.created' | 'invoice.updated', required — Type of the notification event.

## Other responses

- `400` — The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
- `401` — The request has not been applied because it lacks valid authentication credentials for the target resource.
- `403` — The server understood the request but refuses to authorize it.
- `404` — The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
- `412` — One or more conditions given in the request header fields evaluated to false when tested on the server.
- `500` — The server encountered an unexpected condition that prevented it from fulfilling the request.
- `503` — The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.
- `default` — An unexpected error response.

---

[API](https://skmtc.dev/openmeter/apis/openmeter-cloud-api.md) · [All operations](https://skmtc.dev/openmeter/apis/openmeter-cloud-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openmeter/openmeter-cloud-api/revisions/c9c0ec9cffe9/schema)
