Lago Taxes API

Everything about Tax collection

Business capability
Subscription Tax Management BC-4250.60

Operations 5

POST /taxes Create a tax #
GET /taxes List all taxes #
PUT /taxes/{code} Update a tax #
GET /taxes/{code} Retrieve a tax #
DELETE /taxes/{code} Delete a tax #

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/lago:lago-taxes-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

lago-taxes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lago API documentation Taxes API
  description: Lago API allows your application to push customer information and metrics (events) from your application to the billing application.
  version: 1.55.0
  license:
    name: AGPLv3
    url: https://github.com/getlago/lago-openapi/blob/main/LICENSE
  contact:
    email: tech@getlago.com
servers:
- url: https://api.getlago.com/api/v1
  description: US Lago cluster
- url: https://api.eu.getlago.com/api/v1
  description: EU Lago cluster
security:
- bearerAuth: []
tags:
- name: Taxes
  description: Everything about Tax collection
  externalDocs:
    description: Find out more
    url: https://getlago.com/docs/api-reference/taxes/tax-object
paths:
  /taxes:
    post:
      tags:
      - Taxes
      summary: Create a tax
      description: This endpoint creates a new tax representing a customizable tax rate applicable to either a billing entity or a specific customer.
      operationId: createTax
      requestBody:
        description: Tax creation payload
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaxCreateInput'
        required: true
      responses:
        '200':
          description: Tax created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tax'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
    get:
      tags:
      - Taxes
      summary: List all taxes
      description: This endpoint retrieves all existing taxes representing a customizable tax rate applicable to either a billing entity or a specific customer.
      operationId: findAllTaxes
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: Taxes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaxesPaginated'
              example:
                taxes:
                - lago_id: 41190609-391a-4368-9549-d4348a85a8cd
                  name: TVA
                  code: french_standard_vat
                  description: French standard VAT
                  rate: 20
                  applied_to_organization: true
                  applied_to_billing_entities_codes:
                  - acme_corp
                  created_at: '2023-07-06T14:35:58Z'
                - lago_id: 2e034a10-6652-4daf-a600-b085184f93ad
                  name: TVA
                  code: french_reduced_vat
                  description: French reduced VAT
                  rate: 5
                  applied_to_organization: false
                  applied_to_billing_entities_codes: []
                  created_at: '2023-07-06T14:45:23Z'
                meta:
                  current_page: 1
                  next_page: null
                  prev_page: null
                  total_pages: 1
                  total_count: 2
        '401':
          $ref: '#/components/responses/Unauthorized'
  /taxes/{code}:
    parameters:
    - name: code
      in: path
      description: The code of the tax. It serves as a unique identifier associated with a particular tax. The code is typically used for internal or system-level identification purposes.
      required: true
      schema:
        type: string
        example: french_standard_vat
    put:
      tags:
      - Taxes
      summary: Update a tax
      description: This endpoint updates an existing tax representing a customizable tax rate applicable to either a billing entity or a specific customer.
      operationId: updateTax
      requestBody:
        description: Tax update payload
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaxUpdateInput'
        required: true
      responses:
        '200':
          description: Tax updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tax'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
    get:
      tags:
      - Taxes
      summary: Retrieve a tax
      description: This endpoint retrieves an existing tax representing a customizable tax rate applicable to either a billing entity or a specific customer. The tax is identified by its unique code.
      operationId: findTax
      responses:
        '200':
          description: Tax
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tax'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
      - Taxes
      summary: Delete a tax
      description: This endpoint is used to delete a tax.
      operationId: destroyTax
      responses:
        '200':
          description: Tax deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tax'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    BadRequest:
      description: Bad Request error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorBadRequest'
    NotFound:
      description: Not Found error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorNotFound'
    UnprocessableEntity:
      description: Unprocessable entity error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorUnprocessableEntity'
    Unauthorized:
      description: Unauthorized error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorUnauthorized'
  schemas:
    TaxCreateInput:
      type: object
      required:
      - tax
      properties:
        tax:
          $ref: '#/components/schemas/TaxBaseInput'
          required:
          - name
          - code
          - rate
    PaginationMeta:
      type: object
      required:
      - current_page
      - total_pages
      - total_count
      properties:
        current_page:
          type: integer
          description: Current page.
          example: 2
        next_page:
          type:
          - integer
          - 'null'
          description: Next page.
          example: 3
        prev_page:
          type:
          - integer
          - 'null'
          description: Previous page.
          example: 1
        total_pages:
          type: integer
          description: Total number of pages.
          example: 4
        total_count:
          type: integer
          description: Total number of records.
          example: 70
    TaxObject:
      type: object
      required:
      - lago_id
      - name
      - code
      - description
      - rate
      - applied_to_organization
      - created_at
      properties:
        lago_id:
          type: string
          format: uuid
          description: Unique identifier of the tax, created by Lago.
          example: 1a901a90-1a90-1a90-1a90-1a901a901a90
        name:
          type: string
          description: Name of the tax.
          example: TVA
        code:
          type: string
          description: Unique code used to identify the tax associated with the API request.
          example: french_standard_vat
        description:
          type:
          - string
          - 'null'
          description: Internal description of the tax.
          example: French standard VAT
        rate:
          type: number
          description: The percentage rate of the tax.
          example: 20
        applied_to_organization:
          type: boolean
          deprecated: true
          description: '**Deprecated.** This field will be removed in a future version. When set to true, it applies the tax to the organization''s default billing entity. To apply or remove a tax from any billing entity (including the default one), please use the `PUT /billing_entities/:code` endpoint instead.'
          example: true
        applied_to_billing_entities_codes:
          type: array
          items:
            type: string
          description: The codes of the billing entities the tax is applied to, sorted alphabetically. It is empty when the tax is only attached to customers. This field is only returned by the tax endpoints, not by taxes nested in another object.
          example:
          - acme_corp
          - foo_bar
        created_at:
          type: string
          format: date-time
          description: Creation date of the tax.
          example: '2023-07-06T14:35:58Z'
    ApiErrorUnprocessableEntity:
      type: object
      required:
      - status
      - error
      - code
      - error_details
      properties:
        status:
          type: integer
          format: int32
          example: 422
        error:
          type: string
          example: Unprocessable entity
        code:
          type: string
          example: validation_errors
        error_details:
          type: object
    ApiErrorNotFound:
      type: object
      required:
      - status
      - error
      - code
      properties:
        status:
          type: integer
          format: int32
          example: 404
        error:
          type: string
          example: Not Found
        code:
          type: string
          example: object_not_found
    TaxesPaginated:
      type: object
      required:
      - taxes
      - meta
      properties:
        taxes:
          type: array
          items:
            $ref: '#/components/schemas/TaxObject'
        meta:
          $ref: '#/components/schemas/PaginationMeta'
    ApiErrorUnauthorized:
      type: object
      required:
      - status
      - error
      properties:
        status:
          type: integer
          format: int32
          example: 401
        error:
          type: string
          example: Unauthorized
    ApiErrorBadRequest:
      type: object
      required:
      - status
      - error
      properties:
        status:
          type: integer
          format: int32
          example: 400
        error:
          type: string
          example: Bad request
    TaxUpdateInput:
      type: object
      required:
      - tax
      properties:
        tax:
          $ref: '#/components/schemas/TaxBaseInput'
    Tax:
      type: object
      required:
      - tax
      properties:
        tax:
          $ref: '#/components/schemas/TaxObject'
    TaxBaseInput:
      type: object
      properties:
        name:
          type: string
          description: Name of the tax.
          example: TVA
        code:
          type: string
          description: Unique code used to identify the tax associated with the API request.
          example: french_standard_vat
        rate:
          type: string
          pattern: ^[0-9]+.?[0-9]*$
          description: The percentage rate of the tax.
          example: '20.0'
        description:
          type:
          - string
          - 'null'
          description: Internal description of the tax.
          example: French standard VAT
        applied_to_organization:
          type: boolean
          deprecated: true
          description: '**Deprecated.** This field will be removed in a future version. When set to true, it applies the tax to the organization''s default billing entity. To apply or remove a tax from any billing entity (including the default one), please use the `PUT /billing_entities/:code` endpoint instead.'
          example: true
  parameters:
    page:
      name: page
      in: query
      description: Page number.
      required: false
      explode: true
      schema:
        type: integer
        example: 1
    per_page:
      name: per_page
      in: query
      description: Number of records per page.
      required: false
      explode: true
      schema:
        type: integer
        example: 20
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
externalDocs:
  description: Lago Github
  url: https://github.com/getlago
x-provenance:
  method: harvested
  publisher: Lago
  source: https://getlago.com/api/openapi.yaml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)