Teliax Customer/Billing API

The Customer/Billing API from Teliax — 7 operation(s) for customer/billing.

Operations 7

GET /v1/billing/balance Get your account balance #
GET /v1/billing/ledger Per-SKU ledger statement for a date range #
GET /v1/billing/ledger/statement Per-SKU ledger statement for a date range #
GET /v1/invoices List invoices #
GET /v1/invoices/{id} Get an invoice #
GET /v1/invoices/{id}/html Render your invoice as HTML #
GET /v1/invoices/{id}/pdf Render your invoice as PDF #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-identity-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-query-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-cpr-dump-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-dno-lookup-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-complex-query-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-tandem-query-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-port-project-detail-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-port-project-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-port-project-detail-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-soa-query-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-toll-free-ptr-operation-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-auto-activation-settings-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-github-com-ringer-warp-api-gateway-internal-models-trunk-group-with-ips-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-github-com-ringer-warp-api-gateway-internal-models-assignment-with-usages-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-internal-handlers-trunk-update-result-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-github-com-ringer-warp-api-gateway-internal-models-trunk-group-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-github-com-ringer-warp-api-gateway-internal-models-assignment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-internal-handlers-bulk-assign-request-schema.json

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/teliax:teliax-customer-billing-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

teliax-customer-billing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Teliax Customer/Billing API
  version: 1.0.0
  contact: {}
  description: 'Operations tagged Customer/Billing across 2 of this provider''s published API definitions: teliax-warp-openapi.json, teliax-warp-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: //api.warp.ringer.tel
tags:
- name: Customer/Billing
paths:
  /v1/billing/balance:
    get:
      security:
      - ApiKeyAuth: []
      description: 'Returns the current balance snapshot for the authenticated customer (current balance, credit limit, available, suspension flag, currency). Errors: NO_ACTIVE_CUSTOMER, INTERNAL_ERROR.'
      tags:
      - Customer/Billing
      summary: Get your account balance
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    data:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.Balance'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
      operationId: getV1BillingBalance
      x-operation-id-source: derived
    servers:
    - url: //api.warp.ringer.tel
  /v1/billing/ledger:
    get:
      security:
      - ApiKeyAuth: []
      description: 'Returns your ledger journal (most recent first). limit defaults to 100; values outside (0, 500] are ignored. Errors: NO_ACTIVE_CUSTOMER, INTERNAL_ERROR.

        Rolls the ledger up per SKU so a customer can see what a period was spent on. The raw journal (GET /v1/billing/ledger) remains the reconciliation surface for a single charge.'
      tags:
      - Customer/Billing
      summary: Per-SKU ledger statement for a date range
      parameters:
      - description: Max rows (1-500)
        name: limit
        in: query
        schema:
          type: integer
          default: 100
      - description: Inclusive start, RFC3339 or YYYY-MM-DD. Defaults to 30 days ago.
        name: from
        in: query
        schema:
          type: string
      - description: Exclusive end, RFC3339 or YYYY-MM-DD. Defaults to now.
        name: to
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    data:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.LedgerStatement'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
      operationId: getV1BillingLedger
      x-operation-id-source: derived
    servers:
    - url: //api.warp.ringer.tel
  /v1/billing/ledger/statement:
    get:
      security:
      - ApiKeyAuth: []
      description: 'Returns your ledger journal (most recent first). limit defaults to 100; values outside (0, 500] are ignored. Errors: NO_ACTIVE_CUSTOMER, INTERNAL_ERROR.

        Rolls the ledger up per SKU so a customer can see what a period was spent on. The raw journal (GET /v1/billing/ledger) remains the reconciliation surface for a single charge.'
      tags:
      - Customer/Billing
      summary: Per-SKU ledger statement for a date range
      parameters:
      - description: Max rows (1-500)
        name: limit
        in: query
        schema:
          type: integer
          default: 100
      - description: Inclusive start, RFC3339 or YYYY-MM-DD. Defaults to 30 days ago.
        name: from
        in: query
        schema:
          type: string
      - description: Exclusive end, RFC3339 or YYYY-MM-DD. Defaults to now.
        name: to
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    data:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.LedgerStatement'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
      operationId: getV1BillingLedgerStatement
      x-operation-id-source: derived
    servers:
    - url: //api.warp.ringer.tel
  /v1/invoices:
    get:
      security:
      - ApiKeyAuth: []
      description: 'Lists your invoices, newest period first. Errors: NO_ACTIVE_CUSTOMER, INTERNAL_ERROR.'
      tags:
      - Customer/Billing
      summary: List invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    data:
                      type: array
                      items:
                        $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_repository.InvoiceListItem'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
      operationId: getV1Invoices
      x-operation-id-source: derived
    servers:
    - url: //api.warp.ringer.tel
  /v1/invoices/{id}:
    get:
      security:
      - ApiKeyAuth: []
      description: 'Returns one of your invoices in full (header, lines, tax lines, applications). 404 when the invoice is not found or not owned by you. Errors: NO_ACTIVE_CUSTOMER, NOT_FOUND, INTERNAL_ERROR.'
      tags:
      - Customer/Billing
      summary: Get an invoice
      parameters:
      - description: Invoice id
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    data:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_repository.InvoiceDetail'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
      operationId: getV1InvoicesById
      x-operation-id-source: derived
    servers:
    - url: //api.warp.ringer.tel
  /v1/invoices/{id}/html:
    get:
      security:
      - ApiKeyAuth: []
      description: 'Returns one of your invoices as a branded HTML document. Failure responses are JSON. 404 when not found or not owned. Errors: NO_ACTIVE_CUSTOMER, NOT_FOUND, INTERNAL_ERROR.'
      tags:
      - Customer/Billing
      summary: Render your invoice as HTML
      parameters:
      - description: Invoice id
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Branded invoice HTML
          content:
            text/html:
              schema:
                type: string
        '401':
          description: Unauthorized
          content:
            text/html:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
        '404':
          description: Not Found
          content:
            text/html:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
        '500':
          description: Internal Server Error
          content:
            text/html:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
      operationId: getV1InvoicesByIdHtml
      x-operation-id-source: derived
    servers:
    - url: //api.warp.ringer.tel
  /v1/invoices/{id}/pdf:
    get:
      security:
      - ApiKeyAuth: []
      description: 'Renders one of your invoices to PDF on demand. Failure responses are JSON. 503 when the PDF render service is unconfigured or fails. Errors: NO_ACTIVE_CUSTOMER, NOT_FOUND, GATEWAY_UNAVAILABLE.'
      tags:
      - Customer/Billing
      summary: Render your invoice as PDF
      parameters:
      - description: Invoice id
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Invoice PDF
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        '401':
          description: Unauthorized
          content:
            application/pdf:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
        '404':
          description: Not Found
          content:
            application/pdf:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
        '503':
          description: Service Unavailable
          content:
            application/pdf:
              schema:
                allOf:
                - $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIResponse'
                - type: object
                  properties:
                    error:
                      $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
      operationId: getV1InvoicesByIdPdf
      x-operation-id-source: derived
    servers:
    - url: //api.warp.ringer.tel
components:
  schemas:
    github_com_ringer-warp_api-gateway_internal_repository.InvoiceLineDetail:
      type: object
      properties:
        description:
          type: string
        extended_amount:
          type: number
        quantity:
          type: number
        section:
          type: string
        sku_code:
          type: string
        tax_code:
          type: string
        unit:
          type: string
        unit_price:
          type: number
    github_com_ringer-warp_api-gateway_internal_models.LedgerStatement:
      type: object
      properties:
        charge_total:
          description: 'ChargeTotal is the sum of negative lines only, which is the denominator

            the composition bar proportions against. Summing signed amounts would let

            a payment shrink the bar and misstate every share.'
          type: number
        from:
          type: string
        lines:
          type: array
          items:
            $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.LedgerSKUSummary'
        net_amount:
          description: NetAmount is the signed sum of every line — the period's balance movement.
          type: number
        to:
          type: string
    github_com_ringer-warp_api-gateway_internal_models.Meta:
      type: object
      properties:
        page:
          type: integer
        per_page:
          type: integer
        total:
          type: integer
        total_pages:
          type: integer
    github_com_ringer-warp_api-gateway_internal_repository.InvoiceDetail:
      type: object
      properties:
        amount_paid:
          type: number
        applications:
          type: array
          items:
            $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_repository.InvoiceApplicationItem'
        balance_due:
          type: number
        currency:
          type: string
        customer_id:
          type: string
        due_date:
          type: string
        fee_total:
          type: number
        id:
          type: string
        invoice_number:
          type: string
        issued_at:
          type: string
        lines:
          type: array
          items:
            $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_repository.InvoiceLineDetail'
        period_end:
          type: string
        period_start:
          type: string
        status:
          type: string
        subtotal:
          type: number
        tax_lines:
          type: array
          items:
            $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_repository.InvoiceTaxLineDetail'
        tax_total:
          type: number
        total:
          type: number
    github_com_ringer-warp_api-gateway_internal_repository.InvoiceListItem:
      type: object
      properties:
        amount_paid:
          type: number
        balance_due:
          type: number
        due_date:
          type: string
        id:
          type: string
        invoice_number:
          type: string
        issued_at:
          type: string
        period_end:
          type: string
        period_start:
          type: string
        status:
          type: string
        total:
          type: number
    github_com_ringer-warp_api-gateway_internal_models.LedgerSKUSummary:
      type: object
      properties:
        amount:
          description: 'Amount is signed, matching ledger convention: negative = charge.'
          type: number
        events:
          description: Events is the number of ledger rows behind this line.
          type: integer
        is_usage:
          description: 'IsUsage distinguishes a rated SKU from money-in, so the UI can present

            charges and credits differently without string-matching the label.'
          type: boolean
        quantity:
          description: 'Quantity/Unit are populated for usage-based lines; null for money-in

            rows (payments, credits, adjustments).'
          type: number
        sku_code:
          description: SKUCode is the billing SKU, or the txn_type for money-in rows.
          type: string
        unit:
          type: string
    github_com_ringer-warp_api-gateway_internal_models.Balance:
      type: object
      properties:
        available:
          type: number
        billing_suspended:
          type: boolean
        credit_limit:
          type: number
        currency:
          type: string
        current_balance:
          type: number
        customer_id:
          type: string
    github_com_ringer-warp_api-gateway_internal_repository.InvoiceTaxLineDetail:
      type: object
      properties:
        amount:
          type: number
        is_fee:
          type: boolean
        jurisdiction_code:
          type: string
        jurisdiction_name:
          type: string
        tax_type:
          type: string
        taxable_base:
          type: number
    github_com_ringer-warp_api-gateway_internal_models.APIResponse:
      type: object
      properties:
        data: {}
        error:
          $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.APIError'
        meta:
          $ref: '#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.Meta'
        success:
          type: boolean
    github_com_ringer-warp_api-gateway_internal_models.APIError:
      type: object
      properties:
        code:
          type: string
        details:
          type: object
          additionalProperties: true
        message:
          type: string
    github_com_ringer-warp_api-gateway_internal_repository.InvoiceApplicationItem:
      type: object
      properties:
        amount_applied:
          type: number
        applied_at:
          type: string
        created_by:
          type: string
        ledger_txn_id:
          type: string
  securitySchemes:
    ApiKeyAuth:
      description: 'API key auth: "Authorization: Bearer rk_..." (live) or "Bearer rk_test_..." (test label). Mint keys in the portal under Settings → API Keys.'
      type: apiKey
      name: Authorization
      in: header
x-refined-from:
- teliax-warp-openapi.json
- teliax-warp-openapi.yml