API REFERENCE v1

REFERENCE

Schemas

182 schemas, generated from openapi.yaml. Each one links to the operations that use it.

Account

  • object enum
    • account
  • id string
  • name string
    • stripe
    • api
  • sandbox boolean
    • en
    • de
    • fr
    • it
    • pt
  • plan enum

    NoChurn's own plan: details in GET /v1/billing/plan.

    • free
    • paid
    • custom
  • Stripe customer metadata key copied into external_id. Default: user_id.

  • Every member must use two-factor authentication. Owners only, from a 2FA session.

  • timezone string

    IANA time zone: "this month" and "today" in the dashboard.

  • audience enum | null

    Who your customers are: sets the default send window (GET /v1/account/send_schedule).

    • b2b
    • b2c
  • reporting_currency string | null

    Currency the dashboard converts every amount into (ECB rates). null: the connected Stripe account's default currency, else the one most customers pay in.

Show 4 more attributesHide 4 attributes

Used by: The account of the API key, Update account settings

ApiKey

Show 2 more attributesHide 2 attributes

Used by: List the API keys of the current mode, Create an API key, Rename a key or change its access, Revoke an API key, List live requests, Ask a human to do something in live mode, Retrieve a live request, Approve a live request, Reject a live request

ApiKeyList

Used by: List the API keys of the current mode

AttributeDefinition

  • object enum
    • attribute_definition
  • id string
  • key string
  • type enum

    Inferred at the first send, then locked.

    • string
    • number
    • boolean
    • date
  • sensitive boolean

    Never sent to the AI.

  • customers_count integer

    Customers of this mode with a value.

  • coverage number | null

    customers_count / customers of this mode; null without customers.

  • last_seen_at string | null date-time
  • created_at string date-time

Used by: Custom attributes of the account, Declare an attribute before its first send, Mark an attribute sensitive

AttributeDefinitionList

Used by: Custom attributes of the account

BillingConnection

  • object enum
    • billing_connection
  • id string
  • provider enum
    • stripe
    • chargebee
    • recurly
    • maxio
    • zuora
    • paddle
    • lemon_squeezy
    • polar
    • braintree
    • mollie
    • gocardless
    • razorpay
    • app_store
    • google_play
    • custom
  • livemode boolean
  • status enum
    • active
    • revoked
    • error
  • external_account_id string | null
  • business_name string | null
  • capabilities object
    Show child attributesHide child attributes
  • available boolean

    The provider's adapter is live on this NoChurn version.

  • webhook_url string | null

    Paste it in the provider's webhook settings (not for Stripe).

  • backfill object
    Show child attributesHide child attributes
    • status enum
      • pending
      • running
      • done
      • failed
    • progress object

      Real counts imported so far, by object (customer, subscription, invoice, payment_method).

    • started_at string | null date-time
    • finished_at string | null date-time
    • error object | null

      Why the import stopped and what to do; null unless it failed.

      Show child attributesHide child attributes
  • False until the provider's webhook secret is pasted (Recurly, Paddle, GoCardless, Razorpay): webhooks are refused until then. Always true for Stripe, for providers that sign webhooks with the API keys (Braintree) and for providers without a webhook secret (Mollie).

Show 6 more attributesHide 6 attributes
  • settings object

    What the account declares for this connection (stores only; {} otherwise).

    Show child attributesHide child attributes
    • refund_review object

      Store refund reviews: NoChurn answers only if customer_consented is true (your app collects the consent); sample_content_provided is sent unless a free trial is seen on the purchase.

      Show child attributesHide child attributes
    • push_audience string

      Google Play: the audience of the Pub/Sub push OIDC token. Set, pushes without a valid Google-signed token are refused.

    • Google Play: the service account that signs the push OIDC token.

  • internal_id object | null

    Where NoChurn reads your app's id for a customer (your user id, stored as external_id) in this tool; null for a tool that carries none (stores, universal webhook). Nothing found: the email decides.

    Show child attributesHide child attributes
    • field string | null

      The field this connection names (PATCH internal_id_field); null = defaults.

    • defaults array of strings

      Read in this order when field is null; user_id is the account's external_id_metadata_key.

    • fields array of strings

      The shapes a field may take for this tool (<name> = one key).

  • last_event_at string | null date-time
  • error string | null
  • created_at string date-time
  • webhook_setup object | null

    Only in the response that creates the connection: webhook credentials to paste in the provider (e.g. Chargebee Basic auth). Shown once.

Used by: Connected billing providers, Connect a provider with API keys, A billing connection, Change capabilities, the Stripe retry mode or where your user id is read, Disconnect, Import again

BillingConnectionList

Used by: Connected billing providers

BillingMapping

  • object enum
    • billing_mapping
  • active boolean
  • activated_at string | null date-time
  • rules array of objects

    { when: { path, equals | in }, type, event_id?, occurred_at?, fields: { "customer.id": "$.data.customer", "invoice.amount_due_cents": { path, transform } | { value } } }

  • types array of strings
  • fields object
  • transforms array of strings
  • sample array of objects
    Show child attributesHide child attributes
    • id string
    • received_at string date-time
    • payload object

      The webhook as received (data, never code).

    • result object
      Show child attributesHide child attributes
      • status enum

        event: recognized; ignored: no rule matched; error: a rule matched but a field failed.

        • event
        • ignored
        • error
      • rule integer | null

        Index of the rule that matched.

      • type string | null
      • event_id string | null
      • data object | null

        The normalized event NoChurn would apply.

      • errors array of strings
  • summary object
    Show child attributesHide child attributes

Used by: Mapping of a custom billing connection, tested on its sample, Save the mapping rules, Turn the mapping on, Turn the mapping off

BillingProvider

  • object enum
    • billing_provider
  • provider enum
    • stripe
    • chargebee
    • recurly
    • maxio
    • zuora
    • paddle
    • lemon_squeezy
    • polar
    • braintree
    • mollie
    • gocardless
    • razorpay
    • app_store
    • google_play
    • custom
  • family enum
    • billing
    • merchant_of_record
    • payments
    • stores
    • custom
  • available boolean

    Its adapter ships in this version; otherwise "Coming soon".

  • connect enum
    • oauth
    • credentials
  • credentials array of objects
    Show child attributesHide child attributes
  • capabilities object

    Default capabilities (see BillingConnection.capabilities).

  • locked array of strings

    Capabilities the provider decides (cannot be changed per connection).

  • generated: NoChurn shows webhook credentials once at creation; pasted: create the endpoint on webhook_url, then PATCH webhook_secret.

    • generated
    • pasted
    • none
  • hint string | null

    What the provider needs beyond credentials, for the connection screen (stores: how customers get linked).

  • docs_url string

    The tool's integration guide: https://nochurn.sh/docs/integrations/<provider, _ written ->/.

Used by: Billing providers

BillingProviderList

Used by: Billing providers

CampaignStats

Used by: Churn by acquisition campaign

CancelFeedback

  • enabled boolean

    The feedback step is shown.

  • required boolean

    "Continue" needs a text (400 otherwise). Cancelling never does.

Used by: Sandbox: play the cancel flow, Cancel flow config for the widget or a native app, Cancel sessions, Open the cancel flow for a customer, Read a cancel session, Answer the current step, Cancel now

CancelFlow

Used by: Cancel flow config for the widget or a native app

CancelFlowTheme

  • object enum
    • cancel_flow_theme
  • preset enum
    • light
    • dark
    • playful
    • custom_css
    • headless
  • format enum

    modal (centred), panel (side panel) or page (full page).

    • modal
    • panel
    • page
  • tokens object

    The --nc-* custom properties (--nc-accent-text for accent_text). Enumerated values are mapped to CSS by the widget.

    Show child attributesHide child attributes
  • font_url string | null

    Google Fonts stylesheet of the font token's first family (allowed fonts only), else null.

  • brand enum

    What the header shows: logo (logo_url, else app_name), name (app_name) or none (nothing). logo_url and app_name already follow it: null when the header must not show them.

    • logo
    • name
    • none
  • logo_url string | null

    https URL of the logo (uploaded, or set in the editor) when brand is logo, else null (show app_name).

  • app_name string | null

    The account's name: the text shown in place of a logo; null when brand is none.

  • end_screen object

    The modal's last step (draft.design.end_screen). A cancelled customer's end screen is always calm, whatever the style.

    Show child attributesHide child attributes
    • style enum

      Saved customer: celebrate (default), glow or quiet.

      • celebrate
      • glow
      • quiet
    • auto_close_seconds integer | null 3 to 30

      Saved screen only: closes by itself after this (default 6); null = never.

  • custom_css string

    Cleaned on the server (no @import, url() only to Google Fonts).

    • ok
    • fallback_applied
  • classes array of enums
    • nc-modal
    • nc-title
    • nc-reason
    • nc-offer
    • nc-btn-primary
    • nc-btn-cancel
    • nc-footer

Used by: Sandbox: play the cancel flow, Cancel flow config for the widget or a native app, Cancel sessions, Open the cancel flow for a customer, Resume the paused subscription, What the customer's app shows: payment banner and wall, Hide the banner for 24 hours, Read a cancel session, Answer the current step, Cancel now, The cancel modal's design

CancelSession

  • object enum
    • cancel_session
  • id string
  • livemode boolean
  • step enum
    • choose_subscription
    • reason
    • offer
    • feedback
    • confirm
    • done
  • outcome enum | null
    • saved
    • cancelled
    • abandoned
  • locale string
  • holdout boolean
  • published boolean
  • customer object | null
  • subscription object | null

    The subscription this session targets (offers, saved MRR, cancellation). Null at choose_subscription, for an unknown customer, or without a live subscription.

    Show child attributesHide child attributes
  • subscriptions array of objects

    At choose_subscription only (several live subscriptions, none named by the token's subscription claim): the customer picks one (answer { subscription }) or cancels one (cancel { subscription }). Empty otherwise.

    Show child attributesHide child attributes
  • reasons array of objects
    Show child attributesHide child attributes
Show 15 more attributesHide 15 attributes
  • offer object | null
    Show child attributesHide child attributes
    • id string
    • kind enum
      • discount
      • pause
      • downgrade
      • talk
    • title string

      In the session's language, with the account's text for that offer kind (texts.<lang>.offer_<kind>) when set.

    • url string | null

      talk: the booking link.

    • percent integer | null

      discount: percent off.

    • months integer | null

      discount: how many months; pause: how long.

    • plan_name string | null

      downgrade: the target plan's name, when the offer has one.

  • talk_url string | null
  • texts object
  • Same as feedback.enabled (kept for older widgets).

  • This session's design: the flow's, or its segment's / A/B variant's.

  • cancel_url_now string | null

    Shown once, when the session is created: cancels at any step.

  • cancel_status enum | null
    • pending
    • done
    • requested
    • failed
  • cancel_effective_at string | null date-time
  • Once an offer is accepted: outcome saved (discount, pause, downgrade), or a talk offer accepted (the session goes on). Null otherwise.

  • access_until string | null date-time

    Cancelled: access lasts until then (cancel_effective_at: the period end, or now when immediate). Null otherwise, and while the cancellation is pending.

  • A cancellation confirmation email was actually queued. NoChurn sends none today: always false (the widget hides that fact).

  • review object | null

    Asked on the last step to happy leavers only, once per customer, never tied to an offer.

    Show child attributesHide child attributes
    • platform enum
      • g2
      • capterra
      • trustpilot
      • google
      • app_store
      • product_hunt
    • url string
    • text string
    • cta string
  • expires_at string date-time
  • created_at string date-time

Used by: Sandbox: play the cancel flow, Open the cancel flow for a customer, Read a cancel session, Answer the current step, Cancel now

CancelSessionReplay

Used by: Replay a cancel session

CancelSessionReport

  • object enum
    • cancel_session
  • id string
  • livemode boolean
  • step enum
    • choose_subscription
    • reason
    • offer
    • feedback
    • confirm
    • done
  • outcome enum | null
    • saved
    • cancelled
    • abandoned
  • locale string
  • holdout boolean
  • published boolean
  • customer object | null
  • subscription object | null

    The subscription this session targets (offers, saved MRR, cancellation). Null at choose_subscription, for an unknown customer, or without a live subscription.

    Show child attributesHide child attributes
  • subscriptions array of objects

    At choose_subscription only (several live subscriptions, none named by the token's subscription claim): the customer picks one (answer { subscription }) or cancels one (cancel { subscription }). Empty otherwise.

    Show child attributesHide child attributes
  • reasons array of objects
    Show child attributesHide child attributes
Show 17 more attributesHide 17 attributes
  • offer object | null
    Show child attributesHide child attributes
    • id string
    • kind enum
      • discount
      • pause
      • downgrade
      • talk
    • title string

      In the session's language, with the account's text for that offer kind (texts.<lang>.offer_<kind>) when set.

    • url string | null

      talk: the booking link.

    • percent integer | null

      discount: percent off.

    • months integer | null

      discount: how many months; pause: how long.

    • plan_name string | null

      downgrade: the target plan's name, when the offer has one.

  • talk_url string | null
  • texts object
  • Same as feedback.enabled (kept for older widgets).

  • This session's design: the flow's, or its segment's / A/B variant's.

  • cancel_url_now string | null

    Shown once, when the session is created: cancels at any step.

  • cancel_status enum | null
    • pending
    • done
    • requested
    • failed
  • cancel_effective_at string | null date-time
  • Once an offer is accepted: outcome saved (discount, pause, downgrade), or a talk offer accepted (the session goes on). Null otherwise.

  • access_until string | null date-time

    Cancelled: access lasts until then (cancel_effective_at: the period end, or now when immediate). Null otherwise, and while the cancellation is pending.

  • A cancellation confirmation email was actually queued. NoChurn sends none today: always false (the widget hides that fact).

  • review object | null

    Asked on the last step to happy leavers only, once per customer, never tied to an offer.

    Show child attributesHide child attributes
    • platform enum
      • g2
      • capterra
      • trustpilot
      • google
      • app_store
      • product_hunt
    • url string
    • text string
    • cta string
  • expires_at string date-time
  • created_at string date-time
  • reason string | null
  • comment string | null

    Customer text: show as text.

Used by: Cancel sessions

CancelSessionReportList

Used by: Cancel sessions

CancelSessionResult

The end screen of a saved customer. Never an invented number: unknown = null.

  • kind enum
    • discount
    • pause
    • downgrade
    • talk
  • currency string | null
  • regular_amount_cents integer | null

    The price per interval before the offer (quantity included). Null for talk.

  • next_invoice_at string | null date-time

    discount, downgrade: the next invoice's date (the provider's, else the renewal date).

  • next_invoice_amount_cents integer | null

    discount, downgrade: the next invoice's amount from the provider (Stripe: upcoming invoice preview, read once when the offer is applied). Null when the provider cannot tell.

  • discounted_until string | null date-time

    discount: when the usual price comes back (acceptance + the offer's months).

  • discounted_invoices array of objects 12 items at most

    discount: the invoices due before discounted_until (12 at most), at next_invoice_amount_cents. [] otherwise.

    Show child attributesHide child attributes
  • resumes_at string | null date-time

    pause: the resume date (null when your billing pauses it, billing by API).

  • plan_name string | null

    downgrade: the new plan, when the offer names it.

Used by: Sandbox: play the cancel flow, Cancel sessions, Open the cancel flow for a customer, Read a cancel session, Answer the current step, Cancel now

ChurnScore

  • object enum
    • churn_score
  • customer string
  • score integer | null 0 to 100

    null until computed.

  • level enum | null

    Thresholds of the prevention flow (high ≥ 70, medium ≥ 40 by default).

    • low
    • medium
    • high
  • model_version string | null
  • computed_at string | null date-time
  • factors array of objects

    What explains the score, points added (or removed).

    Show child attributesHide child attributes
  • FLAGGED: a prevention signal before the renewal. Cleared when a new card arrives.

  • history array of objects

    Last 30 computations, newest first.

    Show child attributesHide child attributes
    • score integer
    • level enum
      • low
      • medium
      • high
    • trigger enum
      • signup
      • daily
      • signal
      • sync
      • manual
      • attributes
      • cancel_session
      • import
    • computed_at string date-time

Used by: Churn score of a customer

ClientVersions

  • object enum
    • client_versions
  • livemode boolean
  • window_days integer
  • data array of objects
    Show child attributesHide child attributes
    • object enum
      • client
    • client string
    • name string | null
    • latest string | null

      null for a client NoChurn does not publish.

    • minimum string | null

      Older versions are unsupported.

    • status enum

      The worst status among the versions seen in the last 7 days, else the last version's.

      • current
      • update_available
      • unsupported
      • unknown
    • versions array of objects

      Newest first.

      Show child attributesHide child attributes
      • id string
      • version string
      • status enum

        current; update_available (below latest); unsupported (below minimum); unknown (a client NoChurn does not publish).

        • current
        • update_available
        • unsupported
        • unknown
      • origin_host string | null

        Widget only: the host of the page's Origin (never a path).

      • api_key object | null
        Show child attributesHide child attributes
      • oauth_client object | null

        The AI app, for the MCP server through OAuth.

        Show child attributesHide child attributes
      • first_seen_at string date-time
      • last_seen_at string date-time
      • calls_count integer

        Approximate (a lower bound): written at most once every 5 minutes per row.

Used by: Versions of NoChurn's client code calling the API

Customer

  • object enum
    • customer
  • id string

    NoChurn id, always present.

  • stripe_customer_id string | null

    Stripe customer id, when billed by Stripe.

  • external_id string | null

    The id of this customer in your app.

  • stripe_account string | null
  • livemode boolean
  • email string | null
  • company_domain string | null

    Domain of the email when it is a company's (not a free, disposable or placeholder address): the customer's logo is GET /v1/logos/{company_domain}.

  • name string | null
  • locale string | null
  • country string | null
  • region string | null

    State or province of the address.

Show 20 more attributesHide 20 attributes
  • timezone string | null

    IANA time zone used to reach the customer.

  • timezone_source enum | null

    api (sent by you, never overwritten), attribute, address, country_guess (main zone of a multi-zone country), ip_country, card_country, account (fallback).

    • api
    • attribute
    • address
    • country_guess
    • ip_country
    • card_country
    • account
  • attributes object

    Custom attributes (M4/M6).

  • churn_score integer | null
  • churn_level enum | null
    • low
    • medium
    • high
  • FLAGGED: a prevention signal before the renewal. Cleared when a new card arrives.

  • state enum

    From billing: in_recovery = an open invoice with a failed attempt; churned = no live subscription.

    • none
    • trialing
    • active
    • in_recovery
    • paused
    • churned
  • plan string | null

    Plan of the main live subscription.

  • mrr_cents integer

    Monthly recurring revenue, in the minor unit of currency.

  • Paid invoices seen by NoChurn (12 months of Stripe history, then all).

  • currency string | null

    Billing currency. Amounts are never converted.

  • Default payment method (null when none).

  • last_seen_at string | null date-time

    From the last_active_at attribute your app sends.

  • churned_at string | null date-time
  • flows_paused_at string | null date-time

    Set by Pause all flows: no flow acts on this customer.

  • signup_at string | null date-time
  • created_at string date-time
  • updated_at string date-time
  • Every identifier a source gave for this customer, oldest first: how Stripe, your other tools, your app and support all reach this one customer (docs: customer matching).

  • risk object

    With include[]=risk (list only): when the customer renews and why the score is what it is. Early signals (card removed…) are in flag.

    Show child attributesHide child attributes
    • next_renewal_at string | null date-time

      Soonest end of the current period of a paying subscription (active or past_due) still to come.

    • cancel_at_period_end boolean | null

      That subscription stops then instead of renewing. null without a renewal.

    • score_factors array of objects 5 items at most

      Factors that raised the last churn score, largest first (starting point and lowering factors left out).

      Show child attributesHide child attributes
    • score_computed_at string | null date-time

Used by: Sandbox: create a test customer, Sandbox: the customer removes their card before the renewal, Customer profile, Pause all flows for a customer, Resume flows for a customer, List customers, Create a customer, Resolve a customer from any of its ids, Retrieve a customer, Update a customer — e.g. link your own id to a Stripe customer, Merge custom attributes

CustomerAccess

May this customer use your app? Same calculation as the in-app wall (wall.after_days, annual_grace_days, wall.enabled of the recovery flow live in this mode; pause.inapp of the cancel flow). Holdout customers, paused flows, a disabled wall or no recovery run: full. Never card data.

  • object enum
    • customer_access
  • customer string
  • livemode boolean
  • access enum

    restricted: block your app (keep paying, resuming and cancelling reachable).

    • full
    • restricted
  • reason enum | null

    Null when full. paused: every live subscription is paused and the cancel flow's pause.inapp is wall.

    • payment_failed
    • paused
  • since string | null date-time

    When the restriction started (the failure + the grace, or the start of the pause; null when unknown). Null when full.

  • failing_since string | null date-time

    When the oldest unpaid invoice under recovery started failing.

  • restricts_at string | null date-time

    When access will be restricted if still unpaid (full now, wall enabled); else null.

  • invoice string | null

    The unpaid invoice (ninv_…) that sets the clock.

  • pay_url string | null

    Where the customer pays or updates their card (null when nothing is failing).

  • subscription string | null

    The paused subscription (nsub_…) when the cancel flow shows the pause (banner or wall); else null.

  • paused_at string | null date-time

    With subscription: when the pause started (null when unknown).

Show 2 more attributesHide 2 attributes
  • resumes_at string | null date-time

    With subscription: when it resumes by itself (null: no date).

  • cancel_url string | null

    Where the customer cancels in one click (cancel.nochurn.sh/a/…, valid 30 days): show it next to pay_url (click to cancel). Null when nothing is failing or paused.

Used by: May this customer use your app?

CustomerDuplicate

  • object enum
    • customer_duplicate
  • id string
  • livemode boolean
  • customer string

    The pair is stored with the smaller id first.

  • Name and email of customer then other_customer; null for one that no longer exists (merged away).

  • identifier enum

    What they share: an email, or ids one source sent together.

    • stripe
    • provider
    • external
    • email
  • reason string
  • status enum

    open (a To do), dismissed (not the same person), merged (one customer absorbed into the other).

    • open
    • dismissed
    • merged
  • suggested_keep string | null

    Open: the customer to preselect as the one to keep: the one with a live subscription, else the one billed by a tool (Stripe or another), else the oldest. Merged: the kept one. Dismissed: null.

  • kept_customer string | null

    Merged: the customer that holds everything now (the other one no longer exists).

  • dismissed_at string | null date-time
Show 2 more attributesHide 2 attributes

Used by: List possible duplicate customers, Dismiss a possible duplicate, Merge a possible duplicate

CustomerDuplicateList

Used by: List possible duplicate customers

CustomerDuplicatePerson

Used by: List possible duplicate customers, Dismiss a possible duplicate, Merge a possible duplicate

CustomerDuplicateRun

  • object enum
    • customer_duplicate_run
  • id string
  • livemode boolean
  • kind enum

    scan: looks for duplicates among the customers already in base. merge_all: merges every open proposal into its suggested customer.

    • scan
    • merge_all
  • status enum
    • queued
    • running
    • done
    • failed
  • total integer

    scan: customers read. merge_all: open proposals at the start.

  • processed integer

    How many of total were gone through so far (real progress).

  • found integer

    scan: new proposals created (pairs already proposed, dismissed or merged are never proposed again).

  • merged integer

    merge_all: pairs merged into their suggested customer.

  • skipped integer

    merge_all: pairs decided meanwhile, or folded into another pair by an earlier merge of the run.

  • failed integer

    merge_all: pairs that could not be merged (see failures); the others went on.

  • failures array of objects

    merge_all: each failed pair and why (the first 100).

    Show child attributesHide child attributes
Show 4 more attributesHide 4 attributes

Used by: Scan the customers for possible duplicates, Merge every open possible duplicate

CustomerDuplicateSummary

  • object enum
    • customer_duplicate_summary
  • livemode boolean
  • open_count integer

    Open proposals of this mode.

  • last_scanned_at string | null date-time

    End of the last finished scan of this mode (null: never scanned).

  • scan object | null

    The latest scan (null: never).

    Show child attributesHide child attributes
    • object enum
      • customer_duplicate_run
    • id string
    • livemode boolean
    • kind enum

      scan: looks for duplicates among the customers already in base. merge_all: merges every open proposal into its suggested customer.

      • scan
      • merge_all
    • status enum
      • queued
      • running
      • done
      • failed
    • total integer

      scan: customers read. merge_all: open proposals at the start.

    • processed integer

      How many of total were gone through so far (real progress).

    • found integer

      scan: new proposals created (pairs already proposed, dismissed or merged are never proposed again).

    • merged integer

      merge_all: pairs merged into their suggested customer.

    • skipped integer

      merge_all: pairs decided meanwhile, or folded into another pair by an earlier merge of the run.

    • failed integer

      merge_all: pairs that could not be merged (see failures); the others went on.

    • failures array of objects

      merge_all: each failed pair and why (the first 100).

      Show child attributesHide child attributes
    • error string | null

      failed: why the whole run stopped.

    • started_at string | null date-time
    • finished_at string | null date-time
    • created_at string date-time
  • merge_all object | null

    The latest merge all (null: never).

    Show child attributesHide child attributes
    • object enum
      • customer_duplicate_run
    • id string
    • livemode boolean
    • kind enum

      scan: looks for duplicates among the customers already in base. merge_all: merges every open proposal into its suggested customer.

      • scan
      • merge_all
    • status enum
      • queued
      • running
      • done
      • failed
    • total integer

      scan: customers read. merge_all: open proposals at the start.

    • processed integer

      How many of total were gone through so far (real progress).

    • found integer

      scan: new proposals created (pairs already proposed, dismissed or merged are never proposed again).

    • merged integer

      merge_all: pairs merged into their suggested customer.

    • skipped integer

      merge_all: pairs decided meanwhile, or folded into another pair by an earlier merge of the run.

    • failed integer

      merge_all: pairs that could not be merged (see failures); the others went on.

    • failures array of objects

      merge_all: each failed pair and why (the first 100).

      Show child attributesHide child attributes
    • error string | null

      failed: why the whole run stopped.

    • started_at string | null date-time
    • finished_at string | null date-time
    • created_at string date-time

Used by: Possible duplicates: count and scans

CustomerFlag

FLAGGED: a prevention signal before the renewal. Cleared when a new card arrives.

Used by: Sandbox: create a test customer, Sandbox: the customer removes their card before the renewal, Customer profile, Pause all flows for a customer, Resume flows for a customer, List customers, Create a customer, Resolve a customer from any of its ids, Retrieve a customer, Update a customer — e.g. link your own id to a Stripe customer, Churn score of a customer, Merge custom attributes

CustomerIdentifier

  • kind enum

    stripe (cus_), provider (a billing, store or support tool's id), external (your id, current or previous), email, nochurn (the cst_ id of a customer merged into this one, still accepted).

    • stripe
    • external
    • email
    • provider
    • nochurn
  • provider string | null

    The tool for stripe and provider ids (stripe, chargebee, app_store, intercom…).

  • connection string | null

    The billing connection (scn_ / bcn_) or support integration (itg_) the id belongs to.

  • value string
  • source enum

    Who gave it: api, import, stripe, stripe_metadata, provider, support, manual, merge (moved by a merge).

    • api
    • stripe_metadata
    • stripe
    • manual
    • provider
    • support
    • import
    • merge
  • created_at string date-time

Used by: Sandbox: create a test customer, Sandbox: the customer removes their card before the renewal, Customer profile, Pause all flows for a customer, Resume flows for a customer, List customers, Create a customer, Resolve a customer from any of its ids, Retrieve a customer, Update a customer — e.g. link your own id to a Stripe customer, Merge custom attributes

CustomerInsight

Used by: Customer profile, AI analysis of a customer

CustomerPage

Used by: List customers

CustomerProfile

Used by: Customer profile

CustomerSummary

Used by: The 4 figures of the Customers page

Dispute

Show 15 more attributesHide 15 attributes
  • currency string
  • reason string | null
  • status enum
    • needs_response
    • under_review
    • won
    • lost
    • accepted
    • warning_needs_response
    • warning_under_review
    • warning_closed
    • prevented
    • no_decision
  • evidence_due_by string | null date-time
  • opened_at string | null date-time
  • outcome_at string | null date-time
  • submitted_at string | null date-time
  • submitted_by string | null

    usr_… or system (auto-submit).

  • The provider already has a reply (Stripe Smart Disputes, its dashboard): NoChurn will not send.

  • read_only boolean

    Nothing can be sent or edited: closed, submitted, or handled by the provider.

  • capability enum
    • evidence_api
    • provider_handles
    • refund_review
    • none
  • evidence_count integer
  • draft_status enum | null
    • draft
    • approved
    • sent
  • win_score object | null

    Chance of winning, 0–100: the AI's estimate from the evidence (an estimate, not a measured probability), or a person's (source manual). Null until estimated.

    Show child attributesHide child attributes
  • created_at string date-time

Used by: Disputes

DisputeDetail

Show 19 more attributesHide 19 attributes
  • currency string
  • reason string | null
  • status enum
    • needs_response
    • under_review
    • won
    • lost
    • accepted
    • warning_needs_response
    • warning_under_review
    • warning_closed
    • prevented
    • no_decision
  • evidence_due_by string | null date-time
  • opened_at string | null date-time
  • outcome_at string | null date-time
  • submitted_at string | null date-time
  • submitted_by string | null

    usr_… or system (auto-submit).

  • The provider already has a reply (Stripe Smart Disputes, its dashboard): NoChurn will not send.

  • read_only boolean

    Nothing can be sent or edited: closed, submitted, or handled by the provider.

  • capability enum
    • evidence_api
    • provider_handles
    • refund_review
    • none
  • evidence_count integer
  • draft_status enum | null
    • draft
    • approved
    • sent
  • win_score object | null

    Chance of winning, 0–100: the AI's estimate from the evidence (an estimate, not a measured probability), or a person's (source manual). Null until estimated.

    Show child attributesHide child attributes
  • created_at string date-time
  • charge_details object | null

    The disputed charge as NoChurn synced it; null when the payment is unknown.

    Show child attributesHide child attributes
  • recommendation object | null

    Whether contesting is worth it; null once nothing can be sent. A suggestion only: NoChurn never accepts by itself.

    Show child attributesHide child attributes
    • suggestion enum | null

      accept: no evidence from a record and the amount is at most the cost of contesting. null: not enough to compare.

      • accept
      • contest
    • reason string
    • evidence_count integer

      Included evidence backed by a record (NoChurn's own statements excluded).

    • amount_cents integer | null

      Disputed amount in currency; null without an exchange rate.

    • contest_cost_cents integer | null

      From disputes_settings; null when not set.

    • currency string
    • win_score integer | null

      Chance of winning used (AI or a person).

    • expected_gain_cents integer | null

      Chance × amount, compared with the cost of contesting; null without a score and a cost.

Used by: A dispute with its evidence and draft, Include, exclude, reorder or add evidence, Attach a file as evidence, Remove an attached file before sending, Draft the reply again, Edit or approve the reply, Send the reply to the provider, Accept the dispute, Set the chance of winning yourself, or give it back to the AI

DisputeDraft

Used by: A dispute with its evidence and draft, Include, exclude, reorder or add evidence, Attach a file as evidence, Remove an attached file before sending, Draft the reply again, Edit or approve the reply, Send the reply to the provider, Accept the dispute, Set the chance of winning yourself, or give it back to the AI

DisputeEvidenceItem

  • id string
  • object enum
    • dispute_evidence_item
  • kind enum
    • communication
    • policy
    • usage
    • reminder
    • cancel_history
    • refund_history
    • receipt
    • other
  • title string
  • content string | null
  • source_type string | null
  • source_id string | null
  • occurred_at string | null date-time
  • included boolean
  • position integer
  • file object | null

    A file attached by a person (source_type file): PDF, JPEG or PNG, 5 MB at most. null for other evidence.

    Show child attributesHide child attributes

Used by: A dispute with its evidence and draft, Include, exclude, reorder or add evidence, Attach a file as evidence, Remove an attached file before sending, Draft the reply again, Edit or approve the reply, Send the reply to the provider, Accept the dispute, Set the chance of winning yourself, or give it back to the AI

DisputeList

Used by: Disputes

DisputesSummary

Show 4 more attributesHide 4 attributes

Used by: Counts of the Disputes tab

EmailPreview

  • object enum
    • email_preview
  • step string

    email_1…, card_removed, card_expiring, renewal_reminder, d30, d60, d90, review_follow_up

  • label string
  • language string
  • source enum

    Where the text shown comes from.

    • custom
    • ai
    • template
  • subject string

    Placeholders filled.

  • text string

    Plain-text body, placeholders filled.

  • html string

    HTML body as sent (escaped paragraphs and links, no script, no style).

  • ai_generated boolean
  • review object
    Show child attributesHide child attributes
    • state enum
      • auto_approved
      • needs_review
    • issues array of strings
  • warnings array of strings

    What the preview differs on, and problems of your text.

  • customer object

    Who the placeholders were filled for: the example customer (fictional data) or a real customer.

    Show child attributesHide child attributes
Show 7 more attributesHide 7 attributes
  • sample boolean

    True when the data is the example customer's.

  • template object

    NoChurn's text in this language, placeholders not filled (to start from or reset to).

    Show child attributesHide child attributes
  • custom object | null

    Your text saved in the draft for this language, or null.

    Show child attributesHide child attributes
  • placeholders array of strings
  • required_placeholders array of strings
  • languages array of strings
  • sources array of enums
    • custom
    • ai
    • template

Used by: Preview an email of a flow

EmailSuppression

Used by: Addresses never emailed again, Never email this address again

EmailSuppressionList

Used by: Addresses never emailed again

Error

  • error object
    Show child attributesHide child attributes
    • code enum
      • unauthorized
      • forbidden
      • not_found
      • invalid_request
      • conflict
      • internal_error
      • rate_limited
      • customer_not_found
      • ambiguous_customer
      • stripe_not_configured
      • stripe_error
      • two_factor_required
      • attribute_type_mismatch
      • attribute_limit_reached
      • provider_not_available
      • capability_missing
      • dispute_already_submitted
      • dispute_not_supported_by_provider
      • provider_error
      • evidence_file_unsupported
      • evidence_file_too_large
      • evidence_files_limit
      • logo_unsupported
      • logo_too_large
      • plan_billing_not_configured
      • custom_plan_required
      • test_mode_only
      • live_approval_required
      • live_read_not_granted
      • insufficient_scope
      • publishable_key_required
      • payload_too_large
      • subscription_not_found
      • subscription_required
      • email_domain_provisioning_failed
      • insufficient_data
      • nothing_to_resume
    • message string
    • fix string
    • docs_url string uri
    • retry_after integer

      Seconds to wait (rate_limited only).

Used by: The account of the API key, Update account settings, Sandbox: create a test customer, Sandbox: simulate a failed payment, Integration checklist, Tested code for a platform and a case, List subscriptions, optionally for one customer, Send a subscription, List the API keys of the current mode, Create an API key, Rename a key or change its access, Revoke an API key, Connect a provider with API keys, Save the mapping rules, Turn the mapping on, List invoices, optionally for one customer, List payment methods, optionally for one customer, Upload a logo for the cancel modal, Remove a logo, Open the cancel flow for a customer, Add an offer to the cancel flow's library, Versions of NoChurn's client code calling the API, May this customer use your app?, Customer profile, Scan the customers for possible duplicates, List customers, Create a customer, Resolve a customer from any of its ids, Retrieve a customer, Update a customer — e.g. link your own id to a Stripe customer, List possible duplicate customers, Dismiss a possible duplicate, Merge a possible duplicate, One reply, KPIs, funnel and holdout of a flow, Track a usage event, Recompute now, A dispute with its evidence and draft, Attach a file as evidence, Remove an attached file before sending, Send the reply to the provider, Accept the dispute, Set the chance of winning yourself, or give it back to the AI, Preview an email of a flow, Resume the paused subscription, List events, newest first, Choose the events sent to Slack (and its channel) or added as Intercom notes, Retrieve a flow with its draft, Edit the draft, Pause a flow, What the customer's app shows: payment banner and wall, Connect Crisp (website or plugin token) or Gorgias, OAuth URL of a support tool or Slack, Sync now, Theme again, AI analysis of a customer, Ask a human to do something in live mode, Approve a live request, List the unified log, newest first, Count of today's lines and of the errors of a window, Retrieve a line with its payload, Approve an email waiting for review, Send a test email to yourself, Email a setup step to a colleague, Allow or stop an AI app's live reads, Revoke an AI app's access, Run a query, Schedule a report, Answer the customer, Add a review page, Merge custom attributes, Declare an attribute before its first send, Mark an attribute sensitive, Import a CSV of customers and attributes, Create a segment, Edit a segment, Delete a segment, Draft an A/B test, Start, stop, or pick a winner, Make flows follow Settings › Send schedule, Change the audience or any option, Add your sending domain, Check the DNS records, New random subdomain, Get the Stripe Connect URL to open in the browser, Choose who handles payment retries, or where your user id is read, Disconnect a Stripe account, Re-run the Stripe import, Change a member's role, Invite someone, Cancel a pending invitation, Add a webhook endpoint, Read a cancel session, Answer the current step, Cancel now, The widget had to restore the hidden cancel button, Track usage events from the browser

Event

  • object enum
    • event
  • id string
  • type string
  • subject object | null
    Show child attributesHide child attributes
  • reason string | null
  • actor object
    Show child attributesHide child attributes
    • type enum
      • api_key
      • user
      • system
      • ai
      • ai_agent
      • customer
    • id string | null

      ai_agent: the OAuth grant (ogr_…) of the AI app.

    • name string | null

      ai_agent: the MCP client's name (as it registered).

  • livemode boolean
  • data object
  • created_at string date-time

Used by: List events, newest first

EventList

Used by: List events, newest first

Experiment

Show 5 more attributesHide 5 attributes

Used by: A/B tests, Draft an A/B test, Start, stop, or pick a winner

ExperimentList

Used by: A/B tests

Feedback

Used by: Feedback themes and latest answers

FeedbackRefresh

Used by: Theme again

Flow

  • object enum
    • flow
  • id string
  • kind enum
    • prevention
    • recovery
    • cancel
    • winback
  • key string
  • name string
  • status enum

    draft: never published; test: runs in test mode only; live: runs in both modes; paused.

    • draft
    • test
    • live
    • paused
  • holdout_percent integer

    Share of customers NoChurn leaves alone, to measure its effect.

  • test_version object | null
    Show child attributesHide child attributes
  • live_version object | null
    Show child attributesHide child attributes
  • unpublished_changes array of strings

    Draft sections that differ from the last version.

  • mode_status object

    Where the flow stands in the mode of the request (NoChurn-Mode or the key's mode).

    Show child attributesHide child attributes
    • livemode boolean
    • state enum

      published: a version runs in this mode; draft: nothing published in this mode yet; paused: paused (both modes).

      • published
      • draft
      • paused
    • version integer | null

      Number of the version that runs in this mode.

    • published_at string | null date-time
    • unpublished_changes array of strings

      Draft sections not yet published in this mode (a pending draft).

  • draft_updated_at string | null date-time
Show 3 more attributesHide 3 attributes

Used by: List the 4 flows

FlowDetail

  • object enum
    • flow
  • id string
  • kind enum
    • prevention
    • recovery
    • cancel
    • winback
  • key string
  • name string
  • status enum

    draft: never published; test: runs in test mode only; live: runs in both modes; paused.

    • draft
    • test
    • live
    • paused
  • holdout_percent integer

    Share of customers NoChurn leaves alone, to measure its effect.

  • test_version object | null
    Show child attributesHide child attributes
  • live_version object | null
    Show child attributesHide child attributes
  • unpublished_changes array of strings

    Draft sections that differ from the last version.

  • mode_status object

    Where the flow stands in the mode of the request (NoChurn-Mode or the key's mode).

    Show child attributesHide child attributes
    • livemode boolean
    • state enum

      published: a version runs in this mode; draft: nothing published in this mode yet; paused: paused (both modes).

      • published
      • draft
      • paused
    • version integer | null

      Number of the version that runs in this mode.

    • published_at string | null date-time
    • unpublished_changes array of strings

      Draft sections not yet published in this mode (a pending draft).

  • draft_updated_at string | null date-time
Show 5 more attributesHide 5 attributes

Used by: Remove a logo, Retrieve a flow with its draft, Edit the draft, Publish the draft to test or live mode, Discard the unpublished changes, Put an older version back in the draft, Pause a flow, Resume a paused flow

FlowList

Used by: List the 4 flows

FlowNotifications

  • object enum
    • flow_notifications
  • livemode boolean
  • events array of objects

    The events that can be notified, with the flow that emits them.

    Show child attributesHide child attributes
    • type enum
      • recovery.opened
      • recovery.recovered
      • recovery.lost
      • cancel_session.offer_accepted
      • cancel_session.completed
      • customer.flagged
      • winback.reactivated
    • flow enum
      • prevention
      • recovery
      • cancel
      • winback
  • slack object
    Show child attributesHide child attributes
    • kind enum
      • slack
      • intercom_note
    • connected boolean

      The integration (Slack, Intercom) is connected and active.

    • integration_status enum | null

      null: never connected.

      • active
      • error
      • revoked
    • workspace string | null

      The Slack workspace or Intercom app.

    • events array of enums

      Empty: nothing is sent.

      • recovery.opened
      • recovery.recovered
      • recovery.lost
      • cancel_session.offer_accepted
      • cancel_session.completed
      • customer.flagged
      • winback.reactivated
    • channel string | null

      Slack only: where messages go (the channel chosen for Slack alerts until one is saved here).

    • notes_access enum | null

      Intercom only: whether the install may write notes on contacts. reconnect_required: Intercom refused a note, reconnect it.

      • unknown
      • ok
      • reconnect_required
    • last_delivery_at string | null date-time
    • last_error string | null

      Why the last notification failed, with what to do.

  • intercom object
    Show child attributesHide child attributes
    • kind enum
      • slack
      • intercom_note
    • connected boolean

      The integration (Slack, Intercom) is connected and active.

    • integration_status enum | null

      null: never connected.

      • active
      • error
      • revoked
    • workspace string | null

      The Slack workspace or Intercom app.

    • events array of enums

      Empty: nothing is sent.

      • recovery.opened
      • recovery.recovered
      • recovery.lost
      • cancel_session.offer_accepted
      • cancel_session.completed
      • customer.flagged
      • winback.reactivated
    • channel string | null

      Slack only: where messages go (the channel chosen for Slack alerts until one is saved here).

    • notes_access enum | null

      Intercom only: whether the install may write notes on contacts. reconnect_required: Intercom refused a note, reconnect it.

      • unknown
      • ok
      • reconnect_required
    • last_delivery_at string | null date-time
    • last_error string | null

      Why the last notification failed, with what to do.

Used by: Slack messages and Intercom notes sent when a flow acts, Choose the events sent to Slack (and its channel) or added as Intercom notes

FlowRun

  • object enum
    • flow_run
  • id string
  • livemode boolean
  • flow string
  • version integer
  • customer object | null
    Show child attributesHide child attributes
  • subject object | null
    Show child attributesHide child attributes
    • type string | null
    • id string
  • holdout boolean

    In the holdout group: NoChurn does nothing, the run is only measured.

  • state enum
    • active
    • succeeded
    • failed
    • stopped
  • current_step string | null
  • outcome enum | null
    • prevented
    • recovered
    • saved
    • won_back
    • lost
    • cancelled
    • abandoned
  • outcome_at string | null date-time
Show 7 more attributesHide 7 attributes

Used by: Customers in this flow

FlowRunList

Used by: Customers in this flow

FlowStats

  • object enum
    • flow_stats
  • flow string
  • kind enum
    • prevention
    • recovery
    • cancel
    • winback
  • livemode boolean
  • period object
    Show child attributesHide child attributes
    • key enum
      • month
      • 30d
      • 90d
      • 12m
    • from string date-time
    • to string date-time
  • kpis array of objects

    4 KPIs; saved / recovered / won back / prevented count confirmed outcomes.

    Show child attributesHide child attributes
    • key string
    • label string
    • value number | null
    • unit enum
      • count
      • money
      • rate
      • days
    • sample_size integer
    • pending integer

      Outcomes reached but not confirmed yet (30 days).

    • currency string
    • open_rate number | null
    • breakdown array of objects

      Per original currency: the amount and its value in the reporting currency (ECB rate of its day).

      Show child attributesHide child attributes
  • funnel array of objects

    5 steps: runs started in the period that reached each step, share of the first.

    Show child attributesHide child attributes
  • holdout object
    Show child attributesHide child attributes

Used by: KPIs, funnel and holdout of a flow

FlowTestEmail

  • object enum
    • flow_test_email
  • to string
  • subject string
  • body string
  • ai_generated boolean
  • source enum

    custom: your text; ai: written by the AI; template: NoChurn's text.

    • custom
    • ai
    • template
  • review object
    Show child attributesHide child attributes
    • state enum
      • auto_approved
      • needs_review
    • issues array of strings

Used by: Send a test email to yourself

FlowVersion

Used by: List published versions, newest first

FlowVersionList

Used by: List published versions, newest first

FraudWarning

Show 7 more attributesHide 7 attributes

Used by: Early fraud warnings, Refund before the dispute, Keep the payment

FraudWarningList

Used by: Early fraud warnings

Import

Show 1 more attributesHide 1 attributes

Used by: Imports, Import a CSV of customers and attributes, An import and its error report

ImportList

Used by: Imports

ImportPreview

Used by: Import a CSV of customers and attributes

InappPausedDetails

kind paused: what the paused wall or banner draws.

  • kind enum
    • paused
  • paused_at string | null date-time

    When the pause started (null when NoChurn never saw it start).

  • resumes_at string | null date-time

    When it resumes by itself (null: no date set).

  • The price per interval once resumed (quantity included).

  • currency string | null
  • resume_allowed boolean

    POST /v1/inapp/resume can resume it (Stripe, or a provider NoChurn resumes); false for billing by API.

Used by: Resume the paused subscription, What the customer's app shows: payment banner and wall, Hide the banner for 24 hours

InappPaymentDetails

kind payment_failed: what the payment wall draws. Never more card data than brand, last4 and expiry; never the provider's message.

  • kind enum
    • payment_failed
  • currency string | null
  • invoice_due_at string | null date-time

    The invoice's due date when the billing set one, else null.

  • payment_method object | null

    The method of the failed payment, else the customer's default one; null when unknown.

    Show child attributesHide child attributes
  • decline enum

    Mapped from the provider's decline or failure code (expired_card → expired; insufficient_funds; authentication_required; anything else → declined).

    • expired
    • insufficient_funds
    • authentication_required
    • declined

Used by: Resume the paused subscription, What the customer's app shows: payment banner and wall, Hide the banner for 24 hours

InappState

  • object enum
    • inapp_state
  • customer string
  • failing_since string | null date-time
  • access enum

    restricted exactly when wall.show is true: the same calculation as GET /v1/customers/{id}/access (DECISIONS 81, 87).

    • full
    • restricted
  • access_reason enum | null

    Why access is restricted; null when full. paused: only when the cancel flow's pause.inapp is wall.

    • payment_failed
    • paused
  • locale enum

    ?locale=, then the customer's language, then the account's.

    • en
    • fr
    • de
    • it
    • pt
  • texts object | null

    Banner and wall texts in this locale (banner_text, banner_cta, dismiss, banner_days_left, banner_last_day, wall_title, wall_text, wall_cta, pay_cta, amount_due, card_expired, decline_expired, decline_insufficient_funds, decline_authentication_required, decline_declined, checking_payment, back_in_title, back_in_text, data_safe, paused_banner_text, paused_title, paused_text, paused_resumes, resume_cta, resuming, resumed_title, resumed_text, cancel_now): the recovery flow's inapp.texts, else NoChurn's. {{amount}} is already filled (the unpaid amount, or the regular price when paused); {{days}}, {{date}} and {{exp}} are for the widget to fill (from details, days_left, in the customer's locale). Null when nothing is shown.

  • The cancel flow's design (same tokens as the modal). Null when nothing is shown.

  • banner object
    Show child attributesHide child attributes
    • show boolean
    • text string
    • cta_url string | null
    • cta_label string | null
    • kind enum
      • payment_failed
      • paused
    • audience enum
      • admins
      • everyone
    • dismiss_label string
    • restricts_at string | null date-time

      payment_failed: when the wall comes up if still unpaid (wall enabled, not up yet); else null.

    • days_left integer | null ≥ 0

      Whole days until restricts_at, in the customer's time zone (0 = last day); null with restricts_at.

    • details object | null

      The facts the banner draws (same as wall.details); null when the banner is not shown.

      • kind enum
        • payment_failed
      • currency string | null
      • invoice_due_at string | null date-time

        The invoice's due date when the billing set one, else null.

      • payment_method object | null

        The method of the failed payment, else the customer's default one; null when unknown.

        Show child attributesHide child attributes
      • decline enum

        Mapped from the provider's decline or failure code (expired_card → expired; insufficient_funds; authentication_required; anything else → declined).

        • expired
        • insufficient_funds
        • authentication_required
        • declined
  • wall object
    Show child attributesHide child attributes
    • show boolean
    • text string
    • cta_url string | null
    • cta_label string | null
    • kind enum
      • payment_failed
      • paused
    • shows_after_days integer | null

      payment_failed: the grace in days; null for paused (at once).

    • cancel object

      Click to cancel on the wall: open the cancel modal (NoChurn.cancel, POST /v1/cancel_sessions); if that fails, POST the customer token as a form field token to fallback_url.

      Show child attributesHide child attributes
      • label string

        The cancel flow's cancel_now text (or the in-app override).

      • fallback_url string | null

        The publishable key's fallback cancel link (null for a secret key).

    • details object | null

      The facts the wall draws; null when the wall is not shown. paused: cta_label is the resume button (POST /v1/inapp/resume), null when resume_allowed is false; cta_url is null.

      • kind enum
        • payment_failed
      • currency string | null
      • invoice_due_at string | null date-time

        The invoice's due date when the billing set one, else null.

      • payment_method object | null

        The method of the failed payment, else the customer's default one; null when unknown.

        Show child attributesHide child attributes
      • decline enum

        Mapped from the provider's decline or failure code (expired_card → expired; insufficient_funds; authentication_required; anything else → declined).

        • expired
        • insufficient_funds
        • authentication_required
        • declined

Used by: Resume the paused subscription, What the customer's app shows: payment banner and wall, Hide the banner for 24 hours

Insights

Used by: Churn drivers and AI insights

InsightsRefresh

Used by: Recompute now

Integration

Used by: Connected tools, Connect Crisp (website or plugin token) or Gorgias, Slack channel, Disconnect, Sync now

IntegrationAuthorizeUrl

Used by: OAuth URL of a support tool or Slack

IntegrationList

Used by: Connected tools

IntegrationSnippets

Used by: Tested code for a platform and a case

IntegrationVerification

  • object enum
    • integration_verification
  • livemode enum
    • false
  • complete boolean
  • passed integer
  • total integer
  • checks array of objects
    Show child attributesHide child attributes
    • key enum
      • billing_connected
      • webhook_verified
      • identify_received
      • cancel_flow_opened
      • click_to_cancel
      • failed_payment_email
      • no_secret_in_code
    • status enum

      unknown: NoChurn cannot tell yet (email being written, no code sent).

      • pass
      • fail
      • unknown
    • detail string
    • fix string | null

      What to do next; null when it passes.

  • go_live_url string | null

    Where a human goes live, once everything passes.

Used by: Integration checklist, Integration checklist, with the code to scan for secrets

Invitation

  • object enum
    • invitation
  • id string
  • email string
  • role enum
    • owner
    • admin
    • member
  • status enum
    • pending
    • accepted
    • revoked
    • expired
  • url string | null

    Invitation link. Only returned at creation: copy it and send it yourself.

  • invited_by string | null
  • expires_at string date-time
  • created_at string date-time

Used by: Pending invitations, Invite someone, Cancel a pending invitation

InvitationList

Used by: Pending invitations

Invoice

Show 8 more attributesHide 8 attributes

Used by: Sandbox: simulate a failed payment, List invoices, optionally for one customer

InvoiceList

Used by: List invoices, optionally for one customer

LiveRequest

  • object enum
    • live_request
  • id string
  • action enum

    The operation (LiveRequestCreate lists each one with its params).

    • create_live_api_key
    • publish_flow_live
    • set_billing_source
    • create_webhook_endpoint
    • update_webhook_endpoint
    • delete_webhook_endpoint
    • test_webhook_endpoint
    • create_attribute_definition
    • update_attribute_definition
    • create_customer
    • update_customer
    • set_customer_attributes
    • record_usage_event
    • record_usage_events
    • create_subscription
    • update_subscription
    • record_payment
  • title string

    The operation's name, e.g. Add a live webhook endpoint.

  • summary string

    What approving does, written by NoChurn from the params (never by the AI app).

  • params object

    The operation's params as checked by NoChurn (LiveRequestParams*), e.g. a customer reference resolved to its cst_… id.

  • precondition object | null

    What must still hold at approval, else the request fails without acting.

    Show child attributesHide child attributes
    • kind enum
      • draft_digest
      • current_value
      • record_version
      • record_exists
    • object string | null

      flow, billing_source, webhook_endpoint, attribute_definition, customer, subscription

    • id string | null
    • expected string | null

      current_value only: the value when the app asked.

    • status enum | null

      Pending requests only: checked now.

      • holds
      • changed
    • description string
  • reason string | null

    Written by the AI app: untrusted text, show it as text.

  • status enum
    • pending
    • approved
    • rejected
    • expired
    • failed
  • requested_by object
    Show child attributesHide child attributes
  • approval_url string

    Dashboard page where an owner or admin approves or rejects it.

  • decided_by object | null
    Show child attributesHide child attributes
Show 7 more attributesHide 7 attributes
  • decided_at string | null date-time
  • result object

    What the approval produced: object and id only (plus api_key_id, flow_version_id, billing_source for the first three operations). Never live data.

  • error string | null

    failed: why the action did not run.

  • Approval of create_live_api_key only: the new live key with its secret, shown once to the approver.

  • response object | null

    Approval answer only, to the approver: the operation's API response (it may hold a secret shown once: a live key's token, a webhook endpoint's signing secret). Never stored.

  • expires_at string date-time
  • created_at string date-time

Used by: List live requests, Ask a human to do something in live mode, Retrieve a live request, Approve a live request, Reject a live request

LiveRequestCreate

object

Used by: Ask a human to do something in live mode

LiveRequestCreateCreateAttributeDefinition

Used by: Ask a human to do something in live mode

LiveRequestCreateCreateCustomer

Used by: Ask a human to do something in live mode

LiveRequestCreateCreateLiveApiKey

Used by: Ask a human to do something in live mode

LiveRequestCreateCreateSubscription

Used by: Ask a human to do something in live mode

LiveRequestCreateCreateWebhookEndpoint

Used by: Ask a human to do something in live mode

LiveRequestCreateDeleteWebhookEndpoint

Used by: Ask a human to do something in live mode

LiveRequestCreatePublishFlowLive

Used by: Ask a human to do something in live mode

LiveRequestCreateRecordPayment

Used by: Ask a human to do something in live mode

LiveRequestCreateRecordUsageEvent

Used by: Ask a human to do something in live mode

LiveRequestCreateRecordUsageEvents

Used by: Ask a human to do something in live mode

LiveRequestCreateSetBillingSource

Used by: Ask a human to do something in live mode

LiveRequestCreateSetCustomerAttributes

Used by: Ask a human to do something in live mode

LiveRequestCreateTestWebhookEndpoint

Used by: Ask a human to do something in live mode

LiveRequestCreateUpdateAttributeDefinition

Used by: Ask a human to do something in live mode

LiveRequestCreateUpdateCustomer

Used by: Ask a human to do something in live mode

LiveRequestCreateUpdateSubscription

Used by: Ask a human to do something in live mode

LiveRequestCreateUpdateWebhookEndpoint

Used by: Ask a human to do something in live mode

LiveRequestList

Used by: List live requests

LiveRequestParamsCreateAttributeDefinition

Params of create_attribute_definition: Declare a live customer attribute.

  • key string 1 to 40 characters
  • type enum
    • string
    • number
    • boolean
    • date
  • sensitive boolean

Used by: Ask a human to do something in live mode

LiveRequestParamsCreateCustomer

Params of create_customer: Create a live customer.

  • external_id string 255 characters at most
  • email string 255 characters at most
  • name string 255 characters at most
  • locale string 255 characters at most
  • country string 255 characters at most
  • region string 255 characters at most
  • timezone string 255 characters at most

Used by: Ask a human to do something in live mode

LiveRequestParamsCreateLiveApiKey

Params of create_live_api_key: Create a live API key.

Used by: Ask a human to do something in live mode

LiveRequestParamsCreateSubscription

Params of create_subscription: Record a live subscription.

Used by: Ask a human to do something in live mode

LiveRequestParamsCreateWebhookEndpoint

Params of create_webhook_endpoint: Add a live webhook endpoint.

  • url string 8 to 2000 characters
  • events enum | array of enums
  • description string 255 characters at most

Used by: Ask a human to do something in live mode

LiveRequestParamsDeleteWebhookEndpoint

Params of delete_webhook_endpoint: Remove a live webhook endpoint.

  • id string 1 to 255 characters

Used by: Ask a human to do something in live mode

LiveRequestParamsPublishFlowLive

Params of publish_flow_live: Publish a flow to live mode.

  • flow_id string 1 to 255 characters

    flw_… or a kind: prevention, recovery, cancel, winback

Used by: Ask a human to do something in live mode

LiveRequestParamsRecordPayment

Params of record_payment: Record a live payment attempt.

Used by: Ask a human to do something in live mode

LiveRequestParamsRecordUsageEvent

Params of record_usage_event: Record a live usage event.

Used by: Ask a human to do something in live mode

LiveRequestParamsRecordUsageEvents

Params of record_usage_events: Record live usage events.

  • events array of objects 1000 items at most
    Show child attributesHide child attributes

Used by: Ask a human to do something in live mode

LiveRequestParamsSetBillingSource

Params of set_billing_source: Change the billing source.

Used by: Ask a human to do something in live mode

LiveRequestParamsSetCustomerAttributes

Params of set_customer_attributes: Set attributes on a live customer.

  • id string 1 to 255 characters
  • attributes object

    Custom attributes; null removes a key.

Used by: Ask a human to do something in live mode

LiveRequestParamsTestWebhookEndpoint

Params of test_webhook_endpoint: Send a test webhook to a live endpoint.

  • id string 1 to 255 characters
  • type enum
    • recovery.opened
    • recovery.recovered
    • recovery.lost
    • outcome.confirmed
    • outcome.reverted
    • billing.retry_requested
    • billing.cancel_requested
    • billing.discount_requested
    • billing.pause_requested
    • billing.downgrade_requested
    • customer.scored
    • customer.flagged
    • customer.access_restricted
    • customer.access_restored
    • cancel_session.started
    • cancel_session.offer_accepted
    • cancel_session.completed
    • winback.reactivated

Used by: Ask a human to do something in live mode

LiveRequestParamsUpdateAttributeDefinition

Params of update_attribute_definition: Change a live customer attribute.

Used by: Ask a human to do something in live mode

LiveRequestParamsUpdateCustomer

Params of update_customer: Change a live customer.

  • id string 1 to 255 characters
  • attributes object

    Custom attributes; null removes a key.

  • external_id string 255 characters at most
  • email string 255 characters at most
  • name string 255 characters at most
  • locale string 255 characters at most
  • country string 255 characters at most
  • region string 255 characters at most
  • timezone string 255 characters at most

Used by: Ask a human to do something in live mode

LiveRequestParamsUpdateSubscription

Params of update_subscription: Change a live subscription.

Used by: Ask a human to do something in live mode

LiveRequestParamsUpdateWebhookEndpoint

Params of update_webhook_endpoint: Change a live webhook endpoint.

  • id string 1 to 255 characters
  • url string 8 to 2000 characters
  • events enum | array of enums
  • description string 255 characters at most
  • status enum
    • enabled
    • disabled

Used by: Ask a human to do something in live mode

LogEntry

  • object enum
    • log_entry
  • id string
  • livemode boolean
  • occurred_at string date-time

    Millisecond precision.

  • source enum

    stripe (webhooks), api (your calls with an API key), nochurn (decisions), widget, webhook (outgoing), a billing tool (chargebee, zuora…: its webhooks and what NoChurn reads from it), a support tool (intercom, crisp, zendesk, hubspot, helpscout, gorgias).

    • stripe
    • api
    • nochurn
    • widget
    • webhook
    • chargebee
    • recurly
    • maxio
    • zuora
    • paddle
    • lemon_squeezy
    • polar
    • braintree
    • mollie
    • gocardless
    • razorpay
    • app_store
    • google_play
    • custom
    • intercom
    • crisp
    • zendesk
    • hubspot
    • helpscout
    • gorgias
  • type string
  • customer object | null

    The customer this line is about (open it with /v1/customers/{id}).

    Show child attributesHide child attributes
  • summary string | null
  • status string

    HTTP status ("200", "500") or ok, received, ignored, failed.

  • error boolean
  • why string | null

    Why this happened (the reason of the NoChurn decision).

  • ref object | null
    Show child attributesHide child attributes
Show 1 more attributesHide 1 attributes

Used by: List the unified log, newest first

LogEntryDetail

  • object enum
    • log_entry
  • id string
  • livemode boolean
  • occurred_at string date-time

    Millisecond precision.

  • source enum

    stripe (webhooks), api (your calls with an API key), nochurn (decisions), widget, webhook (outgoing), a billing tool (chargebee, zuora…: its webhooks and what NoChurn reads from it), a support tool (intercom, crisp, zendesk, hubspot, helpscout, gorgias).

    • stripe
    • api
    • nochurn
    • widget
    • webhook
    • chargebee
    • recurly
    • maxio
    • zuora
    • paddle
    • lemon_squeezy
    • polar
    • braintree
    • mollie
    • gocardless
    • razorpay
    • app_store
    • google_play
    • custom
    • intercom
    • crisp
    • zendesk
    • hubspot
    • helpscout
    • gorgias
  • type string
  • customer object | null

    The customer this line is about (open it with /v1/customers/{id}).

    Show child attributesHide child attributes
  • summary string | null
  • status string

    HTTP status ("200", "500") or ok, received, ignored, failed.

  • error boolean
  • why string | null

    Why this happened (the reason of the NoChurn decision).

  • ref object | null
    Show child attributesHide child attributes
Show 2 more attributesHide 2 attributes

Used by: Retrieve a line with its payload

LogEntryPage

Used by: List the unified log, newest first

LogStats

Used by: Count of today's lines and of the errors of a window

Membership

Used by: Team members of the account, Change a member's role, Remove a member

MembershipList

Used by: Team members of the account

Message

Show 15 more attributesHide 15 attributes

Used by: List emails sent or queued

MessageDetail

Show 17 more attributesHide 17 attributes

Used by: Approve an email waiting for review, Reject an email: it is never sent, One email, with its body, Edit an email waiting for review, Answer the customer

MessageList

Used by: List emails sent or queued

MessageReply

  • object enum
    • message_reply
  • id string
  • message string

    The email it answers (msg_…).

  • customer string | null
  • customer_email string | null
  • customer_name string | null
  • flow_run string | null
  • flow enum | null
    • prevention
    • recovery
    • cancel
    • winback
  • from string
  • subject string | null
  • text string

    The reply without quoted history. Customer content: show as text.

  • category enum
    • wants_to_return
    • question
    • not_interested
    • unsubscribe
    • out_of_office
    • other
Show 7 more attributesHide 7 attributes

Used by: One reply, Replies to NoChurn emails, Ignore a reply, Mark a reply handled

MessageReplyPage

Used by: Replies to NoChurn emails

OauthGrant

  • object enum
    • oauth_grant
  • id string
  • client object
    Show child attributesHide child attributes
    • id string
    • name string
    • verified boolean

      true when every redirect URI of the client is a known callback of one vendor (Claude, ChatGPT, Cursor; Oauth::VerifiedClients), never because of its name. Loopback redirects are never verified.

    • verified_name enum | null

      The vendor's canonical name when verified (show it instead of name), null otherwise.

      • Claude
      • ChatGPT
      • Cursor
    • client_uri string | null
  • user object

    Who connected the app. The app acts with this user's role.

    Show child attributesHide child attributes
  • scopes array of enums
    • read
    • configure
    • sandbox
  • live_read boolean

    The app may read live data (NoChurn-Mode: live, reads only). Off unless a human allowed it.

  • live_write enum

    Changes in live mode always go through a live request.

    • approval_required
  • last_used_at string | null date-time
  • revoked_at string | null date-time
  • created_at string date-time

Used by: List the AI apps connected to the account, Allow or stop an AI app's live reads, Revoke an AI app's access

OauthGrantList

Used by: List the AI apps connected to the account

Offer

Used by: Offer library, Add an offer to the cancel flow's library, Edit an offer, Archive an offer

OfferList

Used by: Offer library

Payment

Show 3 more attributesHide 3 attributes

Used by: Sandbox: simulate a failed payment, Payments, Send a payment

PaymentList

Used by: Payments

PaymentMethod

Metadata only. NoChurn never stores card numbers.

Show 4 more attributesHide 4 attributes

Used by: Sandbox: create a test customer, Sandbox: the customer removes their card before the renewal, List payment methods, optionally for one customer

PaymentMethodList

Used by: List payment methods, optionally for one customer

PaymentMethodSummary

Default payment method (null when none).

Used by: Sandbox: create a test customer, Sandbox: the customer removes their card before the renewal, Customer profile, Pause all flows for a customer, Resume flows for a customer, List customers, Create a customer, Resolve a customer from any of its ids, Retrieve a customer, Update a customer — e.g. link your own id to a Stripe customer, Merge custom attributes

ProjectDetection

Used by: Detect the project's platforms and plan the integration

QueryRun

Used by: Run a query

QuerySource

  • source enum
    • customers
    • subscriptions
    • invoices
    • payments
    • cancel_sessions
    • flow_runs
    • usage_events
    • messages
  • label string
  • description string

    One line: what a row of this source is.

  • fields array of objects
    Show child attributesHide child attributes
    • field string
    • type enum
      • string
      • number
      • boolean
      • date
    • label string
    • description string

      One line, shown as a hint.

    • values array of objects 50 items at most

      Enum-like fields only. closed: every allowed value. observed: the values seen for this account and mode, most frequent first (50 at most, cached 10 minutes): other values are still accepted.

      Show child attributesHide child attributes
    • Present with values.

      • closed
      • observed

Used by: What a query can read

QuerySourceList

Used by: What a query can read

QuerySpec

NoChurn query builder (no SQL). Either metrics (+ dimensions) or fields.

  • source enum
    • customers
    • subscriptions
    • invoices
    • payments
    • cancel_sessions
    • flow_runs
    • usage_events
    • messages
  • metrics array of objects 5 items at most
    Show child attributesHide child attributes
    • fn enum
      • count
      • count_distinct
      • sum
      • avg
      • min
      • max
    • field string
  • dimensions array of objects 3 items at most
    Show child attributesHide child attributes
  • fields array of strings 20 items at most
  • filters array of objects 10 items at most
    Show child attributesHide child attributes
  • period object | null
    Show child attributesHide child attributes
  • sort object | null
    Show child attributesHide child attributes
    • by string

      metric_0…, a dimension or a field.

    • dir enum
      • asc
      • desc
  • limit integer 1 to 1000

Used by: Run a query, Ask anything, Saved queries, Save a query, Rename or change a saved query, Schedule a report, Stop a report

QueryTranslation

Used by: Ask anything

ReviewPlatform

Used by: Edit or disable a review page, Your review pages, Add a review page

ReviewPlatformList

Used by: Your review pages

ReviewRequestStats

Used by: Review requests this month

SandboxCancelFlowRun

Used by: Sandbox: play the cancel flow

SandboxCardRemoved

Used by: Sandbox: the customer removes their card before the renewal

SandboxCustomer

Used by: Sandbox: create a test customer

SandboxFailedPayment

Used by: Sandbox: simulate a failed payment

SavedQuery

  • object enum
    • saved_query
  • id string
  • name string
  • question string | null
  • NoChurn query builder (no SQL). Either metrics (+ dimensions) or fields.

  • view enum
    • table
    • chart
  • chart object
  • created_at string date-time
  • schedule object | null
    Show child attributesHide child attributes
    • cadence enum
      • daily
      • weekly
      • monthly
    • day enum | integer | null

      weekly: the weekday; monthly: the day of the month (1–28); daily: null.

    • time string

      Read only: the hour the report goes out (the hour it was first scheduled at), in timezone.

    • timezone string

      The account's time zone.

      • email
      • slack
    • target string | null
    • next_run_at string date-time
    • last_run string | null

Used by: Saved queries, Save a query, Rename or change a saved query, Schedule a report, Stop a report

SavedQueryList

Used by: Saved queries

Segment

Used by: Segments of a flow, Create a segment, Edit a segment

SegmentField

Used by: Fields a segment can use

SegmentFieldList

Used by: Fields a segment can use

SegmentList

Used by: Segments of a flow

SegmentPreview

Used by: Count the customers of conditions

SendingDomain

  • object enum
    • sending_domain
  • id string
  • domain string
  • sender_name string | null
  • sender_email string
  • sending_host string
  • status enum

    provisioning: Mailgun is preparing the records (dns_records is empty until then, or provisioning_error says why it could not); pending: records to add; verified: records found and the domain active at Mailgun; failed: records still missing after 7 days.

    • provisioning
    • pending
    • verified
    • failed
  • provider enum

    Who holds the domain: mailgun, or fake outside production (sample records, nothing created).

    • mailgun
    • fake
  • provisioning_error object | null

    Why the records could not be prepared yet, with what to do; null otherwise.

    Show child attributesHide child attributes
  • verified_at string | null date-time
  • last_checked_at string | null date-time
  • existing_dmarc boolean

    A DMARC record already exists: NoChurn does not propose another one.

Show 4 more attributesHide 4 attributes

Used by: List sending domains, Add your sending domain, Check the DNS records, New random subdomain, Retrieve the sending domain, Change the sender

SendingDomainList

Used by: List sending domains

SendSchedule

Used by: When NoChurn may contact your customers, Change the audience or any option

SendScheduleFlowOverride

  • object enum
    • send_schedule_flow_override
  • flow object
    Show child attributesHide child attributes
    • id string
    • kind enum
      • prevention
      • recovery
      • cancel
      • winback
    • name string
  • version object | null

    The version that runs in this mode; null when none.

    Show child attributesHide child attributes
  • published object

    Options the version of this mode sets itself.

    Show child attributesHide child attributes
  • draft object

    Options the draft sets itself (published at the next publication).

    Show child attributesHide child attributes
  • segments array of objects

    Segments of the flow whose THEN sets options itself. A segment has no mode and no draft: it applies to the next runs of both modes.

    Show child attributesHide child attributes
  • variants array of objects

    A/B variants of the flow that set options themselves: every variant of a draft or running test, the winner of a decided test (stopped tests and losing variants never apply again). No mode. Those of a running test are listed with applies false: applying does not change them.

    Show child attributesHide child attributes

Used by: Flows that set their own send window options

SendScheduleFlowOverrideList

Used by: Flows that set their own send window options

SendScheduleFlowsApplied

  • object enum
    • send_schedule_flows_applied
  • livemode boolean
  • applied integer

    Number of flows changed, in their own settings, segments or A/B variants (0 when none overrode the account).

  • counts object
    Show child attributesHide child attributes
    • flows integer

      Flows whose own settings changed (published version of this mode or draft).

    • segments integer
    • variants integer
  • data array of objects
    Show child attributesHide child attributes

Used by: Make flows follow Settings › Send schedule

SendSlot

Used by: When NoChurn would contact this customer now

Setup

  • object enum
    • setup
  • livemode boolean
    • stripe
    • api
  • api_base_url string

    Public URL of the API (e.g. https://api.nochurn.sh), for the dashboard's copy-paste examples.

  • complete boolean

    Every step done, or skipped (set up later).

  • steps array of objects
    Show child attributesHide child attributes
    • key enum
      • billing_connected
      • billing_synced
      • history_imported
      • webhook_received
      • api_key_created
      • first_api_call
      • support_connected
      • cancel_modal_detected
      • email_domain_verified
      • cancel_flow_published
      • recovery_retries_configured
      • prevention_signals_enabled
    • done boolean
    • skipped boolean
    • fix string | null
  • onboarding object
    Show child attributesHide child attributes
    • step enum
      • billing
      • support
      • cancel_modal
      • email_domain
      • done
    • skipped array of strings
    • completed_at string | null date-time
  • counters object
    Show child attributesHide child attributes
  • history_import object | null

    12-month Stripe history import of the latest connection (null with billing by API).

    Show child attributesHide child attributes
    • status enum
      • pending
      • running
      • done
      • failed
    • since string | null date-time
    • progress object
    • error object | null

      Why the import stopped and what to do; null unless it failed.

      Show child attributesHide child attributes
    • started_at string | null date-time
    • finished_at string | null date-time

Used by: Setup checklist: what is installed and what is missing

SetupShare

Used by: Email a setup step to a colleague

StripeAuthorizeUrl

Used by: Get the Stripe Connect URL to open in the browser

StripeConnection

  • object enum
    • stripe_connection
  • id string
  • livemode boolean
  • status enum
    • active
    • revoked
    • error
  • stripe: keep Stripe Smart Retries. nochurn: NoChurn schedules the retries (turn Smart Retries off in Stripe).

    • stripe
    • nochurn
  • internal_id object | null

    Where NoChurn reads your app's id for a customer (your user id, stored as external_id) in this tool; null for a tool that carries none (stores, universal webhook). Nothing found: the email decides.

    Show child attributesHide child attributes
    • field string | null

      The field this connection names (PATCH internal_id_field); null = defaults.

    • defaults array of strings

      Read in this order when field is null; user_id is the account's external_id_metadata_key.

    • fields array of strings

      The shapes a field may take for this tool (<name> = one key).

  • backfill object
    Show child attributesHide child attributes
    • status enum
      • pending
      • running
      • done
      • failed
    • progress object

      Records imported so far: customers, subscriptions, invoices, payment_methods.

    • error object | null

      Why the import stopped and what to do; null unless it failed.

      Show child attributesHide child attributes
    • started_at string | null date-time
    • finished_at string | null date-time
  • history object

    12-month history import (invoices and payment attempts), after the backfill.

    Show child attributesHide child attributes
    • status enum
      • pending
      • running
      • done
      • failed
    • since string | null date-time
    • progress object

      Records imported so far: invoices, charges.

    • error object | null

      Why the import stopped and what to do; null unless it failed.

      Show child attributesHide child attributes
    • started_at string | null date-time
    • finished_at string | null date-time
  • last_webhook_at string | null date-time
  • last_webhook_type string | null

    Type of the newest Stripe event received for this connection; null before the first.

  • disconnected_at string | null date-time
Show 1 more attributesHide 1 attributes

Used by: List connected Stripe accounts, Choose who handles payment retries, or where your user id is read, Disconnect a Stripe account, Re-run the Stripe import

StripeConnectionList

Used by: List connected Stripe accounts

Subscription

Show 7 more attributesHide 7 attributes

Used by: Sandbox: create a test customer, List subscriptions, optionally for one customer, Send a subscription, Change a subscription sent by API

SubscriptionList

Used by: List subscriptions, optionally for one customer

TimelinePage

Used by: Customer activity, newest first

UsageEventBatch

Used by: Track a usage event, Track up to 1,000 events

WebhookDelivery

Show 5 more attributesHide 5 attributes

Used by: Webhooks sent, with their attempts

WebhookDeliveryDetail

Show 7 more attributesHide 7 attributes

Used by: Send a test message to the Slack channel now, Send a signed test event now, One delivery, with its payload, Replay a delivery

WebhookDeliveryList

Used by: Webhooks sent, with their attempts

WebhookEndpoint

Used by: List webhook endpoints, Add a webhook endpoint, Change an endpoint, disable it or rotate its secret

WebhookEndpointList

Used by: List webhook endpoints

WidgetEventBatch

  • object enum
    • widget_event_batch
  • accepted integer

    Stored or already received.

  • duplicates integer

    Already received (same idempotency_key in this mode).

  • rejected array of objects
    Show child attributesHide child attributes

Used by: Track usage events from the browser

WidgetGuardReport

  • object enum
    • widget_guard_report
  • recorded boolean

    false: the same alert was recorded less than an hour ago.

  • event string | null

    The Event (nevt_) recorded.

Used by: The widget had to restore the hidden cancel button

WidgetPing

  • object enum
    • widget_ping
  • detected_at string date-time
  • cancel_fallback_url string | null

    The key's fallback cancel link: POST { token } as a form when a cancel session cannot be opened.

Used by: The widget loaded

WidgetSecret

Used by: Is the widget signing secret set?, Create or rotate the widget signing secret