Vapi · Schema

Subscription

AIVoiceAgentsRealtimeCPaaS

Properties

Name Type Description
id string This is the unique identifier for the subscription.
createdAt string This is the timestamp when the subscription was created.
updatedAt string This is the timestamp when the subscription was last updated.
type string This is the type / tier of the subscription.
status string This is the status of the subscription. Past due subscriptions are subscriptions with past due payments.
credits string This is the number of credits the subscription currently has. Note: This is a string to avoid floating point precision issues.
concurrencyCounter number This is the total number of active calls (concurrency) across all orgs under this subscription.
concurrencyLimitIncluded number This is the default concurrency limit for the subscription.
phoneNumbersCounter number This is the number of free phone numbers the subscription has
phoneNumbersIncluded number This is the maximum number of free phone numbers the subscription can have
concurrencyLimitPurchased number This is the purchased add-on concurrency limit for the subscription.
monthlyChargeScheduleId number This is the ID of the monthly job that charges for subscription add ons and phone numbers.
monthlyCreditCheckScheduleId number This is the ID of the monthly job that checks whether the credit balance of the subscription is sufficient for the monthly charge.
stripeCustomerId string This is the Stripe customer ID.
stripePaymentMethodId string This is the Stripe payment ID.
slackSupportEnabled boolean If this flag is true, then the user has purchased slack support.
slackChannelId string If this subscription has a slack support subscription, the slack channel's ID will be stored here.
hipaaEnabled boolean This is the HIPAA enabled flag for the subscription. It determines whether orgs under this subscription have the option to enable HIPAA compliance.
zdrEnabled boolean This is the ZDR enabled flag for the subscription. It determines whether orgs under this subscription have the option to enable ZDR.
dataRetentionEnabled boolean This is the data retention enabled flag for the subscription. It determines whether orgs under this subscription have the option to enable data retention.
hipaaCommonPaperAgreementId string This is the ID for the Common Paper agreement outlining the HIPAA contract.
stripePaymentMethodFingerprint string This is the Stripe fingerprint of the payment method (card). It allows us to detect users who try to abuse our system through multiple sign-ups.
stripeCustomerEmail string This is the customer's email on Stripe.
referredByEmail string This is the email of the referrer for the subscription.
autoReloadPlan object This is the auto reload plan configured for the subscription.
minutesIncluded number The number of minutes included in the subscription.
minutesUsed number The number of minutes used in the subscription.
minutesUsedNextResetAt string This is the timestamp at which the number of monthly free minutes is scheduled to reset at.
minutesOverageCost number The per minute charge on minutes that exceed the included minutes. Enterprise only.
providersIncluded array The list of providers included in the subscription. Enterprise only.
outboundCallsDailyLimit number The maximum number of outbound calls this subscription may make in a day. Resets every night.
outboundCallsCounter number The current number of outbound calls the subscription has made in the current day.
outboundCallsCounterNextResetAt string This is the timestamp at which the outbound calls counter is scheduled to reset at.
couponIds array This is the IDs of the coupons applicable to this subscription.
couponUsageLeft string This is the number of credits left obtained from a coupon.
invoicePlan object This is the invoice plan for the subscription.
pciEnabled boolean This is the PCI enabled flag for the subscription. It determines whether orgs under this subscription have the option to enable PCI compliance.
pciCommonPaperAgreementId string This is the ID for the Common Paper agreement outlining the PCI contract.
callRetentionDays number This is the call retention days for the subscription.
chatRetentionDays number This is the chat retention days for the subscription.
minutesIncludedResetFrequency string This is the minutes_included reset frequency for the subscription.
rbacEnabled boolean This is the Role Based Access Control (RBAC) enabled flag for the subscription.
platformFee number This is the platform fee for the subscription.
View JSON Schema on GitHub

JSON Schema

vapi-subscription-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/Subscription",
  "title": "Subscription",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "This is the unique identifier for the subscription."
    },
    "createdAt": {
      "format": "date-time",
      "type": "string",
      "description": "This is the timestamp when the subscription was created."
    },
    "updatedAt": {
      "format": "date-time",
      "type": "string",
      "description": "This is the timestamp when the subscription was last updated."
    },
    "type": {
      "type": "string",
      "description": "This is the type / tier of the subscription.",
      "enum": [
        "pay-as-you-go",
        "enterprise",
        "agency",
        "startup",
        "growth",
        "scale"
      ]
    },
    "status": {
      "type": "string",
      "description": "This is the status of the subscription. Past due subscriptions are subscriptions\nwith past due payments.",
      "enum": [
        "active",
        "frozen"
      ]
    },
    "credits": {
      "type": "string",
      "description": "This is the number of credits the subscription currently has.\n\nNote: This is a string to avoid floating point precision issues."
    },
    "concurrencyCounter": {
      "type": "number",
      "description": "This is the total number of active calls (concurrency) across all orgs under this subscription.",
      "minimum": 1
    },
    "concurrencyLimitIncluded": {
      "type": "number",
      "description": "This is the default concurrency limit for the subscription.",
      "minimum": 1
    },
    "phoneNumbersCounter": {
      "type": "number",
      "description": "This is the number of free phone numbers the subscription has",
      "minimum": 1
    },
    "phoneNumbersIncluded": {
      "type": "number",
      "description": "This is the maximum number of free phone numbers the subscription can have",
      "minimum": 1
    },
    "concurrencyLimitPurchased": {
      "type": "number",
      "description": "This is the purchased add-on concurrency limit for the subscription.",
      "minimum": 1
    },
    "monthlyChargeScheduleId": {
      "type": "number",
      "description": "This is the ID of the monthly job that charges for subscription add ons and phone numbers."
    },
    "monthlyCreditCheckScheduleId": {
      "type": "number",
      "description": "This is the ID of the monthly job that checks whether the credit balance of the subscription\nis sufficient for the monthly charge."
    },
    "stripeCustomerId": {
      "type": "string",
      "description": "This is the Stripe customer ID."
    },
    "stripePaymentMethodId": {
      "type": "string",
      "description": "This is the Stripe payment ID."
    },
    "slackSupportEnabled": {
      "type": "boolean",
      "description": "If this flag is true, then the user has purchased slack support."
    },
    "slackChannelId": {
      "type": "string",
      "description": "If this subscription has a slack support subscription, the slack channel's ID will be stored here."
    },
    "hipaaEnabled": {
      "type": "boolean",
      "description": "This is the HIPAA enabled flag for the subscription. It determines whether orgs under this\nsubscription have the option to enable HIPAA compliance."
    },
    "zdrEnabled": {
      "type": "boolean",
      "description": "This is the ZDR enabled flag for the subscription. It determines whether orgs under this\nsubscription have the option to enable ZDR."
    },
    "dataRetentionEnabled": {
      "type": "boolean",
      "description": "This is the data retention enabled flag for the subscription. It determines whether orgs under this\nsubscription have the option to enable data retention."
    },
    "hipaaCommonPaperAgreementId": {
      "type": "string",
      "description": "This is the ID for the Common Paper agreement outlining the HIPAA contract."
    },
    "stripePaymentMethodFingerprint": {
      "type": "string",
      "description": "This is the Stripe fingerprint of the payment method (card). It allows us\nto detect users who try to abuse our system through multiple sign-ups."
    },
    "stripeCustomerEmail": {
      "type": "string",
      "description": "This is the customer's email on Stripe."
    },
    "referredByEmail": {
      "type": "string",
      "description": "This is the email of the referrer for the subscription."
    },
    "autoReloadPlan": {
      "description": "This is the auto reload plan configured for the subscription.",
      "allOf": [
        {
          "$ref": "#/components/schemas/AutoReloadPlan"
        }
      ]
    },
    "minutesIncluded": {
      "type": "number",
      "description": "The number of minutes included in the subscription.",
      "minimum": 0
    },
    "minutesUsed": {
      "type": "number",
      "description": "The number of minutes used in the subscription.",
      "minimum": 0
    },
    "minutesUsedNextResetAt": {
      "format": "date-time",
      "type": "string",
      "description": "This is the timestamp at which the number of monthly free minutes is scheduled to reset at."
    },
    "minutesOverageCost": {
      "type": "number",
      "description": "The per minute charge on minutes that exceed the included minutes. Enterprise only."
    },
    "providersIncluded": {
      "description": "The list of providers included in the subscription. Enterprise only.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "outboundCallsDailyLimit": {
      "type": "number",
      "description": "The maximum number of outbound calls this subscription may make in a day. Resets every night.",
      "minimum": 1
    },
    "outboundCallsCounter": {
      "type": "number",
      "description": "The current number of outbound calls the subscription has made in the current day.",
      "minimum": 1
    },
    "outboundCallsCounterNextResetAt": {
      "format": "date-time",
      "type": "string",
      "description": "This is the timestamp at which the outbound calls counter is scheduled to reset at."
    },
    "couponIds": {
      "description": "This is the IDs of the coupons applicable to this subscription.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "couponUsageLeft": {
      "type": "string",
      "description": "This is the number of credits left obtained from a coupon."
    },
    "invoicePlan": {
      "description": "This is the invoice plan for the subscription.",
      "allOf": [
        {
          "$ref": "#/components/schemas/InvoicePlan"
        }
      ]
    },
    "pciEnabled": {
      "type": "boolean",
      "description": "This is the PCI enabled flag for the subscription. It determines whether orgs under this\nsubscription have the option to enable PCI compliance."
    },
    "pciCommonPaperAgreementId": {
      "type": "string",
      "description": "This is the ID for the Common Paper agreement outlining the PCI contract."
    },
    "callRetentionDays": {
      "type": "number",
      "description": "This is the call retention days for the subscription."
    },
    "chatRetentionDays": {
      "type": "number",
      "description": "This is the chat retention days for the subscription."
    },
    "minutesIncludedResetFrequency": {
      "type": "string",
      "description": "This is the minutes_included reset frequency for the subscription.",
      "enum": [
        "monthly",
        "annually"
      ]
    },
    "rbacEnabled": {
      "type": "boolean",
      "description": "This is the Role Based Access Control (RBAC) enabled flag for the subscription."
    },
    "platformFee": {
      "type": "number",
      "description": "This is the platform fee for the subscription."
    }
  },
  "required": [
    "id",
    "createdAt",
    "updatedAt",
    "type",
    "status",
    "credits",
    "concurrencyCounter",
    "concurrencyLimitIncluded",
    "concurrencyLimitPurchased"
  ]
}