---
title: "List notification events"
method: GET
path: "/api/v1/notification/events"
tags: ["Notifications"]
---

# List notification events

`GET /api/v1/notification/events`

List all notification events.

## Query parameters

- `from` string, date-time
- `to` string, date-time
- `feature` string[]
- `subject` string[]
- `rule` string[]
- `channel` string[]
- `page` integer
- `pageSize` integer
- `order` 'ASC' | 'DESC' — The order direction.
- `orderBy` 'id' | 'createdAt' — Order by options for notification channels.

## Response `200`

The request has succeeded.

- NotificationEventPaginatedResponse — Paginated response
  - `items` NotificationEvent[], required — The items in the current page.
    - `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
              - …
            - `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.
              - …
            - `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.
              - …
          - `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.
              - …
            - `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.
              - …
          - `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.
              - …
            - `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
              - …
            - `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.
              - …
            - `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.
              - …
          - `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.
              - …
            - `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.
              - …
          - `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.
              - …
            - `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.
              - …
            - `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.
              - …
            - `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.
              - …
          - `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.
              - …
            - `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.
              - …
            - `featureKey` string — The feature that the usage is based on.
            - `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.
            - `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.
              - …
            - `preLinePeriodQuantity` string — Numeric represents an arbitrary precision number.
            - `price` union — The price of the usage based rate card.
              - …
            - `quantity` string — Numeric represents an arbitrary precision number.
            - `rateCard` InvoiceUsageBasedRateCard — InvoiceUsageBasedRateCard represents the rate card (intent) for an usage-based 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` '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.
              - …
          - `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.
              - …
            - `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.
              - …
            - `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.
              - …
          - `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.
              - …
            - `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.
              - …
        - `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.
              - …
            - `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.
              - …
            - `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.
              - …
          - `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.
              - …
            - `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.
              - …
            - `featureKey` string — The feature that the usage is based on.
            - `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.
            - `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.
              - …
            - `preLinePeriodQuantity` string — Numeric represents an arbitrary precision number.
            - `price` union — The price of the usage based rate card.
              - …
            - `quantity` string — Numeric represents an arbitrary precision number.
            - `rateCard` InvoiceUsageBasedRateCard — InvoiceUsageBasedRateCard represents the rate card (intent) for an usage-based 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` '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.
              - …
          - `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.
              - …
            - `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.
              - …
            - `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.
              - …
          - `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.
              - …
            - `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.
              - …
        - `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.
  - `page` integer, required — The page index.
  - `pageSize` integer, required — The maximum number of items per page.
  - `totalCount` integer, required — The total number of items.

## 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.
- `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)
