Arthur Online Entities API

The Entities API from Arthur Online — 2 operation(s) for entities.

Operations 5

GET /entities List Entities #
POST /entities Create Entity #
GET /entities/{entity_id} View Entity #
PUT /entities/{entity_id} Update Entity #
DELETE /entities/{entity_id} Delete Entity #

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-entities-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-entities-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Arthur Entities API
  version: 2.0.0
  description: Arthur Entities API - the entities surface of the Arthur API v2, the UK property management platform from Arthur Online (an Aareon company). Derived operation-for-operation from the provider's public Postman Documenter collection at https://developer.arthuronline.co.uk/. Every request is scoped to an Arthur entity via the mandatory X-EntityID header and authorised with an OAuth 2.0 Authorization Code access token.
  contact:
    name: Arthur Online API Support
    url: https://support.arthuronline.co.uk/
  termsOfService: https://www.arthuronline.co.uk/terms-and-conditions/
  x-derived-from: collections/arthur-online.postman_collection.json
  x-derived-by: API Evangelist enrichment pipeline
  x-derived-date: '2026-07-26'
servers:
- url: https://api.arthuronline.co.uk/v2
  description: Arthur API v2 production
security:
- arthurOAuth: []
tags:
- name: Entities
paths:
  /entities:
    get:
      operationId: listEntities
      summary: List Entities
      tags:
      - Entities
      parameters:
      - $ref: '#/components/parameters/EntityId'
      - name: service
        in: query
        required: false
        schema:
          type: string
        description: Filter by type of service
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Direction'
      description: This endpoint retrieves a list of entities.
      responses:
        '200':
          description: The request was completed successfully without errors.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  data:
                    type: array
                    items:
                      type: object
                  pagination:
                    $ref: '#/components/schemas/Pagination'
              example:
                status: 200
                data:
                - id: 1
                  title: ''
                  name: Company
                  address: Address name, Address line 1, Address line 2, City, County, POSTCODE, Country
                  address_line_1: Address line 1
                  address_line_2: Address line 2
                  city: City
                  county: County
                  country: United Kingdom
                  postcode: POSTCODE
                  website: Company website
                  phone_home: '123'
                  phone_work: '123'
                  phone_mobile: '123'
                  email: companyEmail@gmail.com
                  registration_status: active
                  company: Company name
                  vat_no: 1
                  contacts:
                  - id: 2
                    name: Company Owner
                    main_contact: true
                    phone_home: '132'
                    phone_work: '132'
                    phone_mobile: '132'
                    email: contactemail@gmail.com
                    registration_status: active
                  tags: []
                  modified: '2020-06-26T14:09:12+01:00'
                  created: '2020-06-26T13:01:15+01:00'
                - id: 4
                  title: ''
                  name: Company
                  address: Address name, Address line 1, Address line 2, City, County, POSTCODE, Country
                  address_line_1: Address line 1
                  address_line_2: Address line 2
                  city: City
                  county: County
                  country: United Kingdom
                  postcode: POSTCODE
                  website: Company website
                  phone_home: '123'
                  phone_work: '123'
                  phone_mobile: '123'
                  email: companyEmail@gmail.com
                  registration_status: active
                  company: Company name
                  vat_no: 1
                  contacts:
                  - id: 5
                    name: Company Owner
                    main_contact: true
                    phone_home: '132'
                    phone_work: '132'
                    phone_mobile: '132'
                    email: contactemail@gmail.com
                    registration_status: active
                  tags: []
                  modified: '2020-06-26T14:09:12+01:00'
                  created: '2020-06-26T13:01:15+01:00'
                pagination:
                  page: 1
                  current: 1
                  count: 2
                  pageCount: 1
                  limit: 20
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: createEntity
      summary: Create Entity
      tags:
      - Entities
      parameters:
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Strict'
      description: "Use this endpoint to create a new entity. The API will return the saved data and a unique Entity ID.\n\nCurrently only supports creating landlords and agents \n\nSupported Fields \n The following fields are supported for the request body\n\nField \n Example \n Type \n Required? \n\ncompany \n company ltd \n String \n No \n\nemail \n company@email.com \n String \n Yes \n\nfirst_name \n Brian \n String \n Yes \n\nlast_name \n Jackson \n String \n No \n\ntitle \n Mr \n String \n No \n\nphone_work \n 12345 \n String \n No \n\nphone_home \n 12345 \n String \n No \n\nmobile \n 12345 \n String \n No \n\ngroup \n Owner \n String \n Yes \n\nvat_no \n 1 \n String \n No \n\nwebsite \n www.yourwebsite.com \n String \n No \n\ninvite_existing \n true \n Boolean \n No \n\naddress_name \n Queens road \n String \n No \n\naddress_line_1 \n 42 Raven drive \n String \n No \n\naddress_line_2 \n 3 Swan court \n String \n No \n\ncity \n London \n String \n No \n\ncounty \n Greater London \n String \n No \n\ncountry \n United Kingdom \n String \n No \n\npostcode \n NW14DG \n String \n No"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company:
                  type: string
                  example: company ltd
                email:
                  type: string
                  example: company@email.com
                first_name:
                  type: string
                  example: Brian
                last_name:
                  type: string
                  example: Jackson
                title:
                  type: string
                  example: Mr
                phone_work:
                  type: string
                  example: '12345'
                phone_home:
                  type: string
                  example: '12345'
                mobile:
                  type: string
                  example: '12345'
                group:
                  type: string
                  example: Owner
                vat_no:
                  type: string
                  example: '1'
                website:
                  type: string
                  example: www.yourwebsite.com
                invite_existing:
                  type: boolean
                  example: true
                address_name:
                  type: string
                  example: Queens road
                address_line_1:
                  type: string
                  example: 42 Raven drive
                address_line_2:
                  type: string
                  example: 3 Swan court
                city:
                  type: string
                  example: London
                county:
                  type: string
                  example: Greater London
                country:
                  type: string
                  example: United Kingdom
                postcode:
                  type: string
                  example: NW14DG
              required:
              - email
              - first_name
              - group
            example:
              title: Mr
              first_name: Michael
              last_name: Brian
              company: My Company
              address_name: My Favourite One
              address_line_1: 31 Eagle Road
              address_line_2: 5 Raven Court
              city: London
              county: Greater London
              country: United Kingdom
              postcode: NW14SA
              website: www.arthuronline.co.uk
              phone_work: '123'
              phone_home: '1234'
              mobile: '12345'
              email: emailCompany@gmail.com
              vat_no: '1'
              group: Owner
      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: 1
                  title: Mr
                  name: My Company
                  address: My Favourite One, 31 Eagle Road, 5 Raven Court, London, Greater London, NW14SA, United Kingdom
                  address_line_1: 31 Eagle Road
                  address_line_2: 5 Raven Court
                  city: London
                  county: Greater London
                  country: United Kingdom
                  postcode: NW14SA
                  website: companyWebsite@gmail.com
                  phone_home: '1234'
                  phone_work: '123'
                  phone_mobile: '12345'
                  email: emailCompany@gmail.com
                  registration_status: invited
                  company: My Company
                  vat_no: 0
                  contacts:
                  - id: 2
                    name: Michael O'Brian
                    main_contact: true
                    phone_home: '1234'
                    phone_work: '123'
                    phone_mobile: '12345'
                    email: emailCompany@gmail.com
                    registration_status: invited
                  tags: []
                  modified: '2020-06-30T10:55:22+01:00'
                  created: '2020-06-30T10:55:22+01:00'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /entities/{entity_id}:
    get:
      operationId: viewEntity
      summary: View Entity
      tags:
      - Entities
      parameters:
      - name: entity_id
        in: path
        required: true
        description: Arthur entity id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      description: 'This API endpoint retrieves the details of a single entity, identified by its unique  entity_id .


        Use this endpoint to view the specific details of a entity.'
      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: 1
                  title: ''
                  name: Company
                  address: Address name, Address line 1, Address line 2, City, County, POSTCODE, United Kingdom
                  address_line_1: Address line 1
                  address_line_2: Address line 2
                  city: City
                  county: County
                  country: United Kingdom
                  postcode: POSTCODE
                  website: Company website
                  phone_home: '123'
                  phone_work: '123'
                  phone_mobile: '123'
                  email: companyEmail@gmail.com
                  registration_status: active
                  company: Company name
                  vat_no: 1
                  contacts:
                  - id: 2
                    name: Company Owner
                    main_contact: true
                    phone_home: '132'
                    phone_work: '132'
                    phone_mobile: '132'
                    email: contactemail@gmail.com
                    registration_status: active
                  tags: []
                  modified: '2020-06-26T14:09:12+01:00'
                  created: '2020-06-26T13:01:15+01:00'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateEntity
      summary: Update Entity
      tags:
      - Entities
      parameters:
      - name: entity_id
        in: path
        required: true
        description: Arthur entity id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Strict'
      description: "This endpoint updates an existing entity using the same fields as the 'Add Entity' endpoint. Any fields that are not provided will not be changed. The API will return the updated data for the entity in the response.\n\nSupported Fields \n The following fields are supported for the request body\n\nField \n Example \n Type \n Required? \n\ncompany \n company ltd \n String \n No \n\nemail \n company@email.com \n String \n No \n\nfirst_name \n Brian \n String \n No \n\nlast_name \n Jackson \n String \n No \n\ntitle \n Mr \n String \n No \n\nphone_work \n 12345 \n String \n No \n\nphone_home \n 12345 \n String \n No \n\nmobile \n 12345 \n String \n No \n\nvat_no \n 20 \n Integer \n No \n\nwebsite \n www.yourwebsite.com \n String \n No \n\naddress_name \n Queens road \n String \n No \n\naddress_line_1 \n 42 Raven drive \n String \n No \n\naddress_line_2 \n 3 Swan court \n String \n No \n\ncity \n London \n String \n No \n\ncounty \n Greater London \n String \n No \n\ncountry \n United Kingdom \n String \n No \n\npostcode \n NW14DG \n String \n No"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company:
                  type: string
                  example: company ltd
                email:
                  type: string
                  example: company@email.com
                first_name:
                  type: string
                  example: Brian
                last_name:
                  type: string
                  example: Jackson
                title:
                  type: string
                  example: Mr
                phone_work:
                  type: string
                  example: '12345'
                phone_home:
                  type: string
                  example: '12345'
                mobile:
                  type: string
                  example: '12345'
                vat_no:
                  type: integer
                  example: 20
                website:
                  type: string
                  example: www.yourwebsite.com
                address_name:
                  type: string
                  example: Queens road
                address_line_1:
                  type: string
                  example: 42 Raven drive
                address_line_2:
                  type: string
                  example: 3 Swan court
                city:
                  type: string
                  example: London
                county:
                  type: string
                  example: Greater London
                country:
                  type: string
                  example: United Kingdom
                postcode:
                  type: string
                  example: NW14DG
            example:
              city: Kent
      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: 1
                  title: Mr
                  name: My Company
                  address: My Favourite One, 31 Eagle Road, 5 Raven Court, Kent, Greater London, NW14SA, United Kingdom
                  address_line_1: 31 Eagle Road
                  address_line_2: 5 Raven Court
                  city: Kent
                  county: Greater London
                  country: United Kingdom
                  postcode: NW14SA
                  website: companyWebsite@gmail.com
                  phone_home: '1234'
                  phone_work: '123'
                  phone_mobile: '12345'
                  email: emailCompany@gmail.com
                  registration_status: invited
                  company: My Company
                  vat_no: 0
                  contacts:
                  - id: 2
                    name: Michael O'Brian
                    main_contact: true
                    phone_home: '1234'
                    phone_work: '123'
                    phone_mobile: '12345'
                    email: emailCompany@gmail.com
                    registration_status: invited
                  tags: []
                  modified: '2020-06-30T10:55:22+01:00'
                  created: '2020-06-30T10:55:22+01:00'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteEntity
      summary: Delete Entity
      tags:
      - Entities
      parameters:
      - name: entity_id
        in: path
        required: true
        description: Arthur entity id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      description: This endpoint deletes an existing entity using the entity  id .
      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
                message: Owner deleted successfully.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
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:
    Pagination:
      type: object
      description: Pagination block returned on every list response.
      properties:
        page:
          type: integer
        current:
          type: integer
        count:
          type: integer
        pageCount:
          type: integer
        limit:
          type: integer
    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: {}