SendPulse Course tariffs API

The Course tariffs API from SendPulse — 1 operation(s) for course tariffs.

Operations 1

GET /courses/{courseId}/tariffs Get course tariffs #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/sendpulse-course-tariffs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

sendpulse-course-tariffs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: This is the REST API endpoints definition for Education SendPulse project
  title: Education SendPulse Project API Definition Course tariffs API
  version: 1.0.0
servers:
- url: https://api.sendpulse.com/edu/public/v1
security:
- apiKey: []
- oauth2: []
tags:
- name: Course tariffs
paths:
  /courses/{courseId}/tariffs:
    get:
      tags:
      - Course tariffs
      summary: Get course tariffs
      parameters:
      - name: CourseId
        in: path
        required: true
        description: Course identifier.
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    description: List of tariffs available for the specified course.
                    items:
                      $ref: '#/components/schemas/ShortCourseTariffResource'
      operationId: getCourseTariffs
      x-ai-role: e_learning_platform_specialist
      x-ai-description: Retrieves all pricing plans (tariffs) available for a specific course. Tariffs define access tiers, pricing, and content scope — they are the commercial gateway between a learner and course content. Use this before presenting purchase options or building checkout flows.
      x-ai-reasoning-instructions:
      - Verify the courseId is valid and the course exists before requesting its tariffs.
      - If the tariff list is empty, the course may not be published or may not have pricing configured yet.
      - Use this endpoint to populate payment/enrollment UI — do not hardcode tariff data.
      - Consider caching results briefly if building a storefront, as tariffs change infrequently.
      x-ai-responding-instructions:
      - Present tariffs as a list of available purchase options with names, prices, and access scope if available.
      - If no tariffs are returned, inform the user that the course may not be available for purchase yet.
      - Suggest using the enrollment or checkout endpoint as the logical next step after the user selects a tariff.
      x-ai-suggestions:
      - Use the returned tariff IDs when calling the course enrollment or order creation endpoint.
      - Display tariffs grouped by access type (e.g., lifetime, subscription) if such a distinction exists in the schema.
      x-ai-capabilities:
        confirmation:
          type: None
        security_info:
          data_handling:
          - ReadOnly
components:
  schemas:
    ShortCourseTariffResource:
      type: object
      properties:
        id:
          type: integer
          description: Unique tariff identifier
        courseId:
          type: integer
          description: Course identifier
        name:
          type: string
          description: Tariff name
        isMain:
          type: boolean
          description: Whether this is the main tariff for the course
        isPaid:
          type: boolean
          description: Whether the tariff is paid
        succeedRedirectUrl:
          type:
          - string
          - 'null'
          description: Redirect URL after successful payment
        failedRedirectUrl:
          type:
          - string
          - 'null'
          description: Redirect URL after failed payment
        status:
          type: string
          description: Tariff status
          enum:
          - active
          - inactive
        order:
          type:
          - integer
          - 'null'
          description: Display order of the tariff
        countOfStudents:
          type: integer
          description: Number of students enrolled under this tariff
        accessRestrictionSettingsVO:
          $ref: '#/components/schemas/CourseAccessRestrictionSettingsResource'
        paymentMethodsCollection:
          type: array
          description: Available payment methods
          items:
            $ref: '#/components/schemas/PaymentMethodResource'
        studentBaseStateSettingDTO:
          $ref: '#/components/schemas/StudentBaseStateSettingResource'
        contentAccesses:
          type: array
          description: Content access settings
          items:
            $ref: '#/components/schemas/ContentAccessesResource'
        functionalityAccesses:
          type: array
          description: Available functionalities under the tariff
          items:
            $ref: '#/components/schemas/FunctionalityResource'
        courseTariffSettingDTO:
          $ref: '#/components/schemas/CourseTariffSettingResource'
        wasStarted:
          type: boolean
          description: Whether learning under this tariff has already started
    ContentAccessesResource:
      type: object
      properties:
        contentType:
          type: string
          description: Type of content being granted access to
          enum:
          - lesson
          - test
          - certificate
        entityId:
          type: integer
          description: Entity ID (lesson/test/certificate)
    StudentBaseStateSettingResource:
      type: object
      properties:
        group:
          type: integer
          description: Default student group ID
        responsible:
          type: integer
          description: Responsible manager ID
        tags:
          type: array
          description: List of tag IDs to assign to the student
          items:
            type: integer
        dealCreation:
          type: object
          description: Settings for creating a CRM deal upon payment
          properties:
            createDealOnPayment:
              type: boolean
              description: Create a deal after successful payment
            pipelineId:
              type: integer
              description: CRM sales pipeline ID
            stepId:
              type: integer
              description: Sales pipeline stage ID
            dealName:
              type: string
              description: Deal name template
    CourseAccessRestrictionSettingsResource:
      type: object
      properties:
        courseId:
          type: integer
          description: Course ID to which the restriction applies
        restrictedDays:
          type: integer
          description: Number of restricted access days
        restrictedToDate:
          type: string
          description: Date until which the restriction applies (ISO 8601)
        timezone:
          type: string
          description: Time zone for calculating restriction dates
        typeUpdate:
          type: string
          description: Type of restriction settings update
    CourseTariffSettingResource:
      type: object
      properties:
        startDate:
          type:
          - string
          - 'null'
          format: date-time
          description: Tariff start date
        endDate:
          type:
          - string
          - 'null'
          format: date-time
          description: Tariff end date
        timezone:
          type:
          - string
          - 'null'
          description: Time zone used for tariff dates
    PaymentMethodResource:
      type: object
      properties:
        id:
          type: integer
          description: Unique payment method identifier
        name:
          type: string
          description: Payment method name
        price:
          type: integer
          description: Price in the smallest currency units (e.g., cents)
        currency:
          type: string
          description: Payment currency (ISO 4217)
        paymentId:
          type: string
          format: uuid
          description: Payment identifier in the payment system
        paymentType:
          type: string
          description: Payment system type/provider
          enum:
          - YooKassa
          - Fondy
          - PayPal
          - YooMoney
          - ROBOKASSA
          - Stripe
          - MERCADOPAGO
          - LiqPay
          - Wayforpay
          - Flutterwave
    FunctionalityResource:
      type: object
      properties:
        type:
          type: string
          description: Type of available functionality
          enum:
          - chat
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: 'Static API Key authentication.  A long-lived token generated manually in the SendPulse account settings.

        '
      x-ai-description: 'Permanent authentication token. Ideal for simple integrations without token refresh logic.

        '
    outh2:
      type: oauth2
      description: OAuth 2.0 Client Credentials flow for temporary access tokens.
      flows:
        clientCredentials:
          tokenUrl: https://api.sendpulse.com/oauth/access_token
          scopes: {}
      x-ai-description: 'Standard OAuth 2.0 flow using Client ID and Client Secret.  Provides temporary tokens (valid for 1 hour) for enhanced security.

        '