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/arthur-online-transactions-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: 3.2.0
info:
title: Arthur Online Transactions API
version: 2.0.0
contact:
name: Arthur Online API Support
url: https://support.arthuronline.co.uk/
termsOfService: https://www.arthuronline.co.uk/terms-and-conditions/
x-derived-by: API Evangelist enrichment pipeline
x-derived-date: '2026-07-26'
x-derived-from: collections/arthur-online.postman_collection.json
description: 'Operations tagged Transactions across 4 of this provider''s published API definitions: arthur-online-financials-openapi.yml, arthur-online-properties-openapi.yml, arthur-online-tenancies-openapi.yml, arthur-online-units-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.arthuronline.co.uk/v2
description: Arthur API v2 production
security:
- arthurOAuth: []
tags:
- name: Transactions
paths:
/transactions:
get:
operationId: listTransactions
summary: List Transactions
tags:
- Transactions
parameters:
- $ref: '#/components/parameters/EntityId'
- name: statement
in: query
required: false
schema:
type: string
description: "Filters the transactions by statement. The available options are tenant , tenant-deposit , property-owner , \n property-owner-consolidated , contractor , tenancy-closing-statement , late-rents , contingency-statement , invoices"
- name: allocated_from
in: query
required: false
schema:
type: string
description: Filter by transaction allocated from ID
- name: status
in: query
required: false
schema:
type: string
description: The status of the transaction. The available options are paid , unpaid , partpaid , outstanding , overdue , or voided . Use this parameter to filter transactions based on their payment status.
- name: transaction_type
in: query
required: false
schema:
type: string
description: Filter by the ID of the transaction type or by its alias name (Obtained from the v2/transaction_types endpoint)
- name: date_from
in: query
required: false
schema:
type: string
description: Filters the transactions by the created date, starting from the specified date. Use the format yyyy-mm-dd to input the date.
- name: date_to
in: query
required: false
schema:
type: string
description: Filters the transactions by the created date, up to the specified date. Use the format yyyy-mm-dd to input the date.
- name: modifiedFrom
in: query
required: false
schema:
type: string
description: Filters the transactions by the modified date, starting from the specified date. Use the format yyyy-mm-dd to input the date.
- name: modifiedTo
in: query
required: false
schema:
type: string
description: Filters the transactions by the modified date, up to the specified date. Use the format yyyy-mm-dd to input the date.
- name: transaction_date_from
in: query
required: false
schema:
type: string
description: Filters the transactions by the date, starting from the specified date. Use the format yyyy-mm-dd to input the date.
- name: transaction_date_to
in: query
required: false
schema:
type: string
description: Filters the transactions by the date, up to the specified date. Use the format yyyy-mm-dd to input the date.
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Direction'
description: 'This retrieves a list of transactions.
See available filters below to customize the list of transactions returned.'
responses:
'200':
description: The request was completed successfully without errors.
content:
application/json:
schema:
type: object
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
servers:
- url: https://api.arthuronline.co.uk/v2
description: Arthur API v2 production
/transactions/{transaction_id}:
get:
operationId: viewTransaction
summary: View Transaction
tags:
- Transactions
parameters:
- name: transaction_id
in: path
required: true
description: Arthur transaction id.
schema:
type: integer
- $ref: '#/components/parameters/EntityId'
description: 'This API endpoint retrieves the details of a single transaction, identified by its unique transaction_id .
Use this endpoint to view the specific details of a transaction.'
responses:
'200':
description: The request was completed successfully without errors.
content:
application/json:
schema:
type: object
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
servers:
- url: https://api.arthuronline.co.uk/v2
description: Arthur API v2 production
/transactions/{transaction_id}/payoff:
put:
operationId: payoffTransaction
summary: Payoff Transaction
tags:
- Transactions
parameters:
- name: transaction_id
in: path
required: true
description: Arthur transaction id.
schema:
type: integer
- $ref: '#/components/parameters/EntityId'
- $ref: '#/components/parameters/Strict'
description: "This API endpoint allows the user to payoff a transaction with a payment. The transaction is identified by its unique transaction_id and the payment details are included in the optional request body.\n\nIf no request body is included, the endpoint will pay off the full charge.\n\nSupported Fields \n The following fields are supported for the request body\n\nField \n Data Type \n Description \n\ndescription \n string \n A description of the payoff receipt. \n\npayment_method_id \n integer \n The ID of the payment method used to pay off the transaction. \n\namount \n float \n The amount paid towards the transaction."
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: A description of the payoff receipt.
payment_method_id:
type: integer
description: The ID of the payment method used to pay off the transaction.
amount:
type: number
description: The amount paid towards the transaction.
responses:
'200':
description: The request was completed successfully without errors.
content:
application/json:
schema:
type: object
properties:
status:
type: integer
data:
type: object
example:
status: 200
data:
id: 22386790
recurring_id: null
parent_id: 22350765
ref: TR13434
transaction_type: Tenancy Receipt
payment_type: payment
description: Paid - Rent, (Arthur), TE1158, Arthur (26th Feb 2023 - 25th Mar 2023)
property_id: 106845
unit_id: 287886
tenancy_id: 484937
payee_group_id: 10
invoice_ref: ''
payee_tenant_id: 588463
amount: '600.00'
amount_charged: '0.00'
amount_paid: '600.00'
amount_outstanding: '0.00'
amount_net: '600.00'
amount_vat: '0.00'
vat_code_id: 0
source: arthur
created_by:
id: 1817080
full_name: API Documentation
payee_name: ''
payee_person_id: null
payee_entity_id: null
date: '2023-02-27'
due_date: null
charged_to_date: null
expected_payment_date: null
allocated_from: null
is_overdue: false
is_outstanding: false
modified: '2023-02-27T13:32:23'
created: '2023-02-27T13:32:23'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
servers:
- url: https://api.arthuronline.co.uk/v2
description: Arthur API v2 production
/properties/{property_id}/transactions:
get:
operationId: listTransactionsOnProperty
summary: List Transactions On Property
tags:
- Transactions
parameters:
- name: property_id
in: path
required: true
description: Arthur property id.
schema:
type: integer
- $ref: '#/components/parameters/EntityId'
- name: statement
in: query
required: false
schema:
type: string
description: "Filters the transactions by statement. The available options are tenant , tenant-deposit , property-owner , \n property-owner-consolidated , contractor , tenancy-closing-statement , late-rents , contingency-statement , invoices"
- name: status
in: query
required: false
schema:
type: string
description: The status of the transaction. The available options are paid , unpaid , partpaid , outstanding , or overdue . Use this parameter to filter transactions based on their payment status.
- name: date_from
in: query
required: false
schema:
type: string
description: Filters the transactions by the date, starting from the specified date. Use the format yyyy-mm-dd to input the date.
- name: date_to
in: query
required: false
schema:
type: string
description: Filters the transactions by the date, up to the specified date. Use the format yyyy-mm-dd to input the date.
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Direction'
description: "This retrieves a list of transactions for a Property \n\nSee available filters below to customize the list of transactions returned."
responses:
'200':
description: The request was completed successfully without errors.
content:
application/json:
schema:
type: object
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
servers:
- url: https://api.arthuronline.co.uk/v2
description: Arthur API v2 production
/tenancies/{tenancy_id}/transactions:
get:
operationId: listTransactionsOnTenancy
summary: List Transactions On Tenancy
tags:
- Transactions
parameters:
- name: tenancy_id
in: path
required: true
description: Arthur tenancy id.
schema:
type: integer
- $ref: '#/components/parameters/EntityId'
- name: statement
in: query
required: false
schema:
type: string
description: "Filters the transactions by statement. The available options are tenant , tenant-deposit , property-owner , \n property-owner-consolidated , contractor , tenancy-closing-statement , late-rents , contingency-statement , invoices"
- name: status
in: query
required: false
schema:
type: string
description: The status of the transaction. The available options are paid , unpaid , partpaid , outstanding , or overdue . Use this parameter to filter transactions based on their payment status.
- name: date_from
in: query
required: false
schema:
type: string
description: Filters the transactions by the date, starting from the specified date. Use the format yyyy-mm-dd to input the date.
- name: date_to
in: query
required: false
schema:
type: string
description: Filters the transactions by the date, up to the specified date. Use the format yyyy-mm-dd to input the date.
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Direction'
description: "This retrieves a list of transactions for a Tenancy \n\nSee available filters below to customize the list of transactions returned."
responses:
'200':
description: The request was completed successfully without errors.
content:
application/json:
schema:
type: object
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
servers:
- url: https://api.arthuronline.co.uk/v2
description: Arthur API v2 production
/units/{unit_id}/transactions:
get:
operationId: listTransactionsOnUnit
summary: List Transactions On Unit
tags:
- Transactions
parameters:
- name: unit_id
in: path
required: true
description: Arthur unit id.
schema:
type: integer
- $ref: '#/components/parameters/EntityId'
- name: statement
in: query
required: false
schema:
type: string
description: "Filters the transactions by statement. The available options are tenant , tenant-deposit , property-owner , \n property-owner-consolidated , contractor , tenancy-closing-statement , late-rents , contingency-statement , invoices"
- name: status
in: query
required: false
schema:
type: string
description: The status of the transaction. The available options are paid , unpaid , partpaid , outstanding , or overdue . Use this parameter to filter transactions based on their payment status.
- name: date_from
in: query
required: false
schema:
type: string
description: Filters the transactions by the date, starting from the specified date. Use the format yyyy-mm-dd to input the date.
- name: date_to
in: query
required: false
schema:
type: string
description: Filters the transactions by the date, up to the specified date. Use the format yyyy-mm-dd to input the date.
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Direction'
description: "This retrieves a list of transactions for a Unit \n\nSee available filters below to customize the list of transactions returned."
responses:
'200':
description: The request was completed successfully without errors.
content:
application/json:
schema:
type: object
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
servers:
- url: https://api.arthuronline.co.uk/v2
description: Arthur API v2 production
components:
parameters:
Direction:
name: direction
in: query
required: false
description: Sort direction.
schema:
type: string
enum:
- ASC
- DESC
Sort:
name: sort
in: query
required: false
description: Field to sort the collection by.
schema:
type: string
Strict:
name: strict
in: query
required: false
description: When true, abort the request instead of auto-creating an unknown Simple type. POST and PUT only.
schema:
type: boolean
EntityId:
name: X-EntityID
in: header
required: true
description: The Arthur entity (account) the request is scoped to. Mandatory on every API call.
schema:
type: string
Page:
name: page
in: query
required: false
description: Page number, between 1 and the total number of pages.
schema:
type: integer
minimum: 1
Limit:
name: limit
in: query
required: false
description: Items per page, between 1 and 100.
schema:
type: integer
minimum: 1
maximum: 100
responses:
BadRequest:
description: The request was invalid or malformed.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: The request was sent to a location that does not exist in the API.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Missing, invalid or expired access token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: expired_token
message: This token has expired.
schemas:
Error:
type: object
description: Arthur error envelope.
properties:
status:
type: integer
error:
type: string
description: Machine-readable error code, e.g. expired_token.
message:
type: string
securitySchemes:
arthurOAuth:
type: oauth2
description: OAuth 2.0 Authorization Code flow. Access tokens are valid for 14 days; refresh tokens for 21 days. Register an application in Arthur Settings > OAuth Applications to obtain a client_id and client_secret.
flows:
authorizationCode:
authorizationUrl: https://auth.arthuronline.co.uk/oauth/authorize
tokenUrl: https://auth.arthuronline.co.uk/oauth/token
refreshUrl: https://auth.arthuronline.co.uk/oauth/token
scopes: {}
x-refined-from:
- arthur-online-financials-openapi.yml
- arthur-online-properties-openapi.yml
- arthur-online-tenancies-openapi.yml
- arthur-online-units-openapi.yml