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

# Get tariff

## Pricing types

Each tariff has a `pricing_type` field that indicates how the price is calculated:

### Standard pricing (`pricing_type: "standard"`)

Price is calculated as: `base_price / count * quantity * duration * volume_discount * personal_discount`

Use the `discounts` field to get volume discount tiers.

### Graduated pricing (`pricing_type: "graduated"`)

Price is a fixed amount based on quantity thresholds. The `graduated_prices` field contains an object where keys are quantity thresholds and values are prices **with all discounts already applied**.

For example, if `graduated_prices` is `{"0": 135, "101": 180, "201": 270}`:

* Ordering 50 units costs **135** per hour
* Ordering 150 units costs **180** per hour
* Ordering 250 units costs **270** per hour

For hourly tariffs, multiply the tier price by the number of hours.

<Note>
  The `graduated_prices` values already include your personal discount and any active promotions. The `discounts` field is not applicable for graduated pricing tariffs.
</Note>


## OpenAPI

````yaml GET /tarifs/{tarifId}
openapi: 3.0.0
info:
  title: StreamSkill - OpenApi 3.0
  description: ''
  termsOfService: https://streamskill.pro/en/privacy_policy
  version: 1.0.0
  contact:
    email: streamskillpro@gmail.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://api.streamskill.pro/v1
    description: Production server - v1
security:
  - bearerAuth: []
paths:
  /tarifs/{tarifId}:
    parameters:
      - $ref: '#/components/parameters/tarifId'
      - $ref: '#/components/parameters/Accept-Language'
      - $ref: '#/components/parameters/expandTarif'
    get:
      summary: Get tarif
      responses:
        '200':
          $ref: '#/components/responses/Tarif'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    tarifId:
      name: tarifId
      in: path
      required: true
      description: The ID of the tarif
      schema:
        type: integer
    Accept-Language:
      name: Accept-Language
      in: header
      required: false
      description: The language of the response
      schema:
        $ref: '#/components/schemas/LanguageObject'
    expandTarif:
      name: expand
      in: query
      required: false
      description: Additional data to include in the response
      schema:
        type: string
        enum:
          - panel
        example: panel
  responses:
    Tarif:
      description: OK
      headers:
        Date:
          $ref: '#/components/headers/Date'
        Server:
          $ref: '#/components/headers/Server'
        Content-Length:
          $ref: '#/components/headers/Content-Length'
        Keep-Alive:
          $ref: '#/components/headers/Keep-Alive'
        Connection:
          $ref: '#/components/headers/Connection'
        Content-Type:
          $ref: '#/components/headers/Content-Type'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TarifResponseObject'
    Unauthorized:
      description: Unauthorized
      headers:
        Date:
          $ref: '#/components/headers/Date'
        Server:
          $ref: '#/components/headers/Server'
        Content-Length:
          $ref: '#/components/headers/Content-Length'
        Keep-Alive:
          $ref: '#/components/headers/Keep-Alive'
        Connection:
          $ref: '#/components/headers/Connection'
        Content-Type:
          $ref: '#/components/headers/Content-Type'
      content:
        application/json:
          schema:
            type: object
          example:
            name: Unauthorized
            message: Your request was made with invalid credentials.
            code: 0
            status: 401
            type: unauthorized_http_exception
    NotFound:
      description: Object not Found
      headers:
        Date:
          $ref: '#/components/headers/Date'
        Server:
          $ref: '#/components/headers/Server'
        Content-Length:
          $ref: '#/components/headers/Content-Length'
        Keep-Alive:
          $ref: '#/components/headers/Keep-Alive'
        Connection:
          $ref: '#/components/headers/Connection'
        Content-Type:
          $ref: '#/components/headers/Content-Type'
      content:
        application/json:
          schema:
            type: object
          example:
            name: Purchase not found
            code: 0
            message: 'Object not found: {ID}'
            status: 404
            type: purchase_not_found_exception
  schemas:
    LanguageObject:
      type: string
      enum:
        - en
        - ru
      default: en
    TarifResponseObject:
      type: object
      properties:
        id:
          type: integer
          description: The ID of the tarif
          example: 1
        title:
          type: string
          description: The title of the tarif (localized)
          example: AI Chatbot
        text:
          type: array
          description: Description lines (localized)
          items:
            type: string
          example:
            - Up to 350 chatbots
            - AI-powered chat
        count:
          description: >-
            Quantity info. For custom_count tariffs returns {min, max},
            otherwise a single integer.
          oneOf:
            - type: integer
              example: 100
            - type: object
              properties:
                min:
                  type: integer
                  example: 10
                max:
                  type: integer
                  example: 350
        price:
          type: number
          description: >-
            The calculated price (with all discounts applied). For standard
            pricing — price for default quantity. For graduated pricing — price
            for the minimum tier.
          example: 135
        type:
          type: string
          description: The group_id of the tarif
          example: ai_chatbots
        hourly:
          type: boolean
          description: Whether the tarif supports hourly duration selection
          example: true
        pricing_type:
          type: string
          enum:
            - standard
            - graduated
          description: >-
            Pricing model. `standard` — price is calculated as (base_price /
            count * quantity * duration * discounts). `graduated` — fixed price
            per quantity tier * duration * discounts.
          example: graduated
        graduated_prices:
          description: >-
            Graduated pricing tiers with discounts applied. `null` for standard
            pricing tariffs.
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/GraduatedPricesObject'
        discounts:
          type: object
          description: >-
            Volume discount tiers (quantity threshold → discount percentage).
            Only applicable for standard pricing.
          additionalProperties:
            type: integer
          example:
            '1': 0
            '500': 10
            '1000': 20
        link:
          type: object
          properties:
            prefix:
              type: string
              description: Channel URL prefix
              example: https://www.twitch.tv/
            placeholder:
              type: string
              description: Channel input placeholder
              example: twitch
        panel:
          type: boolean
          description: Whether the tarif supports panel
          example: true
    GraduatedPricesObject:
      type: object
      description: >-
        Graduated pricing tiers. Keys are quantity thresholds, values are prices
        (with all discounts applied). Only present when pricing_type is
        "graduated".
      additionalProperties:
        type: number
      example:
        '0': 135
        '101': 180
        '201': 270
  headers:
    Date:
      schema:
        type: string
        example: Sat, 25 May 2024 23:59:59 GMT
    Server:
      schema:
        type: string
        example: Apache/2.4.38 (Debian)
    Content-Length:
      schema:
        type: integer
        example: '100'
    Keep-Alive:
      schema:
        type: string
        example: timeout=5, max=100
    Connection:
      schema:
        type: string
        example: Keep-Alive
    Content-Type:
      schema:
        type: string
      example: application/json; charset=UTF-8
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````