Teachable Transactions API

Transaction and sales endpoints

Operations 1

GET /transactions List transactions #

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/teachable-transactions-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

teachable-transactions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Teachable Admin Transactions API
  description: REST API for managing Teachable school data including courses, users, enrollments, quiz responses, pricing plans, transactions, and webhooks. Authenticated via API key header and available on Growth plan and above.
  version: '1'
  contact:
    name: Teachable Support
    url: https://support.teachable.com
    email: support@teachable.com
  termsOfService: https://teachable.com/terms-of-use
servers:
- url: https://developers.teachable.com/v1
  description: Teachable Admin API
security:
- ApiKeyAuth: []
tags:
- name: Transactions
  description: Transaction and sales endpoints
paths:
  /transactions:
    get:
      operationId: listTransactions
      summary: List transactions
      description: Return all transactions for the school with optional filters.
      tags:
      - Transactions
      parameters:
      - name: user_id
        in: query
        description: Filter by user.
        schema:
          type: integer
          format: int32
      - name: affiliate_id
        in: query
        description: Filter by affiliate.
        schema:
          type: integer
          format: int32
      - name: course_id
        in: query
        description: Filter by course.
        schema:
          type: integer
          format: int32
      - name: pricing_plan_id
        in: query
        description: Filter by pricing plan.
        schema:
          type: integer
          format: int32
      - name: is_fully_refunded
        in: query
        description: Filter by refund status.
        schema:
          type: boolean
      - name: is_chargeback
        in: query
        description: Filter by chargeback status.
        schema:
          type: boolean
      - name: start
        in: query
        description: The beginning of the time period to return results for (exclusive). Formatted in ISO8601.
        schema:
          type: string
          format: date-time
      - name: end
        in: query
        description: The end of the time period to return results for (inclusive). Formatted in ISO8601.
        schema:
          type: string
          format: date-time
      - name: page
        in: query
        description: Page number for pagination.
        schema:
          type: integer
          format: int32
      - name: per
        in: query
        description: Items per page, maximum is 20 when not specified.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionsListResponse'
components:
  schemas:
    PaginationMeta:
      type: object
      properties:
        total:
          type: integer
          description: Total number of items.
        page:
          type: integer
          description: Current page number.
        from:
          type: integer
          description: First item position on current page.
        to:
          type: integer
          description: Last item position on current page.
        per_page:
          type: integer
          description: Number of items per page.
        number_of_pages:
          type: integer
          description: Total number of pages.
    Transaction:
      type: object
      properties:
        id:
          type: integer
        user_id:
          type: integer
        pricing_plan_id:
          type: integer
        sale_id:
          type: integer
        created_at:
          type: string
          format: date-time
        purchased_at:
          type: string
          format: date-time
        charge:
          type: integer
          description: Amount charged in USD (smallest unit).
        final_price:
          type: integer
          description: Final price in currency of choice (smallest unit).
        currency:
          type: string
          description: ISO4217 currency code.
        tax_charge:
          type: integer
        revenue:
          type: integer
          description: Revenue in USD (smallest unit).
        status:
          type: string
          description: Transaction status (paid or null).
        has_chargeback:
          type: boolean
        chargeback_fee:
          type: integer
        affiliate_id:
          type: integer
        affiliate_fees:
          type: integer
        author_id:
          type: integer
        author_fees:
          type: integer
        coupon_id:
          type: integer
        refunded_at:
          type:
          - string
          - 'null'
          format: date-time
        amount_refunded:
          type: integer
    TransactionsListResponse:
      type: object
      properties:
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/Transaction'
        meta:
          $ref: '#/components/schemas/PaginationMeta'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: apiKey
      description: API key for Admin API authentication. Available on Growth plan and above.