Skip to main content

BillingOverview

enabledboolean
subscriptions object[]

Every subscription of the account, each with the actions it allows. An account can hold more than one: the bought slots add up.

  • Array [
  • idstring
    providerstring
    Example: stripe
    statusstring
    Example: active
    originstring

    Possible values: [checkout, admin, stripe_import, legacy, license]

    quantityModestring

    Possible values: [licensed, metered]

    plan objectnullable
    slugstring
    namestring
    familystringnullable
    intervalstring
    intervalCountinteger
    billingModelstring
    numbersintegernullable

    Numbers covered by a subscription bought in slots (quantityMode: licensed). null on usage-measured ones (metered).

    amountCentsintegernullable
    currencystringnullable
    trialEndsAtstring<date-time>nullable
    currentPeriodEndstring<date-time>nullable
    cancelAtPeriodEndboolean
    pausedUntilstring<date-time>nullable
    pendingUpdateboolean
    pendingChange objectnullable

    A scheduled change — a downgrade takes effect at the end of the paid period.

    kindstring

    Possible values: [upgrade, downgrade]

    planSlugstring
    planNamestring
    numbersinteger
    effectiveAtstring<date-time>
    card objectnullable
    brandstringnullable
    last4stringnullable
    actions object

    What the dashboard allows doing with this subscription right now. The actions need the account owner’s session — an API key gets 403 owner_required.

    changeboolean
    cancelboolean
    resumeboolean
    endTrialboolean
    cancelPendingChangeboolean
    pauseboolean
    unpauseboolean
  • ]
  • account object

    The account’s side at the gateway: one currency and one default card for every subscription.

    currencystringnullable
    card objectnullable
    brandstringnullable
    last4stringnullable
    subscription objectdeprecated

    The old single-subscription shape. Kept for compatibility; use subscriptions.

    statusstring
    trialEndsAtstring<date-time>nullable
    currentPeriodEndstring<date-time>nullable
    cancelAtPeriodEndboolean
    plan object
    idstring
    slugstring
    namestring
    descriptionstringnullable
    featuresstring[]
    priceCentsinteger

    Price of one period. A quarterly plan at $300 charges $300 every three months.

    currencystring
    intervalstring

    Billing period unit, as Stripe defines it.

    Possible values: [day, week, month, year]

    intervalCountinteger

    Multiplier on the unit: month with intervalCount: 3 is a quarterly plan.

    Default value: 1
    billingPeriodstring

    Name derived from the interval × intervalCount pair. custom is a period with no name (every four months, for instance).

    Possible values: [daily, weekly, monthly, quarterly, semiannual, annual, custom]

    includedNumbersinteger
    maxNumbersintegernullable
    monthlyMessageLimitintegernullable
    trialDaysintegernullable
    currentboolean

    Só em GET /billing/plans.

    billingModelstring

    flat charges a fixed price per period; per_number, per connected number beyond the included ones; graduated, by tiers (tiers).

    Possible values: [flat, per_number, graduated]

    tiers object[]

    Tiers of the graduated model, in order. Empty for the other models.

  • Array [
  • upTointegernullable

    Last quantity the tier covers; null on the last one.

    unitAmountCentsinteger
    flatAmountCentsinteger
  • ]
  • stackableboolean

    A flat plan bought in copies: two numbers on Start become one subscription with two copies, and each copy covers maxNumbers numbers.

    currencyPrices object

    The price of one period in other currencies, in cents, keyed by the lower-case currency. The base currency is in currency.

    property name*integer
    maxContactsintegernullable

    The plan’s caps on contacts, custom fields, recipients per campaign, inbox seats and message retention days. null means no cap.

    maxContactFieldsintegernullable
    maxRecipientsPerBroadcastintegernullable
    maxInboxSeatsintegernullable
    messageRetentionDaysintegernullable
    rateLimits object

    Per-minute limits of each API key on this plan, by category. null uses the platform default — see Rate limits.

    sendintegernullable
    mediaintegernullable
    defaultintegernullable
    familystringnullable

    Groups the period variants of the same plan, such as monthly and annual.

    badgestringnullable
    sellableboolean

    The plan can be bought right now.

    access object

    grace still goes through, with the X-Joinotify-Billing-Warning header; blocked answers 402.

    statestring

    Possible values: [ok, grace, blocked]

    reasonstringnullable
    graceEndsAtstring<date-time>nullable
    numbers object
    connectedinteger
    freeinteger
    planIncludedinteger
    includedinteger
    billableinteger
    maxintegernullable

    The number cap in force. maxSource says where it comes from: the plan, the trial or a decision by the operation.

    maxSourcestring

    Possible values: [plan, trial, override]

    entitlements object[]
  • Array [
  • productstring
    statusstring

    Possible values: [active, expired, revoked, invalid]

    includedNumbersinteger
    expiresAtstring<date-time>nullable
  • ]
  • trialDaysintegernullable
    usage objectnullable
    messagesinteger
    limitintegernullable
    BillingOverview
    {
    "enabled": true,
    "subscriptions": [
    {
    "id": "string",
    "provider": "stripe",
    "status": "active",
    "origin": "checkout",
    "quantityMode": "licensed",
    "plan": {
    "slug": "string",
    "name": "string",
    "family": "string",
    "interval": "string",
    "intervalCount": 0,
    "billingModel": "string"
    },
    "numbers": 0,
    "amountCents": 0,
    "currency": "string",
    "trialEndsAt": "2024-07-29T15:51:28.071Z",
    "currentPeriodEnd": "2024-07-29T15:51:28.071Z",
    "cancelAtPeriodEnd": true,
    "pausedUntil": "2024-07-29T15:51:28.071Z",
    "pendingUpdate": true,
    "pendingChange": {
    "kind": "upgrade",
    "planSlug": "string",
    "planName": "string",
    "numbers": 0,
    "effectiveAt": "2024-07-29T15:51:28.071Z"
    },
    "card": {
    "brand": "string",
    "last4": "string"
    },
    "actions": {
    "change": true,
    "cancel": true,
    "resume": true,
    "endTrial": true,
    "cancelPendingChange": true,
    "pause": true,
    "unpause": true
    }
    }
    ],
    "account": {
    "currency": "string",
    "card": {
    "brand": "string",
    "last4": "string"
    }
    },
    "plan": {
    "id": "string",
    "slug": "string",
    "name": "string",
    "description": "string",
    "features": [
    "string"
    ],
    "priceCents": 0,
    "currency": "string",
    "interval": "day",
    "intervalCount": 1,
    "billingPeriod": "daily",
    "includedNumbers": 0,
    "maxNumbers": 0,
    "monthlyMessageLimit": 0,
    "trialDays": 0,
    "current": true,
    "billingModel": "flat",
    "tiers": [
    {
    "upTo": 0,
    "unitAmountCents": 0,
    "flatAmountCents": 0
    }
    ],
    "stackable": true,
    "currencyPrices": {
    "usd": 799,
    "eur": 749
    },
    "maxContacts": 0,
    "maxContactFields": 0,
    "maxRecipientsPerBroadcast": 0,
    "maxInboxSeats": 0,
    "messageRetentionDays": 0,
    "rateLimits": {
    "send": 0,
    "media": 0,
    "default": 0
    },
    "family": "string",
    "badge": "string",
    "sellable": true
    },
    "access": {
    "state": "ok",
    "reason": "string",
    "graceEndsAt": "2024-07-29T15:51:28.071Z"
    },
    "numbers": {
    "connected": 0,
    "free": 0,
    "planIncluded": 0,
    "included": 0,
    "billable": 0,
    "max": 0,
    "maxSource": "plan"
    },
    "entitlements": [
    {
    "product": "string",
    "status": "active",
    "includedNumbers": 0,
    "expiresAt": "2024-07-29T15:51:28.071Z"
    }
    ],
    "trialDays": 0,
    "usage": {
    "messages": 0,
    "limit": 0
    }
    }