Documentation
Documentation
https://docs.togai.com/api-reference/getting-started
GettingStarted
https://docs.togai.com/docs/introduction
openapi: 3.0.3
info:
version: '1.0'
title: Togai Apis Accounts Price Plans API
contact:
email: engg@togai.com
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
description: APIs for Togai App
servers:
- description: Api endpoint
url: https://api.togai.com/
- description: Sandbox api endpoint
url: https://sandbox-api.togai.com/
security:
- bearerAuth: []
tags:
- name: Price Plans
description: Price Plan level calls
paths:
/price_plans:
post:
tags:
- Price Plans
summary: Create a Price Plan
description: 'This API let''s you create and price plan
Learn more about [Price Plans](https://docs.togai.com/docs/priceplan)
'
operationId: createPricePlan
parameters:
- $ref: '#/components/parameters/dry_run'
requestBody:
$ref: '#/components/requestBodies/CreatePricePlanRequest'
responses:
'200':
$ref: '#/components/responses/PricePlanResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'404':
$ref: '#/components/responses/ErrorResponse'
'429':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
get:
tags:
- Price Plans
summary: List Price Plans
description: Get a list of price plans
operationId: getPricePlans
parameters:
- $ref: '#/components/parameters/next_token'
- $ref: '#/components/parameters/page_size'
responses:
'200':
$ref: '#/components/responses/PricePlanPaginatedResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'404':
$ref: '#/components/responses/ErrorResponse'
'429':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/price_plans/{price_plan_id}:
patch:
tags:
- Price Plans
summary: Update a Price Plan
description: 'Update an existing price plan
Price Plans with status as DRAFT alone can be updated . Learn more about [Price plans](https://docs.togai.com/docs/priceplan) from our Guides
'
operationId: updatePricePlan
parameters:
- $ref: '#/components/parameters/price_plan_id'
requestBody:
$ref: '#/components/requestBodies/UpdatePricePlanRequest'
responses:
'200':
$ref: '#/components/responses/PricePlanResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'404':
$ref: '#/components/responses/ErrorResponse'
'429':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
get:
tags:
- Price Plans
summary: Get a Price Plan
description: Get a price plan details using price plan id
operationId: getPricePlan
parameters:
- $ref: '#/components/parameters/price_plan_id'
- $ref: '#/components/parameters/version_query'
responses:
'200':
$ref: '#/components/responses/PricePlanResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'404':
$ref: '#/components/responses/ErrorResponse'
'429':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
delete:
tags:
- Price Plans
summary: Archive a Price Plan
description: Archive a price plan
operationId: archivePricePlan
parameters:
- $ref: '#/components/parameters/price_plan_id'
responses:
'200':
$ref: '#/components/responses/BaseSuccessResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'404':
$ref: '#/components/responses/ErrorResponse'
'429':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/price_plans/{price_plan_id}/activate:
post:
tags:
- Price Plans
summary: Activate a Price Plan
description: Activate a price plan details using price plan id
operationId: activatePricePlan
parameters:
- $ref: '#/components/parameters/price_plan_id'
requestBody:
$ref: '#/components/requestBodies/ActivatePricePlanRequest'
responses:
'200':
$ref: '#/components/responses/PricePlanResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'404':
$ref: '#/components/responses/ErrorResponse'
'429':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/price_plans/{price_plan_id}/currencies:
post:
tags:
- Price Plans
summary: Add Currencies to a Price Plan
description: Add currencies to a price plan
operationId: addCurrencyToPricePlan
parameters:
- $ref: '#/components/parameters/price_plan_id'
requestBody:
$ref: '#/components/requestBodies/AddCurrencyToPricePlanRequest'
responses:
'200':
$ref: '#/components/responses/PricePlanResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'404':
$ref: '#/components/responses/ErrorResponse'
'429':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/price_plans/{price_plan_id}/currencies/{currency_id}:
delete:
tags:
- Price Plans
summary: Remove a Draft Currency From a Price Plan
description: Remove a draft currency from a price plan
operationId: removeCurrencyFromPricePlan
parameters:
- $ref: '#/components/parameters/price_plan_id'
- $ref: '#/components/parameters/currency_id'
responses:
'200':
$ref: '#/components/responses/PricePlanResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'404':
$ref: '#/components/responses/ErrorResponse'
'429':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/price_plans/migration:
post:
tags:
- Price Plans
summary: Create a Price Plan Migration
description: "Migrates accounts across price plans. This is an asynchronous process functioning on top of Togai's Jobs \nframework. Status of the created migrations can be obtained using the [Jobs APIs](https://docs.togai.com/api-reference/jobs/get-the-status-of-a-job)\n"
operationId: pricePlanMigration
requestBody:
$ref: '#/components/requestBodies/CreatePricePlanMigrationRequest'
responses:
'201':
$ref: '#/components/responses/BaseSuccessResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'404':
$ref: '#/components/responses/ErrorResponse'
'429':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
components:
responses:
BaseSuccessResponse:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BaseSuccessResponse'
ErrorResponse:
description: Error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
ErrorResponse:
summary: Error Message
value:
message: <Reason message>
PricePlanPaginatedResponse:
description: Response for list price plans request
content:
application/json:
schema:
$ref: '#/components/schemas/PricePlanPaginatedResponse'
examples:
PricePlanPaginatedResponse:
$ref: '#/components/examples/PricePlanPaginatedResponse'
PricePlanResponse:
description: Response for Create and Get price plan requests
content:
application/json:
schema:
$ref: '#/components/schemas/PricePlan'
examples:
PricePlanResponse:
$ref: '#/components/examples/PricePlan'
schemas:
LicenseRateCardConfig:
title: LicenseRateCardConfig
type: object
properties:
maxQuantity:
description: Max allowed quantity for a particular license in a price plan
type: integer
format: int64
example: 100
maxQuantityBreachAction:
$ref: '#/components/schemas/MaxQuantityBreachAction'
FixedFeeRateCard:
title: FixedFeeRateCard
type: object
required:
- id
- rateValues
- enableProration
properties:
id:
description: Unique Identifier of the attached AddOn
type: string
maxLength: 50
displayName:
type: string
description: Name of the attached AddOn
tag:
type: string
description: A tag string to group fixedFeeRateCards
invoiceTiming:
$ref: '#/components/schemas/InvoiceTiming'
type:
$ref: '#/components/schemas/FixedFeeType'
rateValues:
type: array
items:
$ref: '#/components/schemas/CurrencyRateValue'
enableProration:
type: boolean
example: false
recurrenceConfig:
$ref: '#/components/schemas/RecurrenceConfig'
CreatePricingRule:
type: object
additionalProperties: false
required:
- order
- name
- computation
- action
properties:
name:
description: Name of the pricing rule
type: string
order:
description: Order of the pricing rule
type: integer
format: int32
invoiceTiming:
$ref: '#/components/schemas/PricingRuleTiming'
condition:
description: JSON logic condition deciding whether to compute this pricing rule or not
type: string
computation:
description: JSON logic to be computed
type: string
action:
description: JSON logic to be computed
title: action
$ref: '#/components/schemas/PricingRuleAction'
FixedFeeType:
type: string
enum:
- ONE_TIME
- RECURRING
description: Fixed fee applies either for a one-time occurrence or for each cycle.
pricePlanMigrationConfig:
description: Migrate all account associations of a price plan to another price plan
type: object
additionalProperties: false
required:
- sourceId
- sourceVersion
- migrationMode
properties:
sourceId:
description: Id of source price plan
type: string
maxLength: 255
sourceVersion:
description: Version of the source price plan
type: integer
format: int32
targetId:
description: Id of target price plan
type: string
maxLength: 255
targetVersion:
description: Version of the target price plan
type: integer
format: int32
migrationMode:
type: string
enum:
- IMMEDIATE
- IMMEDIATE_IGNORE_OVERRIDE
- NEXT_CYCLE
- NEXT_CYCLE_IGNORE_OVERRIDE
retainStartOffsets:
type: boolean
description: "If this flag is true, current pricing cycle of the account on the date of association will continue rather \nthan the configurations of the newly associated price plan. Pricing cycle overrides specified using \n`pricePlanDetailsOverride` will take precedence over the pricing cycle configurations of \nthe new price plan that the account needs to migrate to. PricingCycleInterval of the existing plan and \nthe new plan must be same for this to work. We'll return a `400 BadRequest` otherwise.\nExamples:\n - Ongoing plan (1st Oct to 30th Oct) - {dayOffset: 1, monthOffset: NIL}\n New association (15th Oct to 15th Nov) of different price plan with retainStartOffsets option true \n will use the same pricing cycle configuration {dayOffset: 1, monthOffset: NIL} rather than using the\n pricing cycle configuration of the new price plan that the account needs to migrate to.\n - Ongoing plan (1st Oct to 30th Oct) - {dayOffset: 1, monthOffset: NIL}\n New association (1st Nov to 30th Nov) of different price plan with retainStartOffsets option true will\n throw a `400 BadRequest` as no existing price plan configuration found on date of association\n"
BillingConfig:
type: object
properties:
interval:
description: Represents the number of pricing cycles after which the rate card will be billed
type: integer
format: int64
example: 3
startOffset:
description: Represents the offset for pricing cycles after which the rate card will be billed
type: integer
format: int64
example: 5
SlabDetail:
type: object
description: The details of a slab
additionalProperties: false
required:
- startAfter
- priceType
- rate
properties:
startAfter:
type: number
priceType:
$ref: '#/components/schemas/PriceType'
slabConfig:
type: object
additionalProperties:
type: string
rate:
type: number
slabRateConfig:
type: object
additionalProperties:
type: string
ActivatePricePlanRequest:
description: Request to activate currencies of a price plan
type: object
additionalProperties: false
required:
- currencies
properties:
currencies:
description: List of currencies to activate
type: array
uniqueItems: true
items:
type: string
minLength: 1
CreatePricePlanDetails:
type: object
additionalProperties: false
required:
- supportedCurrencies
properties:
pricingCycleConfig:
description: Configuration for pricing cycle
$ref: '#/components/schemas/PricingCycleConfig'
supportedCurrencies:
description: List of currencies supported by the price plan
type: array
uniqueItems: true
items:
type: string
usageRateCards:
description: List of usage rate cards
type: array
items:
$ref: '#/components/schemas/UsageRateCard'
fixedFeeRateCards:
type: array
items:
$ref: '#/components/schemas/FixedFeeRateCard'
licenseRateCards:
type: array
items:
$ref: '#/components/schemas/LicenseRateCard'
billingEntitlementRateCards:
type: array
items:
$ref: '#/components/schemas/BillingEntitlementRateCard'
minimumCommitment:
$ref: '#/components/schemas/MinimumCommitment'
creditGrantRateCards:
type: array
items:
$ref: '#/components/schemas/CreditGrantRateCard'
entitlementOverageRateCards:
type: array
items:
$ref: '#/components/schemas/EntitlementOverageRateCard'
deferredRevenue:
description: "This option can be enabled while creating a price plan to opt for deferred revenue finalization.\ni.e, Togai will assume that the price plan may change any time during the pricing cycle and \nthereby does not compute the revenue in near-real time. \nThis gives the flexibility of editing rate cards in price plan from beginning of the pricing cycle.\nEnabling this mode comes with the following limitations.\n1. Following rate cards are not supported under a `deferredRevenue` plan\n * creditGrantRateCards,\n * billingEntitlementRateCards,\n * entitlementOverageRateCards,\n * IN_ADVANCE fixedFeeRateCards,\n * IN_ADVANCE licenseRateCards\n2. Metrics API return revenue metrics only after the grace period of the account's pricing cycle \n(i.e, only once the invoice becomes DUE)\n"
type: boolean
MaxQuantityBreachAction:
type: string
enum:
- DO_NOTHING
description: "Action to be taken when the license maxQuantity is breached: \n- `DO_NOTHING`: Refrain from granting any new licenses.\n"
PricePlanListData:
description: Data of price plan list
type: object
additionalProperties: false
required:
- id
- name
- version
- pricePlanDetails
- status
- usageMeters
- createdAt
- updatedAt
- type
properties:
id:
description: Identifier of price plan
type: string
maxLength: 50
name:
type: string
description: Name of the price plan
maxLength: 50
version:
type: integer
format: int32
description: Version of the price plan
description:
description: Description of price plan
type: string
maxLength: 255
status:
description: Status of Price plan
type: string
enum:
- DRAFT
- ACTIVE
- ARCHIVED
usageMeters:
type: array
description: Usage meters id linked to the price plan
items:
type: string
pricePlanDetails:
$ref: '#/components/schemas/PricePlanDetails'
pricingRules:
type: array
items:
$ref: '#/components/schemas/PricingRule'
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
type:
$ref: '#/components/schemas/PricePlanType'
PaginationOptions:
type: object
additionalProperties: false
properties:
pageSize:
type: integer
sortOrder:
type: string
enum:
- ASC
- DESC
CreatePricePlanDetailsOverride:
type: object
properties:
pricingCycleConfig:
$ref: '#/components/schemas/PricingCycleConfig'
supportedCurrencies:
type: array
uniqueItems: true
minItems: 1
items:
type: string
usageRateCards:
type: array
items:
$ref: '#/components/schemas/UsageRateCard'
billingEntitlementRateCards:
type: array
items:
$ref: '#/components/schemas/BillingEntitlementRateCard'
entitlementOverageRateCards:
type: array
items:
$ref: '#/components/schemas/EntitlementOverageRateCard'
fixedFeeRateCards:
type: array
items:
$ref: '#/components/schemas/FixedFeeRateCard'
licenseRateCards:
type: array
items:
$ref: '#/components/schemas/LicenseRateCard'
minimumCommitment:
$ref: '#/components/schemas/MinimumCommitment'
creditGrantRateCards:
type: array
items:
$ref: '#/components/schemas/CreditGrantRateCard'
PricingSchedule:
type: object
description: Represents effectiveness period and config of a price plan. i.e, price plan bound by time.
additionalProperties: false
required:
- id
- startDate
- endDate
- version
- isOverriden
properties:
id:
type: string
pricePlanDetails:
$ref: '#/components/schemas/PricePlanDetails'
startDate:
type: string
format: date-time
endDate:
type: string
format: date-time
version:
type: integer
format: int32
minimum: 1
pricingRules:
type: array
items:
$ref: '#/components/schemas/PricingRule'
isOverriden:
type: boolean
CreatePricePlanRequest:
description: Request to create a price plan
type: object
additionalProperties: false
required:
- name
- pricePlanDetails
properties:
name:
type: string
description: Name of the price plan
maxLength: 50
description:
description: Description of price plan
type: string
maxLength: 255
type:
$ref: '#/components/schemas/PricePlanType'
pricePlanDetails:
$ref: '#/components/schemas/CreatePricePlanDetails'
pricingRules:
type: array
items:
$ref: '#/components/schemas/CreatePricingRule'
LicenseRateCard:
title: LicenseRateCard
type: object
required:
- id
- rateValues
- ratePlan
- enableProration
properties:
id:
description: Unique Identifier of the attached AddOn
type: string
maxLength: 50
type:
$ref: '#/components/schemas/AddOnType'
displayName:
type: string
description: Name of the attached AddOn
tag:
type: string
description: A tag string to group licenseRateCards
invoiceTiming:
$ref: '#/components/schemas/InvoiceTiming'
usageCycle:
$ref: '#/components/schemas/UsageCycleInterval'
enableProration:
type: boolean
example: false
config:
$ref: '#/components/schemas/LicenseRateCardConfig'
ratePlan:
$ref: '#/components/schemas/RatePlan'
rateValues:
type: array
items:
$ref: '#/components/schemas/RateValue'
proratedRefundMode:
$ref: '#/components/schemas/ProratedRefundMode'
PricingRuleAction:
type: object
additionalProperties: false
required:
- type
properties:
type:
type: string
enum:
- ADD
- UPDATE
target:
type: string
id:
type: string
description:
type: string
metadata:
type: object
additionalProperties:
type: string
FeatureConfig:
description: Feature configuration object
type: object
additionalProperties: false
required:
- effectiveUntil
- featureCreditLimit
properties:
effectiveFrom:
type: string
format: duration
effectiveUntil:
type: string
format: duration
featureCreditLimit:
type: number
minimum: 0
PricingCycleInterval:
type: string
description: Interval field allow you to define the billing interval you would like to set
enum:
- WEEKLY
- MONTHLY
- QUARTERLY
- HALF_YEARLY
- ANNUALLY
PricePlanPaginatedResponse:
type: object
required:
- data
additionalProperties: false
properties:
data:
type: array
items:
$ref: '#/components/schemas/PricePlanListData'
nextToken:
type: string
context:
$ref: '#/components/schemas/PaginationOptions'
PricePlanDetails:
type: object
required:
- supportedCurrencies
- activeCurrencies
properties:
supportedCurrencies:
type: array
uniqueItems: true
items:
type: string
activeCurrencies:
type: array
uniqueItems: true
readOnly: true
items:
type: string
pricingCycleConfig:
$ref: '#/components/schemas/PricingCycleConfig'
usageRateCards:
type: array
items:
$ref: '#/components/schemas/UsageRateCard'
fixedFeeRateCards:
type: array
items:
$ref: '#/components/schemas/FixedFeeRateCard'
licenseRateCards:
type: array
items:
$ref: '#/components/schemas/LicenseRateCard'
billingEntitlementRateCards:
type: array
items:
$ref: '#/components/schemas/BillingEntitlementRateCard'
entitlementOverageRateCards:
type: array
items:
$ref: '#/components/schemas/EntitlementOverageRateCard'
minimumCommitment:
$ref: '#/components/schemas/MinimumCommitment'
creditGrantRateCards:
type: array
items:
$ref: '#/components/schemas/CreditGrantRateCard'
type:
$ref: '#/components/schemas/PricePlanType'
deferredRevenue:
type: boolean
BillingEntitlementRateCard:
description: Billing Entitlement rate card
type: object
additionalProperties: false
required:
- featureId
- featureConfigs
- ratePlan
- rateValues
- invoiceTiming
properties:
featureId:
type: string
featureConfigs:
type: array
minItems: 1
items:
$ref: '#/components/schemas/FeatureConfig'
tag:
type: string
description: A tag string to group rate cards
invoiceTiming:
$ref: '#/components/schemas/InvoiceTiming'
displayName:
type: string
description: Name your rate card, this will be used in invoice
ratePlan:
$ref: '#/components/schemas/RatePlan'
rateValues:
type: array
items:
$ref: '#/components/schemas/RateValue'
recurrenceConfig:
$ref: '#/components/schemas/RecurrenceConfig'
PricingRuleTiming:
type: string
enum:
- IN_ADVANCE
- IN_ARREARS
x-enum-varnames:
- IN_ADVANCE
- IN_ARREARS
description: 'If IN_ADVANCE, the rule will be applied on rate cards with invoice timing IN_ADVANCE .
If IN_ARREARS, the rule will be applied on rate cards with invoice timing IN_ARREARS .
'
CreatePricePlanMigrationRequest:
description: Request to create price plan migration request
allOf:
- $ref: '#/components/schemas/pricePlanMigrationConfig'
- type: object
properties:
requireConfirmation:
description: 'This field specifies whether to process job or to wait till the job is confirmed. Default value: false
'
type: boolean
UsageCycleInterval:
type: string
description: "UsageCycleInterval field allows you to treat the billing interval as many smaller windows. Revenue is calculated for\neach of the windows (usage cycles) and their sum is considered as the billing interval revenue.\nExample: 1 Named License being used across entire billing interval. Rate Value: $1/license\nCASE 1: Without usage cycle. $1 is charged for the entire billing cycle.\nCASE 2: Usage cycle is configure to be WEEKLY and the billing interval has 4 weeks. In this case $1 is charged \nfor each week totalling to $4 across for the billing interval\n"
enum:
- WEEKLY
- MONTHLY
- QUARTERLY
- HALF_YEARLY
- ANNUALLY
AddOnType:
type: string
enum:
- LICENSE
- FIXED_FEE
- CREDIT_GRANT
- NAMED_LICENSE
description: 'LICENSE: Addon can be used in license rate cards
FIXED_FEE: Addon can be used in fixed fee rate cards
CREDIT_GRANT: Addon can be used in credit grant rate cards
NAMED_LICENSE: Addon can be used in license rate cards
'
CreditGrantType:
type: string
enum:
- ONE_TIME
- RECURRING
description: Credit grant applies either for a one-time occurrence or for each cycle.
ErrorResponse:
type: object
additionalProperties: false
required:
- message
properties:
message:
type: string
description: error description
maxLength: 500
UpdatePricePlanRequest:
description: Request to update a price plan
type: object
additionalProperties: false
properties:
description:
description: Description of price plan
type: string
maxLength: 255
pricePlanDetails:
$ref: '#/components/schemas/CreatePricePlanDetailsOverride'
migrationMode:
type: string
enum:
- IMMEDIATE
- IMMEDIATE_IGNORE_OVERRIDE
- NEXT_CYCLE
- NEXT_CYCLE_IGNORE_OVERRIDE
- NONE
versionsToMigrate:
type: string
enum:
- LATEST_VERSION
- ALL_VERSION
pricingRules:
type: array
items:
$ref: '#/components/schemas/CreatePricingRule'
PricingRule:
type: object
description: Represents pricing rules of a price plan. i.e, price plan bound by time.
additionalProperties: false
required:
- id
- name
- version
- order
- computation
- action
properties:
id:
type: string
name:
type: string
version:
type: integer
format: int32
minimum: 1
invoiceTiming:
$ref: '#/components/schemas/PricingRuleTiming'
order:
type: integer
format: int32
minimum: 1
condition:
description: JSON logic condition deciding whether to compute this pricing rule or not
type: string
computation:
description: JSON logic to be computed
type: string
action:
description: JSON logic to be computed
title: action
$ref: '#/components/schemas/PricingRuleAction'
UsageRateCard:
type: object
required:
- usageMeterId
- ratePlan
- rateValues
properties:
displayName:
type: string
description: Name your rate card, this will be displayed in the Togai App
tag:
type: string
description: A tag string to group usageRateCards
usageMeterId:
type: string
example: um.1zYnCiM9Bpg.1zYn
ratePlan:
$ref: '#/components/schemas/RatePlan'
rateValues:
type: array
items:
$ref: '#/components/schemas/RateValue'
PricingCycleConfig:
type: object
description: Represents configurations related to pricing cycle
required:
- interval
- gracePeriod
properties:
interval:
$ref: '#/components/schemas/PricingCycleInterval'
startOffset:
type: object
description: "Represents the start of pricing cycle in terms of\n - dayOffset - number of days from beginning of week / month and\n - monthOffset - number of months from beginning of interval (quarter, half-year or year)\nNote: If a day with offset doesn't exist for a month, closest previous day is considered\nExamples:\nWEEKLY -\n - {dayOffset: 1, monthO
# --- truncated at 32 KB (72 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/togai/refs/heads/main/openapi/togai-price-plans-api-openapi.yml