openapi: 3.2.0 info: title: OpenAPI definition Subscription API version: v0 description: "# About MonetizeNow\n\nMonetizeNow provides a Quoting, Billing, and Usage platform built for the B2B SaaS enterprise. Our platform simplifies monetization for SMBs by uniting these functions in a single application.\n\n\n\n## Core Platform Features\n\nMonetizeNow provides:\n\n- Product catalog specifically built to handle enterprise-grade selling complexity of subscriptions, one-time, and usage.\n- A single system that supports all your sales channels natively: self-serve, CRM, Partners, In-Product, and Marketplaces.\n- Complex enterprise quoting, flexible rules and approval engine, E-sign, Clean order forms\n- Broad API support for integrating with existing and future systems.\n \n\n# Getting Started with MonetizeNow APIs\n\nThe MonetizeNow APIs are RESTful libraries that enable developers to integrate with the MonetizeNow platform for the complete revenue life cycle.\n\n## Authentication\n\nThe preferred authentication method is a generated API key.\n\n### Getting an API Key\n\nYou can request your API Key from your MonetizeNow tenant:\n\n1. Navigate to the **Settings -> API Keys** page to generate an API key for your tenant.\n \n\n\n\n1. Click **New Api Key**.\n2. Enter a name for the key as an identifier.\n3. Click **Ok**.\n \n\n\n\n1. Copy and store your key in a safe place. \n For security reasons, this is the only time we display it.\n2. Click **Ok**.\n \n\nYou can now use this API key to interact with all MonetizeNow APIs.\n\n## Pagination\n\nThe MonetizeNow API provides pagination attributes for methods that return multiple records.\n\n**pageSize**\\=n \npageSize indicates the number of elements in the page.\n\n**currentPage**\\=n \ncurrentPage indicates the page to start with.\n\nUse currentPage and pageSize to return a sublist from a list of sorted resources where the sort criteria is defaulted or set via API:\n\n`GET /api/accounts?currentPage=3&pageSize=20`\n\n## Error Handling\n\nThe MonetizeNow API follows standard RESTful error handling. It returns the following error types:\n\n| Title | Code | Description |\n| --- | --- | --- |\n| Bad request | 400 | The request submitted was not acceptable. Missing parameters or a malformed request body will produce this error |\n| Resource not found by ID | 404 | The request submitted an identifier that does not match a record for the target entity. |\n| Resource is not in the required state | 409 | The identified resource is not an eligible target. For example, attempting to restore an offering that has not been archived returns a 409. |\n| Internal server error | 500 | An unexpected error occurred. Contact MonetizeNow Support. |\n\n## Webhooks\n\nUse webhooks to integrate MonetizeNow with external services. The following events are supported.\n\n| Entity | Event | Occurs When |\n| --- | --- | --- |\n| Account | account.created | an account is created |\n| | account.updated | an account is updated |\n| Contact | contact.created | a contact is created |\n| | contact.updated | a contact is updated |\n| Quote | quote.created | a quote is created |\n| | quote.updated | a quote is updated |\n| | quote.accepted | a quote is accepted |\n| | quote.processed | a quote is processed |\n| | quote.cancelled | a quote is cancelled |\n| | quote.offering.created | an offering is added to a quote |\n| | quote.offering.updated | an offering on a quote is updated |\n| | quote.offering.deleted | an offering is deleted from a quote |\n| Opportunity | opportunity.created | an opportunity is created |\n| | opportunity.updated | an opportunity is updated |\n| Offering | offering.created | an offering is created |\n| | offering.updated | an offering is updated |\n| Contract | contract.created | a contract is created |\n| | contract.updated | a contract is updated |\n| Rate | rate.created | a rate is created |\n| | rate.updated | a rate is updated |\n| | rate.deleted | a rate is deleted |\n| | price.deleted | a rate's price is deleted |\n| Bill Group | dunning.step.tiggered | a dunning step is triggered |\n\n# Concepts\n\n## Product Catalog\n\nThe core of the MonetizeNow platform is the product catalog.\n\nThe entities that make up the Product Catalog are:\n\n- Product\n- Usage Type\n- Price\n- Offering\n- Rate\n \n\nThe **Product** is the starting point for any quote, the simplest line item. If that line item has a usage component, then a **Usage Type** is assigned. A single Product has a **Price**. However, a Product can be one of several included in an **Offering**, or bundle. Offerings are available at one \\*_Rate \\*_or more. A Rate is a different way to price products and model an offering. You can create multiple Rates of different currencies and billing frequencies.\n\nFor example, the Products in a product catalog might include software access, services, setup fees, and API calls. Your organization may allow a customer to order a single set of 200 API calls, or you may provide a package of support hours and API calls as an Offering. Prices might be directly related to set of API calls or calculated by means of an \"Get Started\" Offering and Rate for API access.\n\n## Accounts\n\nAccounts represent your existing and potential customers.\n\nThe entities related to account records include:\n\n- Contacts\n- Bill Groups\n- Subscriptions\n- Quotes\n- Contracts\n- Invoices\n- Credits\n- Payments\n \n\nEach **Account** represents a current or potential customer. **Contacts** are people your organization has interacted with. **Bill Groups** represent departments, divisions, or other separate destinations for billing within that business. A **Subscription** represents a renewable request for an **Offering**. A **Quote** is a formal statement of what is being ordered and how much the items will cost. A **Contract** stores information on the Subscriptions that have been quoted and captures the result of Quote acceptance. An **Invoice** results from the agreement to make a purchase. It includes items and costs, as well as payment conditions. An Invoice might include **Credits** as adjustments to the Invoice, reducing the final amount due.\n\nFor example, you might have an Account with Acme, Inc. During the sales process, your team has interacted with John, Paul, and Janis, who are now Contacts. John and Paul are in the Construction Bill Group, while Janis is in the Demolition Bill Group, reflecting their organization's structure and different payment policies. Once Janis requests a Quote for Offering A, your team adds that Offering to her Subscription. A Contract is included to specify the parameters of customer support limitations for onboarding. When Janis agrees to the purchase, your team generates an Invoice, including Credits for participation in a webinar.\n\n### Bill Day and Invoices\n\nEach **Bill Group** has a **Bill Day** field. Bill Day specifies the day of the month on which **Invoices** will be generated. Bill Day defaults to the day on which the Bill Group was created unless you specify an alternate number in the Bill Day field.\n\n### Quotes and Future Start Dates\n\nYou might set the **Start Date** of a **Quote** to a future date, maybe to align with your customer's budgeting process. That date automatically applies to the associated **Contract**. In this case, both the Contract and the quoted **Subscriptions** remain in a Pending state until the Start Date.\n\n### Payment Methods\n\nThe **Payment Methods** available to a **Bill Group** represent the payment service providers you have integrated with your MonetizeNow tenant. Payments made through integrated gateways are reflected in **Payment** records credited to the Bill Group.\n\n# Sample Workflows\n\n## Sending Usage/Consumption Data\n\nSending Usage Events to the MonetizeNow Usage Service requires calls to both the CPQ/Billing API and the Usage API. Here's a basic workflow:\n\n| Task | Call |\n| --- | --- |\n| Get Subscriptions for Account | GET /api/accounts/{accountId}/subscriptions |\n| Determine which Usage Types apply to each Subscription | |\n| Post usage Events by Subscription | POST /events |\n\n# Object Life Cycles\n\n## Quotes\n\nThe Quote life cycle depends on whether the request for a new quote is actually a renewal or amendment of an existing quote. Event for a customer who has ordered before, any difference in the underlying contract makes a the new quote route necessary. The following diagram outlines the differences in the life cycles of new quotes and renewals.\n\n\n\n" servers: - url: https://api.monetizeplatform.com tags: - name: Subscription description: Subscriptions are things your customers have been sold or signed up for that can be billed on a recurring basis. paths: /api/accounts/{accountId}/subscriptions: get: tags: - Subscription summary: Get a list of subscriptions by providing an accountId description: Get a list of subscriptions by an accountId operationId: getSubscriptionByAccountId parameters: - name: accountId in: path required: true schema: type: string example: acct_jgPH8G33rELY6 example: acct_jgPH8G33rELY6 - name: id in: query schema: type: string example: subs_9TkhFbhZ5oY4q - name: billGroupId in: query schema: type: string example: bilg_tDbC2FxuCwQox - name: offeringId in: query schema: type: string example: offr_iJuVJLgQKIFc9 - name: rateId in: query schema: type: string example: rate_fvCOerGF0bC8JuV2 - name: customId in: query schema: type: string example: 6b48c3f6-852e-4cd7-b4f4-a35ad60ad483 - name: description in: query schema: type: string example: Netflix Monthly Subscription - name: addOn in: query schema: type: string example: Add On - name: periodStartDate in: query schema: type: string example: '2022-04-07' - name: periodEndDate in: query schema: type: string example: '2022-04-07' - name: prorationDate in: query schema: type: string example: '2022-04-07' - name: billingStatus in: query schema: type: string example: ACTIVE - name: provisioningStatus in: query schema: type: string example: ACTIVE - name: sort in: query schema: type: string example: 20 - name: currentPage in: query schema: type: string example: 1 - name: pageSize in: query schema: type: string example: 10 - name: x-api-key in: header description: x-api-key is an authentication or authorization token used in API requests to verify the identity and permissions of the client required: true schema: type: string example: TYQ1YzM3NWItZjQzMi00NDYwLTlmOWYtN2UwNzI5YzM2ZmV0 responses: '200': description: Get a list of subscriptions by an accountId content: application/json: schema: $ref: '#/components/schemas/com.monytyz.billing.subscription.dto.subscription.SubscriptionListDto' '400': description: Bad Request '500': description: Internal server error. Please contact the support team. /api/billGroups/{billGroupId}/subscriptions: get: tags: - Subscription summary: Get a list of subscriptions by providing a billGroupId description: Get a list of subscriptions by providing a billGroupId operationId: getAllSubscriptionByBillGroupId parameters: - name: billGroupId in: path required: true schema: type: string example: bilg_tDbC2FxuCwQox example: bilg_tDbC2FxuCwQox - name: id in: query schema: type: string example: subs_9TkhFbhZ5oY4q - name: offeringId in: query schema: type: string example: offr_iJuVJLgQKIFc9 - name: rateId in: query schema: type: string example: rate_fvCOerGF0bC8JuV2 - name: customId in: query schema: type: string example: 6b48c3f6-852e-4cd7-b4f4-a35ad60ad483 - name: description in: query schema: type: string example: Netflix Monthly Subscription - name: addOn in: query schema: type: string example: Add On - name: periodStartDate in: query schema: type: string example: '2022-04-07' - name: periodEndDate in: query schema: type: string example: '2022-04-07' - name: prorationDate in: query schema: type: string example: '2022-04-07' - name: billingStatus in: query schema: type: string example: ACTIVE - name: provisioningStatus in: query schema: type: string example: ACTIVE - name: sort in: query schema: type: string example: 20 - name: currentPage in: query schema: type: string example: 1 - name: pageSize in: query schema: type: string example: 10 - name: x-api-key in: header description: x-api-key is an authentication or authorization token used in API requests to verify the identity and permissions of the client required: true schema: type: string example: TYQ1YzM3NWItZjQzMi00NDYwLTlmOWYtN2UwNzI5YzM2ZmV0 responses: '200': description: Get a list of subscriptions by providing a billGroupId content: application/json: schema: $ref: '#/components/schemas/com.monytyz.billing.subscription.dto.subscription.SubscriptionListDto' '400': description: Bad Request '500': description: Internal server error. Please contact the support team. /api/billGroups/{billGroupId}/subscriptions/{subscriptionId}: get: tags: - Subscription summary: Get a list of subscriptions by providing a billGroupId and a subscriptionId description: Get a list of subscriptions by providing a billGroupId and a subscriptionId operationId: getSubscriptionByBillGroupIdAndSubscriptionId parameters: - name: billGroupId in: path required: true schema: type: string example: bilg_tDbC2FxuCwQox example: bilg_tDbC2FxuCwQox - name: subscriptionId in: path required: true schema: type: string example: subs_9TkhFbhZ5oY4q example: subs_9TkhFbhZ5oY4q - name: x-api-key in: header description: x-api-key is an authentication or authorization token used in API requests to verify the identity and permissions of the client required: true schema: type: string example: TYQ1YzM3NWItZjQzMi00NDYwLTlmOWYtN2UwNzI5YzM2ZmV0 responses: '200': description: Get a list of subscriptions by providing a billGroupId and a subscriptionId content: application/json: schema: $ref: '#/components/schemas/com.monytyz.billing.subscription.dto.subscription.SubscriptionDetailDto' '400': description: Bad Request '404': description: Get object by id '500': description: Internal server error. Please contact the support team. /api/subscriptions/{subscriptionId}: get: tags: - Subscription summary: Get subscription by Id description: Get subscription by Id operationId: getSubscriptionById parameters: - name: subscriptionId in: path required: true schema: type: string example: subs_9TkhFbhZ5oY4q example: subs_9TkhFbhZ5oY4q - name: includeInactiveItems in: query required: false schema: type: boolean default: false - name: x-api-key in: header description: x-api-key is an authentication or authorization token used in API requests to verify the identity and permissions of the client required: true schema: type: string example: TYQ1YzM3NWItZjQzMi00NDYwLTlmOWYtN2UwNzI5YzM2ZmV0 responses: '200': description: Get subscription by Id content: application/json: schema: $ref: '#/components/schemas/com.monytyz.billing.subscription.dto.subscription.SubscriptionDetailDto' '400': description: Bad Request '404': description: Get object by id '500': description: Internal server error. Please contact the support team. components: schemas: com.monytyz.billing.catalog.dto.prepaidcredit.OneTimePrePaidCreditConfigData: required: - type type: object properties: type: type: string discriminator: propertyName: type com.monytyz.billing.catalog.dto.product.ProductDto: required: - id type: object properties: createdBy: type: string description: Identifier for the user who created the record example: usr_X0XZ05bvkrB1RpLS createDate: type: string description: Timestamp of when the record was created format: date-time lastModifiedBy: type: string description: Identifier for the user who last modified the record example: usr_X0XZ05bvkrB1RpLS modifyDate: type: string description: Timestamp of when the record was last modified format: date-time id: type: string description: Unique identifier for the product example: prod_nStU73ZJahgBSxnh customId: type: string description: A user provided identifier for the product example: c993f52b-0bbd-454b-9849-fd6c1991efb6 financeId: type: string description: This is the Income Account ID from the accounting system example: GL-123 name: type: string description: Name of the product example: Netflix Premium description: type: string description: Description of the product example: Netflix Monthly Premium status: type: string description: Status of the product, which indicates if the product is ACTIVE or INACTIVE enum: - ACTIVE - INACTIVE productType: type: string description: Indicates the type of the product, which can be USAGE, ONETIME MIN_COMMIT, ADVANCE, ARREARS, ONETIME_PREPAID_CREDIT etc. enum: - ADVANCE - ARREARS - USAGE - ONETIME - ONETIME_PREPAID_CREDIT - MIN_COMMIT usageTypes: uniqueItems: true type: array description: 'Definition for the type of usage for usage products. It accepts list of usage types. A usage product can be multiple things. I.E. for ISP connection usage type might be Bandwidth with unit Megabytes, for telephone calls usage type might be time with unit as minutes. ' items: $ref: '#/components/schemas/com.monytyz.billing.catalog.dto.usage.UsageTypeDto' oneTimePrepaidCreditConfig: $ref: '#/components/schemas/com.monytyz.billing.catalog.dto.prepaidcredit.OneTimePrePaidCreditConfigData' sku: type: string description: Stock Keeping Unit. Used for identifying a specific stock of a product. example: UGG-BB-PUR-06 recognitionMethod: type: string description: Recognition method for the product enum: - IMMEDIATE - EVENLY_MONTHLY_IN_ADVANCE locked: type: boolean description: Indicates if a product is locked or not. When a product is used in offering, it's locked and can not be deleted. customFields: type: object additionalProperties: type: object description: User configured custom fields for the product description: User configured custom fields for the product taxItemCode: type: string description: Tax code identifier for the product example: B13E4D91-B3C9-4847-BB9E-58B925ECF033 taxExempt: type: boolean description: Boolean field to identify if the product is tax-exempt example: false description: Product details associated with the subscription item com.monytyz.billing.subscription.dto.subscriptionitem.SubscriptionItemDetailDto: type: object properties: id: type: string description: Unique identifier for the subscription item example: suit_9TkhFbhZ5oY4q2fw description: type: string description: Description of the subscription item example: Netflix Subscription units: type: number description: Unit/Quantity of the subscription item within a subscription format: double example: 5 product: $ref: '#/components/schemas/com.monytyz.billing.catalog.dto.product.ProductDto' orderItemId: type: string example: orit_GA1jSFv4Lzs3V34y customPrice: $ref: '#/components/schemas/com.monytyz.billing.catalog.dto.customprice.CustomPriceDto' applicableItemDiscounts: uniqueItems: true type: array description: List of applicable item discounts items: $ref: '#/components/schemas/com.monytyz.billing.subscription.dto.subscriptionitem.SubscriptionItemDiscountDto' quoteItemId: type: string description: Unique identifier for the quote item example: qtit_GA1jSFv4Lzs3V34y isActive: type: boolean description: List of subscription items com.monytyz.billing.catalog.dto.usage.UsageTypeDto: type: object properties: createdBy: type: string description: Identifier for the user who created the record example: usr_X0XZ05bvkrB1RpLS createDate: type: string description: Timestamp of when the record was created format: date-time lastModifiedBy: type: string description: Identifier for the user who last modified the record example: usr_X0XZ05bvkrB1RpLS modifyDate: type: string description: Timestamp of when the record was last modified format: date-time id: type: string description: Unique identifier for a usage type name: type: string description: Display name of a usage type pluralName: type: string description: Name of a usage type in plural form description: type: string description: Description of a usage type unitName: type: string description: Unit for the usage. I.E. GB for bandwidth usage decimalPlaces: type: integer description: Decimal places is used to count fractional precision for a usage unit format: int32 example: 2 status: type: string description: Active status for a UsageType. Can be ACTIVE/INACTIVE enum: - ACTIVE - INACTIVE com.monytyz.billing.customer.dto.account.AccountData: required: - accountType - customId - id - name type: object properties: id: type: string description: Unique identifier for the account example: acct_jgPH8G33rELY6LQa name: type: string description: Name of the account. example: Demo Account customId: type: string description: A user provided identifier for the account example: 6b48c3f6-852e-4cd7-b4f4-a35ad60ad483 accountType: type: string description: Type of the account. An account can be CUSTOMER, PARTNER example: CUSTOMER enum: - CUSTOMER - PARTNER description: Account details associated with the subscription example: id: acct_VbeTm9zhLf7pw name: Demo Account customId: 6b48c3f6-852e-4cd7-b4f4-a35ad60ad483 com.monytyz.billing.subscription.dto.subscriptionitem.SubscriptionItemDiscountDto: type: object properties: id: type: string description: Unique identifier for the subscription item example: suit_9TkhFbhZ5oY4q2fw discount: $ref: '#/components/schemas/com.monytyz.billing.catalog.dto.discount.DiscountDto' applicableDiscountType: type: string description: Type of discount. Valid values are PERCENTAGE, FLAT example: PERCENTAGE enum: - FLAT - PERCENTAGE applicableDiscountAmount: type: number description: Discount amount of the subscription example: 100 description: List of applicable item discounts com.monytyz.billing.subscription.dto.subscription.SubscriptionListDto: required: - content - totalElements - totalPages type: object properties: content: type: array items: $ref: '#/components/schemas/com.monytyz.billing.subscription.dto.subscription.SubscriptionDetailDto' totalElements: type: integer format: int64 totalPages: type: integer format: int32 pageable: $ref: '#/components/schemas/MNPageable' MNPageable: required: - pageNumber - pageSize type: object properties: pageNumber: type: integer format: int32 pageSize: type: integer format: int32 com.monytyz.billing.catalog.dto.offering.OfferingDto: type: object properties: createdBy: type: string description: Identifier for the user who created the record example: usr_X0XZ05bvkrB1RpLS createDate: type: string description: Timestamp of when the record was created format: date-time lastModifiedBy: type: string description: Identifier for the user who last modified the record example: usr_X0XZ05bvkrB1RpLS modifyDate: type: string description: Timestamp of when the record was last modified format: date-time id: type: string example: offer_iJuVJLgQKIFc98RE customId: type: string example: c993f52b-0bbd-454b-9849-fd6c1991efb6 name: type: string example: Netflix description: type: string example: Premium Subscription status: type: string enum: - ACTIVE - INACTIVE - CANCELED - PENDING - EXPIRED - ARCHIVED type: type: string enum: - SUBSCRIPTION - ONETIME - MIN_COMMIT - CUSTOM_PERCENT_OF_TOTAL startDate: type: string format: date endDate: type: string format: date locked: type: boolean financeId: type: string description: Offering details associated with the subscription com.monytyz.billing.catalog.dto.discount.DiscountDto: type: object properties: createdBy: type: string description: Identifier for the user who created the record example: usr_X0XZ05bvkrB1RpLS createDate: type: string description: Timestamp of when the record was created format: date-time lastModifiedBy: type: string description: Identifier for the user who last modified the record example: usr_X0XZ05bvkrB1RpLS modifyDate: type: string description: Timestamp of when the record was last modified format: date-time id: type: string description: Unique identifier for the discount example: disc_TbFRB6xKDHScB name: type: string description: Name of the discount example: Early payment flat discount description: type: string description: Description of the discount example: Discount for early payment discountType: type: string description: Type of discount. Valid values are PERCENTAGE, FLAT example: FLAT enum: - FLAT - PERCENTAGE status: type: string description: Status of the discount. Valid values are ACTIVE, INACTIVE, PENDING, EXPIRED example: ACTIVE enum: - ACTIVE - INACTIVE - PENDING - EXPIRED discountCode: type: string description: Code for the discount example: EARLY_PAYMENT quoteId: type: string description: Associated Quote Id for the discount example: quot_oKEMgylKzkIWR discountAmount: type: number description: Amount of the discount example: 100 currency: type: string description: Currency of the discount example: USD enum: - AUD - BYN - CAD - CNY - DKK - EUR - GBP - INR - ISK - MYR - NOK - SEK - SGD - TWD - USD durationType: type: string description: Duration type of the discount. Valid values are ONE_TIME, UNLIMITED, LIMITED example: ONE_TIME enum: - ONE_TIME - UNLIMITED - LIMITED durationMonths: type: integer description: Duration of the discount format: int32 example: 12 maxUses: type: integer description: Maximum number of times the discount can be used format: int32 example: 10 remainingUses: type: integer description: Remaining number of times the discount can be used format: int32 example: 5 startDate: type: string description: Start date of the discount format: date example: '2021-01-01' endDate: type: string description: End date of the discount format: date example: '2021-12-31' autoRemove: type: boolean description: Boolean value indicating if the discount should be removed automatically example: true accountId: type: string description: Account Id for the discount example: acct_jHhOQjAs87kNj scopeProductId: type: string description: Product Id for the discount example: prod_N7oFTpLCwMRCo scopeOfferingId: type: string description: Offering Id for the discount example: offr_xO00qdIFuMsQy locked: type: boolean description: Boolean value indicating if the discount is locked example: false lifecyclePolicies: uniqueItems: true type: array description: List of lifecycle policies for the discount example: - EXCLUDE_FROM_xRENEWAL items: type: string description: List of lifecycle policies for the discount example: '["EXCLUDE_FROM_xRENEWAL"]' enum: - EXCLUDE_FROM_RENEWAL description: Discount details associated with the subscription com.monytyz.billing.catalog.dto.customprice.CustomPriceDto: type: object properties: createdBy: type: string description: Identifier for the user who created the record example: usr_X0XZ05bvkrB1RpLS createDate: type: string description: Timestamp of when the record was created format: date-time lastModifiedBy: type: string description: Identifier for the user who last modified the record example: usr_X0XZ05bvkrB1RpLS modifyDate: type: string description: Timestamp of when the record was last modified format: date-time id: type: string example: cstm_9TkhFbhZ5oY4q2fw amount: type: number example: 100000 description: Custom price object associated with the subscription item com.monytyz.billing.subscription.dto.subscription.SubscriptionDetailDto: required: - id type: object properties: createdBy: type: string description: Identifier for the user who created the record example: usr_X0XZ05bvkrB1RpLS createDate: type: string description: Timestamp of when the record was created format: date-time lastModifiedBy: type: string description: Identifier for the user who last modified the record example: usr_X0XZ05bvkrB1RpLS modifyDate: type: string description: Timestamp of when the record was last modified format: date-time id: type: string description: Unique identifier for the subscription example: subs_9TkhFbhZ5oY4q referenceId: type: string description: A user provided reference identifier for the subscription example: Sub1 customId: type: string description: A user provided identifier for the subscription example: c993f52b-0bbd-454b-9849-fd6c1991efb6 account: $ref: '#/components/schemas/com.monytyz.billing.customer.dto.account.AccountData' billGroupId: type: string description: Unique identifier for the bill group example: bilg_tDbC2FxuCwQox offering: $ref: '#/components/schemas/com.monytyz.billing.catalog.dto.offering.OfferingDto' rateId: type: string description: Unique identifier for the rate example: rate_9TkhFbhZ5oY4q subscriptionItems: uniqueItems: true type: array description: List of subscription items items: $ref: '#/components/schemas/com.monytyz.billing.subscription.dto.subscriptionitem.SubscriptionItemDetailDto' description: type: string description: Description of the subscription example: Monthly Subscription nextBillDate: type: string description: Next bill date of the subscription format: date example: '2020-02-01' nextUsageBillDate: type: string description: Next usage bill date of the subscription format: date example: '2020-02-01' addOn: type: boolean description: Boolean value indicating if it is an Add-on subscription example: false billingStatus: type: string description: Billing status of the subscription example: ACTIVE enum: - ACTIVE - CANCELED - PENDING - SUSPENDED provisioningStatus: type: string description: Provisioning status of the subscription example: PROVISIONED enum: - CANCELED - PENDING - PROVISIONED - SUSPENDED - INACTIVE - DELETED discounts: uniqueItems: true type: array description: Discount details associated with the subscription items: $ref: '#/components/schemas/com.monytyz.billing.catalog.dto.discount.DiscountDto' periodStartDate: type: string description: Start date of the billing period format: date-time periodEndDate: type: string description: End date of the billing period format: date-time usagePeriodStart: type: string description: Start date of the usage period format: date-time usagePeriodEnd: type: string description: End date of the usage period format: date-time prorationDate: type: string description: Proration date of the subscription format: date example: '2020-01-15' mrr: type: number description: Monthly recurring revenue of the subscription example: 10 locked: type: boolean description: Boolean value indicating if the subscription is locked example: false quoteOfferingId: type: string description: Unique identifier for the quote offering example: quof_WXC0CKpjXaWUB