Arthur Online Tasks API

The Tasks API from Arthur Online — 26 operation(s) for tasks.

Operations 46

GET /tasks/{task_id}/subtasks List Subtasks on Task #
POST /tasks/{task_id}/subtasks Create Subtask on Task #
GET /tasks/{task_id}/subtasks/{subtask_id} View Subtask On Task #
PUT /tasks/{task_id}/subtasks/{subtask_id} Update Subtask On Task #
DELETE /tasks/{task_id}/subtasks/{subtask_id} Delete Subtask On Task #
GET /tasks/{task_id}/workorders List Workorders On Task #
POST /tasks/{task_id}/workorders Create Workorder On Task #
GET /tasks/{task_id}/workorders/{workorder_id} View Workorder On Task #
PUT /tasks/{task_id}/workorders/{workorder_id} Update Workorder On Task #
GET /tasks/{task_id}/tags List Tags on Task #
PUT /tasks/{task_id}/tags Tag Task #
PUT /tasks/{task_id}/untag Untag Task #
PUT /tasks/{task_id}/untag_all Untag All Task Tags #
GET /tasks/{task_id}/notes List Notes on Task #
POST /tasks/{task_id}/notes Create Note on Task #
GET /tasks/{task_id}/notes/{note_id} View Note on Task #
PUT /tasks/{task_id}/notes/{note_id} Update Note on Task #
DELETE /tasks/{task_id}/notes/{note_id} Delete Note on Task #
GET /tasks/{task_id}/conversation_recipients Get Recipients for Task #
GET /tasks/{task_id}/conversations List Conversations on Task #
POST /tasks/{task_id}/conversations Add Conversation on Task #
GET /tasks/{task_id}/assets List Assets on Task #
GET /tasks/{task_id}/assets/{asset_id} View Asset on Task #
GET /tasks/{task_id}/tenants List Tenants on Task #
GET /tasks/{task_id}/tenants/{tenant_id} View Tenant on Task #
GET /tasks List Tasks #
GET /tasks/{status} List Tasks By Status #
GET /tasks/{task_id} View Task #
PUT /tasks/{task_id} Update Task #
DELETE /tasks/{task_id} Delete Task #
PUT /tasks/{task_id}/status Update Status On Task #
GET /properties/{property_id}/tasks List Tasks On Property #
POST /properties/{property_id}/tasks Add Task On Property #
GET /properties/{property_id}/tasks/{task_id} View Task On Property #
PUT /properties/{property_id}/tasks/{task_id} Update Task On Property #
DELETE /properties/{property_id}/tasks/{task_id} Delete Task On Property #
GET /tenancies/{tenancy_id}/tasks List Tasks On Tenancy #
POST /tenancies/{tenancy_id}/tasks Add Task On Tenancy #
GET /tenancies/{tenancy_id}/tasks/{task_id} View Task On Tenancy #
PUT /tenancies/{tenancy_id}/tasks/{task_id} Update Task On Tenancy #
DELETE /tenancies/{tenancy_id} Delete Task On Tenancy #
GET /units/{unit_id}/tasks List Tasks On Unit #
POST /units/{unit_id}/tasks Add Task On Unit #
GET /units/{unit_id}/tasks/{task_id} View Task On Unit #
PUT /units/{unit_id}/tasks/{task_id} Update Task On Unit #
DELETE /units/{unit_id}/tasks/{task_id} Delete Task 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-tasks-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-tasks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Arthur Online Tasks 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 Tasks across 4 of this provider''s published API definitions: arthur-online-maintenance-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: Tasks
paths:
  /tasks/{task_id}/subtasks:
    get:
      operationId: listSubtasksOnTask
      summary: List Subtasks on Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Direction'
      description: This endpoint retrieves a list of subtasks associated with the given task ID.
      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'
    post:
      operationId: createSubtaskOnTask
      summary: Create Subtask on Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Strict'
      description: "Use this endpoint to create a new subtask record for a  task . The API will return the saved data and a unique subtask ID.\n\nSupported Fields \n The following fields are supported for the request body\n\nField \n Example \n Type \n Required? \n\ndescription \n subtask nb1 \n String \n Yes \n\ndue_date \n 2020-09-22 \n Date \n No \n\ncompleted \n true \n Boolean \n No"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  type: string
                  example: subtask nb1
                due_date:
                  type: string
                  format: date
                  example: '2020-09-22'
                completed:
                  type: boolean
                  example: true
              required:
              - description
            example:
              description: new subtask
              due_date: '2020-09-21'
              completed: false
      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
  /tasks/{task_id}/subtasks/{subtask_id}:
    get:
      operationId: viewSubtaskOnTask
      summary: View Subtask On Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - name: subtask_id
        in: path
        required: true
        description: Arthur subtask id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      description: 'This API endpoint retrieves the details of a single subtask, identified by its unique  subtask_id .


        Use this endpoint to view the specific details of a subtask on a task.'
      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'
    put:
      operationId: updateSubtaskOnTask
      summary: Update Subtask On Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - name: subtask_id
        in: path
        required: true
        description: Arthur subtask id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Strict'
      description: "This endpoint updates an existing subtask on a task using the same fields as the 'Add Subtask' endpoint. The API will return the updated data for the note 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\ndescription \n subtask nb1 \n String \n No \n\ndue_date \n 2020-09-22 \n Date \n No \n\ncompleted \n true \n Boolean \n No"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  type: string
                  example: subtask nb1
                due_date:
                  type: string
                  format: date
                  example: '2020-09-22'
                completed:
                  type: boolean
                  example: true
            example:
              completed: true
      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'
    delete:
      operationId: deleteSubtaskOnTask
      summary: Delete Subtask On Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - name: subtask_id
        in: path
        required: true
        description: Arthur subtask id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      description: This endpoint deletes an existing subtask note using the subtask  id .
      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
  /tasks/{task_id}/workorders:
    get:
      operationId: listWorkordersOnTask
      summary: List Workorders On Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Direction'
      description: This endpoint retrieves a list of workorders associated with the given task ID.
      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'
    post:
      operationId: createWorkorderOnTask
      summary: Create Workorder On Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Strict'
      description: "Use this endpoint to create a new workorder record for a  task . The API will return the saved data and a unique workorder ID.\n\nSupported Fields \n The following fields are supported for the request body\n\nField \n Example \n Type \n Required? \n\ntitle \n workorder title \n String \n No \n\ndescription \n workorder description \n String \n No \n\ninvite_contractors \n [123,1234] \n Array(integer) \n No \n\nservice_type \n Carpet Layer \n String \n Yes \n\nstart_date \n 2020-02-20 \n Date \n No \n\ndue_date \n 2020-02-20 \n Date \n No \n\nbudget \n 1000,00 \n Float \n No \n\nallocated_time_hours \n 20 \n Float \n No \n\nactual_time_hours \n 20 \n Float \n No \n\nprice_per_hour \n 7,90 \n Float \n No \n\nemergency \n true \n Boolean \n No \n\nquote_required \n true \n Boolean \n No \n\nshare_assets \n false \n Boolean \n No \n\nhide_tenant_details \n true \n Boolean \n No"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  example: workorder title
                description:
                  type: string
                  example: workorder description
                invite_contractors:
                  type: array
                  items:
                    type: integer
                  example: '[123,1234]'
                service_type:
                  type: string
                  example: Carpet Layer
                start_date:
                  type: string
                  format: date
                  example: '2020-02-20'
                due_date:
                  type: string
                  format: date
                  example: '2020-02-20'
                budget:
                  type: number
                allocated_time_hours:
                  type: number
                  example: 20.0
                actual_time_hours:
                  type: number
                  example: 20.0
                price_per_hour:
                  type: number
                emergency:
                  type: boolean
                  example: true
                quote_required:
                  type: boolean
                  example: true
                share_assets:
                  type: boolean
                  example: false
                hide_tenant_details:
                  type: boolean
                  example: true
              required:
              - service_type
            example:
              service_type: aerial-network-specialist
              title: Workorder title
              description: Workorder Description
      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
  /tasks/{task_id}/workorders/{workorder_id}:
    get:
      operationId: viewWorkorderOnTask
      summary: View Workorder On Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - name: workorder_id
        in: path
        required: true
        description: Arthur workorder id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      description: This API endpoint retrieves the details of a single task  workorder , identified by its unique  id .
      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'
    put:
      operationId: updateWorkorderOnTask
      summary: Update Workorder On Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - name: workorder_id
        in: path
        required: true
        description: Arthur workorder id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Strict'
      description: "This endpoint updates an existing workorder on a task using the same fields as the 'Add Workorder' endpoint. The API will return the updated data for the tenancy 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\ntitle \n workorder title \n String \n No \n\ndescription \n workorder description \n String \n No \n\ninvite_contractors \n [123,1234] \n Array(integer) \n No \n\nservice_type \n Carpet Layer \n String \n No \n\nstart_date \n 2020-02-20 \n Date \n No \n\ndue_date \n 2020-02-20 \n Date \n No \n\nbudget \n 1000,00 \n Float \n No \n\nallocated_time_hours \n 20 \n Float \n No \n\nactual_time_hours \n 20 \n Float \n No \n\nprice_per_hour \n 7,90 \n Float \n No \n\nemergency \n true \n Boolean \n No \n\nquote_required \n true \n Boolean \n No \n\nshare_assets \n false \n Boolean \n No \n\nhide_tenant_details \n true \n Boolean \n No"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  example: workorder title
                description:
                  type: string
                  example: workorder description
                invite_contractors:
                  type: array
                  items:
                    type: integer
                  example: '[123,1234]'
                service_type:
                  type: string
                  example: Carpet Layer
                start_date:
                  type: string
                  format: date
                  example: '2020-02-20'
                due_date:
                  type: string
                  format: date
                  example: '2020-02-20'
                budget:
                  type: number
                allocated_time_hours:
                  type: number
                  example: 20.0
                actual_time_hours:
                  type: number
                  example: 20.0
                price_per_hour:
                  type: number
                emergency:
                  type: boolean
                  example: true
                quote_required:
                  type: boolean
                  example: true
                share_assets:
                  type: boolean
                  example: false
                hide_tenant_details:
                  type: boolean
                  example: true
            example:
              title: Updated title
      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
  /tasks/{task_id}/tags:
    get:
      operationId: listTagsOnTask
      summary: List Tags on Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Direction'
      description: This endpoint retrieves a list of tags associated with the given Task 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
                data:
                - id: 123
                  name: tag one
                  color: sky
                - id: 123
                  name: tag two
                  color: lightgreen
                - id: 123
                  name: tag three
                  color: purple
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: tagTask
      summary: Tag Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Strict'
      description: "Use this endpoint to create a new tag record for a  task . The API will return the saved data and a unique tag ID.\n\nSupported Fields \n The following fields are supported for the request body\nTag field should be a valid tag ID or name.\n\nField \n Example \n Type \n Required? \n\ntag \n [\"123\"] \n Array(String) \n Yes"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                tag:
                  type: array
                  items:
                    type: string
                  example: '["123"]'
              required:
              - tag
            example:
              tag:
              - '1234'
      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
  /tasks/{task_id}/untag:
    put:
      operationId: untagTask
      summary: Untag Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Strict'
      description: "Use this endpoint to unassign tag record from a  task . The API will return the saved data. Tag field should be a valid tag ID or name.\n\nSupported Fields \n The following fields are supported for the request body\n\nField \n Example \n Type \n Required? \n\ntag \n \"123\" \n String \n Yes"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                tag:
                  type: string
                  example: '"123"'
              required:
              - tag
            example:
              tag: '1234'
      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
  /tasks/{task_id}/untag_all:
    put:
      operationId: untagAllTaskTags
      summary: Untag All Task Tags
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Strict'
      description: Use this endpoint to unassign all tags from the  task .
      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
  /tasks/{task_id}/notes:
    get:
      operationId: listNotesOnTask
      summary: List Notes on Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Direction'
      description: This endpoint retrieves a list of  notes  associated with the given task ID.
      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'
    post:
      operationId: createNoteOnTask
      summary: Create Note on Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Strict'
      description: "Use this endpoint to create a new note record for a  task . The API will return the saved data and a unique note ID.\n\nSupported Fields \n The following fields are supported for the request body\n\nField \n Example \n Type \n Required? \n\ncontent \n Moving away \n String \n Yes \n\ntags \n ['one','two'] \n Array(String) \n No"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                content:
                  type: string
                  example: Moving away
                tags:
                  type: array
                  items:
                    type: string
                  example: '[''one'',''two'']'
              required:
              - content
            example:
              content: Remember this note
      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
  /tasks/{task_id}/notes/{note_id}:
    get:
      operationId: viewNoteOnTask
      summary: View Note on Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - name: note_id
        in: path
        required: true
        description: Arthur note id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      description: This API endpoint retrieves the details of a single task  note , identified by its unique  id
      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'
    put:
      operationId: updateNoteOnTask
      summary: Update Note on Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - name: note_id
        in: path
        required: true
        description: Arthur note id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Strict'
      description: "This endpoint updates an existing note on a task using the same fields as the 'Add Note' endpoint. The API will return the updated data for the note 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\ncontent \n Moving away \n String \n No \n\ntags \n ['one','two'] \n Array(String) \n No"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                content:
                  type: string
                  example: Moving away
                tags:
                  type: array
                  items:
                    type: string
                  example: '[''one'',''two'']'
            example:
              content: Updated Note
      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'
    delete:
      operationId: deleteNoteOnTask
      summary: Delete Note on Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - name: note_id
        in: path
        required: true
        description: Arthur note id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      description: This endpoint deletes an existing task note using the note  id .
      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
  /tasks/{task_id}/conversation_recipients:
    get:
      operationId: getRecipientsForTask
      summary: Get Recipients for Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      description: This endpoint retrieves a list of conversation recipients on a task record, identified by its unique  task_id .
      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
  /tasks/{task_id}/conversations:
    get:
      operationId: listConversationsOnTask
      summary: List Conversations on Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Direction'
      description: This endpoint retrieves a list of conversations on a task, identified by its unique  task_id .
      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'
    post:
      operationId: addConversationOnTask
      summary: Add Conversation on Task
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Arthur task id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Strict'
      description: "Use this endpoint to create a new conversation on a task record. The API will return the saved data and a unique Conversation ID.\n\nSupported Fields \n The following fields are supported for the request body\n\nField \n Example \n Type \n Required? \n\nmessage \n It's done \n String \n Yes \n\nsubject \n Meeting tomorrow \n String \n Yes \n\nperson_ids \n ['1','2'] \n Array(String) \n Yes"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: string
                  example: It's done
                subject:
                  type: string
                  example: Meeting tomorrow
                person_ids:
                  type: array
                  items:
 

# --- truncated at 32 KB (86 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/arthur-online/refs/heads/main/openapi/arthur-online-tasks-api-openapi.yml