Arthur Online Types API

The Types API from Arthur Online — 31 operation(s) for types.

Operations 31

GET /profession_types Profession types #
GET /access_details_types Access details types #
GET /area_types Area types #
GET /certificate_types Certificate types #
GET /contract_types Contract types #
GET /countries Countries #
GET /faq_types Faq types #
GET /feature_types Feature types #
GET /genders Genders #
GET /home_owner_statuses Home owner statuses #
GET /offer_frequencies Offer frequency types #
GET /payment_types Payment types #
GET /property_types Property types #
GET /service_types Service types #
GET /tenancy_statuses Tenancy statuses #
GET /titles Titles #
GET /description_formats Transaction description formats #
GET /unit_types Unit types #
GET /unit_statuses Unit status types #
GET /utility_types Utility types #
GET /vat_codes Vat codes #
GET /asset_types Asset types #
GET /viewing_statuses Viewing statuses #
GET /tenancy_types Tenancy types #
GET /tenancy_sub_types Tenancy subtypes #
GET /tenancy_types/{id}/tenancy_sub_types Tenancy subtypes on Tenancy Type #
GET /transaction_types Transaction types #
GET /conversation_statuses Conversation statuses #
GET /rent_frequencies Rent frequencies #
GET /workorder_statuses Workorder statuses #
GET /frequencies/recurring Recurring Frequencies #

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-types-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-types-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Arthur Types API
  version: 2.0.0
  description: Arthur Types API - the types 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: Types
paths:
  /profession_types:
    get:
      operationId: professionTypes
      summary: Profession types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /access_details_types:
    get:
      operationId: accessDetailsTypes
      summary: Access details types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /area_types:
    get:
      operationId: areaTypes
      summary: Area types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /certificate_types:
    get:
      operationId: certificateTypes
      summary: Certificate types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /contract_types:
    get:
      operationId: contractTypes
      summary: Contract types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /countries:
    get:
      operationId: countries
      summary: Countries
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /faq_types:
    get:
      operationId: faqTypes
      summary: Faq types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /feature_types:
    get:
      operationId: featureTypes
      summary: Feature types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /genders:
    get:
      operationId: genders
      summary: Genders
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /home_owner_statuses:
    get:
      operationId: homeOwnerStatuses
      summary: Home owner statuses
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /offer_frequencies:
    get:
      operationId: offerFrequencyTypes
      summary: Offer frequency types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /payment_types:
    get:
      operationId: paymentTypes
      summary: Payment types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /property_types:
    get:
      operationId: propertyTypes
      summary: Property types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /service_types:
    get:
      operationId: serviceTypes
      summary: Service types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /tenancy_statuses:
    get:
      operationId: tenancyStatuses
      summary: Tenancy  statuses
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /titles:
    get:
      operationId: titles
      summary: Titles
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /description_formats:
    get:
      operationId: transactionDescriptionFormats
      summary: Transaction description formats
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /unit_types:
    get:
      operationId: unitTypes
      summary: Unit types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      description: 'We have an extra filter available on this endpoint to include just used unit_types.


        https://api.arthuronline.co.uk/v2/unit_types?only_inclue_used=1'
      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'
  /unit_statuses:
    get:
      operationId: unitStatusTypes
      summary: Unit status types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /utility_types:
    get:
      operationId: utilityTypes
      summary: Utility types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /vat_codes:
    get:
      operationId: vatCodes
      summary: Vat codes
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /asset_types:
    get:
      operationId: assetTypes
      summary: Asset types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /viewing_statuses:
    get:
      operationId: viewingStatuses
      summary: Viewing statuses
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /tenancy_types:
    get:
      operationId: tenancyTypes
      summary: Tenancy types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /tenancy_sub_types:
    get:
      operationId: tenancySubtypes
      summary: Tenancy subtypes
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /tenancy_types/{id}/tenancy_sub_types:
    get:
      operationId: tenancySubtypesOnTenancyType
      summary: Tenancy subtypes on Tenancy Type
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /transaction_types:
    get:
      operationId: transactionTypes
      summary: Transaction types
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /conversation_statuses:
    get:
      operationId: conversationStatuses
      summary: Conversation statuses
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /rent_frequencies:
    get:
      operationId: rentFrequencies
      summary: Rent frequencies
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /workorder_statuses:
    get:
      operationId: workorderStatuses
      summary: Workorder statuses
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
  /frequencies/recurring:
    get:
      operationId: recurringFrequencies
      summary: Recurring Frequencies
      tags:
      - Types
      parameters:
      - $ref: '#/components/parameters/EntityId'
      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'
components:
  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.
  parameters:
    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
  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: {}