> ## Documentation Index
> Fetch the complete documentation index at: https://docs.togai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List rate cards of a price plan

> List rate cards of a price plan



## OpenAPI

````yaml get /v2/price_plans/{price_plan_id}/rate_cards
openapi: 3.0.3
info:
  version: '1.0'
  title: Togai Apis
  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: Customers
    description: Customer level calls
  - name: Accounts
    description: Account level calls
  - name: Event Schemas
    description: Event Schema level calls
  - name: Usage Meters
    description: Usage Meter level calls
  - name: Price Plans
    description: (DEPRECATED) Price Plan level calls
  - name: PricePlanV2
    description: Price Plan V2 level calls
  - name: Schedules
    description: Account Schedule level calls
  - name: Pricing Rules
    description: Pricing Rules level calls
  - name: Settings
    description: Settings
  - name: Price Experimentation
    description: Price Experimentation apis
  - name: InvoiceGroups
    description: Invoice Group level calls
  - name: Organization
    description: Organization level calls
  - name: FileStorage
    description: File Storage level calls
  - name: Aliases
    description: Alias level calls
  - name: Reports
    description: Report level calls
  - name: ReportTemplates
    description: Report Template level calls
  - name: Customer Portal
    description: Portal level calls
  - name: Alerts
    description: Alert level calls
  - name: Event Management
    description: APIs for getting events ingested in Togai
    externalDocs:
      description: docs
      url: https://togai.com/docs/billing/events
  - name: Metrics
    description: APIs for getting Togai metrics
    externalDocs:
      description: docs
      url: https://togai.com/docs/metrics
  - name: Licenses
    description: APIs for getting or updating license records in Togai
  - name: Entitlements
    description: APIs related to entitlements
  - name: Invoices
    description: Invoices API
  - name: Credits
    description: Credits API
  - name: Wallet
    description: Wallet API
  - name: InvoiceTemplates
    description: InvoiceTemplates API
  - name: InvoiceSequence
    description: InvoiceSequence API
  - name: Payments
    description: Payments API
  - name: Authentication
    description: Authentication API
externalDocs:
  description: Find out more about Togai
  url: https://docs.togai.com/docs
paths:
  /v2/price_plans/{price_plan_id}/rate_cards:
    get:
      tags:
        - PricePlanV2
      summary: List rate cards of a price plan
      description: List rate cards of a price plan
      operationId: listPricePlanRateCards
      parameters:
        - $ref: '#/components/parameters/price_plan_id'
        - $ref: '#/components/parameters/next_token'
        - $ref: '#/components/parameters/page_size'
      responses:
        '200':
          $ref: '#/components/responses/RateCardPaginatedResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
components:
  parameters:
    price_plan_id:
      in: path
      name: price_plan_id
      required: true
      schema:
        type: string
        maxLength: 50
        example: pp.1zYnCiM9Bpg.lv25y
    next_token:
      in: query
      name: nextToken
      required: false
      schema:
        type: string
        example: >-
          eyJsYXN0SXRlbUlkIjogInN0cmluZyIsICJwYWdlU2l6ZSI6IDEwMCwgInNvcnRPcmRlciI6ICJhc2MifQ==
    page_size:
      in: query
      name: pageSize
      required: false
      schema:
        type: number
        example: 10
  responses:
    RateCardPaginatedResponse:
      description: Response for list rate cards request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RateCardPaginatedResponse'
    ErrorResponse:
      description: Error response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            ErrorResponse:
              summary: Error message
              value:
                message: <Reason message>
  schemas:
    RateCardPaginatedResponse:
      description: Paginated response for rate card
      type: object
      additionalProperties: false
      required:
        - data
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/RateCard'
        nextToken:
          type: string
    ErrorResponse:
      type: object
      additionalProperties: false
      required:
        - message
      properties:
        message:
          type: string
          description: error description
          maxLength: 500
    RateCard:
      allOf:
        - $ref: '#/components/schemas/RateCardData'
        - type: object
          required:
            - name
            - pricePlanId
            - displayName
            - referenceId
            - referenceType
          properties:
            name:
              type: string
              maxLength: 50
            referenceId:
              type: string
              maxLength: 50
            referenceType:
              type: string
              maxLength: 50
            displayName:
              type: string
              description: Display name of the rate card
              maxLength: 255
            currencies:
              description: List of currencies supported by the rate card
              type: array
              uniqueItems: true
              items:
                type: string
            pricePlanId:
              description: Price plan identifier
              type: string
              maxLength: 50
            accountId:
              description: Account identifier
              type: string
    RateCardData:
      description: Request to create a rate card
      type: object
      additionalProperties: false
      required:
        - billableId
        - invoiceTiming
        - rateCardDetails
        - type
      properties:
        billableId:
          description: Billable identifier
          type: string
          maxLength: 50
        type:
          $ref: '#/components/schemas/RateCardType'
        displayName:
          type: string
          description: Display name of the rate card
          maxLength: 255
        invoiceTiming:
          $ref: '#/components/schemas/InvoiceTiming'
        rateCardDetails:
          $ref: '#/components/schemas/RateCardDetails'
        tag:
          type: string
          description: Tag for rate card
          maxLength: 50
    RateCardType:
      description: Rate card type
      type: string
      enum:
        - MINIMUM_COMMITMENT
        - BILLING_ENTITLEMENT
        - CREDIT_GRANT
        - ENTITLEMENT_OVERAGE
        - FIXED_FEE
        - LICENSE
        - USAGE
    InvoiceTiming:
      type: string
      enum:
        - IN_ADVANCE
        - IN_ARREARS
        - PREPAID
      x-enum-varnames:
        - IN_ADVANCE
        - IN_ARREARS
        - PREPAID
      description: >
        If IN_ADVANCE, the rate card will be invoiced in the previous billing
        cycle.

        If IN_ARREARS, the rate card will be invoiced in the current billing
        cycle.

        If PREPAID, credits/entitlements will be granted only after invoice is
        paid
    RateCardDetails:
      description: Rate card details
      type: object
      additionalProperties: false
      properties:
        fixedFeeRateCard:
          $ref: '#/components/schemas/FixedFeeRateCard'
        billingEntitlementRateCard:
          $ref: '#/components/schemas/BillingEntitlementRateCard'
        creditGrantRateCard:
          $ref: '#/components/schemas/CreditGrantRateCard'
        usageRateCard:
          $ref: '#/components/schemas/UsageRateCard'
        licenseRateCard:
          $ref: '#/components/schemas/LicenseRateCard'
        entitlementOverageRateCard:
          $ref: '#/components/schemas/EntitlementOverageRateCard'
        minimumCommitmentRateCard:
          $ref: '#/components/schemas/MinimumCommitment'
    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
        name:
          type: string
          description: >-
            Unique identifier for the rate card in a price plan. If left null it
            is auto-generated.
        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'
    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
        name:
          type: string
          description: >-
            Unique identifier for the rate card in a price plan. If left null it
            is auto-generated.
        ratePlan:
          $ref: '#/components/schemas/RatePlan'
        rateValues:
          type: array
          items:
            $ref: '#/components/schemas/RateValue'
        recurrenceConfig:
          $ref: '#/components/schemas/RecurrenceConfig'
    CreditGrantRateCard:
      description: Credit grant rate card
      type: object
      additionalProperties: false
      required:
        - id
        - rateDetails
        - grantDetails
      properties:
        id:
          type: string
        displayName:
          type: string
        name:
          type: string
          description: >-
            Unique identifier for the rate card in a price plan. If left null it
            is auto-generated.
        tag:
          type: string
          description: A tag string to group creditGrantRateCard
        grantDetails:
          $ref: '#/components/schemas/GrantDetails'
        rateDetails:
          $ref: '#/components/schemas/CreditRateDetails'
        invoiceTiming:
          $ref: '#/components/schemas/InvoiceTiming'
        type:
          $ref: '#/components/schemas/CreditGrantType'
        recurrenceConfig:
          $ref: '#/components/schemas/RecurrenceConfig'
    UsageRateCard:
      type: object
      required:
        - usageMeterId
        - ratePlan
        - rateValues
      properties:
        displayName:
          type: string
          description: Name your rate card, this will be displayed in the Togai App
        name:
          type: string
          description: >-
            Unique identifier for the rate card in a price plan. If left null it
            is auto-generated.
        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'
    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
        name:
          type: string
          description: >-
            Unique identifier for the rate card in a price plan. If left null it
            is auto-generated.
        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'
    EntitlementOverageRateCard:
      type: object
      required:
        - ratePlan
        - rateValues
        - featureId
      properties:
        featureId:
          type: string
          description: Unique Identifier of the attached Feature
          maxLength: 50
        displayName:
          type: string
          description: Name to be displayed during invoice
        name:
          type: string
          description: >-
            Unique identifier for the rate card in a price plan. If left null it
            is auto-generated.
        tag:
          type: string
          description: A tag string to group rate cards
        maxQuantity:
          type: number
          description: >-
            Maximum quantity allowed for the feature, if not specified,
            unlimited quantity is allowed
        ratePlan:
          $ref: '#/components/schemas/RatePlan'
        rateValues:
          type: array
          items:
            $ref: '#/components/schemas/RateValue'
        billingConfig:
          $ref: '#/components/schemas/BillingConfig'
          description: >-
            Represents the billing config of the entitlement overage rate card.
            If not specified interval:1 and startOffset:0 is taken as default
            value
    MinimumCommitment:
      title: MinimumCommitment
      type: object
      required:
        - displayName
        - rateValues
      properties:
        displayName:
          type: string
        rateValues:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/CurrencyRateValue'
    FixedFeeType:
      type: string
      enum:
        - ONE_TIME
        - RECURRING
      description: Fixed fee applies either for a one-time occurrence or for each cycle.
    CurrencyRateValue:
      type: object
      required:
        - currency
        - rate
      properties:
        currency:
          type: string
        rate:
          type: number
    RecurrenceConfig:
      type: object
      properties:
        interval:
          description: >-
            Represents the number of pricing cycles after which the rate card
            will be charged
          type: integer
          format: int64
          example: 3
        offset:
          description: >-
            Represents the offset for pricing cycles after which the rate card
            will be charged
          type: integer
          format: int64
          example: 5
    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
    RatePlan:
      type: object
      description: Contains all rate related configurations
      required:
        - pricingModel
        - slabs
      properties:
        pricingModel:
          $ref: '#/components/schemas/PricingModel'
        slabs:
          description: Rate cards can have single or multiple slab up to 100.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/Slab'
    RateValue:
      type: object
      description: Represents a rate
      required:
        - currency
        - slabRates
      properties:
        currency:
          type: string
        slabRates:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/SlabRate'
        rateConfig:
          type: object
          additionalProperties:
            type: string
    GrantDetails:
      description: Grant details of Credit Grant Rate Card
      type: object
      additionalProperties: false
      required:
        - priority
        - expiryType
      properties:
        priority:
          type: integer
          minimum: 0
        expiryType:
          $ref: '#/components/schemas/ExpiryType'
        expiryDuration:
          type: string
          format: duration
        applicableEntityIds:
          type: array
          items:
            type: string
    CreditRateDetails:
      type: object
      description: Amount to be credited
      additionalProperties: false
      required:
        - pricingModel
        - currencySlabRateDetails
      properties:
        pricingModel:
          $ref: '#/components/schemas/PricingModel'
        currencySlabRateDetails:
          type: array
          items:
            $ref: '#/components/schemas/CurrencySlabRateDetail'
    CreditGrantType:
      type: string
      enum:
        - ONE_TIME
        - RECURRING
      description: Credit grant applies either for a one-time occurrence or for each cycle.
    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
    UsageCycleInterval:
      type: string
      description: >
        UsageCycleInterval field allows you to treat the billing interval as
        many smaller windows. Revenue is calculated for

        each of the windows (usage cycles) and their sum is considered as the
        billing interval revenue.

        Example: 1 Named License being used across entire billing interval. Rate
        Value: $1/license

        CASE 1: Without usage cycle. $1 is charged for the entire billing cycle.

        CASE 2: Usage cycle is configure to be WEEKLY and the billing interval
        has 4 weeks. In this case $1 is charged 

        for each week totalling to $4 across for the billing interval
      enum:
        - WEEKLY
        - MONTHLY
        - QUARTERLY
        - HALF_YEARLY
        - ANNUALLY
    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'
    ProratedRefundMode:
      type: string
      enum:
        - NONE
        - CREDITS
        - PAYMENT
        - WALLET
    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
    PricingModel:
      type: string
      description: >
        Togai supports two type of pricing model Tiered and Volume. Tiered
        pricing model applies respective slab and its rate to the usage value
        while volume pricing model applies the latest matching slab of the usage
        value and applies respective rate. 

        For more understanding read [Rate
        Cards](https://docs.togai.com/docs/priceplan#setting-up-multiple-rate-cards)
      enum:
        - TIERED
        - VOLUME
    Slab:
      type: object
      description: Represents a pricing priceType (rates + slabs) for usage price plan
      required:
        - order
        - startAfter
        - priceType
      properties:
        order:
          type: integer
          format: int32
          minimum: 1
          maximum: 10
        startAfter:
          type: number
        priceType:
          $ref: '#/components/schemas/PriceType'
        slabConfig:
          type: object
          additionalProperties:
            type: string
    SlabRate:
      type: object
      description: Represents a rate for a slab
      required:
        - order
        - rate
      properties:
        order:
          type: integer
          format: int32
        rate:
          type: number
        slabRateConfig:
          type: object
          additionalProperties:
            type: string
    ExpiryType:
      type: string
      description: Expiry type of grant
      enum:
        - PRICING_CYCLE
        - NO_EXPIRY
        - CUSTOM
    CurrencySlabRateDetail:
      type: object
      description: The association of a currency along with its slab detail
      additionalProperties: false
      required:
        - currency
        - creditAmount
        - slabDetails
      properties:
        currency:
          type: string
        creditAmount:
          type: number
          description: The amount of credit that needs to be credited
          minimum: 0
        slabDetails:
          type: array
          items:
            $ref: '#/components/schemas/SlabDetail'
        rateConfig:
          type: object
          additionalProperties:
            type: string
    MaxQuantityBreachAction:
      type: string
      enum:
        - DO_NOTHING
      description: |
        Action to be taken when the license maxQuantity is breached: 
        - `DO_NOTHING`: Refrain from granting any new licenses.
    PriceType:
      type: string
      enum:
        - FLAT
        - PER_UNIT
        - PACKAGE
    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
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Bearer <credential>

````