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-commerce-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 Commerce 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: Commerce
description: Commerce and e-commerce data
paths:
/orders:
get:
operationId: listOrders
summary: List Orders
description: Retrieve a list of orders from the connected commerce platform. Supports expansions to include additional data.
tags:
- Commerce
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
- $ref: '#/components/parameters/Cursor'
- name: expand
in: query
schema:
type: string
enum:
- platform_data
description: Expand response with additional platform-specific data
- name: updated_at_min
in: query
schema:
type: string
format: date-time
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
orders:
type: array
items:
$ref: '#/components/schemas/Order'
next_cursor:
type: string
post:
operationId: createOrder
summary: Create Order
description: Create a new order in the connected commerce platform.
tags:
- Commerce
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrderCreate'
responses:
'200':
description: Order created
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
/orders/{orderId}:
get:
operationId: getOrder
summary: Get Order
description: Retrieve a specific order by ID.
tags:
- Commerce
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
- name: orderId
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
/orders/{orderId}/fulfillments:
post:
operationId: fulfillOrder
summary: Fulfill Order
description: Mark an order as fulfilled and provide fulfillment details.
tags:
- Commerce
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
- name: orderId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FulfillmentCreate'
responses:
'200':
description: Fulfillment created
/products:
get:
operationId: listProducts
summary: List Products
description: Retrieve a list of products from the connected commerce platform.
tags:
- Commerce
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:
products:
type: array
items:
$ref: '#/components/schemas/Product'
next_cursor:
type: string
post:
operationId: createProduct
summary: Create Product
description: Create a new product in the connected commerce platform.
tags:
- Commerce
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProductCreate'
responses:
'200':
description: Product created
content:
application/json:
schema:
$ref: '#/components/schemas/Product'
/products/{productId}:
get:
operationId: getProduct
summary: Get Product
description: Retrieve a specific product by ID.
tags:
- Commerce
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
- name: productId
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Product'
put:
operationId: updateProduct
summary: Update Product
description: Update an existing product in the connected commerce platform.
tags:
- Commerce
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
- name: productId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProductUpdate'
responses:
'200':
description: Product updated
content:
application/json:
schema:
$ref: '#/components/schemas/Product'
/customers:
get:
operationId: listCustomers
summary: List Customers
description: Retrieve a list of customers from the connected commerce or accounting platform.
tags:
- Commerce
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:
customers:
type: array
items:
$ref: '#/components/schemas/Customer'
next_cursor:
type: string
/customers/{customerId}:
get:
operationId: getCustomer
summary: Get Customer
description: Retrieve details for a specific customer.
tags:
- Commerce
parameters:
- $ref: '#/components/parameters/XRutterVersion'
- $ref: '#/components/parameters/AccessToken'
- name: customerId
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
components:
schemas:
Product:
type: object
properties:
id:
type: string
title:
type: string
description:
type: string
status:
type: string
enum:
- active
- draft
- archived
price:
type: number
format: double
currency:
type: string
variants:
type: array
items:
$ref: '#/components/schemas/ProductVariant'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
Customer:
type: object
properties:
id:
type: string
name:
type: string
email:
type: string
phone:
type: string
created_at:
type: string
format: date-time
OrderCreate:
type: object
required:
- customer_id
- line_items
properties:
customer_id:
type: string
currency:
type: string
line_items:
type: array
items:
$ref: '#/components/schemas/OrderLineItem'
ProductVariant:
type: object
properties:
id:
type: string
title:
type: string
price:
type: number
format: double
sku:
type: string
inventory_quantity:
type: integer
ProductCreate:
type: object
required:
- title
properties:
title:
type: string
description:
type: string
price:
type: number
format: double
currency:
type: string
OrderLineItem:
type: object
properties:
product_id:
type: string
variant_id:
type: string
quantity:
type: integer
unit_price:
type: number
format: double
FulfillmentCreate:
type: object
properties:
tracking_number:
type: string
tracking_url:
type: string
carrier:
type: string
line_items:
type: array
items:
type: object
properties:
line_item_id:
type: string
quantity:
type: integer
ProductUpdate:
type: object
properties:
title:
type: string
description:
type: string
price:
type: number
format: double
status:
type: string
Order:
type: object
properties:
id:
type: string
customer_id:
type: string
status:
type: string
enum:
- pending
- processing
- fulfilled
- cancelled
currency:
type: string
total_price:
type: number
format: double
line_items:
type: array
items:
$ref: '#/components/schemas/OrderLineItem'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
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/