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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/lago:lago-add-ons-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
openapi: 3.2.0
info:
title: Lago API documentation Add Ons 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: add_ons
description: Everything about Add-on collection
externalDocs:
description: Find out more
url: https://getlago.com/docs/api-reference/add-ons/add-on-object
paths:
/add_ons:
post:
tags:
- add_ons
summary: Create an add-on
description: This endpoint is used to create an add-on that can be then attached to a one-off invoice.
operationId: createAddOn
requestBody:
description: Add-on payload
content:
application/json:
schema:
$ref: '#/components/schemas/AddOnCreateInput'
required: true
responses:
'200':
description: Add-on created
content:
application/json:
schema:
$ref: '#/components/schemas/AddOn'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
get:
tags:
- add_ons
summary: List all add-ons
description: This endpoint is used to list all existing add-ons.
operationId: findAllAddOns
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/per_page'
responses:
'200':
description: Add-ons
content:
application/json:
schema:
$ref: '#/components/schemas/AddOnsPaginated'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/add_ons/{code}:
parameters:
- name: code
in: path
description: Unique code used to identify the add-on.
required: true
schema:
type: string
example: setup_fee
put:
tags:
- add_ons
summary: Update an add-on
description: This endpoint is used to update an existing add-on.
operationId: updateAddOn
requestBody:
description: Add-on payload
content:
application/json:
schema:
$ref: '#/components/schemas/AddOnUpdateInput'
required: true
responses:
'200':
description: Add-on updated
content:
application/json:
schema:
$ref: '#/components/schemas/AddOn'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
get:
tags:
- add_ons
summary: Retrieve an add-on
description: This endpoint is used to retrieve a specific add-on.
operationId: findAddOn
responses:
'200':
description: Add-on
content:
application/json:
schema:
$ref: '#/components/schemas/AddOn'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
delete:
tags:
- add_ons
summary: Delete an add-on
description: This endpoint is used to delete an existing add-on. The fixed charges that use this add-on are deleted too.
operationId: destroyAddOn
responses:
'200':
description: Add-on deleted
content:
application/json:
schema:
$ref: '#/components/schemas/AddOn'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
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'
AddOnsPaginated:
type: object
required:
- add_ons
- meta
properties:
add_ons:
type: array
items:
$ref: '#/components/schemas/AddOnObject'
meta:
$ref: '#/components/schemas/PaginationMeta'
AddOn:
type: object
required:
- add_on
properties:
add_on:
$ref: '#/components/schemas/AddOnObject'
Currency:
type: string
example: USD
enum:
- AED
- AFN
- ALL
- AMD
- ANG
- AOA
- ARS
- AUD
- AWG
- AZN
- BAM
- BBD
- BDT
- BGN
- BIF
- BMD
- BND
- BOB
- BRL
- BSD
- BWP
- BYN
- BZD
- CAD
- CDF
- CHF
- CLF
- CLP
- CNY
- COP
- CRC
- CVE
- CZK
- DJF
- DKK
- DOP
- DZD
- EGP
- ETB
- EUR
- FJD
- FKP
- GBP
- GEL
- GHS
- GIP
- GMD
- GNF
- GTQ
- GYD
- HKD
- HNL
- HRK
- HTG
- HUF
- IDR
- ILS
- INR
- ISK
- JMD
- JPY
- KES
- KGS
- KHR
- KMF
- KRW
- KYD
- KZT
- LAK
- LBP
- LKR
- LRD
- LSL
- MAD
- MDL
- MGA
- MKD
- MMK
- MNT
- MOP
- MRO
- MUR
- MVR
- MWK
- MXN
- MYR
- MZN
- NAD
- NGN
- NIO
- NOK
- NPR
- NZD
- PAB
- PEN
- PGK
- PHP
- PKR
- PLN
- PYG
- QAR
- RON
- RSD
- RUB
- RWF
- SAR
- SBD
- SCR
- SEK
- SGD
- SHP
- SLL
- SOS
- SRD
- STD
- SYP
- SZL
- THB
- TJS
- TND
- TOP
- TRY
- TTD
- TWD
- TZS
- UAH
- UGX
- USD
- UYU
- UZS
- VND
- VUV
- WST
- XAF
- XCD
- XOF
- XPF
- YER
- ZAR
- ZMW
TaxCodes:
type: array
items:
type: string
description: List of unique code used to identify the taxes.
example:
- french_standard_vat
ApiErrorForbidden:
type: object
required:
- status
- error
- code
properties:
status:
type: integer
format: int32
example: 403
error:
type: string
example: Forbidden
code:
type: string
example: feature_unavailable
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
ApiErrorUnauthorized:
type: object
required:
- status
- error
properties:
status:
type: integer
format: int32
example: 401
error:
type: string
example: Unauthorized
AddOnObject:
type: object
required:
- lago_id
- name
- invoice_display_name
- code
- amount_cents
- amount_currency
- description
- created_at
- taxes
properties:
lago_id:
type: string
format: uuid
description: Unique identifier of the add-on, created by Lago.
example: 1a901a90-1a90-1a90-1a90-1a901a901a90
name:
type: string
description: The name of the add-on.
example: Setup Fee
invoice_display_name:
type:
- string
- 'null'
description: Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
example: Setup Fee (SF1)
code:
type: string
description: Unique code used to identify the add-on.
example: setup_fee
amount_cents:
type: integer
description: The cost of the add-on in cents, excluding any applicable taxes, that is billed to a customer. By creating a one-off invoice, you will be able to override this value.
example: 50000
amount_currency:
$ref: '#/components/schemas/Currency'
description: The currency of the add-on.
example: USD
description:
type:
- string
- 'null'
description: The description of the add-on.
example: Implementation fee for new customers.
created_at:
type: string
format: date-time
description: The date and time when the add-on was created. It is expressed in UTC format according to the ISO 8601 datetime standard. This field provides the timestamp for the exact moment when the add-on was initially created.
example: '2022-04-29T08:59:51Z'
taxes:
type: array
description: All taxes applied to the add-on.
items:
$ref: '#/components/schemas/TaxObject'
AddOnCreateInput:
type: object
required:
- add_on
properties:
add_on:
$ref: '#/components/schemas/AddOnBaseInput'
required:
- name
- code
- amount_cents
- amount_currency
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
AddOnUpdateInput:
type: object
required:
- add_on
properties:
add_on:
$ref: '#/components/schemas/AddOnBaseInput'
ApiErrorBadRequest:
type: object
required:
- status
- error
properties:
status:
type: integer
format: int32
example: 400
error:
type: string
example: Bad request
AddOnBaseInput:
type: object
properties:
name:
type: string
description: The name of the add-on.
example: Setup Fee
invoice_display_name:
type:
- string
- 'null'
description: Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
example: Setup Fee (SF1)
code:
type: string
description: Unique code used to identify the add-on.
example: setup_fee
amount_cents:
type: integer
minimum: 1
description: The cost of the add-on in cents, excluding any applicable taxes, that is billed to a customer. It must be greater than zero. By creating a one-off invoice, you will be able to override this value.
example: 50000
amount_currency:
$ref: '#/components/schemas/Currency'
description: The currency of the add-on.
example: USD
description:
type:
- string
- 'null'
description: The description of the add-on.
example: Implementation fee for new customers.
tax_codes:
$ref: '#/components/schemas/TaxCodes'
responses:
BadRequest:
description: Bad Request error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorBadRequest'
Forbidden:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorForbidden'
UnprocessableEntity:
description: Unprocessable entity error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorUnprocessableEntity'
NotFound:
description: Not Found error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorNotFound'
Unauthorized:
description: Unauthorized error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorUnauthorized'
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)