> ## Documentation Index
> Fetch the complete documentation index at: https://flexprice-mintlify-370b7c30.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# subscription.spend.threshold_recovered

> Fired when a subscription's total metered spend falls back below all configured alert thresholds for the current billing period. Doc-only for parsing.



## OpenAPI

````yaml /api-reference/openapi.json post /webhook-events/subscription.spend.threshold_recovered
openapi: 3.0.1
info:
  title: Flexprice API
  description: Flexprice API Service
  contact:
    name: API Support
  license:
    name: AGPL-3.0
    url: https://www.gnu.org/licenses/agpl-3.0.html
  version: '1.0'
servers:
  - url: https://us.api.flexprice.io/v1
    description: US Region
  - url: https://api.cloud.flexprice.io/v1
    description: India Region
security: []
paths:
  /webhook-events/subscription.spend.threshold_recovered:
    post:
      tags:
        - Webhook Events
      summary: subscription.spend.threshold_recovered
      description: >-
        Fired when a subscription's total metered spend falls back below all
        configured alert thresholds for the current billing period. Doc-only for
        parsing.
      responses:
        '200':
          description: Webhook payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhookDto.SpendAlertEvent'
components:
  schemas:
    webhookDto.SpendAlertEvent:
      type: object
      properties:
        alert_status:
          $ref: '#/components/schemas/types.AlertState'
        alert_type:
          $ref: '#/components/schemas/types.AlertType'
        current_spend:
          type: string
        group_id:
          type: string
        subscription:
          $ref: '#/components/schemas/webhookDto.Subscription'
        subscription_line_item_id:
          type: string
        threshold:
          type: string
        triggered_at:
          type: string
          format: date-time
    types.AlertState:
      type: string
      enum:
        - ok
        - info
        - warning
        - in_alarm
      x-enum-varnames:
        - AlertStateOk
        - AlertStateInfo
        - AlertStateWarning
        - AlertStateInAlarm
      x-speakeasy-name-override: AlertState
    types.AlertType:
      type: string
      enum:
        - low_ongoing_balance
        - low_credit_balance
        - feature_wallet_balance
        - subscription_spend
        - subscription_line_item_spend
        - subscription_group_spend
        - entitlement_grant_threshold
        - entitlement_grant_exhausted
      x-enum-varnames:
        - AlertTypeLowOngoingBalance
        - AlertTypeLowCreditBalance
        - AlertTypeFeatureWalletBalance
        - AlertTypeSubscriptionSpend
        - AlertTypeSubscriptionLineItemSpend
        - AlertTypeSubscriptionGroupSpend
        - AlertTypeEntitlementGrantThreshold
        - AlertTypeEntitlementGrantExhausted
      x-speakeasy-name-override: AlertType
    webhookDto.Subscription:
      type: object
      properties:
        billing_cadence:
          $ref: '#/components/schemas/types.BillingCadence'
        billing_period:
          $ref: '#/components/schemas/types.BillingPeriod'
        billing_period_count:
          type: integer
        cancel_at:
          type: string
          format: date-time
        cancel_at_period_end:
          type: boolean
        cancelled_at:
          type: string
          format: date-time
        currency:
          type: string
        current_period_end:
          type: string
          format: date-time
        current_period_start:
          type: string
          format: date-time
        customer:
          $ref: '#/components/schemas/webhookDto.Customer'
        customer_id:
          type: string
        end_date:
          type: string
          format: date-time
        id:
          type: string
        lookup_key:
          type: string
        metadata:
          $ref: '#/components/schemas/types.Metadata'
        parent_subscription_id:
          type: string
        pause_status:
          $ref: '#/components/schemas/types.PauseStatus'
        plan_id:
          type: string
        start_date:
          type: string
          format: date-time
        subscription_status:
          $ref: '#/components/schemas/types.SubscriptionStatus'
        subscription_type:
          $ref: '#/components/schemas/types.SubscriptionType'
        trial_end:
          type: string
          format: date-time
        trial_start:
          type: string
          format: date-time
    types.BillingCadence:
      type: string
      enum:
        - RECURRING
      x-enum-varnames:
        - BILLING_CADENCE_RECURRING
      x-speakeasy-name-override: BillingCadence
    types.BillingPeriod:
      type: string
      enum:
        - MONTHLY
        - ANNUAL
        - WEEKLY
        - DAILY
        - QUARTERLY
        - HALF_YEARLY
        - ONETIME
      x-enum-varnames:
        - BILLING_PERIOD_MONTHLY
        - BILLING_PERIOD_ANNUAL
        - BILLING_PERIOD_WEEKLY
        - BILLING_PERIOD_DAILY
        - BILLING_PERIOD_QUARTER
        - BILLING_PERIOD_HALF_YEAR
        - BILLING_PERIOD_ONETIME
      x-speakeasy-name-override: BillingPeriod
    webhookDto.Customer:
      type: object
      properties:
        address_city:
          type: string
        address_country:
          type: string
        address_line1:
          type: string
        address_line2:
          type: string
        address_postal_code:
          type: string
        address_state:
          type: string
        email:
          type: string
        external_id:
          type: string
        id:
          type: string
        metadata:
          type: object
          additionalProperties:
            type: string
        name:
          type: string
        timezone:
          type: string
    types.Metadata:
      type: object
      additionalProperties:
        type: string
      x-speakeasy-name-override: Metadata
    types.PauseStatus:
      type: string
      enum:
        - none
        - active
        - scheduled
        - completed
        - cancelled
      x-enum-varnames:
        - PauseStatusNone
        - PauseStatusActive
        - PauseStatusScheduled
        - PauseStatusCompleted
        - PauseStatusCancelled
      x-speakeasy-name-override: PauseStatus
    types.SubscriptionStatus:
      type: string
      enum:
        - active
        - paused
        - cancelled
        - incomplete
        - trialing
        - draft
      x-enum-varnames:
        - SubscriptionStatusActive
        - SubscriptionStatusPaused
        - SubscriptionStatusCancelled
        - SubscriptionStatusIncomplete
        - SubscriptionStatusTrialing
        - SubscriptionStatusDraft
      x-speakeasy-name-override: SubscriptionStatus
    types.SubscriptionType:
      type: string
      enum:
        - standalone
        - delegated_invoicing
        - parent
        - inherited
        - grouped_invoicing
      x-enum-varnames:
        - SubscriptionTypeStandalone
        - SubscriptionTypeDelegatedInvoicing
        - SubscriptionTypeParent
        - SubscriptionTypeInherited
        - SubscriptionTypeGroupedInvoicing
      x-speakeasy-name-override: SubscriptionType

````