Pleo tax-codes API

Tax Codes API

Operations 6

POST /v0/tax-codes Create a new tax code #
GET /v0/tax-codes/{taxCodeId} Returns a given tax code #
PUT /v0/tax-codes/{taxCodeId} Update an tax code #
DELETE /v0/tax-codes/{taxCodeId} Delete an tax code #
POST /v0/tax-codes:calculate-tax-amounts Calculate gross, net, and tax amounts for a list of tax code ids and amounts. #
POST /v0/tax-codes:search Returns a list of tax codes #

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/pleo-tax-codes-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

pleo-tax-codes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: App Marketplace accounting-entries Tax Codes API
  description: API for Pleo App Marketplace
  termsOfService: https://pleo.io/terms/
  contact:
    email: partner-ecosystem-team@pleo.io
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: 39.4.0
servers:
- url: https://external.pleo.io
  description: Production server
- url: https://external.staging.pleo.io
  description: Staging server
security:
- bearerAuth: []
- basicAuth: []
tags:
- name: tax-codes
  description: Tax Codes API
paths:
  /v0/tax-codes:
    post:
      tags:
      - tax-codes
      summary: Create a new tax code
      operationId: createTaxCode
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/TaxCodeCreateUpdateModel'
        required: true
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/DataResponseTaxCodeModel'
  /v0/tax-codes/{taxCodeId}:
    get:
      tags:
      - tax-codes
      summary: Returns a given tax code
      operationId: getTaxCode
      parameters:
      - name: taxCodeId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
          description: Tax code ID to fetch
          format: uuid
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/DataResponseTaxCodeModel'
    put:
      tags:
      - tax-codes
      summary: Update an tax code
      operationId: updateTaxCode
      parameters:
      - name: taxCodeId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
          description: Tax code ID to update
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/TaxCodeCreateUpdateModel'
        required: true
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/DataResponseTaxCodeModel'
    delete:
      tags:
      - tax-codes
      summary: Delete an tax code
      operationId: deleteTaxCode
      parameters:
      - name: taxCodeId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
          description: Tax code ID to delete
          format: uuid
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8: {}
  /v0/tax-codes:calculate-tax-amounts:
    post:
      tags:
      - tax-codes
      summary: Calculate gross, net, and tax amounts for a list of tax code ids and amounts.
      operationId: calculateTax
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/CalculateTaxesRequest'
        required: true
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/DataResponseCalculateTaxesResponse'
  /v0/tax-codes:search:
    post:
      tags:
      - tax-codes
      summary: Returns a list of tax codes
      operationId: getTaxCodes
      parameters:
      - name: company_id
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          description: Fetch a list of tax codes for a given company
          format: uuid
      - name: before
        in: query
        description: Lower bound of the page of data to return (cannot be used together with [after] or [offset]).
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: after
        in: query
        description: Upper bound of the page of data to return (cannot be used together with [before] or [offset]).
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: offset
        in: query
        description: Offset of the page of data to return (cannot be used together with [before] or [after]).
        required: false
        style: form
        explode: true
        schema:
          type: integer
          format: int64
      - name: limit
        in: query
        description: The maximum amount of items to return.
        required: false
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: sorting_keys
        in: query
        description: The keys to sort the results by.
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: sorting_order
        in: query
        description: The order to sort the results by. Must be the same length as [sortingKeys]; one order per key.
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            $ref: '#/components/schemas/PageOrder'
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/TaxCodeSearchRequest'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/CursorPaginatedResponseTaxCodeModel'
components:
  schemas:
    Taxes:
      required:
      - amountTaxBreakdown
      - id
      type: object
      properties:
        amountTaxBreakdown:
          $ref: '#/components/schemas/AmountTaxBreakdown'
        id:
          type: string
    PageOrder:
      type: string
      enum:
      - ASC
      - ASC_NULLS_FIRST
      - ASC_NULLS_LAST
      - DESC
      - DESC_NULLS_FIRST
      - DESC_NULLS_LAST
    TaxCodeCreateUpdateModel:
      required:
      - archived
      - companyId
      - name
      - rate
      - type
      type: object
      properties:
        archived:
          type: boolean
          description: Boolean flag used to archive or unarchive a category (when set to true, account is not visible or usable on the platform)
        code:
          type:
          - string
          - 'null'
          description: The accounting system's internal identifier of the tax code
          example: '01'
        companyId:
          type: string
          description: Company ID the tax code is being created/updated for
          format: uuid
        ingoingTaxAccount:
          type:
          - string
          - 'null'
          description: Ingoing tax account usually used to account for reverse VAT
        name:
          type: string
          description: Name of the tax code
          example: Standardmoms (25 %)
        outgoingTaxAccount:
          type:
          - string
          - 'null'
          description: Outgoing tax account usually used to account for reverse VAT
        rate:
          type: number
          description: Percentage rate applied for this tax code (This is represented in decimals and not the percentage. e.g. 20% tax rate would be 0.20)
        type:
          $ref: '#/components/schemas/TaxCodeTypeModel'
    TaxedAmount:
      required:
      - amount
      - id
      type: object
      properties:
        amount:
          $ref: '#/components/schemas/Money'
        id:
          type: string
          description: An identifier to associate the amount to
      description: The amounts to apply the tax code to
    CursorPaginatedResponseTaxCodeModel:
      required:
      - data
      - pagination
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/TaxCodeModel'
        pagination:
          $ref: '#/components/schemas/CursorPageInfo'
    DataResponseTaxCodeModel:
      required:
      - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/TaxCodeModel'
    CursorPageCurrentRequestInfo:
      required:
      - parameters
      type: object
      properties:
        after:
          type: string
        before:
          type: string
        limit:
          type: integer
          format: int32
        offset:
          type: integer
          format: int64
        parameters:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        sortingKeys:
          type: array
          items:
            type: string
        sortingOrder:
          type: array
          items:
            $ref: '#/components/schemas/PageOrder'
    CalculateTaxesResponse:
      required:
      - taxes
      type: object
      properties:
        taxes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/Taxes'
    TaxCodeModel:
      required:
      - archived
      - companyId
      - createdAt
      - id
      - name
      - rate
      - type
      - updatedAt
      type: object
      properties:
        accountingIntegrationSystem:
          type:
          - string
          - 'null'
          description: Accounting integration system
        archived:
          type: boolean
          description: Boolean flag used to archive or unarchive an account (when set to true, account is not visible or usable on the platform)
        code:
          type:
          - string
          - 'null'
          description: The accounting system's internal identifier of the tax code
          example: '01'
        companyId:
          type: string
          description: The Pleo unique identifier of the company the tax code belongs to
          format: uuid
        createdAt:
          pattern: YYYY-MM-DDTHH:mi:ssZ
          type: string
          description: Date and time the tax code was created
          format: date-time
        id:
          type: string
          description: The unique identifier generated by Pleo for the tax code
          format: uuid
        ingoingTaxAccount:
          type:
          - string
          - 'null'
          description: Ingoing tax account usually used to account for reverse VAT
        name:
          type: string
          description: Name of the tax code
          example: Standardmoms (25 %)
        outgoingTaxAccount:
          type:
          - string
          - 'null'
          description: Outgoing tax account usually used to account for reverse VAT
        rate:
          type: number
          description: Percentage rate applied for this tax code (This is represented in decimals and not the percentage. e.g. 20% tax rate would be 0.20)
        type:
          $ref: '#/components/schemas/TaxCodeTypeModel'
        updatedAt:
          pattern: YYYY-MM-DDTHH:mi:ssZ
          type: string
          description: Date and time the tax code was last updated
          format: date-time
    CursorPageInfo:
      required:
      - currentRequestPagination
      - hasNextPage
      - hasPreviousPage
      type: object
      properties:
        currentRequestPagination:
          $ref: '#/components/schemas/CursorPageCurrentRequestInfo'
        endCursor:
          type: string
        hasNextPage:
          type: boolean
        hasPreviousPage:
          type: boolean
        startCursor:
          type: string
        total:
          type: integer
          format: int64
    Money:
      required:
      - currency
      - minors
      type: object
      properties:
        currency:
          type: string
          description: The currency codes followed in Pleo conforms with ISO 4217.
          example: EUR
        minors:
          type: integer
          description: "The transaction amount is represented in smallest denomination in a specific currency.\n For example:\n- A transaction amount is £65.80 in Great Britain Pounds (GBP); this represented as `6580`.\n- A transaction amount is 1500 ISK in Icelandic Króna (ISK); this is represented as `1500`."
          format: int64
          example: 10
    TaxCodeTypeModel:
      type: string
      description: Classification of this tax code. Exclusive tax codes are not currently supported.
      enum:
      - inclusive
      - exclusive
      - reverse
    DataResponseCalculateTaxesResponse:
      required:
      - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CalculateTaxesResponse'
    AmountTaxBreakdown:
      required:
      - gross
      - net
      - tax
      type: object
      properties:
        gross:
          $ref: '#/components/schemas/Money'
        net:
          $ref: '#/components/schemas/Money'
        tax:
          $ref: '#/components/schemas/Money'
      description: Tax breakdown for the eMoneyAccountValue of the core accounting entry.
    TaxCodeSearchRequest:
      type: object
      properties:
        archived:
          type: boolean
          description: If set to true will only return tax codes that have been archived, if set to false will only return tax codes that have not been archived. By default,both archived and non-archived tax codes will be returned.
        code:
          type: string
          description: Filter by code.
        taxCodeIds:
          uniqueItems: true
          type: array
          description: Useful for fetching a list of tax codes given a specific list of IDs.
          items:
            type: string
            description: Useful for fetching a list of tax codes given a specific list of IDs.
            format: uuid
        type:
          $ref: '#/components/schemas/TaxCodeTypeModel'
    CalculateTaxesRequest:
      required:
      - amountsByTaxCodeId
      type: object
      properties:
        amountsByTaxCodeId:
          type: object
          additionalProperties:
            type: array
            description: The amounts to apply the tax code to
            items:
              $ref: '#/components/schemas/TaxedAmount'
          description: The amounts to apply the tax code to
      description: Tax code IDs and a list of id + amount pairs to calculate tax for
  securitySchemes:
    bearerAuth:
      type: http
      description: 'JWT Bearer token authentication. Include the token in the Authorization header as: `Bearer <token>`'
      scheme: bearer
      bearerFormat: JWT
    basicAuth:
      type: http
      description: Basic HTTP authentication using API key. Use your API key as the username and leave the password empty. The credentials will be Base64 encoded automatically.
      scheme: basic