Arthur Online Transactions API

The Transactions API from Arthur Online — 6 operation(s) for transactions.

Operations 6

GET /transactions List Transactions #
GET /transactions/{transaction_id} View Transaction #
PUT /transactions/{transaction_id}/payoff Payoff Transaction #
GET /properties/{property_id}/transactions List Transactions On Property #
GET /tenancies/{tenancy_id}/transactions List Transactions On Tenancy #
GET /units/{unit_id}/transactions List Transactions On Unit #

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/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 Specification

arthur-online-transactions-api-openapi.yml Raw ↑
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