Tabs Invoices API

Itemized requests for payment derived from obligations, with actions and PDF export.

Operations 6

GET /customers/{customerId}/invoices List invoices for a customer #
GET /invoices List invoices #
GET /invoices/{invoiceId} Get an invoice #
PUT /invoices/{invoiceId} Update an invoice #
GET /invoices/{invoiceId}/pdf Download an invoice PDF #
POST /invoices/{invoiceId}/actions Perform an action on an invoice #

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/tabs-platform-invoices-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

tabs-platform-invoices-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Tabs Platform Catalog Invoices API
  description: 'The Tabs Platform API is the public REST API for Tabs (tabs.inc), an AI-native revenue automation platform for B2B companies that unifies billing, collections, ASC 606 revenue recognition, and reporting on top of a contract-driven data model. The API exposes the core Tabs data model - customers, contracts, items, revenue categories, obligations, invoices, payments, usage events, and performance obligations - so contract, billing, and revenue data can flow into the rest of the finance stack (ERP, CRM, payment, and tax systems). You can push customers, contracts, obligations, and usage into Tabs, and pull invoices, payments, recognized revenue, ARR, and cash-forecast reporting back out.

    NOTE ON ENDPOINT SHAPES: Tabs publishes public developer documentation at docs.tabsplatform.com describing the data model, authentication, and the documented resource groups and operations (list/create/get/update/delete per resource, invoice actions and PDF download, obligation and performance- obligation management, recognized-revenue upsert, ARR and cash-forecast reports, usage events). The base URL (https://api.tabsplatform.com) and Authorization-header API-key auth are confirmed from those docs. The exact request/response path strings below are MODELED on standard REST conventions consistent with the documented operations, because Tabs does not publish a downloadable OpenAPI file or literal path strings in its public docs as of the review date. Verify concrete paths and schemas against the live console reference before use.'
  version: '1.0'
  contact:
    name: Tabs
    url: https://tabs.inc
  x-endpointsModeled: true
servers:
- url: https://api.tabsplatform.com
  description: Tabs Platform production API
security:
- apiKeyAuth: []
tags:
- name: Invoices
  description: Itemized requests for payment derived from obligations, with actions and PDF export.
paths:
  /customers/{customerId}/invoices:
    parameters:
    - $ref: '#/components/parameters/CustomerId'
    get:
      operationId: listCustomerInvoices
      tags:
      - Invoices
      summary: List invoices for a customer
      responses:
        '200':
          description: A list of invoices for the customer.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Invoice'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /invoices:
    get:
      operationId: listInvoices
      tags:
      - Invoices
      summary: List invoices
      responses:
        '200':
          description: A list of invoices.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Invoice'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /invoices/{invoiceId}:
    parameters:
    - $ref: '#/components/parameters/InvoiceId'
    get:
      operationId: getInvoice
      tags:
      - Invoices
      summary: Get an invoice
      responses:
        '200':
          description: The requested invoice.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateInvoice
      tags:
      - Invoices
      summary: Update an invoice
      description: Update invoice metadata such as PO number, memo, and external IDs.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Invoice'
      responses:
        '200':
          description: The updated invoice.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /invoices/{invoiceId}/pdf:
    parameters:
    - $ref: '#/components/parameters/InvoiceId'
    get:
      operationId: downloadInvoicePdf
      tags:
      - Invoices
      summary: Download an invoice PDF
      responses:
        '200':
          description: The invoice PDF.
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/Unauthorized'
  /invoices/{invoiceId}/actions:
    parameters:
    - $ref: '#/components/parameters/InvoiceId'
    post:
      operationId: performInvoiceAction
      tags:
      - Invoices
      summary: Perform an action on an invoice
      description: Perform a lifecycle action on an invoice, such as finalize, send, void, or mark paid.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                action:
                  type: string
                  enum:
                  - finalize
                  - send
                  - void
                  - mark_paid
      responses:
        '200':
          description: The updated invoice.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    InvoiceLineItem:
      type: object
      properties:
        id:
          type: string
        obligationId:
          type: string
        description:
          type: string
        quantity:
          type: number
        amount:
          type: number
        salesTax:
          type: number
    Invoice:
      type: object
      properties:
        id:
          type: string
        customerId:
          type: string
        contractId:
          type: string
        status:
          type: string
        poNumber:
          type: string
        memo:
          type: string
        dueDate:
          type: string
          format: date
        total:
          type: number
        currency:
          type: string
        lineItems:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceLineItem'
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
  responses:
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    InvoiceId:
      name: invoiceId
      in: path
      required: true
      schema:
        type: string
    CustomerId:
      name: customerId
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'API key passed directly in the Authorization header (Authorization: YOUR_API_KEY). Keys are created in the Developers section of the Tabs app and require administrator privileges.'