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/rutter-accounting-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
openapi: 3.2.0
info:
title: Rutter Unified Accounting API
description: The Rutter Unified API provides a single RESTful interface connecting to over 60 commerce, payments, and accounting platforms. It supports connection management, accounting data (accounts, transactions, invoices, bills, expenses), commerce data (orders, products, customers, stores), payments data, ads data, and banking data. All requests require Basic authentication using client_id and client_secret, plus an access_token query parameter to identify the specific connection.
version: '2024-08-31'
contact:
name: Rutter Developer Documentation
url: https://docs.rutter.com/
servers:
- url: https://production.rutterapi.com/versioned
description: Production
- url: https://sandbox.rutterapi.com
description: Sandbox
security:
- basicAuth: []
tags:
- name: Accounting
description: Accounting data across platforms
paths:
/accounts:
get:
operationId: listAccounts
summary: List Accounts
description: Retrieve a list of chart of accounts entries from the connected accounting platform.
tags:
- Accounting
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
- $ref: '#/components/parameters/Cursor'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
accounts:
type: array
items:
$ref: '#/components/schemas/Account'
next_cursor:
type: string
'401':
description: Unauthorized
/transactions:
get:
operationId: listTransactions
summary: List Transactions
description: Retrieve a list of financial transactions from the connected platform.
tags:
- Accounting
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
- $ref: '#/components/parameters/Cursor'
- name: updated_at_min
in: query
schema:
type: string
format: date-time
description: Filter transactions updated after this timestamp
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
transactions:
type: array
items:
$ref: '#/components/schemas/Transaction'
next_cursor:
type: string
/invoices:
get:
operationId: listInvoices
summary: List Invoices
description: Retrieve a list of invoices from the connected accounting platform.
tags:
- Accounting
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
- $ref: '#/components/parameters/Cursor'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
invoices:
type: array
items:
$ref: '#/components/schemas/Invoice'
next_cursor:
type: string
post:
operationId: createInvoice
summary: Create Invoice
description: Create a new invoice in the connected accounting platform.
tags:
- Accounting
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
- name: Idempotency-Key
in: header
schema:
type: string
description: Unique key to ensure idempotent request
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceCreate'
responses:
'200':
description: Invoice created
content:
application/json:
schema:
$ref: '#/components/schemas/Invoice'
/invoices/{invoiceId}:
get:
operationId: getInvoice
summary: Get Invoice
description: Retrieve a specific invoice by ID.
tags:
- Accounting
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
- name: invoiceId
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Invoice'
'404':
description: Invoice not found
/bills:
get:
operationId: listBills
summary: List Bills
description: Retrieve a list of bills (vendor invoices) from the connected accounting platform.
tags:
- Accounting
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
- $ref: '#/components/parameters/Cursor'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
bills:
type: array
items:
$ref: '#/components/schemas/Bill'
next_cursor:
type: string
post:
operationId: createBill
summary: Create Bill
description: Create a new bill in the connected accounting platform.
tags:
- Accounting
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BillCreate'
responses:
'200':
description: Bill created
content:
application/json:
schema:
$ref: '#/components/schemas/Bill'
/expenses:
get:
operationId: listExpenses
summary: List Expenses
description: Retrieve a list of expense records from the connected accounting platform.
tags:
- Accounting
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
- $ref: '#/components/parameters/Cursor'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
expenses:
type: array
items:
$ref: '#/components/schemas/Expense'
next_cursor:
type: string
components:
schemas:
LineItem:
type: object
properties:
description:
type: string
quantity:
type: number
unit_price:
type: number
format: double
total_amount:
type: number
format: double
Account:
type: object
properties:
id:
type: string
name:
type: string
type:
type: string
enum:
- asset
- liability
- equity
- revenue
- expense
currency:
type: string
balance:
type: number
format: double
platform_id:
type: string
Expense:
type: object
properties:
id:
type: string
amount:
type: number
format: double
currency:
type: string
date:
type: string
format: date
description:
type: string
category:
type: string
account_id:
type: string
Bill:
type: object
properties:
id:
type: string
vendor_id:
type: string
status:
type: string
enum:
- draft
- open
- paid
- voided
amount_due:
type: number
format: double
currency:
type: string
due_date:
type: string
format: date
line_items:
type: array
items:
$ref: '#/components/schemas/LineItem'
Invoice:
type: object
properties:
id:
type: string
customer_id:
type: string
status:
type: string
enum:
- draft
- open
- paid
- voided
amount_due:
type: number
format: double
currency:
type: string
due_date:
type: string
format: date
line_items:
type: array
items:
$ref: '#/components/schemas/LineItem'
Transaction:
type: object
properties:
id:
type: string
amount:
type: number
format: double
currency:
type: string
date:
type: string
format: date
description:
type: string
type:
type: string
account_id:
type: string
InvoiceCreate:
type: object
required:
- customer_id
- line_items
properties:
customer_id:
type: string
currency:
type: string
due_date:
type: string
format: date
line_items:
type: array
items:
$ref: '#/components/schemas/LineItem'
BillCreate:
type: object
required:
- vendor_id
- line_items
properties:
vendor_id:
type: string
currency:
type: string
due_date:
type: string
format: date
line_items:
type: array
items:
$ref: '#/components/schemas/LineItem'
parameters:
XRutterVersion:
name: X-Rutter-Version
in: header
required: true
schema:
type: string
example: '2024-08-31'
description: API version identifier
AccessToken:
name: access_token
in: query
required: true
schema:
type: string
description: Unique access token identifying the specific connection
Cursor:
name: cursor
in: query
schema:
type: string
description: Pagination cursor from previous response next_cursor field
securitySchemes:
basicAuth:
type: http
scheme: basic
description: Use client_id as username and client_secret as password. Encode as base64(client_id:client_secret).
externalDocs:
description: Rutter API Documentation
url: https://docs.rutter.com/