openapi: 3.1.0 info: title: Arthur Properties API version: 2.0.0 description: Arthur Properties API - the properties 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: Assets - name: Certificates - name: Conversations - name: General Information - name: Notes - name: Units - name: Tenancies - name: Tasks - name: Workorders - name: Utilities - name: Transactions - name: Tags - name: Properties paths: /properties/{property_id}/assets: get: operationId: listAssetsOnProperty summary: List Assets On Property tags: - Assets parameters: - name: property_id in: path required: true description: Arthur property 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 assets associated with the given property ID. 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: 123 name: ' Inventory' description: ' Inventory' created_by: full_name: Brian Williams company: Superfarm file_type: PDF mime_type: application/pdf is_image: false main_image: false asset_type: Inventory share_manager: true share_owner: false share_tenant: false share_contractor: false download_url: https://api.arthuronline.co.uk/public/assets/download/123123 view_url: https://api.arthuronline.co.uk/public/assets/view/123123 attachments: - id: 123 model: Inventory model_id: 123 - id: 123 model: Property model_id: 123 created: '2020-06-23T11:13:02+01:00' modified: '2020-06-23T11:13:02+01:00' pagination: page: 1 current: 1 count: 1 pageCount: 1 limit: 20 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: operationId: createAssetOnProperty summary: Create Asset On Property tags: - Assets parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/Strict' description: "Use this endpoint to create a new asset related to a property . The API will return\ \ the saved data.\n\nSupported Fields \n The following fields are supported for the request body\n\ \nField \n Example \n Type \n Required? \n\nasset_type \n image \n String \n No \n\nname \n inventory\ \ \n String \n No \n\nshare_manager \n true \n Boolean \n No \n\nshare_tenant \n false \n Boolean\ \ \n No \n\nshare_contractor \n true \n Boolean \n No \n\nshare_owner \n true \n Boolean \n No\ \ \n\nfile \n base64 \n String (base64) \n Yes \n\nmime_type \n application/pdf \n String \n Yes\ \ \n\nfile_name \n inventory \n String \n Yes" requestBody: required: true content: application/json: schema: type: object properties: asset_type: type: string example: image name: type: string example: inventory share_manager: type: boolean example: true share_tenant: type: boolean example: false share_contractor: type: boolean example: true share_owner: type: boolean example: true file: type: string example: base64 mime_type: type: string example: application/pdf file_name: type: string example: inventory required: - file - mime_type - file_name example: asset_type: image name: name of asset share_manager: true share_tenant: true share_owner: true share_contractor: true file: pdf file converted to base64 string mime_type: application/pdf file_name: inventory 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: name of asset description: null created_by: full_name: API Documentation company: API file_type: PDF mime_type: application/pdf is_image: false main_image: false asset_type: Image share_manager: true share_owner: true share_tenant: true share_contractor: true download_url: https://api.arthuronline.co.uk/public/assets/download/123123 view_url: https://api.arthuronline.co.uk/public/assets/view/123123 attachments: - id: 123 model: Property model_id: 123 created: '2020-07-03T09:25:52+01:00' modified: '2020-07-03T09:25:52+01:00' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /properties/{property_id}/certificates: get: operationId: listCertificatesOnProperty summary: List Certificates On Property tags: - Certificates parameters: - name: property_id in: path required: true description: Arthur property 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 certificates associated with the given property ID. 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: 12345 type: Gas Safety expiry_date: '2021-06-06' status: Expired missing: false file: id: 12345 download_url: https://asset.arthuronline.co.uk/download/{uuid} mime_type: image/jpeg property: id: 1234 address: Multiple Unit Property, test, ABC 123 unit: id: 123 address: Unit 1, test, ABC 123 tenancy: id: 123456 ref: TE1000 address: Unit 1, test, ABC 123 notes: My Certificate Notes share_manager: true share_tenant: false share_contractor: true share_owner: false created: '2021-01-01T12:00:00' modified: '2021-01-01T12:00:00' pagination: page: 1 current: 1 count: 1 pageCount: 1 limit: 20 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: operationId: addCertificateOnProperty summary: Add Certificate on Property tags: - Certificates parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/Strict' description: "Use this endpoint to create a new certificate related to a  property . The API will\ \ return the saved data.\n\nSupported Fields \n The following fields are supported for the request\ \ body\n\nField \n Example \n Type \n Required? \n\ntype \n Boiler Service \n String \n Yes \n\ \nexpiry_date \n 2023-12-05 \n String \n No \n\nnotes \n Fully assessed \n String \n No \n\nfile\ \ \n Base64 \n String \n No \n\nmime_type \n application/pdf \n String \n No (Required if File\ \ field is present) \n\nfile_name \n Certificate Document \n string \n No (Required if File field\ \ is present)" requestBody: required: true content: application/json: schema: type: object properties: type: type: string example: Boiler Service expiry_date: type: string example: '2023-12-05' notes: type: string example: Fully assessed file: type: string example: Base64 mime_type: type: string example: application/pdf file_name: type: string example: Certificate Document required: - type example: type: Boiler Service expiry_date: '2022-02-28' notes: Fully assessed file: JVBERi0xLjMNCiXi48/TDQoNCjEgMCBvYmoNCjw8DQovVHlwZSAvQ2F0YWxvZw0KL091dGxpbmVzIDIgMCBSDQovUGFnZXMgMyAwIFINCj4+DQplbmRvYmoNCg0KMiAwIG9iag0KPDwNCi9UeXBlIC9PdXRsaW5lcw0KL0NvdW50IDANCj4+DQplbmRvYmoNCg0KMyAwIG9iag0KPDwNCi9UeXBlIC9QYWdlcw0KL0NvdW50IDINCi9LaWRzIFsgNCAwIFIgNiAwIFIgXSANCj4+DQplbmRvYmoNCg0KNCAwIG9iag0KPDwNCi9UeXBlIC9QYWdlDQovUGFyZW50IDMgMCBSDQovUmVzb3VyY2VzIDw8DQovRm9udCA8PA0KL0YxIDkgMCBSIA0KPj4NCi9Qcm9jU2V0IDggMCBSDQo+Pg0KL01lZGlhQm94IFswIDAgNjEyLjAwMDAgNzkyLjAwMDBdDQovQ29udGVudHMgNSAwIFINCj4+DQplbmRvYmoNCg0KNSAwIG9iag0KPDwgL0xlbmd0aCAxMDc0ID4+DQpzdHJlYW0NCjIgSg0KQlQNCjAgMCAwIHJnDQovRjEgMDAyNyBUZg0KNTcuMzc1MCA3MjIuMjgwMCBUZA0KKCBBIFNpbXBsZSBQREYgRmlsZSApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY4OC42MDgwIFRkDQooIFRoaXMgaXMgYSBzbWFsbCBkZW1vbnN0cmF0aW9uIC5wZGYgZmlsZSAtICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjY0LjcwNDAgVGQNCigganVzdCBmb3IgdXNlIGluIHRoZSBWaXJ0dWFsIE1lY2hhbmljcyB0dXRvcmlhbHMuIE1vcmUgdGV4dC4gQW5kIG1vcmUgKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NTIuNzUyMCBUZA0KKCB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDYyOC44NDgwIFRkDQooIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjE2Ljg5NjAgVGQNCiggdGV4dC4gQW5kIG1vcmUgdGV4dC4gQm9yaW5nLCB6enp6ei4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjA0Ljk0NDAgVGQNCiggbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDU5Mi45OTIwIFRkDQooIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNTY5LjA4ODAgVGQNCiggQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA1NTcuMTM2MCBUZA0KKCB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBFdmVuIG1vcmUuIENvbnRpbnVlZCBvbiBwYWdlIDIgLi4uKSBUag0KRVQNCmVuZHN0cmVhbQ0KZW5kb2JqDQoNCjYgMCBvYmoNCjw8DQovVHlwZSAvUGFnZQ0KL1BhcmVudCAzIDAgUg0KL1Jlc291cmNlcyA8PA0KL0ZvbnQgPDwNCi9GMSA5IDAgUiANCj4+DQovUHJvY1NldCA4IDAgUg0KPj4NCi9NZWRpYUJveCBbMCAwIDYxMi4wMDAwIDc5Mi4wMDAwXQ0KL0NvbnRlbnRzIDcgMCBSDQo+Pg0KZW5kb2JqDQoNCjcgMCBvYmoNCjw8IC9MZW5ndGggNjc2ID4+DQpzdHJlYW0NCjIgSg0KQlQNCjAgMCAwIHJnDQovRjEgMDAyNyBUZg0KNTcuMzc1MCA3MjIuMjgwMCBUZA0KKCBTaW1wbGUgUERGIEZpbGUgMiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY4OC42MDgwIFRkDQooIC4uLmNvbnRpbnVlZCBmcm9tIHBhZ2UgMS4gWWV0IG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NzYuNjU2MCBUZA0KKCBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY2NC43MDQwIFRkDQooIHRleHQuIE9oLCBob3cgYm9yaW5nIHR5cGluZyB0aGlzIHN0dWZmLiBCdXQgbm90IGFzIGJvcmluZyBhcyB3YXRjaGluZyApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY1Mi43NTIwIFRkDQooIHBhaW50IGRyeS4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NDAuODAwMCBUZA0KKCBCb3JpbmcuICBNb3JlLCBhIGxpdHRsZSBtb3JlIHRleHQuIFRoZSBlbmQsIGFuZCBqdXN0IGFzIHdlbGwuICkgVGoNCkVUDQplbmRzdHJlYW0NCmVuZG9iag0KDQo4IDAgb2JqDQpbL1BERiAvVGV4dF0NCmVuZG9iag0KDQo5IDAgb2JqDQo8PA0KL1R5cGUgL0ZvbnQNCi9TdWJ0eXBlIC9UeXBlMQ0KL05hbWUgL0YxDQovQmFzZUZvbnQgL0hlbHZldGljYQ0KL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcNCj4+DQplbmRvYmoNCg0KMTAgMCBvYmoNCjw8DQovQ3JlYXRvciAoUmF2ZSBcKGh0dHA6Ly93d3cubmV2cm9uYS5jb20vcmF2ZVwpKQ0KL1Byb2R1Y2VyIChOZXZyb25hIERlc2lnbnMpDQovQ3JlYXRpb25EYXRlIChEOjIwMDYwMzAxMDcyODI2KQ0KPj4NCmVuZG9iag0KDQp4cmVmDQowIDExDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMTkgMDAwMDAgbg0KMDAwMDAwMDA5MyAwMDAwMCBuDQowMDAwMDAwMTQ3IDAwMDAwIG4NCjAwMDAwMDAyMjIgMDAwMDAgbg0KMDAwMDAwMDM5MCAwMDAwMCBuDQowMDAwMDAxNTIyIDAwMDAwIG4NCjAwMDAwMDE2OTAgMDAwMDAgbg0KMDAwMDAwMjQyMyAwMDAwMCBuDQowMDAwMDAyNDU2IDAwMDAwIG4NCjAwMDAwMDI1NzQgMDAwMDAgbg0KDQp0cmFpbGVyDQo8PA0KL1NpemUgMTENCi9Sb290IDEgMCBSDQovSW5mbyAxMCAwIFINCj4+DQoNCnN0YXJ0eHJlZg0KMjcxNA0KJSVFT0YNCg== mime_type: application/pdf 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: 875729 type: 'Boiler Service ' expiry_date: '2022-02-28' status: Expired missing: false file: id: 5740763 download_url: https://asset.arthuronline.co.uk/download/e62146f5-53a0-41df-a31b-b0f7b99644b9 mime_type: application/pdf property: id: 282789 address: My big property, Arthur House, 123 Property Street, Stevenage, Hertfordshire, AB1 2CD unit: id: 0 address: '' tenancy: id: null ref: null address: null notes: Fully assessed share_manager: true share_tenant: false share_contractor: false share_owner: false created: '2023-02-28T14:50:47' modified: '2023-02-28T14:50:47' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /properties/{property_id}/conversation_recipients: get: operationId: getRecipientsForProperty summary: Get Recipients for Property tags: - Conversations parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - $ref: '#/components/parameters/EntityId' description: This endpoint retrieves a list of conversation recipients on a property record, identified by its unique property_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' /properties/{property_id}/conversations: get: operationId: listConversationsOnProperty summary: List Conversations On Property tags: - Conversations parameters: - name: property_id in: path required: true description: Arthur property 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 associated with the given property 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: createConversationOnProperty summary: Create Conversation On Property tags: - Conversations parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/Strict' description: "Use this endpoint to create a new conversation related to a  property . The API will\ \ return the saved data.\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\n\ subject \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: type: string example: '[''1'',''2'']' required: - message - subject - person_ids example: message: Please clean the house on friday. subject: House duties person_ids: - '21' 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' /properties/{property_id}/faqs: get: operationId: listGeneralInfoForProperty summary: List General Info for Property tags: - General Information parameters: - name: property_id in: path required: true description: Arthur property 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 general information records associated with the given property 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: addGeneralInfoForProperty summary: Add General Info for Property tags: - General Information parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/Strict' description: "Use this endpoint to create a new general information record for the property . The\ \ API will return the saved data and a unique general information ID.\n\nSupported Fields \n The\ \ following fields are supported for the request body\n\nField \n Example \n Type \n\ntitle \n\ \ Maintenance \n String \n\ndescription \n Weekly clean \n String \n\nfaq_type \n General \n String\ \ \n\nshare_owner \n true \n Boolean \n\nshare_tenant \n true \n Boolean \n\nshare_contractor\ \ \n false \n Boolean" requestBody: required: true content: application/json: schema: type: object properties: title: type: string example: Maintenance description: type: string example: Weekly clean faq_type: type: string example: General share_owner: type: boolean example: true share_tenant: type: boolean example: true share_contractor: type: boolean example: false example: title: Maintenance - Weekly Clean description: Once a week the main hall will be cleaned faq_type: General share_owner: true share_tenant: true share_contractor: true 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: 35767 property_id: 282789 unit_id: null title: Maintenance - Weekly Clean faq_type: General description: Once a week the main hall will be cleaned created_by: id: 1817080 full_name: API Documentation share_owner: true share_contractor: true share_tenant: true modified: '2023-02-28T13:33:14' created: '2023-02-28T13:33:14' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /properties/{property_id}/notes: get: operationId: listNotesOnProperty summary: List Notes On Property tags: - Notes parameters: - name: property_id in: path required: true description: Arthur property 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 property 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: addNoteOnProperty summary: Add Note On Property tags: - Notes parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/Strict' description: "Use this endpoint to create a new note record for the property . 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" requestBody: required: true content: application/json: schema: type: object properties: content: type: string example: Moving away 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' /properties/{property_id}/notes/{note_id}: get: operationId: viewNoteOnProperty summary: View Note On Property tags: - Notes parameters: - name: property_id in: path required: true description: Arthur property 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 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: updateNoteOnProperty summary: Update Note On Property tags: - Notes parameters: - name: property_id in: path required: true description: Arthur property 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 using the same fields as the 'Add Note' endpoint.\ \ The API will return the updated data for the property 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" requestBody: required: true content: application/json: schema: type: object properties: content: type: string example: Moving away 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: deleteNoteOnProperty summary: Delete Note On Property tags: - Notes parameters: - name: property_id in: path required: true description: Arthur property 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 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' /properties/{property_id}/units: get: operationId: listUnitsOnProperty summary: List Units on Property tags: - Units parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - $ref: '#/components/parameters/EntityId' - name: status in: query required: false schema: type: string description: Filter the units by unit status. - name: type in: query required: false schema: type: string description: Filter the units by unit type. - name: tags in: query required: false schema: type: string description: Filter the units by a comma separated value of tags. - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Sort' - $ref: '#/components/parameters/Direction' description: This endpoint retrieves a list of units associated with the given property 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' /properties/{property_id}/tenancies: get: operationId: listTenanciesOnProperty summary: List Tenancies on Property tags: - Tenancies parameters: - name: property_id in: path required: true description: Arthur property 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 tenancies associated with the given property 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' /properties/{property_id}/tasks: get: operationId: listTasksOnProperty summary: List Tasks On Property tags: - Tasks parameters: - name: property_id in: path required: true description: Arthur property 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 tasks associated with the given property 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: addTaskOnProperty summary: Add Task On Property tags: - Tasks parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/Strict' description: "Use this endpoint to create a new task record for the property . The API will return\ \ the saved data and a unique task ID.\n\nSupported Fields \n The following fields are supported\ \ for the request body\n\nField \n Example \n Type \n Required? \n\ntask_type \n Inspection \n\ \ String \n No \n\ndescription \n Radiator not working \n String \n Yes \n\ntags \n ['one','two']\ \ \n Array(String) \n No \n\ndue_date \n 2020-10-11 \n Date \n No \n\ndue_time \n 15:32 \n Time\ \ \n No \n\nassigned_managers \n [123,1234] \n Array(Integer) \n No \n\nemergency \n True \n Boolean\ \ \n No \n\nprivate \n True \n Boolean \n No \n\napi_notes \n Landlord will be present \n String\ \ \n No \n\nfiles \n\n(each object must contain \"file_type\", \"file_name\", and \"file\") \n\ \ { \n\"file_type\":\"application/pdf\", \n\"file_name\":\"testing\", \n\"file\":\"(base 64)\"\ \ \n} \n [Array {Objects}] \n No" requestBody: required: true content: application/json: schema: type: object properties: task_type: type: string example: Inspection description: type: string example: Radiator not working tags: type: array items: type: string example: '[''one'',''two'']' due_date: type: string format: date example: '2020-10-11' due_time: type: string example: '15:32' assigned_managers: type: array items: type: integer example: '[123,1234]' emergency: type: boolean example: true private: type: boolean example: true api_notes: type: string example: Landlord will be present required: - description example: description: Fix windows please 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' /properties/{property_id}/tasks/{task_id}: get: operationId: viewTaskOnProperty summary: View Task On Property tags: - Tasks parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - name: task_id in: path required: true description: Arthur task id. schema: type: integer - $ref: '#/components/parameters/EntityId' description: This API endpoint retrieves the details of a single property  task , 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: updateTaskOnProperty summary: Update Task On Property tags: - Tasks parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - name: task_id in: path required: true description: Arthur task id. schema: type: integer - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/Strict' description: "This endpoint updates an existing task using the same fields as the 'Add Task' endpoint.\ \ The API will return the updated data for the property 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\ntask_type \n Inspection \n String \n No \n\ndescription \n Radiator not working \n String\ \ \n No \n\ntags \n ['one','two'] \n Array(String) \n No \n\ndue_date \n 2020-10-11 \n Date \n\ \ No \n\ndue_time \n 15:32 \n Time \n No \n\nassigned_managers \n [123,1234] \n Array(Integer)\ \ \n No \n\nemergency \n True \n Boolean \n No \n\nprivate \n True \n Boolean \n No \n\napi_notes\ \ \n Landlord will be present \n String \n No" requestBody: required: true content: application/json: schema: type: object properties: task_type: type: string example: Inspection description: type: string example: Radiator not working tags: type: array items: type: string example: '[''one'',''two'']' due_date: type: string format: date example: '2020-10-11' due_time: type: string example: '15:32' assigned_managers: type: array items: type: integer example: '[123,1234]' emergency: type: boolean example: true private: type: boolean example: true api_notes: type: string example: Landlord will be present example: description: Fix windows please updated 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: deleteTaskOnProperty summary: Delete Task On Property tags: - Tasks parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - name: task_id in: path required: true description: Arthur task id. schema: type: integer - $ref: '#/components/parameters/EntityId' description: This endpoint deletes an existing asset record using the task  id , under a property 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' /properties/{property_id}/workorders: get: operationId: listWorkordersOnProperty summary: List Workorders On Property tags: - Workorders parameters: - name: property_id in: path required: true description: Arthur property 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 property 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: createWorkordersOnProperty summary: Create Workorders On Property tags: - Workorders parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/Strict' description: "Use this endpoint to create a new workorder record for the  property . 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\n\ start_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' /properties/{property_id}/workorders/{workorder_id}: get: operationId: viewWorkordersOnProperty summary: View Workorders On Property tags: - Workorders parameters: - name: property_id in: path required: true description: Arthur property 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 property  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: updateWorkordersOnProperty summary: Update Workorders On Property tags: - Workorders parameters: - name: property_id in: path required: true description: Arthur property 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 using the same fields as the 'Add Workorder'\ \ endpoint. The API will return the updated data for the property 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\n\ emergency \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' /properties/{property_id}/utilities: get: operationId: listUtilitiesOnProperty summary: List Utilities On Property tags: - Utilities parameters: - name: property_id in: path required: true description: Arthur property 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 utilities associated with the given property 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: createUtilityOnProperty summary: Create Utility On Property tags: - Utilities parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/Strict' description: "Use this endpoint to create a new utility record for the  property . The API will\ \ return the saved data and a unique utility ID.\n\nSupported Fields \n The following fields are\ \ supported for the request body\n\nField \n Example \n Type \n Required? \n\ntype \n gas \n String\ \ \n Yes \n\nnotes \n behind back doors \n String \n No \n\nserial_number \n GA212FP21 \n String\ \ \n No \n\naccount_number \n 12344321 \n string \n No \n\nprovider \n company_name \n string\ \ \n No" requestBody: required: true content: application/json: schema: type: object properties: type: type: string example: gas notes: type: string example: behind back doors serial_number: type: string example: GA212FP21 account_number: type: string example: '12344321' provider: type: string example: company_name required: - type example: type: gas serial_number: Created serial number account_number: '12344321' provider: '' last_reading_value: null last_reading_date: null notes: '' 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' /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' /properties/{property_id}/tags: get: operationId: listTagsOnProperty summary: List Tags on Property tags: - Tags parameters: - name: property_id in: path required: true description: Arthur property 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 property 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: 33843 name: 1000 spend limit color: blue - id: 49572 name: benefits lapsed color: blue '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' put: operationId: tagProperty summary: Tag Property tags: - Tags parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/Strict' description: "Use this endpoint to create a new tag record for the  property . 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\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' /properties/{property_id}/untag: put: operationId: untagProperty summary: Untag Property tags: - Tags parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/Strict' description: "Use this endpoint to unassign tag record from the  property . The API will return\ \ the saved data and a unique workorder ID. 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 \"1234\" \n String \n Yes" requestBody: required: true content: application/json: schema: type: object properties: tag: type: string example: '"1234"' 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' /properties/{property_id}/untag_all: put: operationId: untagAllPropertyTags summary: Untag All Property Tags tags: - Tags parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/Strict' description: Use this endpoint to unassign all tags from the  property . 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' /properties: get: operationId: listProperties summary: List Properties tags: - Properties parameters: - $ref: '#/components/parameters/EntityId' - name: full_address in: query required: false schema: type: string description: Filter by the full address of the property - name: address_1 in: query required: false schema: type: string description: Filter by the address 1 field of the property - name: address_2 in: query required: false schema: type: string description: Filter by the address 2 field of the property - name: city in: query required: false schema: type: string description: Filter by the city of the property - name: county in: query required: false schema: type: string description: Filter by the county of the property - name: area_id in: query required: false schema: type: string description: Filter by the area ID of the property - name: postcode in: query required: false schema: type: string description: Filter by the postcode of the property - name: property_type in: query required: false schema: type: string description: Use this parameter to filter by the type of property - name: rentable_units in: query required: false schema: type: string description: Filter based on the number of units available for rent - name: unit_status in: query required: false schema: type: string description: Filter based on the current status of units, including Available To Let, Under Offer, Let, and Unavailable to Let - name: tags in: query required: false schema: type: string description: Filter by tags associated with the property, which should be provided as a comma-separated list - name: i_manage_this in: query required: false schema: type: string description: Filter based on the management status of the property (boolean) - name: letting_agent_id in: query required: false schema: type: string description: Filter by the ID of the letting agent associated with the property - name: property_owner_id in: query required: false schema: type: string description: Filter by the ID of the owner of the property - name: _q in: query required: false schema: type: string description: Filter by keyword - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Sort' - $ref: '#/components/parameters/Direction' description: 'This retrieves a list of properties. See available filters below to customize the list of properties returned.' 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: 121619 property_type: Residential Block property_description: multi ref: reference full_address: full address address_line_1: address line 1 address_line_2: address line 2 city: city county: '' country: country area: '' postcode: postcode total_units: 3 rentable_units: 0 letting_agent_id: null property_owner_id: 123 property_owner_full_name: New Company max_occupancy: N/A bathrooms: N/A floors: '' bedrooms: N/A receptions: N/A smart_meters: '' council_tax_band: N/A council_account_no: '' council_id: null portal_market_rent: 0 portal_market_rent_frequency: '' main_image_url: null epc_urls: [] floor_plan_urls: [] thumbnail_urls: [] image_urls: [] features: [] property_features: [] additional_features: [] tags: [] notes: [] i_manage_this: true latitude: null longitude: null custom_fields: [] modified: '2021-01-19T11:35:10+00:00' created: '2021-01-19T11:35:10+00:00' pagination: page: 1 current: 1 count: 1 pageCount: 1 limit: 20 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: operationId: addProperty summary: Add Property tags: - Properties parameters: - $ref: '#/components/parameters/EntityId' - name: strict in: query required: false schema: type: string description: Any simple fields that cannot be found will return a validation error, instead of creating a new value. E.g. source example: 'true' description: "Use this endpoint to create a new property. The API will return the saved data and\ \ a unique Property ID.\n\nSupported Fields \n The following fields are supported for the request\ \ body\n\nField \n Example \n Type \n Required? \n\nproperty_type \n Residential \n String \n\ \ No \n\nref \n My big property \n String \n Yes \n\naddress_line_1 \n Arthur House \n String\ \ \n Yes \n\naddress_line_2 \n 123 Property Street \n String \n No \n\ncity \n Stevenage \n String\ \ \n No \n\ncounty \n Hertfordshire \n String \n No \n\ncountry \n United Kingdom \n String \n\ \ No \n\narea \n South East \n Simple \n No \n\npostcode \n AB1 2CD \n String \n No \n\nletting_agent_id\ \ \n 4567 \n Integer \n No \n\nproperty_owner_id \n 5678 \n Integer \n Yes \n\nmax_occupancy \n\ \ 4 \n String \n No \n\nbathrooms \n 2 \n String \n No \n\nfloors \n 2 \n String \n No \n\nbedrooms\ \ \n 3 \n String \n No \n\nreceptions \n 1 \n String \n No \n\nsmart_meters \n 1 \n String \n\ \ No \n\ncouncil_tax_band \n B \n String \n No \n\ncouncil_account_no \n ABC123 \n String \n No\ \ \n\ncouncil_id \n 6789 \n Integer \n No \n\nportal_market_rent \n 850.00 \n Float \n No \n\n\ portal_market_rent_frequency \n Weekly \n String \n No \n\nfeatures \n [ \"Internet\", \"Fireplace\"\ , \"Smart home integration\" ] \n Array (String) \n No \n\ntags \n [ \"Cheap Rent\" ] \n Array\ \ (String) \n No \n\ni_manage_this \n true \n Boolean \n No" requestBody: required: true content: application/json: schema: type: object properties: property_type: type: string example: Residential ref: type: string example: My big property address_line_1: type: string example: Arthur House address_line_2: type: string example: 123 Property Street city: type: string example: Stevenage county: type: string example: Hertfordshire country: type: string example: United Kingdom area: type: string example: South East postcode: type: string example: AB1 2CD letting_agent_id: type: integer example: 4567 property_owner_id: type: integer example: 5678 max_occupancy: type: string example: '4' bathrooms: type: string example: '2' floors: type: string example: '2' bedrooms: type: string example: '3' receptions: type: string example: '1' smart_meters: type: string example: '1' council_tax_band: type: string example: B council_account_no: type: string example: ABC123 council_id: type: integer example: 6789 portal_market_rent: type: number example: 850.0 portal_market_rent_frequency: type: string example: Weekly features: type: array items: type: string example: '[ "Internet", "Fireplace", "Smart home integration" ]' tags: type: array items: type: string example: '[ "Cheap Rent" ]' i_manage_this: type: boolean example: true required: - ref - address_line_1 - property_owner_id example: property_type: Residential ref: My big property address_line_1: Arthur House address_line_2: 123 Property Street city: Stevenage county: Hertfordshire country: United Kingdom area: South East postcode: AB1 2CD letting_agent_id: 49470 property_owner_id: 265389 max_occupancy: '4' bathrooms: '2' floors: '2' bedrooms: '3' receptions: '1' smart_meters: '0' council_tax_band: B council_account_no: ABC123 council_id: 33624 portal_market_rent: 850.0 portal_market_rent_frequency: Weekly features: - Internet - Fireplace - Smart home integration tags: - Cheap Rent i_manage_this: true 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: 282789 property_type: Residential property_description: single ref: My big property full_address: My big property, Arthur House, 123 Property Street, Stevenage, Hertfordshire, AB1 2CD, United Kingdom (South East) address_line_1: Arthur House address_line_2: 123 Property Street city: Stevenage county: Hertfordshire country: United Kingdom area: South East postcode: AB1 2CD lat: 51.903761 lng: -0.196612 total_units: 1 rentable_units: 1 letting_agent_id: 49470 property_owner_id: 265389 property_owner_full_name: 2nd PM Account max_occupancy: '4' bathrooms: '2' floors: '2' bedrooms: '3' receptions: '1' smart_meters: 'No' council_tax_band: B council_account_no: ABC123 council_id: 33624 portal_market_rent: 850 portal_market_rent_frequency: Weekly main_image_url: null epc_urls: [] floor_plan_urls: [] thumbnail_urls: [] image_urls: [] features: - Fireplace - Internet - Smart home integration property_features: - Fireplace - Internet additional_features: - Smart home integration tags: [] notes: [] i_manage_this: true latitude: 51.903761 longitude: -0.196612 custom_fields: [] modified: '2023-02-28T13:05:57' created: '2023-02-28T13:05:57' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /properties/{property_id}: get: operationId: viewProperty summary: View Property tags: - Properties parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - $ref: '#/components/parameters/EntityId' description: 'This API endpoint retrieves the details of a single property, identified by its unique property_id . Use this endpoint to view the specific details of a property.' 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: 121619 property_type: Residential Block property_description: multi ref: reference full_address: full address address_line_1: address line 1 address_line_2: address line 2 city: city county: '' country: country area: '' postcode: postcode total_units: 3 rentable_units: 0 letting_agent_id: null property_owner_id: 123 property_owner_full_name: New Company max_occupancy: N/A bathrooms: N/A floors: '' bedrooms: N/A receptions: N/A smart_meters: '' council_tax_band: N/A council_account_no: '' council_id: null portal_market_rent: 0 portal_market_rent_frequency: '' main_image_url: null epc_urls: [] floor_plan_urls: [] thumbnail_urls: [] image_urls: [] features: [] property_features: [] additional_features: [] tags: [] notes: [] i_manage_this: true latitude: null longitude: null custom_fields: [] modified: '2021-01-19T11:35:10+00:00' created: '2021-01-19T11:35:10+00:00' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' put: operationId: updateProperty summary: Update Property tags: - Properties parameters: - name: property_id in: path required: true description: Arthur property id. schema: type: integer - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/Strict' description: "This endpoint updates an existing property using the same fields as the 'Add Property'\ \ endpoint. Any fields that are not provided will not be changed. The API will return the updated\ \ data for the property in the response.\n\nSupported Fields \n The following fields are supported\ \ for the request body\n\nField \n Example \n Type \n\nproperty_type \n Residential \n String\ \ \n\nref \n My big property \n String \n\naddress_line_1 \n Arthur House \n String \n\naddress_line_2\ \ \n 123 Property Street \n String \n\ncity \n Stevenage \n String \n\ncounty \n Hertfordshire\ \ \n String \n\ncountry \n United Kingdom \n String \n\narea \n South East \n Simple \n\npostcode\ \ \n AB1 2CD \n String \n\nletting_agent_id \n 4567 \n Integer \n\nproperty_owner_id \n 5678 \n\ \ Integer \n\nmax_occupancy \n 4 \n String \n\nbathrooms \n 2 \n String \n\nfloors \n 2 \n String\ \ \n\nbedrooms \n 3 \n String \n\nreceptions \n 1 \n String \n\nsmart_meters \n 1 \n String \n\ \ncouncil_tax_band \n B \n String \n\ncouncil_account_no \n ABC123 \n String \n\ncouncil_id \n\ \ 6789 \n Integer \n\nportal_market_rent \n 850.00 \n Float \n\nportal_market_rent_frequency \n\ \ Weekly \n String \n\nfeatures \n [ \"Internet\", \"Fireplace\", \"Smart home integration\" ]\ \ \n Array (String) \n\ntags \n [ \"Cheap Rent\" ] \n Array (String) \n\ni_manage_this \n true\ \ \n Boolean" requestBody: required: true content: application/json: schema: type: object properties: property_type: type: string example: Residential ref: type: string example: My big property address_line_1: type: string example: Arthur House address_line_2: type: string example: 123 Property Street city: type: string example: Stevenage county: type: string example: Hertfordshire country: type: string example: United Kingdom area: type: string example: South East postcode: type: string example: AB1 2CD letting_agent_id: type: integer example: 4567 property_owner_id: type: integer example: 5678 max_occupancy: type: string example: '4' bathrooms: type: string example: '2' floors: type: string example: '2' bedrooms: type: string example: '3' receptions: type: string example: '1' smart_meters: type: string example: '1' council_tax_band: type: string example: B council_account_no: type: string example: ABC123 council_id: type: integer example: 6789 portal_market_rent: type: number example: 850.0 portal_market_rent_frequency: type: string example: Weekly features: type: array items: type: string example: '[ "Internet", "Fireplace", "Smart home integration" ]' tags: type: array items: type: string example: '[ "Cheap Rent" ]' i_manage_this: type: boolean example: true example: property_type: Residential ref: My big property address_line_1: Arthur House address_line_2: 123 Property Street city: Stevenage county: Hertfordshire country: United Kingdom area: South East postcode: AB1 2CD letting_agent_id: 49470 property_owner_id: 265389 max_occupancy: '4' bathrooms: '2' floors: '2' bedrooms: '3' receptions: '1' smart_meters: '0' council_tax_band: B council_account_no: ABC123 council_id: 33624 portal_market_rent: 850.0 portal_market_rent_frequency: Weekly features: - Internet - Fireplace - Smart home integration tags: - Cheap Rent i_manage_this: true 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: 282789 property_type: Residential property_description: single ref: My big property full_address: My big property, Arthur House, 123 Property Street, Stevenage, Hertfordshire, AB1 2CD, United Kingdom (South East) address_line_1: Arthur House address_line_2: 123 Property Street city: Stevenage county: Hertfordshire country: United Kingdom area: South East postcode: AB1 2CD lat: 51.903761 lng: -0.196612 total_units: 1 rentable_units: 1 letting_agent_id: 49470 property_owner_id: 265389 property_owner_full_name: 2nd PM Account max_occupancy: '4' bathrooms: '2' floors: '2' bedrooms: '3' receptions: '1' smart_meters: 'No' council_tax_band: B council_account_no: ABC123 council_id: 33624 portal_market_rent: 850 portal_market_rent_frequency: Weekly main_image_url: null epc_urls: [] floor_plan_urls: [] thumbnail_urls: [] image_urls: [] features: - Fireplace - Internet - Smart home integration property_features: - Fireplace - Internet additional_features: - Smart home integration tags: [] notes: [] i_manage_this: true latitude: 51.903761 longitude: -0.196612 custom_fields: [] modified: '2023-02-28T13:05:57' created: '2023-02-28T13:05:57' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: 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: {} 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 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 Sort: name: sort in: query required: false description: Field to sort the collection by. schema: type: string Direction: name: direction in: query required: false description: Sort direction. schema: type: string enum: - ASC - DESC 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 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 responses: BadRequest: description: The request was invalid or malformed. 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. NotFound: description: The request was sent to a location that does not exist in the API. content: application/json: schema: $ref: '#/components/schemas/Error'