Checkout Page Tax Rates API

The Tax Rates API from Checkout Page — 2 operation(s) for tax rates.

GitHub OpenAPI

Operations 4

GET /v1/tax-rates/ List tax rates #
POST /v1/tax-rates/ Create a tax rate #
DELETE /v1/tax-rates/:taxRateId Delete a tax rate #
PATCH /v1/tax-rates/:taxRateId Update a tax rate #

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/checkoutpage-com:checkoutpage-com-tax-rates-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

checkoutpage-com-tax-rates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Checkoutpage Com Tax Rates API
  version: 1.0.0
  description: 'Operations tagged Tax Rates across 2 of this provider''s published API definitions: checkoutpage-com-openapi.json, checkoutpage-com-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- description: Production
  url: https://api.checkoutpage.com
- description: Staging
  url: https://checkoutpageapi-staging.onrender.com
- description: Localhost
  url: https://api.checkoutpage.dev
tags:
- name: Tax Rates
paths:
  /v1/tax-rates/:
    get:
      description: Returns all tax rates. Tax rates are sorted in order, with the most recent tax rates appearing first.
      operationId: tax-rates/list
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/TaxRate'
                    type: array
                required:
                - data
                type: object
          description: Tax rates retrieved successfully
      security:
      - api_key_auth: []
      summary: List tax rates
      tags:
      - Tax Rates
    post:
      description: Creates a tax rate in Checkout Page and is automatically synchronized with Stripe. In addition to Checkout Page rate limits, Stripe rate limits apply when creating tax rates.
      operationId: tax-rates/create
      requestBody:
        content:
          application/json:
            schema:
              properties:
                default:
                  description: Whether this should be the default fixed rate tax for pages with fixed tax enabled.
                  example: false
                  type: boolean
                displayName:
                  description: Short name describing the type of tax, for example VAT, GST, or Sales Tax. Displayed in the checkout and invoices. Maximum 50 characters.
                  example: VAT
                  maxLength: 50
                  minLength: 1
                  type: string
                inclusive:
                  description: Specifies whether the tax behaviour is inclusive (`true`) or exclusive (`false`).
                  example: true
                  type: boolean
                percentage:
                  description: Tax rate percentage out of 100.
                  example: 20
                  maximum: 100
                  minimum: 0
                  type: number
              required:
              - displayName
              - inclusive
              - percentage
              type: object
      responses:
        '201':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TaxRate'
                required:
                - data
                type: object
          description: Tax rate created successfully
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Bad request - Invalid request parameters
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Unauthorized - Missing or invalid API key
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Forbidden - Seller must connect Stripe before creating tax rates
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Rate Limit Exceeded - Please try again later.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Internal server error
      security:
      - api_key_auth: []
      summary: Create a tax rate
      tags:
      - Tax Rates
    servers:
    - description: Production
      url: https://api.checkoutpage.com
    - description: Staging
      url: https://checkoutpageapi-staging.onrender.com
    - description: Localhost
      url: https://api.checkoutpage.dev
  /v1/tax-rates/:taxRateId:
    delete:
      description: Soft-deletes a tax rate. The rate is removed from any pages that reference it; those pages keep working but tax is no longer applied to them. The Stripe tax rate object is left intact for historical record.
      operationId: tax-rates/delete
      parameters:
      - description: The unique identifier of the tax rate to delete.
        in: path
        name: taxRateId
        required: true
        schema:
          allOf:
          - $ref: '#/components/schemas/UniqueIdentifier'
          - description: The unique identifier of the tax rate to delete.
            example: 507f1f77bcf86cd799439011
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TaxRate'
                required:
                - data
                type: object
          description: Tax rate deleted successfully
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Bad request - Invalid request parameters
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Unauthorized - Missing or invalid API key
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Forbidden - Insufficient permissions or validation error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Tax rate not found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Rate Limit Exceeded - Please try again later.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Internal server error
      security:
      - api_key_auth: []
      summary: Delete a tax rate
      tags:
      - Tax Rates
    patch:
      description: Updates a tax rate. In addition to Checkout Page rate limits, Stripe rate limits apply when updating `displayName`. Display name changes are synced to Stripe.
      operationId: tax-rates/update
      parameters:
      - description: The unique identifier of the tax rate to update.
        in: path
        name: taxRateId
        required: true
        schema:
          allOf:
          - $ref: '#/components/schemas/UniqueIdentifier'
          - description: The unique identifier of the tax rate to update.
            example: 507f1f77bcf86cd799439011
      requestBody:
        content:
          application/json:
            schema:
              properties:
                default:
                  description: Whether this should be the default fixed rate tax for pages with fixed tax enabled.
                  example: false
                  type: boolean
                displayName:
                  description: Short name describing the type of tax, for example VAT, GST, or Sales Tax. Displayed in the checkout and invoices. Maximum 50 characters.
                  example: VAT
                  maxLength: 50
                  minLength: 1
                  type: string
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TaxRate'
                required:
                - data
                type: object
          description: Tax rate updated successfully
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Bad request - Invalid request parameters
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Unauthorized - Missing or invalid API key
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Forbidden - Seller must connect Stripe before updating tax rates
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Tax rate not found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Rate Limit Exceeded - Please try again later.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerApiErrorResponse'
          description: Internal server error
      security:
      - api_key_auth: []
      summary: Update a tax rate
      tags:
      - Tax Rates
    servers:
    - description: Production
      url: https://api.checkoutpage.com
    - description: Staging
      url: https://checkoutpageapi-staging.onrender.com
    - description: Localhost
      url: https://api.checkoutpage.dev
components:
  schemas:
    SellerApiErrorResponse:
      additionalProperties: {}
      properties:
        errors:
          description: Optional validation details for invalid requests.
          items:
            properties:
              message:
                type: string
              param:
                type: string
              value: {}
            required:
            - param
            - message
            type: object
          type: array
        message:
          description: Human-readable error message.
          example: Not Found
          type: string
        status:
          description: Indicates the request failed.
          enum:
          - error
          example: error
          type: string
        type:
          description: Machine-readable error category.
          example: error
          type: string
      required:
      - status
      - type
      - message
      type: object
    UniqueIdentifier:
      description: Unique identifier for the ticket.
      example: 65f4a1c2e4a9f3d2b1c0a9e8
      pattern: ^[0-9a-fA-F]{24}$
      type: string
    TaxRate:
      properties:
        createdAt:
          format: date-time
          type: string
        default:
          description: Whether this is the default tax rate for the seller.
          example: false
          type: boolean
        displayName:
          description: Short name describing the type of tax, for example VAT, GST, or Sales Tax. Displayed in the checkout and invoices. Maximum 50 characters.
          example: VAT
          type: string
        id:
          allOf:
          - $ref: '#/components/schemas/UniqueIdentifier'
          - description: Unique identifier for the tax rate.
        inclusive:
          description: Specifies whether the tax behaviour is inclusive (`true`) or exclusive (`false`).
          example: true
          type: boolean
        percentage:
          description: Tax rate percentage out of 100.
          example: 20
          maximum: 100
          minimum: 0
          type: number
        sellerId:
          description: Unique identifier for the seller that owns this tax rate.
          type: string
        stripeId:
          description: The corresponding Stripe Tax Rate ID on the merchant's Stripe account.
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - sellerId
      - stripeId
      - displayName
      - inclusive
      - percentage
      - default
      - createdAt
      - updatedAt
      type: object
  securitySchemes:
    api_key_auth:
      bearerFormat: API Key
      description: API key authentication. Use "Bearer YOUR_API_KEY" format.
      scheme: bearer
      type: http
x-refined-from:
- checkoutpage-com-openapi.json
- checkoutpage-com-openapi.yml