openapi: 3.1.0 info: title: Street Open API description: Build on top of the UKs most advanced Estate Agency software. version: '1.0' contact: name: Street API Development Team url: https://street.co.uk email: apis@street.co.uk servers: - url: https://street.co.uk/open-api/v1 description: Production. - url: https://demo.street.co.uk/open-api/v1 description: Testing. paths: /activity: post: summary: Create a activity log operationId: post-activity responses: '201': description: Created. '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' description: This endpoint allows you to create a `Activity Log` record by providing core information such as the entity the `Activity Log` relates to and optionally the content/body of the `Activity Log`. requestBody: content: application/vnd.api+json: schema: type: object required: - data properties: data: type: object required: - type - attributes - relationships properties: type: type: string enum: - activity attributes: type: object required: - activity_type - title - source properties: activity_type: type: string enum: - campaign_sent title: type: string description: type: string url: type: string format: uri meta: type: - object - 'null' source: type: string enum: - property_reports - print - social - email_marketing created_at: type: - string - 'null' format: date-time relationships: oneOf: - $ref: '#/components/schemas/PropertyRelated' - $ref: '#/components/schemas/PersonRelated' tags: - Activity /network-settings: parameters: [] /lettings-applicants: get: summary: Get all Lettings Applicants tags: - Applicants responses: '200': description: Get one or more Lettings Applicants in a paginated result. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Applicant' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedLettingsOffer' - $ref: '#/components/schemas/IncludedViewing' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedCompany' - $ref: '#/components/schemas/IncludedNegotiator' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedLettingsApplication' - $ref: '#/components/schemas/IncludedFollowUp' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-lettings-applicants description: This endpoint retrieves multiple paginated applicants along with `meta` and `pagination` information. parameters: - schema: type: string format: uuid example: a7c052ea-316a-4b55-8d47-9af7f782f887 in: query name: filter[branch] description: Filter the Applicants by Branch. - schema: type: array items: type: string uniqueItems: true minItems: 1 in: query name: filter[areas] description: Filter the Applicants by a comma-separated list of area names. style: form explode: false - $ref: '#/components/parameters/filter_applicant_price_from' - $ref: '#/components/parameters/filter_applicant_price_to' - $ref: '#/components/parameters/filter_applicant_min_bedrooms' - $ref: '#/components/parameters/filter_applicant_furnished' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - $ref: '#/components/parameters/filter_trashed' - schema: type: array items: type: string enum: - branch - offers - viewings - people - company - notes - applications - followUps - negotiator uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `branch,offers,viewings,people,notes` style: form explode: false - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' - schema: type: string format: date in: query name: filter[follow_ups_due_from] description: Filter results to applicants with a follow up after the provided ISO8601 date. - schema: type: string format: date in: query description: Filter results to applicants with a follow up before the provided ISO8601 date. name: filter[follow_ups_due_to] - schema: type: array items: type: - string - 'null' enum: - hot - warm - cold - null uniqueItems: true in: query name: filter[lead_rating] description: 'Filter applicants by their lead rating. Accepts: hot, warm, cold, or null. Can pass multiple values.' style: form explode: false parameters: [] /lettings-applicants/{applicant_id}: parameters: - schema: type: string format: uuid name: applicant_id in: path required: true description: The UUID of the Applicant. get: summary: Get a single Lettings Applicant tags: - Applicants responses: '200': description: Get Lettings Applicant by `UUID`. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Applicant' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedLettingsOffer' - $ref: '#/components/schemas/IncludedViewing' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedCompany' - $ref: '#/components/schemas/IncludedNegotiator' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedLettingsApplication' - $ref: '#/components/schemas/IncludedFollowUp' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-lettings-applicants-applicantId description: This endpoint retrieves a single applicant by its `UUID`. parameters: - schema: type: array items: type: string enum: - branch - offers - viewings - people - company - notes - applications - followUp - negotiator uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `branch,offers,viewings,people,notes` style: form explode: false /sales-applicants: get: summary: Get all Sales Applicants tags: - Applicants responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Applicant' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedSalesOffer' - $ref: '#/components/schemas/IncludedViewing' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedCompany' - $ref: '#/components/schemas/IncludedNegotiator' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedFollowUp' - $ref: '#/components/schemas/IncludedSale' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-sales-applicants description: This endpoint retrieves multiple paginated applicants along with `meta` and `pagination` information. parameters: - schema: type: string format: uuid in: query name: filter[branch] description: Filter the Applicants by Branch. - schema: type: array items: type: string uniqueItems: true minItems: 1 in: query name: filter[areas] description: Filter the Applicants by a comma-separated list of area names. style: form explode: false - $ref: '#/components/parameters/filter_applicant_price_from' - $ref: '#/components/parameters/filter_applicant_price_to' - $ref: '#/components/parameters/filter_applicant_min_bedrooms' - schema: type: array items: type: string enum: - FTB - INV - BTLI - NPTS - NOM - OTM - SSTC - UO - PTS - DEV - BUY uniqueItems: true minItems: 1 in: query name: filter[buying_position] description: "Filter the Applicants by their buying position.\n\nAvailable values are:\n - FTB\ \ (First-time buyer)\n - INV (Investor)\n - BTLI (Buy to let investor)\n - NPTS (No property\ \ to sell)\n - NOM (In process of selling - Valuation)\n - OTM (In process of selling - On\ \ the market)\n - SSTC (In process of selling - Sold STC)\n - UO (In process of selling -\ \ Under Offer)\n - PTS (Property to sell)\n - DEV (Developer)\n - BUY (Buying Agent)\n" style: form - schema: type: array items: type: string enum: - NIP - SOAQ - SAMA - AIP - NFCB - CBFS - PMTG uniqueItems: true minItems: 1 in: query name: filter[financial_position] description: "Filter the Applicants by their financial position.\n\nAvailable values are:\n -\ \ NIP (Nothing in place)\n - SOAQ (Seeking own advice / quotes)\n - SAMA (Currently seeing\ \ agent’s mortgage advisor)\n - AIP (Agreement in Principle in place)\n - NFCB (Does not need\ \ Finance (Cash Buyer))\n - CBFS (Cash Buyer, proceeds from Sale)\n - PMTG (Porting Mortgage)\n" style: form - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array items: type: string enum: - branch - offers - viewings - people - company - notes - sales - followUps - negotiator uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `branch,offers,viewings,people,notes,sales` style: form explode: false - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' - schema: type: string format: date in: query name: filter[follow_ups_due_from] description: Filter results to applicants with a follow up after the provided ISO8601 date. - schema: type: string format: date in: query description: Filter results to applicants with a follow up before the provided ISO8601 date. name: filter[follow_ups_due_to] - schema: type: array items: type: - string - 'null' enum: - hot - warm - cold - null uniqueItems: true in: query name: filter[lead_rating] description: 'Filter applicants by their lead rating. Accepts: hot, warm, cold, or null. Can pass multiple values.' style: form explode: false parameters: [] /sales-applicants/{applicant_id}: parameters: - schema: type: string format: uuid name: applicant_id in: path required: true description: The UUID of the Applicant. get: summary: Get a single Sales Applicant tags: - Applicants responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Applicant' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedSalesOffer' - $ref: '#/components/schemas/IncludedViewing' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedCompany' - $ref: '#/components/schemas/IncludedFollowUp' - $ref: '#/components/schemas/IncludedNegotiator' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedSale' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-sales-applicants-applicantId description: This endpoint retrieves a single applicant by its `UUID`. parameters: - schema: type: array items: type: string enum: - branch - offers - viewings - people - company - notes - sales - followUp - negotiator uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `branch,offers,viewings,people,notes,sales` style: form explode: false /areas: get: summary: Get all Areas tags: - Areas responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Area' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-areas description: This endpoint retrieves multiple paginated areas along with `meta` and `pagination` information. parameters: - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /branches: get: summary: Get all Branches tags: - Branches responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Branch' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedUser' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedApplicant' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-branches description: This endpoint retrieves multiple paginated branches along with `meta` and `pagination` information. parameters: - $ref: '#/components/parameters/filter_trashed' - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - users - properties - applicants in: query name: include description: Optional related entities to include in the results. explode: false style: form - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /branches/{branch_id}: get: summary: Get a single Branch tags: - Branches responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Branch' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedUser' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedApplicant' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-branch description: This endpoint retrieves a single branch by its `UUID`. parameters: - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - users - properties - applicants in: query name: include description: Optional related entities to include in the results. explode: false style: form - schema: type: string format: uuid name: branch_id in: path required: true description: The UUID of the Branch. /brands: get: summary: Get all Brands tags: - Brands responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Brand' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-brands description: This endpoint retrieves multiple paginated brands along with `meta` and `pagination` information. parameters: - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /brands/{brand_id}: get: summary: Get a single Brand tags: - Brands responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Brand' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-brand description: This endpoint retrieves a single brand by its `UUID`. parameters: - schema: type: string format: uuid name: brand_id in: path required: true description: The UUID of the Brand. /lettings-applications/{application_id}: parameters: - schema: type: string format: uuid name: application_id in: path required: true description: The UUID of the Application. get: summary: Get a single Lettings Application description: This endpoint retrieves a single lettings application by its `UUID`. tags: - Lettings Applications responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/LettingsApplication' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedEpc' - $ref: '#/components/schemas/IncludedSafetyCertificate' - $ref: '#/components/schemas/IncludedDownloadableMedia' - $ref: '#/components/schemas/IncludedTenancy' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedTenancyAgreement' - $ref: '#/components/schemas/IncludedHoldingDeposit' - $ref: '#/components/schemas/IncludedMeterReading' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-lettings-applications-application_id parameters: - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - property - tenancy - tenancyAgreement - holdingDeposit - applicant - applicant.people - epc - safetyCertificates - tenancyGuide - landlordOfferLetter - tenantGuarantorReferenceForm - tenantGuarantorReferenceReport - tenantGuarantorIdDocument - generatedDocument - meterReadings in: query name: include description: Optional related entities to include in the results supplied as a comma separated list. style: form explode: false /companies: get: summary: Get all Companies tags: - Companies responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Company' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedPerson' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-companies description: This endpoint retrieves multiple paginated companies along with `meta` and `pagination` information. parameters: - $ref: '#/components/parameters/filter_trashed' - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - people - properties - applicants - notes in: query name: include description: Optional related entities to include in the results. style: form explode: false - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' - schema: type: string in: query name: filter[telephone_number] description: Filter results by the telephone number. /companies/{company_id}: parameters: - schema: type: string format: uuid name: company_id in: path required: true description: The UUID of the Company. get: summary: Get a single Company tags: - Companies responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Company' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedPerson' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-companies-companyId description: This endpoint retrieves a single company by its `UUID`. parameters: - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - people - properties - applicants - notes in: query name: include description: Optional related entities to include in the results. style: form explode: false /documents: post: operationId: post-documents summary: Create a Document responses: '201': description: Created. content: application/vnd.api+json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/Media' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' requestBody: content: application/vnd.api+json: schema: type: object required: - data properties: data: type: object required: - type - attributes - relationships properties: type: type: string enum: - document attributes: type: object required: - file_url - title properties: file_url: type: string format: uri description: 'The endpoint will only accept the following filetypes: PDF, JPG, PNG.' title: type: string description: type: - string - 'null' is_public: type: - boolean - 'null' description: Indicates whether the document is public. This value will be ignored if it's determined that the document cannot be made public. default: false key: type: - string - 'null' enum: - api_tenancy_guide - api_landlord_offer_letter - api_tenancy_agreement - api_tenant_guarantor_reference_form - api_tenant_guarantor_reference_report - api_tenant_guarantor_id_document pattern: ^[a-z_]*$ example: api_tenancy_guide relationships: oneOf: - $ref: '#/components/schemas/PropertyRelated' - $ref: '#/components/schemas/SalesApplicantRelated' - $ref: '#/components/schemas/LettingsApplicantRelated' description: "This endpoint allows you to create a `Document` attached to an entity by providing\ \ a publically accessible URL for the file.\n In addition you can add relevant information\ \ such as a title and description of the file." tags: - Documents x-internal: false parameters: [] /photos/{property_id}/media/{media_id}: patch: operationId: patch-photos-propertyId-imageId summary: Update a photos details parameters: - schema: type: string format: uuid name: property_id in: path required: true description: The UUID of the Property. - schema: type: string format: uuid name: media_id in: path required: true description: The UUID of the Image. requestBody: content: application/vnd.api+json: schema: type: object required: - data properties: data: type: object required: - type - attributes properties: type: type: string enum: - image attributes: type: object properties: title: type: string include_in_listing: type: boolean description: Photo details to update responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/UploadedMedia' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' description: This endpoint allows you to update a photo details. tags: - Images x-internal: false delete: operationId: delete-photos-propertyId-imageId summary: Delete a photo from a property parameters: - schema: type: string format: uuid name: property_id in: path required: true description: The UUID of the Property. - schema: type: string format: uuid name: media_id in: path required: true description: The UUID of the Image. responses: '204': description: No Content. '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '500': $ref: '#/components/responses/500' description: This endpoint allows you to delete a photo from a property. tags: - Images x-internal: false /floorplans/{property_id}/media/{media_id}: delete: operationId: delete-floorplans-propertyId-imageId summary: Delete a floorplan from a property parameters: - schema: type: string format: uuid name: property_id in: path required: true description: The UUID of the Property. - schema: type: string format: uuid name: media_id in: path required: true description: The UUID of the Image. responses: '204': description: No Content. '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '500': $ref: '#/components/responses/500' description: This endpoint allows you to delete a floorplan from a property. tags: - Images x-internal: false /enquiries: get: summary: Get all Enquiries operationId: get-enquiries responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Enquiry' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedPerson' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' description: This endpoint retrieves multiple paginated enquiries along with `meta` and `pagination` information. parameters: - $ref: '#/components/parameters/filter_branch' - schema: type: string format: email in: query name: filter[email_address] description: Filter enquiries by the provided email address - schema: type: string in: query name: filter[telephone_number] description: Filter enquiries by the provided telephone number - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' tags: - Enquiries post: summary: Create an Enquiry operationId: post-enquiries responses: '201': description: Created. content: application/vnd.api+json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/Enquiry' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '415': $ref: '#/components/responses/415' '422': $ref: '#/components/responses/422' '500': $ref: '#/components/responses/500' description: This endpoint allows you to create an `Enquiry` record by providing core information such as name, email address and enquiry details alongside any appointment requests such as viewings or valuations. requestBody: content: application/vnd.api+json: schema: type: object properties: data: type: object required: - type - attributes - relationships properties: type: type: string enum: - enquiry attributes: type: object required: - email_address - message properties: first_name: type: - string - 'null' last_name: type: - string - 'null' email_address: type: string format: email telephone_number: type: - string - 'null' message: type: string custom_source: type: - string - 'null' maxLength: 25 description: A one or 2 word descriptor to designate where this Enquiry has originated from ie "website" postcode: type: - string - 'null' maxLength: 8 description: Optional UK postcode for the enquirer. When supplied and the enquiry creates a new Person, this is stored as the Person's correspondence address. Ignored when the enquiry matches an existing Person — never overwrites a curated address. property_uuid: type: - 'null' - string format: uuid branch_uuid: type: - 'null' - string format: uuid request_viewing: type: boolean request_valuation: type: boolean property_to_sell: type: boolean property_to_let: type: boolean relationships: oneOf: - $ref: '#/components/schemas/PropertyRelated' - $ref: '#/components/schemas/SalesApplicantRelated' - $ref: '#/components/schemas/LettingsApplicantRelated' required: - data description: '' tags: - Enquiries /enquiries/{enquiry_id}: parameters: - schema: type: string format: uuid name: enquiry_id in: path required: true description: The UUID of the Enquiry. get: summary: Get a single Enquiry tags: - Enquiries responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Enquiry' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedPerson' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-enquiries-enquiryId description: This endpoint retrieves a single enquiry by its `UUID`. parameters: - schema: type: array items: type: string enum: - property - branch - person uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `property,branch,person` explode: false style: form /follow-ups: get: summary: Get all Follow Ups operationId: get-follow-ups responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/FollowUp' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedNegotiator' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedSale' - $ref: '#/components/schemas/IncludedValuation' - $ref: '#/components/schemas/IncludedViewing' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' description: This endpoint retrieves multiple paginated follow ups along with `meta` and `pagination` information. parameters: - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - branch - negotiator - property - lettingsApplicant - salesApplicant - sale - valuation - viewing in: query name: include description: Optional related entities to include in the results. style: form explode: false - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - property - lettingsApplicant - salesApplicant - sale - valuation - viewing in: query name: filter[subject] description: Filter Follow Ups by the subject entity they relate to. style: form explode: false - $ref: '#/components/parameters/filter_branch' - $ref: '#/components/parameters/filter_property' - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' tags: - Follow Ups post: summary: Create a Follow Up operationId: post-follow-ups responses: '201': description: Created. content: application/vnd.api+json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/FollowUp' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' description: This endpoint allows you to create a `Follow Up` record by providing core information such as the entity the `Follow Up` relates to and optionally the content/body of the `Follow Up`. requestBody: content: application/vnd.api+json: schema: type: object properties: data: type: object required: - type - attributes - relationships properties: type: type: string enum: - follow-up attributes: type: object required: - due_date properties: due_date: type: string format: date note: type: - string - 'null' relationships: oneOf: - $ref: '#/components/schemas/PropertyRelated' - $ref: '#/components/schemas/SalesApplicantRelated' - $ref: '#/components/schemas/LettingsApplicantRelated' - $ref: '#/components/schemas/SaleRelated' - $ref: '#/components/schemas/ValuationRelated' required: - data examples: Example 1: value: data: type: follow-up attributes: due_date: '2019-08-24' relationships: property: data: type: property id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 tags: - Follow Ups parameters: [] /todos: get: summary: Get all Tasks operationId: get-todos responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Todo' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedViewing' - $ref: '#/components/schemas/IncludedValuation' - $ref: '#/components/schemas/IncludedSale' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedNegotiator' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' description: This endpoint retrieves multiple paginated tasks along with `meta` and `pagination` information. parameters: - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - branch - negotiator - property - lettingsApplicant - salesApplicant - sale - valuation - viewing in: query name: include description: Optional related entities to include in the results. style: form explode: false - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - property - lettingsApplicant - salesApplicant - sale - valuation - viewing in: query name: filter[subject] description: Filter tasks by the subject entity they relate to. style: form explode: false - $ref: '#/components/parameters/filter_branch' - $ref: '#/components/parameters/filter_property' - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' tags: - Tasks post: summary: Create a Task operationId: post-todos responses: '201': description: Created. content: application/vnd.api+json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/Todo' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' description: This endpoint allows you to create a `Task` record by providing core information such as the entity the `Task` relates to and optionally the content/body of the `Task`. requestBody: content: application/vnd.api+json: schema: type: object properties: data: type: object required: - type - attributes properties: type: type: string enum: - todo attributes: type: object required: - title properties: title: type: string body: type: string due_date: type: string format: date user_uuid: type: string format: uuid description: Optional. The UUID of the User to assign the Task to. The User must belong to the authenticated User's Network. note: type: - string - 'null' relationships: $ref: '#/components/schemas/TodoRelationship' required: - data examples: Example 1: value: data: type: todo attributes: title: Post on social media due_date: '2025-09-19' user_uuid: 88a2d6f4-1c3b-4a2e-9f0d-2b7c5e1a4d6f relationships: property: data: type: property id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 tags: - Tasks parameters: [] /todo-types: get: summary: Get all Task Types tags: - Tasks responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/TodoType' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-todo-types description: This endpoint retrieves multiple paginated task types along with `meta` and `pagination` information. Returns both network-specific and global (null network_id) task types. parameters: - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /todo-types/{todo_type_id}: parameters: - schema: type: string format: uuid name: todo_type_id in: path required: true description: The UUID of the Task Type. get: operationId: get-todo-types-todoTypeID summary: Get a single Task Type description: This endpoint retrieves a single task type by its `UUID`. tags: - Tasks responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/TodoType' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' /solicitors: get: operationId: get-solicitors summary: Get all Solicitors description: This endpoint retrieves multiple paginated solicitors along with `meta` and `pagination` information. tags: - Solicitors parameters: - schema: type: string format: email in: query name: filter[email_address] description: Filter enquiries by the provided email address - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - solicitorFirm - applicantSolicitorSale - ownerSolicitorSale in: query name: include description: Optional related entities to include in the results. style: form explode: false responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Solicitor' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedSolicitorFirm' - $ref: '#/components/schemas/IncludedApplicantSolicitorSale' - $ref: '#/components/schemas/IncludedOwnerSolicitorSale' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' /solicitors/{solicitor_id}: parameters: - schema: type: string format: uuid name: solicitor_id in: path required: true description: The UUID of the Solicitor. get: operationId: get-solicitors-solicitorID summary: Get a single Solicitor description: This endpoint retrieves a single solicitor by its `UUID`. tags: - Solicitors parameters: - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - solicitorFirm - applicantSolicitorSale - ownerSolicitorSale in: query name: include description: Optional related entities to include in the results. style: form explode: false responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Solicitor' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedSolicitorFirm' - $ref: '#/components/schemas/IncludedApplicantSolicitorSale' - $ref: '#/components/schemas/IncludedOwnerSolicitorSale' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' /landlords: get: summary: Get all Landlords tags: - Landlords responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Landlord' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedBranch' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-landlords description: This endpoint retrieves multiple paginated landlords along with `meta` and `pagination` information. parameters: - $ref: '#/components/parameters/filter_person_status' - schema: type: array items: type: string enum: - not_on_the_market - valuation_lost - valuation_booked - valuation_pending - valuation_cancelled - valuation_completed - instructed - let - to_let - let_agreed - for_sale_and_to_let - withdrawn_lettings - withdrawn_sales_and_lettings uniqueItems: true minItems: 1 in: query name: filter[property_status] description: Filter the Landlords by the Status of their Properties. explode: false style: form - $ref: '#/components/parameters/filter_address' - $ref: '#/components/parameters/filter_email_address' - $ref: '#/components/parameters/filter_telephone_number' - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array items: type: string enum: - properties - properties.branch - notes uniqueItems: true minItems: 1 example: - properties - properties.branch - notes in: query name: include description: Optional related entities to include in the results. explode: false style: form - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /landlords/{landlord_id}: parameters: - schema: type: string format: uuid name: landlord_id in: path required: true description: The UUID of the Landlord. get: summary: Get a single Landlord tags: - Landlords responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Landlord' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedBranch' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-landlords-landlordId description: This endpoint retrieves a single landlord by their `UUID`. parameters: - schema: type: array items: type: string enum: - properties - properties.branch - notes uniqueItems: true minItems: 1 example: - properties - properties.branch - notes in: query name: include description: Optional related entities to include in the results. explode: false style: form /lettings-offers: get: summary: Get all Lettings Offers tags: - Lettings Offers responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/LettingsOffer' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedLettingsListing' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedPerson' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-lettings-offers description: This endpoint retrieves multiple paginated lettings offers along with `meta` and `pagination` information. parameters: - schema: type: array items: type: string enum: - pending - put_to_vendor - accepted - rejected uniqueItems: true minItems: 1 maxItems: 5 example: - pending - put_to_vendor - accepted - rejected in: query name: filter[status] description: Filter by results with specific statuses. explode: false style: form - $ref: '#/components/parameters/filter_branch' - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array items: type: string enum: - property - lettingsListing - applicant - applicant.people - branch - notes uniqueItems: true minItems: 1 example: - property - lettingsListing - applicant - applicant.people - branch - notes in: query name: include description: Optional related entities to include in the results. explode: false style: form - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /lettings-offers/{lettings_offer_id}: parameters: - schema: type: string format: uuid name: lettings_offer_id in: path required: true description: The UUID of the Lettings Offer. get: summary: Get a single Lettings Offer tags: - Lettings Offers responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/LettingsOffer' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedLettingsListing' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedPerson' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-lettings-offers-lettingsOfferId description: This endpoint retrieves a single lettings offer by its `UUID`. parameters: - schema: type: array items: type: string enum: - property - lettingsListing - applicant - applicant.people - branch - notes uniqueItems: true minItems: 1 example: - property - lettingsListing - applicant - applicant.people - branch - notes in: query name: include description: Optional related entities to include in the results. explode: false style: form /maintenance-jobs: get: summary: Get all Maintence Jobs tags: - Maintenance Jobs responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/MaintenanceJob' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedUser' - $ref: '#/components/schemas/IncludedMedia' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-maintenance-jobs parameters: - schema: type: array items: type: string enum: - awaiting_instruction - awaiting_quote - awaiting_quote_approval - contractor_instructed - invoice_added - invoice_paid - job_cancelled - job_closed - job_complete - job_details_added uniqueItems: true minItems: 1 in: query name: filter[status] description: Filter by results by the provided status, e.g. `awaiting_instruction,awaiting_quote,awaiting_quote_approval` explode: false style: form - schema: type: string in: query name: filter[reported_from] description: Filter by results reported after the provided date. - schema: type: string in: query name: filter[reported_to] description: Filter by results reported before the provided date. - schema: type: string in: query name: filter[completed_from] description: Filter by results completed after the provided date. - schema: type: string in: query name: filter[completed_to] description: Filter by results completed before the provided date. - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array items: type: string enum: - attachments - property - assignee uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results supplied as a comma separated list, e.g. `attachments,property` explode: false style: form - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' description: This endpoint retrieves multiple paginated maintence jobs along with `meta` and `pagination` information. parameters: [] /maintenance-jobs/{maintenance_job_id}: get: operationId: get-maintenance-job summary: Get a single Maintence Job tags: - Maintenance Jobs responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/MaintenanceJob' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedUser' - $ref: '#/components/schemas/IncludedMedia' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' parameters: [] description: This endpoint retrieves a single maintenance job by its `UUID`. parameters: - schema: type: string format: uuid name: maintenance_job_id in: path required: true /maintenance-requests: post: summary: Create a new maintenance request tags: - Maintenance Requests responses: '201': description: Created. content: application/vnd.api+json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/MaintenanceRequest' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '415': $ref: '#/components/responses/415' '422': $ref: '#/components/responses/422' '500': $ref: '#/components/responses/500' operationId: post-maintenance-requests description: This endpoint allows you to create a `maintenance request` record. requestBody: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: type: string enum: - maintenance-request attributes: type: object properties: priority: type: string enum: - low - medium - high - urgent - emergency summary: type: string description: type: string reported_by: type: string enum: - tenant - landlord - agent - contractor reported_at: type: string format: date-time relationships: type: object properties: property: type: object required: - data properties: data: oneOf: - type: string format: uuid description: Legacy format - direct UUID string deprecated: true - type: object required: - type - id properties: type: type: string enum: - property id: type: string format: uuid description: JSON:API format parameters: [] /notes: post: operationId: post-notes summary: Create a Note responses: '201': description: Created. content: application/vnd.api+json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/Note' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' requestBody: content: application/vnd.api+json: schema: type: object properties: data: type: object required: - type - attributes - relationships properties: type: type: string enum: - note attributes: type: object required: - body properties: body: type: string pinned: type: boolean default: false author: type: - string - 'null' format: uuid relationships: oneOf: - $ref: '#/components/schemas/CompanyRelated' - $ref: '#/components/schemas/PersonRelated' - $ref: '#/components/schemas/PropertyRelated' - $ref: '#/components/schemas/TenancyRelated' - $ref: '#/components/schemas/SalesApplicantRelated' - $ref: '#/components/schemas/LettingsApplicantRelated' - $ref: '#/components/schemas/LettingsApplicationRelated' - $ref: '#/components/schemas/EnquiryRelated' - $ref: '#/components/schemas/OwnerRelated' - $ref: '#/components/schemas/SaleRelated' - $ref: '#/components/schemas/SalesOfferRelated' - $ref: '#/components/schemas/LettingsOfferRelated' - $ref: '#/components/schemas/ViewingRelated' - $ref: '#/components/schemas/ValuationRelated' - $ref: '#/components/schemas/InspectionRelated' - $ref: '#/components/schemas/MaintenanceJobRelated' required: - data description: This endpoint allows you to create a `Note` record by providing core information such as the entity the `Note` relates to, the content/body of the `Note` and any related tags. tags: - Notes x-internal: false /people: get: summary: Get all People tags: - People responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Person' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedApplicant' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-people parameters: - $ref: '#/components/parameters/filter_address' - $ref: '#/components/parameters/filter_email_address' - $ref: '#/components/parameters/filter_telephone_number' - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - ownedProperties - applicants in: query name: include description: Optional related entities to include in the results. explode: false style: form - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' description: This endpoint retrieves multiple paginated people along with `meta` and `pagination` information. /people/{person_id}: parameters: - schema: type: string format: uuid name: person_id in: path required: true description: The UUID of the Person. get: summary: Get a single Person tags: - People responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Person' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedApplicant' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' examples: Person with included property: value: data: id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 type: person attributes: full_name: string title: Mrs first_name: Jane last_name: Doe address: single_line: 19 Lansdowne Road, Monton, Manchester anon_single_line: Lansdowne Road, Monton, Manchester building_number: '19' building_name: string street: Lansdowne Road line_1: 19 Lansdowne Road line_2: Monton line_3: Manchester line_4: string country: United Kingdom postcode: M30 9PA udprn: '28327204' geo: lat: 0.2365698 lng: 53.023654 royal_mail: postcode: string post_town: string thoroughfare: string building_name: string building_number: string department_name: string organisation_name: string sub_building_name: string dependent_locality: string dependent_thoroughfare: string double_dependent_locality: string street_group_property_id: string telephone_numbers: - value: '+441632960911' notes: string primary: true email_addresses: - value: john@johndoe.com notes: string primary: true marketing_consent: true contact_preferences: email: true post: true text: true phone: true statuses: vendor: null landlord: null tenant: null created_at: '2019-08-24T14:15:22Z' updated_at: '2019-08-24T14:15:22Z' relationships: properties: data: - type: property id: a827a3ae-4c74-4c32-8b42-42248d4010d3 links: self: ../dictionary related: ../dictionary applicants: data: - type: applicant id: a827a3ae-4c74-4c32-8b42-42248d4010d3 links: self: ../dictionary related: ../dictionary notes: data: - type: note id: a827a3ae-4c74-4c32-8b42-42248d4010d3 links: self: ../dictionary related: ../dictionary included: - type: property id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 attributes: sales: true lettings: true is_sales: true is_lettings: true company_owned: true address: single_line: 19 Lansdowne Road, Monton, Manchester anon_single_line: Lansdowne Road, Monton, Manchester building_number: '19' building_name: string street: Lansdowne Road line_1: 19 Lansdowne Road line_2: Monton line_3: Manchester line_4: string country: United Kingdom postcode: M30 9PA udprn: '28327204' geo: lat: 0.2365698 lng: 53.023654 royal_mail: postcode: string post_town: string thoroughfare: string building_name: string building_number: string department_name: string organisation_name: string sub_building_name: string dependent_locality: string dependent_thoroughfare: string double_dependent_locality: string street_group_property_id: string status: Not On The Market owner: - full_name: string title: Mrs first_name: Jane last_name: Doe address: single_line: 19 Lansdowne Road, Monton, Manchester anon_single_line: Lansdowne Road, Monton, Manchester building_number: '19' building_name: string street: Lansdowne Road line_1: 19 Lansdowne Road line_2: Monton line_3: Manchester line_4: string country: United Kingdom postcode: M30 9PA udprn: '28327204' geo: lat: 0.2365698 lng: 53.023654 royal_mail: postcode: string post_town: string thoroughfare: string building_name: string building_number: string department_name: string organisation_name: string sub_building_name: string dependent_locality: string dependent_thoroughfare: string double_dependent_locality: string street_group_property_id: string telephone_numbers: - value: '+441632960911' notes: string primary: true email_addresses: - value: john@johndoe.com notes: string primary: true marketing_consent: true contact_preferences: email: true post: true text: true phone: true bedrooms: 0 bathrooms: 0 receptions: 0 floor_area: string plot_area: string land_area: string property_type: string property_style: string property_age_bracket: string construction_year: string tenure: string tenure_notes: string lease_expiry_year: string lease_expiry_date: '2019-08-24' display_property_style: string work_required: true heating_system: string council_tax_band: string council_tax_cost: 0 local_authority: string service_charge: 0 service_charge_period: month service_charge_notes: string ground_rent: 0 ground_rent_period: month ground_rent_review_period_years: 0 ground_rent_uplift: 0 ground_rent_expiry: string has_outdoor_space: true shared_ownership: false shared_ownership_notes: string shared_ownership_rent: 0 shared_ownership_rent_frequency: string shared_ownership_percentage_sold: 0 listings: - price_qualifier: None archived: true is_low_profile: true is_not_in_property_feed_api: true is_auction: false new_home: true retirement: true full_description: string short_description: string location_summary: string has_parking: true virtual_tour: ../dictionary type: sales price: 500000 status: For Sale tags: - name: Example tag slug: example-tag order: 0 features: - id: 7f064215-0b9c-45e5-bd91-02913c050a9a name: Example feature order: 0 include_on_portals: false highlight: true viewing_booking_url: string last_instructed_sales_at: '2019-08-24T14:15:22Z' last_instructed_lettings_at: '2019-08-24T14:15:22Z' last_exchanged_at: '2019-08-24T14:15:22Z' last_completed_at: '2019-08-24T14:15:22Z' created_at: '2019-08-24T14:15:22Z' updated_at: '2019-08-24T14:15:22Z' relationships: {} links: self: ../dictionary related: ../dictionary links: self: ../dictionary related: ../dictionary meta: {} jsonapi: version: string meta: {} '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-people-personId description: This endpoint retrieves a single company by its `UUID`. parameters: - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - ownedProperties - applicants in: query name: include description: Optional related entities to include in the results. explode: false style: form patch: summary: Update a Person operationId: patch-people-personId responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: id: type: string format: uuid type: type: string enum: - person attributes: $ref: '#/components/schemas/PersonAttributes' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '415': $ref: '#/components/responses/415' '422': $ref: '#/components/responses/422' '500': $ref: '#/components/responses/500' description: This endpoint allows you to update specific fields with a `Person` record via their `UUID` by providing amended core information such as name, address and contact details or marketing and contact preference changes. requestBody: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: type: string id: type: string format: uuid attributes: $ref: '#/components/schemas/PersonRequestBody' description: '' tags: - People /properties: get: summary: Get all Properties tags: - Properties responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Property' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedMedia' - $ref: '#/components/schemas/IncludedFloorplan' - $ref: '#/components/schemas/IncludedEpc' - $ref: '#/components/schemas/IncludedRoom' - $ref: '#/components/schemas/IncludedBrochure' - $ref: '#/components/schemas/IncludedParking' - $ref: '#/components/schemas/IncludedOutsideSpace' - $ref: '#/components/schemas/IncludedViewing' - $ref: '#/components/schemas/IncludedValuation' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedNegotiator' - $ref: '#/components/schemas/IncludedFollowUp' - $ref: '#/components/schemas/IncludedSale' - $ref: '#/components/schemas/IncludedSalesListing' - $ref: '#/components/schemas/IncludedLettingsListing' - $ref: '#/components/schemas/IncludedSalesOffer' - $ref: '#/components/schemas/IncludedLettingsOffer' - $ref: '#/components/schemas/IncludedLettingsApplication' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedInterestedApplicant' - $ref: '#/components/schemas/IncludedInvoice' - $ref: '#/components/schemas/IncludedPropertyKey' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-properties parameters: - schema: type: string enum: - sales - lettings in: query name: filter[category] description: Filter by the property by sales or lettings allowEmptyValue: true - $ref: '#/components/parameters/filter_address' - $ref: '#/components/parameters/filter_bedrooms' - $ref: '#/components/parameters/filter_min_bedrooms' - $ref: '#/components/parameters/filter_branch' - $ref: '#/components/parameters/filter_max_price_sales' - $ref: '#/components/parameters/filter_min_price_sales' - $ref: '#/components/parameters/filter_max_price_lettings' - $ref: '#/components/parameters/filter_min_price_lettings' - $ref: '#/components/parameters/filter_postcode' - $ref: '#/components/parameters/filter_property_status' - $ref: '#/components/parameters/filter_tags' - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - activeTenancy - branch - brochure - epc - floorplans - followUp - interestedApplicants - invoices - lettingsApplications - lettingsListing - lettingsOffers - media - negotiator - notes - outsideSpaces - owner - owner.company - owner.people - parking - propertyKeys - rooms - rooms.media - sales - salesListing - salesOffers - tenancies - valuations - viewings in: query name: include description: Optional related entities to include in the results supplied as a comma separated list, e.g. `branch,sales,notes` style: form explode: false - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' - schema: type: boolean default: false in: query name: filter[include_archived] description: Include archived properties in the result set description: This endpoint retrieves multiple paginated properties along with `meta` and `pagination` information. parameters: [] /properties/{property_id}: parameters: - schema: type: string format: uuid name: property_id in: path required: true description: The UUID of the Property. get: summary: Get a single Property tags: - Properties responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Property' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedMedia' - $ref: '#/components/schemas/IncludedFloorplan' - $ref: '#/components/schemas/IncludedEpc' - $ref: '#/components/schemas/IncludedRoom' - $ref: '#/components/schemas/IncludedBrochure' - $ref: '#/components/schemas/IncludedParking' - $ref: '#/components/schemas/IncludedOutsideSpace' - $ref: '#/components/schemas/IncludedViewing' - $ref: '#/components/schemas/IncludedValuation' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedNegotiator' - $ref: '#/components/schemas/IncludedFollowUp' - $ref: '#/components/schemas/IncludedSale' - $ref: '#/components/schemas/IncludedSalesListing' - $ref: '#/components/schemas/IncludedLettingsListing' - $ref: '#/components/schemas/IncludedSalesOffer' - $ref: '#/components/schemas/IncludedLettingsOffer' - $ref: '#/components/schemas/IncludedLettingsApplication' - $ref: '#/components/schemas/IncludedSafetyCertificate' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedInterestedApplicant' - $ref: '#/components/schemas/IncludedInvoice' - $ref: '#/components/schemas/IncludedPropertyKey' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-properties-propertyId parameters: - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - activeTenancy - branch - brochure - epc - floorplans - followUp - interestedApplicants - invoices - lettingsApplications - lettingsListing - lettingsOffers - media - negotiator - notes - outsideSpaces - owner - owner.company - owner.people - parking - propertyKeys - rooms - rooms.media - safetyCertificates - sales - salesListing - salesOffers - tenancies - valuations - viewings in: query name: include description: Optional related entities to include in the results supplied as a comma separated list, e.g. `branch,sales,note` style: form explode: false description: This endpoint retrieves a single property by its `UUID`. patch: summary: Patch Property details operationId: patch-properties-propertyId tags: - Properties requestBody: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: type: string enum: - property id: type: string format: uuid attributes: $ref: '#/components/schemas/PropertyDescriptionUpdateAttributes' required: - data description: Property description fields to update responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Property' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedMedia' - $ref: '#/components/schemas/IncludedFloorplan' - $ref: '#/components/schemas/IncludedEpc' - $ref: '#/components/schemas/IncludedRoom' - $ref: '#/components/schemas/IncludedBrochure' - $ref: '#/components/schemas/IncludedParking' - $ref: '#/components/schemas/IncludedOutsideSpace' - $ref: '#/components/schemas/IncludedViewing' - $ref: '#/components/schemas/IncludedValuation' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedNegotiator' - $ref: '#/components/schemas/IncludedFollowUp' - $ref: '#/components/schemas/IncludedSale' - $ref: '#/components/schemas/IncludedSalesListing' - $ref: '#/components/schemas/IncludedLettingsListing' - $ref: '#/components/schemas/IncludedSalesOffer' - $ref: '#/components/schemas/IncludedLettingsOffer' - $ref: '#/components/schemas/IncludedLettingsApplication' - $ref: '#/components/schemas/IncludedSafetyCertificate' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedInterestedApplicant' - $ref: '#/components/schemas/IncludedPropertyKey' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '415': $ref: '#/components/responses/415' '422': $ref: '#/components/responses/422' '500': $ref: '#/components/responses/500' description: This endpoint allows you to update the property descriptions of a Property record via its `UUID` by providing amended details in the request body. /key-features/{property_id}: parameters: - schema: type: string format: uuid name: property_id in: path required: true description: The ID of the Property post: summary: Update Property Key Features operationId: post-key-features-property-id tags: - Properties requestBody: content: application/vnd.api+json: schema: type: object required: - data properties: data: type: object required: - type - id - attributes properties: type: type: string enum: - property id: type: string format: uuid description: The ID of the Property. attributes: type: object required: - key_features properties: key_features: type: array description: Array of key features to create or update for the property items: type: object required: - name properties: id: type: string format: uuid description: The ID of the feature. Required when updating an existing feature, omit when creating a new one. name: type: string maxLength: 200 description: The name/description of the key feature example: Double glazing include_on_portals: type: boolean description: Whether this feature should be included on property portals default: false highlight: type: boolean description: Whether this feature should be highlighted default: false description: Key features to create or update for the property responses: '201': description: Created - Property updated successfully with new key features content: application/vnd.api+json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/Property' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedMedia' links: $ref: '#/components/schemas/Links' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '415': $ref: '#/components/responses/415' '422': $ref: '#/components/responses/422' '500': $ref: '#/components/responses/500' description: 'This endpoint allows you to create or update key features for a Property record via its `ID`. - To create new features, omit the `id` field in each feature object - To update existing features, include the `id` field with the feature''s ID - The endpoint will return the updated property with all its current key features' /key-features/{property_id}/features/{feature_id}: parameters: - schema: type: string format: uuid name: property_id in: path required: true description: The ID of the Property - schema: type: string format: uuid name: feature_id in: path required: true description: The ID of the Feature to delete delete: summary: Delete a Property Key Feature operationId: delete-key-features-property-features tags: - Properties responses: '204': description: No Content. '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '500': $ref: '#/components/responses/500' description: This endpoint allows you to delete a key feature from a specific property by providing both the property's `ID` and the feature's `ID`. /property-keys: get: summary: Get all Property Keys tags: - Property Keys responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/PropertyKeys' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-property-keys description: This endpoint retrieves multiple paginated property keys along with `meta` and `pagination` information. parameters: - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_ident' - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - property in: query name: include description: Optional related entities to include in the results. explode: false style: form - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /property-keys/{property_key_id}: get: summary: Get a single Property Key tags: - Property Keys responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/PropertyKeys' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-single-property-key description: This endpoint retrieves a single Property Key by its `UUID`. parameters: - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - property in: query name: include description: Optional related entities to include in the results. explode: false style: form - schema: type: string format: uuid name: property_key_id in: path required: true description: The UUID of the Property Key. /questionnaire-responses/{questionnaire_response_id}: parameters: - schema: type: string format: uuid name: questionnaire_response_id in: path required: true description: The UUID of the questionnaire response to get data for. - schema: type: array items: type: string enum: - questionnaire - questionnaire.sections - questionnaire.sections.questions - questionnaire.sections.questions.options - answers - answers.question - answers.values - submitter - property uniqueItems: true minItems: 1 example: - questionnaire.sections.questions.options - answers.question - submitter - property in: query name: include description: Optional related entities to include in the results. style: form explode: false get: summary: Get a Questionnaire Response operationId: get-questionnaire-responses-questionnaireResponseId tags: - Questionnaire Responses responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/QuestionnaireResponse' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedQuestionnaire' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedUser' - $ref: '#/components/schemas/IncludedQuestionnaireSection' - $ref: '#/components/schemas/IncludedQuestionnaireQuestion' - $ref: '#/components/schemas/IncludedQuestionnaireQuestionOption' - $ref: '#/components/schemas/IncludedQuestionnaireAnswer' - $ref: '#/components/schemas/IncludedQuestionnaireAnswerValue' links: $ref: '#/components/schemas/Links' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' description: This endpoint retrieves the most recent questionnaire response by its UUID, including all sections, questions, and answers. /sales: get: summary: Get all Sales tags: - Sales responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Sale' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedVendor' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedSolicitor' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-sales description: This endpoint retrieves multiple paginated sales along with `meta` and `pagination` information. parameters: - schema: type: array items: type: string enum: - completed - fallen_through - offer_accepted - exchanged - under_offer uniqueItems: true minItems: 1 maxItems: 5 example: - completed - fallen_through - offer_accepted - exchanged - under_offer in: query name: filter[status] description: Filter by results with specific statuses. explode: false style: form - $ref: '#/components/parameters/filter_branch' - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array items: type: string enum: - property - applicant - applicant.people - vendor - vendor.people - branch - notes - buyerSolicitor - sellerSolicitor uniqueItems: true minItems: 1 example: - property - applicant - vendor - branch - notes in: query name: include description: Optional related entities to include in the results. explode: false style: form - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /sales/{sale_id}: parameters: - schema: type: string format: uuid name: sale_id in: path required: true description: The UUID of the Sale. get: summary: Get a single Sale tags: - Sales responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Sale' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedVendor' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedSolicitor' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-sales-saleId description: This endpoint retrieves a single sale by its `UUID`. parameters: - schema: type: array items: type: string enum: - property - applicant - applicant.people - vendor - vendor.people - branch - notes - buyerSolicitor - sellerSolicitor uniqueItems: true minItems: 1 example: - property - applicant - vendor - branch - notes - buyerSolicitor in: query name: include description: Optional related entities to include in the results. explode: false style: form /sales-offers: get: summary: Get all Sales Offers tags: - Sales Offers responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/SalesOffer' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedSalesListing' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedPerson' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-sales-offers description: This endpoint retrieves multiple paginated sales offers along with `meta` and `pagination` information. parameters: - schema: type: array items: type: string enum: - pending - put_to_vendor - accepted - rejected - withdrawn uniqueItems: true minItems: 1 maxItems: 5 example: - pending - put_to_vendor - accepted - rejected - withdrawn in: query name: filter[status] description: Filter by results with specific statuses. explode: false style: form - $ref: '#/components/parameters/filter_branch' - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array items: type: string enum: - property - salesListing - applicant - applicant.people - branch - notes uniqueItems: true minItems: 1 example: - property - applicant - applicant.people - branch - notes in: query name: include description: Optional related entities to include in the results. explode: false style: form - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /sales-offers/{sales_offer_id}: parameters: - schema: type: string format: uuid name: sales_offer_id in: path required: true description: The UUID of the Sales Offer. get: summary: Get a single Sales Offer tags: - Sales Offers responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/SalesOffer' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedSalesListing' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedNotes' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-sales-offers-salesOfferId description: This endpoint retrieves a single sales offer by its `UUID`. parameters: - schema: type: array items: type: string enum: - property - applicant - applicant.people - branch - notes uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `property,applicant,branch,notes` explode: false style: form /tenancies: get: summary: Get all Tenancies description: This endpoint retrieves multiple paginated tenancies along with `meta` and `pagination` information. tags: - Tenancies responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Tenancy' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedCompany' - $ref: '#/components/schemas/IncludedTenants' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedInspections' - $ref: '#/components/schemas/IncludedLettingsApplication' - $ref: '#/components/schemas/IncludedGuarantor' - $ref: '#/components/schemas/IncludedEpc' - $ref: '#/components/schemas/IncludedDownloadableMedia' - $ref: '#/components/schemas/IncludedSafetyCertificate' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-tenancies parameters: - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - property - property.owner - property.branch - owner - owner.people - tenants - notes - inspections - lettingsApplication - guarantors in: query name: include description: Optional related entities to include in the results supplied as a comma separated list. style: form explode: false - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /tenancies/{tenancy_id}: parameters: - schema: type: string format: uuid name: tenancy_id in: path required: true description: The UUID of the Tenancy. get: summary: Get a single Tenancy description: This endpoint retrieves a single tenancy by its `UUID`. tags: - Tenancies responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Tenancy' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedGuarantor' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedCompany' - $ref: '#/components/schemas/IncludedTenants' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedInspections' - $ref: '#/components/schemas/IncludedDownloadableMedia' - $ref: '#/components/schemas/IncludedLettingsApplication' - $ref: '#/components/schemas/IncludedEpc' - $ref: '#/components/schemas/IncludedSafetyCertificate' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-tenancies-tenancy_id parameters: - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - property - property.owner - property.branch - owner - owner.people - tenants - guarantors - notes - inspections - epc - safetyCertificates - tenancyGuide - tenancyAgreement - landlordOfferLetter - tenantGuarantorReferenceForm - tenantGuarantorReferenceReport - tenantGuarantorIdDocument - generatedDocument - lettingsApplication in: query name: include description: Optional related entities to include in the results supplied as a comma separated list. style: form explode: false /tenants: get: summary: Get all Tenants tags: - Tenants responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Tenant' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedTenancy' - $ref: '#/components/schemas/IncludedNotes' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-tenants description: This endpoint retrieves multiple paginated tenants along with `meta` and `pagination` information. parameters: - $ref: '#/components/parameters/filter_address' - $ref: '#/components/parameters/filter_email_address' - $ref: '#/components/parameters/filter_telephone_number' - $ref: '#/components/parameters/filter_person_status' - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array items: type: string enum: - tenancies - tenancies.property - tenancies.property.branch - notes uniqueItems: true minItems: 1 example: - tenancies - tenancies.property - tenancies.property.branch - notes in: query name: include description: Optional related entities to include in the results. explode: false style: form - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /tenants/{tenant_id}: parameters: - schema: type: string format: uuid name: tenant_id in: path required: true description: The UUID of the Tenant. get: summary: Get a single Tenant tags: - Tenants responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Tenant' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedTenancy' - $ref: '#/components/schemas/IncludedNotes' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-tenants-tenantId description: This endpoint retrieves a single tenant by their `UUID`. parameters: - schema: type: array items: type: string enum: - tenancies - tenancies.property - tenancies.property.branch - notes uniqueItems: true minItems: 1 example: - tenancies - tenancies.property - tenancies.property.branch - notes in: query name: include description: Optional related entities to include in the results. explode: false style: form /users: get: summary: Get all Users tags: - Users responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/User' included: type: array items: $ref: '#/components/schemas/IncludedBranch' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-users description: This endpoint retrieves multiple paginated users along with `meta` and `pagination` information. parameters: - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - branch in: query name: include description: Optional related entities to include in the results. explode: false style: form /users/{user_id}: parameters: - schema: type: string format: uuid name: user_id in: path required: true description: The UUID of the User. get: summary: Get a single User tags: - Users responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/User' included: type: array items: $ref: '#/components/schemas/IncludedBranch' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-users-userId description: This endpoint retrieves a single user by their `UUID`. parameters: - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - branch - ownedProperties - applicants in: query name: include description: Optional related entities to include in the results, e.g. `branch,ownedProperties,applicants` explode: false style: form /valuations: get: summary: Get all Valuations tags: - Valuations responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Valuation' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedValuer' - $ref: '#/components/schemas/IncludedValuationSalesReport' - $ref: '#/components/schemas/IncludedValuationLettingsReport' - $ref: '#/components/schemas/IncludedSalesInstruction' - $ref: '#/components/schemas/IncludedLettingsInstruction' - $ref: '#/components/schemas/IncludedLostValuationDetail' - $ref: '#/components/schemas/IncludedFollowUp' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-valuations description: This endpoint retrieves multiple paginated valuations along with `meta` and `pagination` information. parameters: - schema: type: string format: uuid in: query name: filter[branch] description: Filter the Valuations by Branch. - schema: type: string enum: - sales - lettings in: query name: filter[type] description: Filter Valuations by either Sales or Lettings. - schema: type: array items: type: string enum: - booked - completed - awaiting_response - instructed - lost - not_attended - cancelled uniqueItems: true minItems: 1 in: query name: filter[status] description: Filter the Valuations by their status. style: form explode: false - $ref: '#/components/parameters/filter_booked_from' - $ref: '#/components/parameters/filter_booked_to' - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_cancelled' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array items: type: string enum: - property - branch - notes - followUp - owner - owner.people - valuer - salesReport - lettingsReport - salesInstruction - lettingsInstruction - lostValuationDetail uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `property,branch,notes,followUp,owner,valuer` explode: false style: form - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /valuations/{valuation_id}: parameters: - schema: type: string format: uuid name: valuation_id in: path required: true description: The UUID of the Valuation. get: summary: Get a single Valuation tags: - Valuations responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Valuation' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedValuer' - $ref: '#/components/schemas/IncludedValuationSalesReport' - $ref: '#/components/schemas/IncludedValuationLettingsReport' - $ref: '#/components/schemas/IncludedSalesInstruction' - $ref: '#/components/schemas/IncludedLettingsInstruction' - $ref: '#/components/schemas/IncludedLostValuationDetail' - $ref: '#/components/schemas/IncludedFollowUp' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-valuations-valuationId description: This endpoint retrieves a single valuation by its `UUID`. parameters: - schema: type: array items: type: string enum: - property - branch - notes - followUp - owner - owner.people - valuer - salesReport - lettingsReport - salesInstruction - lettingsInstruction - lostValuationDetail uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `property,branch,notes,followUp,owner,valuer` explode: false style: form - $ref: '#/components/parameters/filter_cancelled' /vendors: get: summary: Get all Vendors tags: - Vendors responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Vendor' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedValuation' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedNegotiator' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-vendors description: This endpoint retrieves multiple paginated vendors along with `meta` and `pagination` information. parameters: - $ref: '#/components/parameters/filter_person_status' - schema: type: array items: type: string enum: - not_on_the_market - valuation_lost - valuation_booked - valuation_pending - valuation_cancelled - valuation_completed - instructed - for_sale - under_offer - sold_stc - exchanged - for_sale_and_to_let - withdrawn_sales - withdrawn_sales_and_lettings - completed uniqueItems: true minItems: 1 in: query name: filter[property_status] description: Filter the Vendors by the Status of their Properties. style: form explode: false - $ref: '#/components/parameters/filter_address' - $ref: '#/components/parameters/filter_email_address' - $ref: '#/components/parameters/filter_telephone_number' - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array items: type: string enum: - properties - properties.branch - valuations - notes - negotiator uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `properties,properties.branch,valuations,notes,negotiator` explode: false style: form - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /vendors/{vendor_id}: parameters: - schema: type: string format: uuid name: vendor_id in: path required: true description: The UUID of the Vendor. get: summary: Get a single Vendor tags: - Vendors responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Vendor' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedValuation' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedNegotiator' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-vendors-vendorId description: This endpoint retrieves a single vendor by their `UUID`. parameters: - schema: type: array items: type: string enum: - properties - properties.branch - valuations - notes - negotiator uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `properties,properties.branch,valuations,notes,negotiator` explode: false style: form /viewings: get: summary: Get all Viewings tags: - Viewings responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Viewing' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedViewer' - $ref: '#/components/schemas/IncludedViewingFeedback' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: ? '' : type: string - type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-viewings description: This endpoint retrieves multiple paginated viewings along with `meta` and `pagination` information. parameters: - schema: type: string format: uuid in: query name: filter[branch] description: Filter the Viewings by Branch. - schema: type: string enum: - sales - lettings in: query name: filter[type] description: Filter Viewings by either Sales or Lettings. - schema: type: string enum: - unconfirmed - rejected - confirmed - cancelled - completed - missed in: query name: filter[status] description: Filter the Viewings by their status. Supports comma-separated values for multiple statuses. - $ref: '#/components/parameters/filter_booked_from' - $ref: '#/components/parameters/filter_booked_to' - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_cancelled' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array items: type: string enum: - property - applicant - branch - notes - owner - owner.people - viewer - viewingFeedback uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `property,applicant,branch,notes,owner,viewer` explode: false style: form - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /viewings/{viewing_id}: parameters: - schema: type: string format: uuid name: viewing_id in: path required: true description: The UUID of the Viewing. get: summary: Get a single Viewing tags: - Viewings responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Viewing' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedViewer' - $ref: '#/components/schemas/IncludedViewingFeedback' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-viewings-viewingId description: This endpoint retrieves a single viewing by its `UUID`. parameters: - schema: type: array items: type: string enum: - property - applicant - branch - notes - owner - owner.people - viewer - viewingFeedback uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `property,applicant,branch,notes,owner,viewer` explode: false style: form - $ref: '#/components/parameters/filter_cancelled' /interested-applicants: get: summary: Get all Interested Applicants tags: - Interested Applicants operationId: get-interested-applicants description: This endpoint retrieves multiple paginated interested applicants along with `meta` and `pagination` information. parameters: - schema: type: array items: type: string uniqueItems: true minItems: 1 enum: - applicant - property in: query name: include description: Optional related entities to include in the results. style: form explode: false - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' - schema: type: string uniqueItems: true in: query name: filter[property] description: Filter by the property the interested applicants belong to (by property id) responses: '200': description: Get all Interested Applicants. headers: {} content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/InterestedApplicant' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedProperty' links: $ref: '#/components/schemas/IncludedLinks' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' /interested-applicants/{interested_applicant_id}: parameters: - schema: type: string name: interested_applicant_id in: path required: true get: summary: Get a single Interested Applicant. tags: - Interested Applicants responses: '200': description: Get Interested Applicant by `UUID`. headers: {} content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/InterestedApplicant' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedApplicant' - $ref: '#/components/schemas/IncludedProperty' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-interested-applicants-interested_applicant_id description: This endpoint retrieves a single interested applicant by its `UUID`. parameters: - schema: type: array items: type: string uniqueItems: true minItems: 1 enum: - applicant - property in: query name: include description: Optional related entities to include in the results. style: form explode: false /inspections: get: summary: Get all Inspections tags: - Inspections operationId: get-inspections description: This endpoint retrieves multiple paginated inspections along with `meta` and `pagination` information. parameters: - schema: type: array items: type: string uniqueItems: true minItems: 1 enum: - property - inspector - bookedBy in: query name: include description: Optional related entities to include in the results. style: form explode: false - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' - schema: type: string uniqueItems: true enum: - need_to_book - overdue - unconfirmed - booked - incomplete - complete - cancelled in: query name: filter[status] description: Filter the status of inspections. - schema: type: string format: datetime in: query name: filter[due_date_from] description: Filter the inspections due date from the input date. - schema: type: string format: datetime in: query name: filter[due_date_to] description: Filter the inspections due date to the input date. - schema: type: string format: datetime in: query name: filter[booked_from] description: If the inspection has been booked in, filter the inspections booked date from the input date. - schema: type: string format: datetime in: query name: filter[booked_to] description: If the inspection has been booked in, filter the inspections booked date to the input date. - schema: type: array uniqueItems: true items: type: string enum: - due_date - -due_date in: query name: sort style: form explode: false description: Sort the inspections by the input value. responses: '200': description: Get all Inspections. headers: {} content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Inspection' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedInspector' - $ref: '#/components/schemas/IncludedBookedBy' links: $ref: '#/components/schemas/IncludedLinks' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' /inspections/{inspection_id}: parameters: - schema: type: string name: inspection_id in: path required: true get: summary: Get a single Inspection. tags: - Inspections responses: '200': description: Get Inspection by `UUID`. headers: {} content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Inspection' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedInspector' - $ref: '#/components/schemas/IncludedBookedBy' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-inspections-inspection_id description: This endpoint retrieves a single inspection by its `UUID`. parameters: - schema: type: array items: type: string uniqueItems: true minItems: 1 enum: - property - inspector - bookedBy in: query name: include description: Optional related entities to include in the results. style: form explode: false /invoices: get: summary: Get all Invoices tags: - Invoices operationId: get-invoices description: This endpoint retrieves multiple paginated invoices along with `meta` and `pagination` information. parameters: - schema: type: array items: type: string uniqueItems: true minItems: 1 enum: - property - owner - line_items in: query name: include description: Optional related entities to include in the results. style: form explode: false - schema: type: boolean in: query name: filter[paid] description: Filter whether the invoice is paid or not - schema: type: boolean in: query name: filter[voided] description: Filter whether the invoice is voided or not - schema: type: array items: type: string uniqueItems: true enum: - sales - lettings in: query name: filter[invoice_type] description: Optional filter to filter between sales and lettings invoices. style: form explode: false - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' responses: '200': description: Get all Invoices. headers: {} content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Invoice' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedFees' links: $ref: '#/components/schemas/IncludedLinks' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' /invoices/{invoice_id}: parameters: - schema: type: string name: invoice_id in: path required: true get: summary: Get a single Invoice. tags: - Invoices responses: '200': description: Get Invoice by `UUID`. headers: {} content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Invoice' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedFees' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-invoices-invoice_id description: This endpoint retrieves a single Invoice by its `UUID`. parameters: - schema: type: array items: type: string uniqueItems: true minItems: 1 enum: - property - owner - line_items in: query name: include description: Optional related entities to include in the results. style: form explode: false patch: summary: Mark an Invoice as paid operationId: patch-invoices-invoiceId tags: - Invoices responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Invoice' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '415': $ref: '#/components/responses/415' '422': $ref: '#/components/responses/422' '500': $ref: '#/components/responses/500' description: This endpoint allows you to mark an Invoice as paid by providing a `paid_at` date. requestBody: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: type: string enum: - invoice id: type: string format: uuid attributes: type: object required: - paid_at properties: paid_at: type: string format: date-time description: The date the invoice was paid. example: '2026-02-24T14:30:00Z' required: - data description: Mark the invoice as paid by providing the paid date. /photo-and-measures: get: summary: Get all Photo & Measures tags: - Photos and Measures operationId: get-photo-and-measures description: This endpoint retrieves multiple paginated photo & measures along with `meta` and `pagination` information. responses: '200': description: Get all Photo & Measures. headers: {} content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/PhotoAndMeasure' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedPhotographer' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' parameters: - schema: type: string format: uuid in: query name: filter[branch] description: Filter the Photo & Measures by Branch. - schema: type: array items: type: string enum: - booked - completed - cancelled uniqueItems: true minItems: 1 in: query name: filter[status] description: Filter the Photo & Measures by their status. style: form explode: false - $ref: '#/components/parameters/filter_booked_from' - $ref: '#/components/parameters/filter_booked_to' - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_cancelled' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array items: type: string enum: - property - branch - notes - owner - owner.people - photographer uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `property,branch,notes,owner,photographer` explode: false style: form - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /photo-and-measures/{photo_and_measure_id}: parameters: - schema: type: string format: uuid name: photo_and_measure_id in: path required: true description: The UUID of the Photo & Measure. get: summary: Get a single Photo & Measure tags: - Photos and Measures responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/PhotoAndMeasure' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedNotes' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedPhotographer' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-photo-and-measures-photoAndMeasureId description: This endpoint retrieves a single photo & measure by its `UUID`. parameters: - schema: type: array items: type: string enum: - property - branch - notes - owner - owner.people - photographer uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `property,branch,notes,owner,photographer` explode: false style: form - $ref: '#/components/parameters/filter_cancelled' /sales-instructions: get: summary: Get all Sales Instructions tags: - Sales Instructions responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/SalesInstruction' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedValuation' - $ref: '#/components/schemas/IncludedFees' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-sales-instructions description: This endpoint retrieves multiple paginated sales instructions along with `meta` and `pagination` information. parameters: - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array items: type: string enum: - property - owner - owner.people - valuation - fees uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `property,owner` explode: false style: form - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /sales-instructions/{sales_instruction_id}: parameters: - schema: type: string format: uuid name: sales_instruction_id in: path required: true description: The UUID of the Sales Instruction. get: summary: Get a single Sales Instruction tags: - Sales Instructions responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/SalesInstruction' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedValuation' - $ref: '#/components/schemas/IncludedFees' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-sales-instructions-salesInstructionId description: This endpoint retrieves a single sales instruction by its `UUID`. parameters: - schema: type: array items: type: string enum: - property - owner - owner.people - valuation - fees uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `property,owner` explode: false style: form - $ref: '#/components/parameters/filter_cancelled' /lettings-instructions: get: summary: Get all Lettings Instructions tags: - Lettings Instructions responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/LettingsInstruction' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedCompany' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedValuation' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-lettings-instructions description: This endpoint retrieves multiple paginated lettings instructions along with `meta` and `pagination` information. parameters: - $ref: '#/components/parameters/filter_trashed' - $ref: '#/components/parameters/filter_created_from' - $ref: '#/components/parameters/filter_created_to' - $ref: '#/components/parameters/filter_updated_from' - $ref: '#/components/parameters/filter_updated_to' - schema: type: array items: type: string enum: - property - owner - owner.people - valuation uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `property,owner` explode: false style: form - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /lettings-instructions/{lettings_instruction_id}: parameters: - schema: type: string format: uuid name: lettings_instruction_id in: path required: true description: The UUID of the Lettings Instruction. get: summary: Get a single Lettings Instruction tags: - Lettings Instructions responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/LettingsInstruction' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedBranch' - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedOwner' - $ref: '#/components/schemas/IncludedCompany' - $ref: '#/components/schemas/IncludedPerson' - $ref: '#/components/schemas/IncludedValuation' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-lettings-instructions-lettingsInstructionId description: This endpoint retrieves a single lettings instruction by its `UUID`. parameters: - schema: type: array items: type: string enum: - property - owner - owner.people - valuation uniqueItems: true minItems: 1 in: query name: include description: Optional related entities to include in the results, e.g. `property,owner` explode: false style: form - $ref: '#/components/parameters/filter_cancelled' /move-outs: get: summary: Get all Move outs tags: - Move Outs responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/MoveOut' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedTenancy' - $ref: '#/components/schemas/IncludedMeterReading' links: $ref: '#/components/schemas/Links' meta: allOf: - $ref: '#/components/schemas/Pagination' jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-move-outs description: This endpoint retrieves multiple paginated MoveOuts along with `meta` and `pagination` information. parameters: - $ref: '#/components/parameters/filter_trashed' - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - property - tenancy - meterReadings in: query name: include description: Optional related entities to include in the results. style: form explode: false - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page_number' /move-outs/{move_out_id}: parameters: - schema: type: string format: uuid name: move_out_id in: path required: true description: The UUID of the MoveOut. get: summary: Get a single MoveOut tags: - Move Outs responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/MoveOut' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedTenancy' - $ref: '#/components/schemas/IncludedMeterReading' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-moveOuts-MoveOutId description: This endpoint retrieves a single MoveOut by its `UUID`. parameters: - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - property - tenancy - meterReadings in: query name: include description: Optional related entities to include in the results. style: form explode: false /esign-documents/{esign_document_id}: parameters: - schema: type: string format: uuid name: esign_document_id in: path required: true description: The UUID of the E-Sign Document. get: summary: Get a single E-Sign Document tags: - E-Sign Documents responses: '200': description: OK. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/EsignDocument' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedEsignDocumentRecipient' - $ref: '#/components/schemas/IncludedPerson' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' operationId: get-esign-documents-esign-document-id description: This endpoint retrieves a single E-Sign Document by its `UUID`. parameters: - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - recipients - recipients.person in: query name: include description: Optional related entities to include in the results. style: form explode: false /portal-listings/{listing_id}: parameters: - schema: type: string name: listing_id in: path required: true description: External listing ID from the portal get: summary: Get Portal Listing by ID description: This endpoint retrieves a single portal listing by its external listing ID. operationId: get-portal-listings-listing-id tags: - Portal Listings responses: '200': description: Portal listing retrieved successfully content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/PortalListing' included: type: array items: anyOf: - $ref: '#/components/schemas/IncludedProperty' - $ref: '#/components/schemas/IncludedPortal' - $ref: '#/components/schemas/IncludedSalesListing' - $ref: '#/components/schemas/IncludedLettingsListing' links: $ref: '#/components/schemas/IncludedLinks' meta: type: object jsonapi: $ref: '#/components/schemas/JsonApi' examples: Basic Portal Listing: summary: Basic portal listing response value: data: id: 550e8400-e29b-41d4-a716-446655440010 type: portal_listing attributes: remote_identifier: '12345' remote_url: https://portal.com/listing/12345 listing_type: salesListing active: true created_at: '2024-01-01T00:00:00Z' updated_at: '2024-01-01T00:00:00Z' relationships: portal: data: type: portal id: 550e8400-e29b-41d4-a716-446655440020 links: self: https://api.street.co.uk/open-api/v1/portal-listings/12345 Portal Listing with Property: summary: Portal listing with property included value: data: id: 550e8400-e29b-41d4-a716-446655440011 type: portal_listing attributes: remote_identifier: '12345' remote_url: https://portal.com/listing/12345 listing_type: salesListing active: true created_at: '2024-01-01T00:00:00Z' updated_at: '2024-01-01T00:00:00Z' relationships: property: data: type: property id: 550e8400-e29b-41d4-a716-446655440001 links: self: https://api.street.co.uk/open-api/v1/portal-listings/12345 included: - id: 550e8400-e29b-41d4-a716-446655440001 type: property attributes: inline_address: 123 Main Street, London public_address: 123 Main Street, London bedrooms: 3 bathrooms: 2 receptions: 1 status: For Sale links: self: https://api.street.co.uk/open-api/v1/properties/550e8400-e29b-41d4-a716-446655440001 '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' parameters: - schema: type: array uniqueItems: true minItems: 1 items: type: string enum: - property - portal - salesListing - lettingsListing in: query name: include description: Comma-separated list of relationships to include, e.g. `property,portal` style: form explode: false components: schemas: jsonApiErrorResponseBody: title: JSON:API Error Response Body description: Response body for JSON:API errors, containing an array of `errors` in place of the `data` property provided in JSON:API success responses. Used for non-400/500 error codes where only a single error is expected. type: object properties: meta: type: object source: type: object description: The primary source of the conflict for 409 responses. properties: pointer: type: string description: JSON Pointer to the conflicting request value. parameter: type: string description: URI parameter related to the conflict. errors: description: An array of error objects providing additional information about problems encountered while processing the request. type: array maxItems: 1 items: $ref: '#/components/schemas/jsonApiError' required: - errors jsonApiMultiErrorResponseBody: title: JSON:API Multi-Error Response Body description: Response body for JSON:API errors that may contain multiple error objects (400 Bad Request and 500 Internal Server Error). type: object properties: meta: type: object errors: description: An array of error objects providing additional information about problems encountered while processing the request. type: array items: $ref: '#/components/schemas/jsonApiError' required: - errors jsonApiError: title: JSON:API Error Object description: A JSON:API object representing a single error. type: object properties: title: type: string detail: type: string code: type: string source: type: object description: An object containing references to the primary source of the error. properties: pointer: type: string description: A JSON Pointer to the value in the request document that caused the error. parameter: type: string description: A string indicating which URI query parameter caused the error. required: - title examples: - title: 401 Unauthorized detail: The requester is not authorized to access the resource. code: '401' LettingsApplication: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - lettings_application attributes: $ref: '#/components/schemas/LettingsApplicationAttributes' relationships: $ref: '#/components/schemas/DownloadableMedia' Applicant: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - applicant attributes: $ref: '#/components/schemas/ApplicantAttributes' relationships: type: object properties: branch: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - branch viewings: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - viewing offers: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - sales_offer - lettings_offer people: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - person notes: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - note sales: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - sale followUps: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - follow_up examples: [] title: Applicant ApplicantAttributes: type: object title: Applicant (attributes) properties: applicant_type: type: string enum: - sales - lettings name: type: string example: Dave Smith & Helen Bloggs financial_position: type: - string - 'null' example: Agreement in Principle in place buying_position: example: Property to sell enum: - First-time buyer - Investor - Buy to let investor - No property to sell - Developer - Buying Agent - In process of selling - Valuation - In process of selling - On the market - In process of selling - Sold STC - Property to sell - In process of selling - Under Offer - null letting_position: type: - string - 'null' enum: - Homeowner - Renting - Living with Family - Selling - Other - null requirements: type: object properties: min_price: type: - integer - 'null' max_price: type: - integer - 'null' min_bedrooms: type: - integer - 'null' minimum: 1 preferred_bedrooms: type: - integer - 'null' minimum: 1 desired_move_in_date: type: - string - 'null' format: date desired_tenancy_period: type: - integer - 'null' furnished: type: - boolean - 'null' pets_allowed: type: - boolean - 'null' outside_space: oneOf: - $ref: '#/components/schemas/ApplicantPreferenceChoice' - type: 'null' min_land_area: type: - integer - 'null' garage: oneOf: - $ref: '#/components/schemas/ApplicantPreferenceChoice' - type: 'null' new_build: oneOf: - $ref: '#/components/schemas/ApplicantPreferenceChoice' - type: 'null' retirement_property: oneOf: - $ref: '#/components/schemas/ApplicantPreferenceChoice' - type: 'null' min_parking: type: - integer - 'null' preferred_parking: type: - integer - 'null' property_type_preference: type: object additionalProperties: $ref: '#/components/schemas/ApplicantPreferenceChoice' example: house: Don't Mind flat: Might Consider semi_detached: Would Prefer new_property_type_preference: deprecated: true type: object additionalProperties: $ref: '#/components/schemas/ApplicantPreferenceChoice' example: house: Don't Mind flat: Might Consider semi_detached: Would Prefer areas: type: array uniqueItems: true items: type: string example: Ellesmere Park active: type: boolean created_at: type: string format: date-time updated_at: type: string format: date-time lead_rating: type: - string - 'null' enum: - hot - warm - cold - null Area: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - area attributes: $ref: '#/components/schemas/AreaAttributes' title: Area x-tags: - Areas AreaAttributes: type: object title: Area (attributes) properties: name: type: - string created_at: type: string format: date-time updated_at: type: string format: date-time Branch: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - branch attributes: $ref: '#/components/schemas/BranchAttributes' relationships: type: object properties: users: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - user properties: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - property applicants: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - applicant title: Branch x-tags: - Branches BranchAttributes: type: object title: Branch (attributes) properties: address: $ref: '#/components/schemas/AddressSimple' name: type: string public_name: type: - string - 'null' email_address: type: string format: email telephone: type: string website: type: - string - 'null' format: uri about_branch_copy: type: - string - 'null' disclaimer: type: - string - 'null' matching_links_to_website: type: - boolean - 'null' readOnly: true description: If true, custom property matching links are enabled for the branch. matching_url_pattern: type: - string - 'null' readOnly: true description: 'Pattern for property match URLs on the agent website: https://www.yourwebsite.co.uk/property/{UUID}' created_at: type: string format: date-time updated_at: type: string format: date-time Brand: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - brand attributes: $ref: '#/components/schemas/BrandAttributes' title: Brand x-tags: - Brands BrandAttributes: type: object title: Brand (attributes) properties: name: type: string primary_colour: type: string secondary_colour: type: string tertiary_colour: type: string about_us: type: string why_instruct_us: type: string valuation_url: type: string created_at: type: string format: date-time updated_at: type: string format: date-time Company: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - company attributes: $ref: '#/components/schemas/CompanyAttributes' relationships: type: object properties: properties: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - property applicants: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - applicant people: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - person x-tags: - Companies title: Company CompanyAttributes: type: object title: Company Attributes properties: name: type: string example: Adams Builders address: oneOf: - $ref: '#/components/schemas/AddressSimple' - type: 'null' telephone_number: type: string email_address: type: string owner: oneOf: - $ref: '#/components/schemas/PersonSimple' - type: 'null' created_at: type: string format: date-time updated_at: type: string format: date-time CompanyTenantAttributes: type: object title: Company Attributes properties: tenant_type: type: string const: company name: type: string example: Adams Builders address: $ref: '#/components/schemas/AddressSimple' telephone_number: type: string email_address: type: string created_at: type: string format: date-time updated_at: type: string format: date-time Enquiry: title: Enquiry x-tags: - Enquiries allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - enquiry attributes: $ref: '#/components/schemas/EnquiryAttributes' relationships: type: object properties: branch: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - branch property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - property - type: 'null' person: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - person - type: 'null' notes: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - note EnquiryAttributes: title: Enquiry (attributes) type: object examples: [] properties: first_name: type: - string - 'null' last_name: type: - string - 'null' email_address: type: - string - 'null' format: email telephone_number: type: - string - 'null' message: type: string property_uuid: type: - string - 'null' format: uuid custom_source: type: - string - 'null' maxLength: 25 example: website branch_uuid: type: - string - 'null' format: uuid request_viewing: type: boolean request_valuation: type: boolean property_to_sell: type: boolean property_to_let: type: boolean created_at: type: string format: date-time updated_at: type: string format: date-time FollowUp: title: Follow Up x-tags: - Follow Ups allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - follow_up attributes: $ref: '#/components/schemas/FollowUpAttributes' relationships: type: object properties: branch: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - branch - type: 'null' negotiator: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - negotiator - type: 'null' property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - property - type: 'null' sale: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - sale - type: 'null' salesApplicant: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - salesApplicant - type: 'null' lettingsApplicant: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - lettingsApplicant - type: 'null' valuation: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - valuation - type: 'null' viewing: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - viewing - type: 'null' FollowUpAttributes: title: Follow Up (attributes) type: object properties: subject_id: type: - string - 'null' format: uuid deprecated: true description: 'Deprecated: use the subject relationship instead.' subject_type: type: - string - 'null' enum: - property - lettingsApplicant - salesApplicant - sale - valuation - viewing - null due_date: type: - string - 'null' format: date-time note: type: - string - 'null' created_at: type: string format: date-time updated_at: type: string format: date-time Todo: title: Task x-tags: - Tasks allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - todo attributes: $ref: '#/components/schemas/TodoAttributes' relationships: type: object properties: branch: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - branch negotiator: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - negotiator - type: 'null' property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - property - type: 'null' sale: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - sale - type: 'null' salesApplicant: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - salesApplicant - type: 'null' lettingsApplicant: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - lettingsApplicant - type: 'null' valuation: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - valuation - type: 'null' viewing: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - viewing - type: 'null' TodoAttributes: title: Task (attributes) type: object properties: subject_id: type: - string - 'null' format: uuid deprecated: true description: 'Deprecated: use the subject relationship instead.' subject_type: type: - string - 'null' enum: - property - lettingsApplicant - salesApplicant - sale - valuation - viewing - null title: type: string body: type: - string - 'null' due_date: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time TodoType: title: TaskType x-tags: - Task Types allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - todoType attributes: $ref: '#/components/schemas/TodoTypeAttributes' relationships: type: object TodoTypeAttributes: title: TaskType (attributes) type: object properties: name: type: string colour: type: string created_at: type: string format: date-time updated_at: type: string format: date-time deleted_at: type: - string - 'null' format: date-time Landlord: title: Landlord allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - landlord attributes: $ref: '#/components/schemas/LandlordAttributes' relationships: type: object properties: properties: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - property notes: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - note x-tags: - Landlords LandlordAttributes: title: Landlord (attributes) allOf: - $ref: '#/components/schemas/PersonSimple' - type: object properties: landlord_status: type: - string - 'null' enum: - Current - Previous created_at: type: string format: date-time updated_at: type: string format: date-time examples: [] LettingsOffer: title: LettingsOffer allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - lettings_offer attributes: $ref: '#/components/schemas/LettingsOfferAttributes' relationships: type: object properties: property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property branch: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - branch lettingsListing: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - lettings_listing applicant: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - applicant notes: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - note x-tags: - Lettings Offers LettingsOfferAttributes: type: object title: Lettings Offer (attributes) properties: address: $ref: '#/components/schemas/AddressSimple' desired_tenancy_length: type: integer example: 12 description: Number of months desired desired_move_in_date: type: string format: date-time rent_amount: type: integer rent_frequency: type: string enum: - Per Week - Per 2 Weeks - Per 4 Weeks - Per Calendar Month - Per Quarter - Per 6 Months - Per Annum tenants_under_18: type: integer pets: type: boolean smokers: type: boolean status: type: string enum: - Pending - Relayed To Owner - Rejected - Accepted - Withdrawn deleted_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time MaintenanceRequest: title: Maintenance Request allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - maintenance-request attributes: $ref: '#/components/schemas/MaintenanceRequestAttributes' relationships: type: object properties: property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property MaintenanceJob: title: Maintenance Job x-tags: - Maintenance Jobs allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - maintenance-job attributes: $ref: '#/components/schemas/MaintenanceJobAttributes' relationships: type: object properties: property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property MaintenanceJobAttributes: title: Maintenance Job (attributes) type: object properties: address: $ref: '#/components/schemas/AddressSimple' summary: type: string description: type: string priority: type: string enum: - low - medium - high - urgent - emergency status: type: string enum: - pending - ongoing - closed - cancelled reported_by: type: string enum: - tenant - landlord - contractor - agent reported_at: type: string format: date-time completed_at: type: - string - 'null' format: date-time cancelled_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time MaintenanceRequestAttributes: title: Maintenance Request (attributes) type: object properties: summary: type: string description: type: string priority: type: string enum: - Low - Medium - High - Urgent - Emergency reported_at: type: string format: date-time Note: title: Note x-tags: - Notes allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - note attributes: $ref: '#/components/schemas/NoteAttributes' NoteAttributes: title: Note (attributes) type: object properties: body: type: - string - 'null' author: type: - string - 'null' pinned_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time OwnerAttributes: title: Owner (attributes) type: object properties: is_company: type: boolean contact_name: type: string contact_address: anyOf: - $ref: '#/components/schemas/AddressSimple' - type: 'null' contact_telephone_number: type: - string - 'null' contact_email_address: type: - string - 'null' format: email created_at: type: string format: date-time updated_at: type: string format: date-time Person: allOf: - $ref: '#/components/schemas/BaseModel' - properties: type: type: string enum: - person attributes: $ref: '#/components/schemas/PersonAttributes' relationships: type: object properties: properties: description: All Properties owned by this Person allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: id: type: string format: uuid type: type: string enum: - property applicants: description: All sales and letting Applicants this person is a part of. allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: id: type: string format: uuid type: type: string enum: - applicant notes: description: Any Notes attached to this Person. allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: id: type: string format: uuid type: type: string enum: - note title: Person type: object PersonAttributes: title: Person (attributes) type: object properties: full_name: type: string title: type: - string - 'null' example: Mrs first_name: type: string example: Jane last_name: type: string example: Doe address: oneOf: - $ref: '#/components/schemas/AddressSimple' - type: 'null' telephone_numbers: type: array items: $ref: '#/components/schemas/TelephoneNumberSimple' email_addresses: type: array items: $ref: '#/components/schemas/EmailAddressSimple' marketing_consent: type: - boolean - 'null' contact_preferences: type: object properties: email: type: boolean post: type: boolean text: type: boolean phone: type: boolean statuses: type: object minProperties: 3 maxProperties: 3 additionalProperties: false properties: vendor: type: - string - 'null' enum: - null - Current - Previous landlord: type: - string - 'null' enum: - null - Current - Previous tenant: type: - string - 'null' enum: - null - Current - Previous created_at: type: string format: date-time updated_at: type: string format: date-time GuarantorAttributes: title: Guarantor (attributes) type: object properties: full_name: type: string title: type: string example: Mrs first_name: type: string example: Jane last_name: type: string example: Doe address: anyOf: - $ref: '#/components/schemas/AddressSimple' - type: 'null' telephone_numbers: type: array items: $ref: '#/components/schemas/TelephoneNumberSimple' email_addresses: type: array items: $ref: '#/components/schemas/EmailAddressSimple' marketing_consent: type: - boolean - 'null' contact_preferences: type: object properties: email: type: boolean post: type: boolean text: type: boolean phone: type: boolean deleted_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time Property: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - property attributes: $ref: '#/components/schemas/PropertyAttributes' relationships: type: object properties: branch: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - branch owner: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - owner media: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - media floorplans: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - floorplan rooms: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - room epc: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - epc - type: 'null' brochure: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - brochure - type: 'null' outsideSpaces: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - outside_space parking: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - parking viewings: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - viewing valuations: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - valuation notes: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - note negotiator: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - negotiator - type: 'null' followUp: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - follow_up - type: 'null' sales: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - sale salesListing: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - sales_listing - type: 'null' lettingsListing: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - lettings_listing - type: 'null' interestedApplicants: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - interested_applicant propertyKeys: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - property_key x-tags: - Properties title: Property PropertyAttributes: type: object title: Property (attributes) properties: is_sales: type: boolean is_lettings: type: boolean company_owned: type: boolean is_commercial: type: boolean is_residential: type: boolean address: $ref: '#/components/schemas/AddressSimple' inline_address: type: string public_address: type: string status: type: string enum: - Not On The Market - Valuation Lost - Valuation Booked - Provisional Valuation Booked - Valuation Pending - Valuation Cancelled - Valuation Completed - Instructed - For Sale - Under Offer - Sold STC - Exchanged - Let - To Let - Let Agreed - For Sale and To Let - Withdrawn Sales - Withdrawn Lettings - Withdrawn Sales And Lettings - Completed bedrooms: type: integer bathrooms: type: integer receptions: type: integer floor_area: type: - string - 'null' plot_area: type: - string - 'null' land_area: type: - string - 'null' full_description: type: - string - 'null' short_description: type: - string - 'null' location_summary: type: - string - 'null' full_description_lettings: type: - string - 'null' short_description_lettings: type: - string - 'null' location_summary_lettings: type: - string - 'null' property_type: type: string property_style: type: string property_age_bracket: type: string construction_year: type: - string - integer - 'null' is_listed_building: type: - boolean - 'null' is_conservation_area: type: - boolean - 'null' tenure: type: string tenure_notes: type: - string - 'null' lease_expiry_year: type: - string - 'null' lease_expiry_date: type: - string - 'null' format: date display_property_style: type: string work_required: type: boolean heating_system: type: string council_tax_band: type: string council_tax_cost: type: - integer - 'null' local_authority: type: - string - 'null' service_charge: type: integer service_charge_period: type: string default: month service_charge_notes: type: - string - 'null' ground_rent: type: - integer - 'null' ground_rent_period: type: string default: month ground_rent_review_period_years: type: - integer - 'null' ground_rent_uplift: type: - integer - 'null' ground_rent_expiry: type: - string - 'null' has_outdoor_space: type: - boolean - 'null' shared_ownership: type: boolean default: false shared_ownership_notes: type: - string - 'null' shared_ownership_rent: type: - integer - 'null' shared_ownership_rent_frequency: type: - string - 'null' shared_ownership_percentage_sold: type: - integer - 'null' tags: type: array uniqueItems: true items: type: object properties: name: type: string slug: type: string order: type: number features: type: array uniqueItems: true items: type: object properties: id: type: string format: uuid description: The ID of the feature name: type: string order: type: number include_on_portals: type: boolean highlight: type: boolean material_information: type: object properties: council_tax_band: type: - string - 'null' example: D maxLength: 1 lease_expiry_date: type: - string - 'null' format: date ground_rent_pence: type: - integer - 'null' ground_rent_period: type: - string - 'null' ground_rent_expiry: type: - string - 'null' format: date ground_rent_review_period_years: type: - integer - 'null' ground_rent_uplift: type: - integer - 'null' description: Value is a percentage service_charge_pence: type: - integer - 'null' service_charge_period: type: - string - 'null' service_charge_notes: type: - string - 'null' water_supply: type: - array - 'null' uniqueItems: true minItems: 1 items: type: string enum: - direct_main_waters - wells - boreholes - springs - other water_supply_other: type: - string - 'null' electricity_supply: type: - array - 'null' uniqueItems: true minItems: 1 items: type: string enum: - national_grid - wind_turbine - solar_panels - generator - other electricity_supply_other: type: - string - 'null' sewerage: type: - array - 'null' uniqueItems: true minItems: 1 items: type: string enum: - standard - septic_tank - sewage_treatment_plants - cesspit - cesspool - other sewerage_other: type: - string - 'null' heating_supply: type: - array - 'null' uniqueItems: true minItems: 1 items: type: string enum: - electric_central - gas_central - gas_other - communal_heating - lpg_central - wood_burner - biomass_boiler - solar_panels - heat_pump - other heating_supply_other: type: - string - 'null' heating_system: type: - string - 'null' broadband: type: - string - 'null' enum: - adsl - cable - fttc - fttp - null has_restrictions: type: - boolean - 'null' has_required_access: type: - boolean - 'null' public_right_of_way: type: - boolean - 'null' flood_risk: type: - boolean - 'null' sources_of_flooding: type: - array - 'null' items: type: string sources_of_flooding_other: type: - string - 'null' has_flood_defences: type: - boolean - 'null' has_flooded_in_last_five_years: type: - boolean - 'null' adaptations_list: type: - array - 'null' items: {} adaptations_other: type: - string - 'null' viewing_booking_url: type: - string - 'null' last_instructed_sales_at: type: - string - 'null' format: date-time last_instructed_lettings_at: type: - string - 'null' format: date-time last_exchanged_at: type: - string - 'null' format: date-time last_completed_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time custom_meta_data: type: - object - array items: {} lead_source: type: - string - 'null' publish_after: type: - string - 'null' format: date-time archived_at: type: - string - 'null' format: date-time virtual_tour: type: - string - 'null' format: uri property_urls: type: - array - 'null' items: type: object properties: title: type: string type: type: string enum: - image - floor_plan - brochure - virtual_tour - audio_tour - ipack url: type: string format: uri maxLength: 2048 required: - title - type - url PropertyKeys: title: Property Keys allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - property_key attributes: $ref: '#/components/schemas/PropertyKeysAttributes' relationships: type: object properties: property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property PropertyKeysAttributes: title: Property Key (attributes) type: object properties: ident: type: string description: type: - string - 'null' status: type: string enum: - Checked In - Checked Out created_at: type: string format: date-time updated_at: type: string format: date-time deleted_at: type: - string - 'null' format: date-time QuestionnaireResponse: title: Questionnaire Response allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - questionnaire_response attributes: $ref: '#/components/schemas/QuestionnaireResponseAttributes' relationships: type: object properties: questionnaire: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - questionnaire answers: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - questionnaire_response_answer submitter: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - user - type: 'null' property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property QuestionnaireResponseAttributes: title: Questionnaire Response (attributes) type: object properties: submitted_at: type: string format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time QuestionnaireAttributes: title: Questionnaire (attributes) type: object properties: name: type: string questionnaire_type: type: string published_at: type: string format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time QuestionnaireSectionAttributes: title: Questionnaire Section (attributes) type: object properties: name: type: string order: type: integer hidden: type: boolean is_editable: type: boolean created_at: type: string format: date-time updated_at: type: string format: date-time QuestionnaireQuestionAttributes: title: Questionnaire Question (attributes) type: object properties: body: type: - string - 'null' question_type: type: string type: type: string deprecated: true description: 'Deprecated: use question_type instead.' hidden: type: boolean help_text: type: string order: type: integer is_editable: type: boolean meta: type: object identifier: type: string created_at: type: string format: date-time updated_at: type: string format: date-time QuestionnaireQuestionOptionAttributes: title: Questionnaire Question Option (attributes) type: object properties: text: type: string additional_data_input_type: type: - string - 'null' prohibited: type: boolean order: type: integer created_at: type: string format: date-time updated_at: type: string format: date-time QuestionnaireResponseAnswerAttributes: title: Questionnaire Response Answer (attributes) type: object properties: dont_know: type: boolean not_relevant: type: boolean created_at: type: string format: date-time updated_at: type: string format: date-time QuestionnaireResponseAnswerValueAttributes: title: Questionnaire Response Answer Value (attributes) type: object properties: answer: type: string created_at: type: string format: date-time updated_at: type: string format: date-time PropertyDescriptionUpdateAttributes: type: object title: Property Description Update properties: full_description: type: - string - 'null' short_description: type: - string - 'null' location_summary: type: - string - 'null' full_description_lettings: type: - string - 'null' short_description_lettings: type: - string - 'null' location_summary_lettings: type: - string - 'null' virtual_tour: type: - string - 'null' format: uri property_urls: type: - array - 'null' items: type: object properties: title: type: string type: type: string enum: - image - floor_plan - brochure - virtual_tour - audio_tour - ipack url: type: string format: uri maxLength: 2048 required: - title - type - url Sale: title: Sale allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - sale attributes: $ref: '#/components/schemas/SaleAttributes' relationships: type: object properties: property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property branch: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - branch applicant: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - applicant vendor: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - vendor notes: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - note x-tags: - Sales SaleAttributes: title: Sale (attributes) type: object properties: address: $ref: '#/components/schemas/AddressSimple' status: type: string enum: - Completed - Fallen Through - Offer Accepted - Exchanged - Under Offer sale_price: type: number dates: type: object properties: expected_exchange_date: type: - string - 'null' format: date-time exchanged_date: type: - string - 'null' format: date-time expected_completion_date: type: - string - 'null' format: date-time completed_date: type: - string - 'null' format: date-time SalesOffer: title: SalesOffer allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - sales_offer attributes: $ref: '#/components/schemas/SalesOfferAttributes' relationships: type: object properties: property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property branch: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - branch salesListing: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - sales_listing - type: 'null' applicant: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - applicant notes: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - note SalesOfferAttributes: type: object title: Sales Offer (attributes) properties: address: $ref: '#/components/schemas/AddressSimple' offer_amount: type: number example: 425000 offer_made_at: type: string format: date-time notes: type: - string - 'null' example: Own under offer to doctor - sold through p bricks status: type: string enum: - Pending - Relayed to Vendor - Accepted - Rejected - Withdrawn created_at: type: string format: date-time updated_at: type: string format: date-time Tenant: title: Tenant allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - tenant attributes: $ref: '#/components/schemas/TenantAttributes' relationships: type: object properties: tenancies: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - tenancy notes: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - note examples: [] TenantAttributes: title: Tenant (attributes) allOf: - $ref: '#/components/schemas/PersonSimple' - type: object properties: tenant_type: type: string const: person tenant_status: type: - object - 'null' properties: value: type: string enum: - current - previous key: type: string enum: - CURRENT - PREVIOUS description: type: string enum: - Current - Previous created_at: type: string format: date-time updated_at: type: string format: date-time examples: [] Tenancy: title: Tenancy allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - tenancy attributes: $ref: '#/components/schemas/TenancyAttributes' relationships: type: object properties: property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property owner: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - owner tenants: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - tenant notes: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - note examples: [] TenancyAttributes: title: Tenancy (attributes) type: object properties: active: type: boolean status: type: string enum: - active - cancelled - ended - ending - expiring - renewed - renewing - upcoming start_date: type: string format: date-time end_date: type: - string - 'null' format: date-time description: Null for periodic tenancies, which have no fixed end date. original_term_start_date: type: string format: date-time tenancy_type: anyOf: - type: string enum: - Assured Shorthold - Excluded - Assured - Non-assured - Regulated - Company Let - HMO - License - Assured Periodic Tenancy - type: 'null' tenancy_term_type: type: string enum: - Periodic - Fixed rent_amount: type: integer example: 495 rent_frequency: type: string enum: - Per Week - Per 2 Weeks - Per 4 Weeks - Per Calendar Month - Per Quarter - Per 6 Months - Per Annum deposit_amount: type: - integer - 'null' example: 900 service_level: type: - string - 'null' example: Fully Managed service_level_type: anyOf: - type: string enum: - Let Only - Rent Collection - Fully Managed - Other - type: 'null' management_fee: type: - string - 'null' example: 10% created_at: type: string format: date-time updated_at: type: string format: date-time HoldingDepositAttributes: title: Holding Deposit (attributes) type: object properties: amount: type: - integer - 'null' example: 495 received_at: type: - string - 'null' format: date-time TenancyAgreementAttributes: title: Tenancy Agreement (attributes) type: object properties: start_date: type: - string - 'null' format: date-time end_date: type: - string - 'null' format: date-time tenancy_term_type: type: - string - 'null' enum: - Periodic - Fixed - null tenancy_type: type: - string - 'null' enum: - Assured Shorthold - Excluded - Assured - Non-assured - Regulated - Company Let - HMO - License - Assured Periodic Tenancy - null rent_amount: type: - integer - 'null' example: 495 rent_frequency: type: - string - 'null' enum: - Per Week - Per 2 Weeks - Per 4 Weeks - Per Calendar Month - Per Quarter - Per 6 Months - Per Annum - null payment_day: type: - integer - 'null' example: 15 payment_reference: type: - string - 'null' example: 123ABC deposit_amount: type: - integer - 'null' example: 900 deposit_scheme: type: - string - 'null' enum: - DPS - Custodial - DPS - Insured - TDS - Custodial - TDS - Insured - My Deposits - Custodial - My Deposits - Insured - Reposit - LPS Scotland - SafeDeposits Scotland - Custodial - My Deposits - Scotland - Custodial - Deposit Replacement - Held by Agent - Held by Landlord - null management_fee: type: - number - 'null' example: 10.7 management_fee_type: type: - string - 'null' enum: - Percentage - Fixed Fee - null additional_clauses: type: - string - 'null' tenancy_agreement_sent_at: type: - string - 'null' format: date-time tenancy_agreement_signed_at: type: - string - 'null' format: date-time User: title: User allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - user attributes: $ref: '#/components/schemas/UserAttributes' relationships: type: object properties: properties: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - property UserAttributes: title: User (attributes) type: object properties: first_name: type: string last_name: type: string job_title: type: - string - 'null' telephone_number: type: - string - 'null' mobile_number: type: - string - 'null' email_address: type: string format: email deactivated_at: type: - string - 'null' format: date-time deleted_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time ViewingFeedbackAttributes: title: Viewing Feedback (attributes) type: object properties: feedback: type: string rating: type: - string - 'null' enum: - Poor - Okay - Good - Great - null price_rating: type: - string - 'null' enum: - Good - Fair - High - null status: type: string enum: - Completed - No feedback - Pending author: type: - string - 'null' visible_to_applicant: type: boolean visible_to_vendor: type: boolean vendor_viewed_at: type: - string - 'null' format: date-time created_by: type: string created_at: type: string format: date-time updated_at: type: - string - 'null' format: date-time Valuation: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - valuation attributes: $ref: '#/components/schemas/ValuationAttributes' relationships: type: object properties: branch: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - branch property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property owner: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - owner notes: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - note follow-up: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - follow-up - type: 'null' salesReport: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - valuation_sales_report - type: 'null' lettingsReport: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - valuation_lettings_report - type: 'null' salesInstruction: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - sales_instruction - type: 'null' lettingsInstruction: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - lettings_instruction - type: 'null' valuer: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - valuer - type: 'null' lostValuationDetail: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - lost_valuation_detail - type: 'null' ValuationAttributes: title: Valuation (attributes) type: object properties: address: $ref: '#/components/schemas/AddressSimple' start: type: - string - 'null' format: date-time end: type: - string - 'null' format: date-time lead_source: type: - string - 'null' valuation_type: type: string enum: - sales - lettings - sales_and_lettings type: type: string deprecated: true description: 'Deprecated: use valuation_type instead.' enum: - sales - lettings - sales_and_lettings years_owned: type: - integer - 'null' work_done: type: array uniqueItems: true minItems: 0 items: type: string example: Cosmetic (decorating etc...) minLength: 0 desired_move_timeframe: type: - string - 'null' move_reason: type: - string - 'null' status: type: string custom_status: type: - string - 'null' cancelled_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time ValuationSalesReportAttributes: title: Valuation Sales Report (attributes) type: object properties: valuation_price_qualifier: type: string valuation_amount: type: integer valuation_range_min_amount: type: - integer - 'null' valuation_range_max_amount: type: - integer - 'null' intro_message: type: string sent_to_vendor_at: type: - string - 'null' format: date-time published_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time ValuationLettingsReportAttributes: title: Valuation Lettings Report (attributes) type: object properties: valuation_amount: type: integer valuation_period: type: string intro_message: type: string sent_to_vendor_at: type: - string - 'null' format: date-time published_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time SalesInstruction: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - sales_instruction attributes: $ref: '#/components/schemas/SalesInstructionAttributes' relationships: type: object properties: property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property owner: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - owner valuation: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - valuation - type: 'null' Fees: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: object properties: type: type: string enum: - fees SalesInstructionAttributes: title: Sales Instruction (attributes) type: object properties: method: type: string marketing_price_qualifier: type: - string - 'null' marketing_price: type: integer instructed_at: type: string format: date-time revoked_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time FeeAttributes: title: Fees (attributes) type: object properties: package: type: string enum: - completion - upfront label: type: string fee_amount: type: integer vat_type: type: string enum: - exc_vat - inc_vat fee_type: type: string enum: - fixed - percentage deleted_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time LettingsInstruction: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - lettings_instruction attributes: $ref: '#/components/schemas/LettingsInstructionAttributes' relationships: type: object properties: property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property owner: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - owner valuation: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - valuation - type: 'null' LettingsInstructionAttributes: title: Lettings Instruction (attributes) type: object properties: method: type: string marketing_price_pcm: type: integer marketing_price_period: type: string instructed_at: type: string format: date-time revoked_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time LostValuationDetailAttributes: title: Lost Valuation Detail (attributes) type: object properties: marketed_again: type: boolean competitor_valuation_amount: type: - string - 'null' fee_type: type: string fee: type: number format: float contract_length_qualifier: type: string contract_length: type: integer upfront_fee_type: type: - string - 'null' upfront_fee: type: - number - 'null' format: float management_fee_type: type: - string - 'null' management_fee: type: - number - 'null' format: float created_at: type: string format: date-time updated_at: type: string format: date-time Vendor: title: Vendor allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - vendor attributes: $ref: '#/components/schemas/VendorAttributes' relationships: type: object properties: properties: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - property notes: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - note VendorAttributes: title: Vendor (attributes) type: object properties: people: type: array items: $ref: '#/components/schemas/PersonSimple' vendor_status: type: - string - 'null' enum: - Current - Previous created_at: type: string format: date-time updated_at: type: string format: date-time Solicitor: title: Solicitor allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - solicitor attributes: $ref: '#/components/schemas/SolicitorAttributes' relationships: type: object properties: solicitorFirm: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - solicitorFirm applicantSolicitorSale: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - applicant_solicitor_sale ownerSolicitorSale: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - owner_solicitor_sale SolicitorAttributes: title: Solicitor (attributes) type: object properties: title: type: string position: type: string first_name: type: string last_name: type: string full_name: type: string telephone_numbers: type: array items: $ref: '#/components/schemas/TelephoneNumberSimple' email_addresses: type: array items: $ref: '#/components/schemas/EmailAddressSimple' address: type: string created_at: type: string format: date-time updated_at: type: string format: date-time SolicitorFirmAttributes: title: Solicitor Firm (attributes) type: object properties: name: type: string address: type: string firm_contact_number: type: string firm_email_address: type: string created_at: type: string format: date-time updated_at: type: string format: date-time InterestedApplicant: title: Interested Applicant allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - interested_applicant attributes: $ref: '#/components/schemas/InterestedApplicantAttributes' relationships: type: object properties: applicant: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - applicant property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property x-internal: false Inspection: title: Inspection allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - inspection attributes: $ref: '#/components/schemas/InspectionAttributes' relationships: type: object properties: property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - property - type: 'null' bookedBy: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - booked_by - type: 'null' inspector: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - inspector - type: 'null' x-internal: false InspectionAttributes: title: Inspection (attributes) type: object properties: due_date: type: string format: date-time inspection_date: anyOf: - type: string format: date-time - type: 'null' status: type: string enum: - Booked - Incomplete - Cancelled - Completed - Overdue - Need to Book - Unconfirmed created_at: type: string format: date-time updated_at: type: string format: date-time deleted_at: type: - string - 'null' format: date-time Invoice: title: Invoice allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - invoice attributes: $ref: '#/components/schemas/InvoiceAttributes' relationships: type: object properties: property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property owner: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - owner line_items: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - fee x-internal: false InvoiceAttributes: title: Invoice (attributes) type: object properties: invoice_prefix: type: string invoice_number: type: integer total_amount: type: integer example: 425000 total_amount_vat: type: integer example: 42500 paid: type: boolean paid_at: type: - string - 'null' format: date-time due_date: type: string format: date-time voided_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time InterestedApplicantAttributes: title: Interested Applicant (attributes) type: object properties: deleted_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time Viewing: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - viewing attributes: $ref: '#/components/schemas/ViewingAttributes' relationships: type: object properties: branch: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - branch property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property owner: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - owner applicant: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - applicant viewer: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - viewer - type: 'null' notes: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - note title: Viewing ViewingAttributes: type: object title: Viewing (attributes) properties: viewing_type: type: string enum: - sales - lettings type: type: string deprecated: true description: 'Deprecated: use viewing_type instead.' enum: - sales - lettings address: $ref: '#/components/schemas/AddressSimple' start: type: - string - 'null' format: date-time end: type: - string - 'null' format: date-time unaccompanied: type: boolean agent_confirmed: type: boolean occupant_confirmed: type: boolean applicant_confirmed: type: boolean provisional: type: boolean occupant_type: type: - string - 'null' enum: - By Tenants - By Owner - Vacant - Unknown - null status: type: string enum: - unconfirmed - rejected - confirmed - cancelled - completed - missed no_show: type: boolean cancelled_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time AddressSimple: title: Address (simple) type: object properties: single_line: type: string example: 19 Lansdowne Road, Monton, Manchester anon_single_line: type: string example: Lansdowne Road, Monton, Manchester building_number: type: - string - 'null' example: '19' building_name: type: - string - 'null' street: type: - string - 'null' line_1: type: string example: 19 Lansdowne Road line_2: type: - string - 'null' example: Monton line_3: type: - string - 'null' example: Manchester line_4: type: - string - 'null' town: type: - string - 'null' example: Manchester country: type: string example: United Kingdom postcode: type: string example: M30 9PA udprn: type: - string - 'null' example: '28327204' geo: type: object properties: lat: type: - number - 'null' example: 0.2365698 format: float lng: type: - number - 'null' example: 53.023654 format: float royal_mail: type: - object - 'null' properties: postcode: type: string post_town: type: string thoroughfare: type: string building_name: type: - string - 'null' building_number: type: - string - 'null' department_name: type: - string - 'null' organisation_name: type: - string - 'null' sub_building_name: type: - string - 'null' dependent_locality: type: - string - 'null' dependent_thoroughfare: type: - string - 'null' double_dependent_locality: type: - string - 'null' street_group_property_id: type: - string - 'null' EmailAddressSimple: title: Email Address (simple) description: An email address, can be related to a person and/or a company. type: object properties: value: type: string example: john@johndoe.com format: email notes: type: - string - 'null' primary: type: boolean PersonSimple: title: Person (simple) type: object properties: full_name: type: string title: type: string example: Mrs first_name: type: string example: Jane last_name: type: string example: Doe address: oneOf: - $ref: '#/components/schemas/AddressSimple' - type: 'null' telephone_numbers: type: array items: $ref: '#/components/schemas/TelephoneNumberSimple' email_addresses: type: array items: $ref: '#/components/schemas/EmailAddressSimple' marketing_consent: type: - boolean - 'null' contact_preferences: type: object properties: email: type: boolean post: type: boolean text: type: boolean phone: type: boolean NetworkSettings: title: NetworkSettings type: object properties: webhooks_enabled: type: boolean TelephoneNumberSimple: title: Telephone Number (simple) description: An telephone number, can be related to a person and/or a company. type: object properties: value: type: string example: '+441632960911' notes: type: - string - 'null' primary: type: boolean PhotoAndMeasure: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - photo_and_measure attributes: $ref: '#/components/schemas/PhotoAndMeasureAttributes' relationships: type: object properties: branch: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - branch property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property owner: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - owner notes: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - note photographer: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: oneOf: - type: object properties: type: type: string enum: - photographer - type: 'null' PhotoAndMeasureAttributes: title: Photo And Measure (attributes) type: object properties: address: $ref: '#/components/schemas/AddressSimple' start: type: - string - 'null' format: date-time end: type: - string - 'null' format: date-time status: type: string cancelled_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time Meta: title: Meta Information description: The server's implementation. type: object Links: title: Links description: Links object - JSON:API Standard. type: object x-examples: example-1: self: http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=2 first: http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=1 prev: http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=1 next: http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=3 last: http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=9 examples: - self: http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=2 first: http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=1 next: http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=1 prev: http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=3 last: http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=9 properties: self: type: string example: http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=2 first: type: string example: http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=1 next: type: string example: http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=1 prev: type: string example: http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=3 last: type: string example: http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=9 Link: title: Link oneOf: - description: a string containing the link's URL type: string format: uri-reference - type: object required: - href properties: href: description: a string containing the link's URL type: string format: uri-reference meta: $ref: '#/components/schemas/Meta' IncludedLinks: title: Included Links type: object properties: self: $ref: '#/components/schemas/Link' related: $ref: '#/components/schemas/Link' examples: [] Pagination: title: Pagination description: Pagination object - JSON:API Standard. type: object properties: pagination: type: object properties: total: type: integer example: 226 count: type: integer example: 10 per_page: type: integer example: 10 current_page: type: integer example: 1 total_pages: type: integer example: 23 x-examples: example-1: pagination: total: 226 count: 10 per_page: 10 current_page: 1 total_pages: 23 examples: - pagination: total: 226 count: 10 per_page: 10 current_page: 1 total_pages: 23 JsonApi: title: API Details description: The server's implementation. type: object properties: version: type: string meta: $ref: '#/components/schemas/Meta' RelationshipSingular: title: Relationship Singular description: Inheritable schema for 1:1 relationships. Data may be null if the relationship is empty. type: object properties: data: oneOf: - type: object properties: type: type: string id: type: string format: uuid example: a827a3ae-4c74-4c32-8b42-42248d4010d3 required: - type - id - type: 'null' links: type: object properties: self: $ref: '#/components/schemas/Link' related: $ref: '#/components/schemas/Link' RelationshipPlural: title: Relationship Plural description: This is a inheritable schema to allow you to easily add relationships to your main schemas. This should be used for `1:n` relationships. type: object properties: data: type: array items: type: object properties: type: type: string id: type: string example: a827a3ae-4c74-4c32-8b42-42248d4010d3 links: type: object properties: self: $ref: '#/components/schemas/Link' related: $ref: '#/components/schemas/Link' IncludedResource: title: Included Resource type: object examples: [] required: - type - id properties: type: type: string id: type: string format: uuid attributes: type: object relationships: type: - object - 'null' meta: $ref: '#/components/schemas/Meta' BaseModel: title: Base Model type: object properties: id: type: string format: uuid type: type: string attributes: type: object relationships: type: object ApplicantPreferenceChoice: title: Applicant Preference Choices type: string enum: - Strong Preference - Don't Mind - Would Prefer - Won't Consider - Might Consider - Must Have DefaultMedia: title: DefaultMedia type: object properties: name: type: string example: p045126_01 order: type: integer example: 1 is_featured: type: - boolean - 'null' default: false include_in_listing: type: - boolean - 'null' default: false feature_index: type: - 'null' - integer title: type: - 'null' - string collection: type: string example: general DownloadableMedia: title: Downloadable Media x-tags: - Media allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - downloadable_media attributes: $ref: '#/components/schemas/DownloadableMediaAttributes' DownloadableMediaAttributes: title: Downloadable Media (attributes) type: object properties: name: type: string example: p045126_01 title: type: - 'null' - string collection: type: string example: general url: type: string example: https://example.com/path/to/resource.jpg format: url extension_type: type: string example: jpg created_at: type: string format: date-time updated_at: type: string format: date-time UploadedMedia: title: Media type: object properties: type: type: string enum: - floorplan - photo id: type: string format: uuid attributes: type: object properties: name: type: string order: type: integer is_featured: type: - boolean - 'null' include_in_listing: type: - boolean - 'null' feature_index: type: integer title: type: string media_type: type: string url: type: string format: uri deleted_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time links: type: object required: - self properties: self: type: string format: uri ImageMedia: title: Image type: object properties: media_type: type: string description: A user defined type to enable categorizing generic media items enum: - image url: type: string example: https://ik.imagekit.io/street/street-live/properties/general/787110/p045126_01.jpg format: uri PdfMedia: title: PDF type: object properties: media_type: type: string description: A user defined type to enable categorizing generic media items enum: - pdf url: type: string example: https://ik.imagekit.io/street/street-live/properties/general/787110/p045126_01.pdf format: uri required: - media_type IncludedBranch: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - branch attributes: $ref: '#/components/schemas/BranchAttributes' title: Branch (included) IncludedCompany: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - company attributes: $ref: '#/components/schemas/CompanyAttributes' title: Company (included) IncludedInspections: title: Inspections (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - inspection attributes: $ref: '#/components/schemas/InspectionAttributes' x-tags: - Inspections IncludedApplicant: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - applicant attributes: $ref: '#/components/schemas/ApplicantAttributes' relationships: type: object properties: people: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - person title: Applicant (included) IncludedDownloadableMedia: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - downloadable_media attributes: $ref: '#/components/schemas/DownloadableMediaAttributes' examples: [] title: Downloadable Media (included) x-tags: - Media IncludedMedia: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string attributes: $ref: '#/components/schemas/MediaAttributes' examples: [] title: Media (included) x-tags: - Media Media: title: Media x-tags: - Media allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - media attributes: $ref: '#/components/schemas/MediaAttributes' MediaAttributes: title: MediaAttributes allOf: - $ref: '#/components/schemas/DefaultMedia' - oneOf: - $ref: '#/components/schemas/ImageMedia' - $ref: '#/components/schemas/PdfMedia' IncludedBrochure: title: Brochure (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - brochure attributes: type: object properties: name: type: string url: type: string x-tags: - Brochures IncludedEpc: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - epc attributes: allOf: - properties: energy_efficiency_rating: type: string environmental_impact_rating: type: string energy_efficiency_current: type: string energy_efficiency_potential: type: string environment_impact_current: type: string environment_impact_potential: type: string media: type: - object - 'null' properties: image: type: - string - 'null' format: uri type: object title: EPC (included) x-tags: - Epcs IncludedFloorplan: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - floorplan attributes: type: object properties: url: type: string urls: type: array items: type: string example: thumbnail, full title: Floorplan (included) x-tags: - Floorplans IncludedFollowUp: title: Follow Up (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - follow_up attributes: $ref: '#/components/schemas/FollowUpAttributes' x-tags: - Follow Ups IncludedLettingsListing: title: Lettings Listing (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - lettings_listing attributes: $ref: '#/components/schemas/LettingsListingAttributes' x-tags: - Lettings Listings LettingsListingAttributes: title: Lettings Listing (included) type: object properties: brand_id: type: string format: uuid price_pcm: type: integer example: 850 deposit: type: integer example: 1700 let_type: type: string allows_pets: type: boolean available_from: type: string furnished: type: boolean is_student_rental: type: boolean is_shared_accommodation: type: boolean min_tenancy_period: type: string archived: type: boolean is_low_profile: type: boolean is_not_in_property_feed_api: type: boolean spectre_social_campaigns: type: boolean spectre_email_campaigns: type: boolean full_description: type: string short_description: type: string location_summary: type: string has_parking: type: boolean virtual_tour: type: string status: type: string created_at: type: string format: date-time updated_at: type: string format: date-time deleted_at: type: - string - 'null' format: date-time IncludedLettingsOffer: title: Lettings Offer (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - lettings_offer attributes: $ref: '#/components/schemas/LettingsOfferAttributes' x-tags: - Lettings Offers IncludedLettingsApplication: title: Lettings Application (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - lettings_application attributes: $ref: '#/components/schemas/LettingsApplicationAttributes' x-tags: - Lettings Applications LettingsApplicationAttributes: title: Lettings Application (included) type: object properties: application_status: example: pending enum: - successful - unsuccessful - in_progress - pending - cancelled desired_tenancy_length: type: integer example: 12 desired_move_in_date: type: string format: date-time completed_at: type: - string - 'null' format: date-time agreed_move_in_date: type: - string - 'null' format: date-time price: type: integer price_frequency: type: string enum: - Per Week - Per 2 Weeks - Per 4 Weeks - Per Calendar Month - Per Quarter - Per 6 Months - Per Annum IncludedNegotiator: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - negotiator attributes: $ref: '#/components/schemas/UserAttributes' title: Negotiator (included) IncludedValuer: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - valuer attributes: $ref: '#/components/schemas/UserAttributes' title: Valuer (included) IncludedViewer: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - viewer attributes: $ref: '#/components/schemas/UserAttributes' title: Viewer (included) IncludedViewingFeedback: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - viewing_feedback attributes: $ref: '#/components/schemas/ViewingFeedbackAttributes' title: Viewing Feedback (included) IncludedPhotographer: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - photographer attributes: $ref: '#/components/schemas/UserAttributes' title: User (included) IncludedInspector: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - inspector attributes: $ref: '#/components/schemas/UserAttributes' title: User (included) IncludedBookedBy: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - booked_by attributes: $ref: '#/components/schemas/UserAttributes' title: User (included) IncludedValuationSalesReport: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - valuation_sales_report attributes: $ref: '#/components/schemas/ValuationSalesReportAttributes' title: Valuation Sales Report (included) IncludedValuationLettingsReport: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - valuation_lettings_report attributes: $ref: '#/components/schemas/ValuationLettingsReportAttributes' title: Valuation Lettings Report (included) IncludedSalesInstruction: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - sales_instruction attributes: $ref: '#/components/schemas/SalesInstructionAttributes' title: Sales Instruction (included) IncludedLettingsInstruction: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - lettings_instruction attributes: $ref: '#/components/schemas/LettingsInstructionAttributes' title: Lettings Instruction (included) IncludedLostValuationDetail: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - lost_valuation_detail attributes: $ref: '#/components/schemas/LostValuationDetailAttributes' title: Lost Valuation Detail (included) IncludedNotes: title: Note (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - note attributes: $ref: '#/components/schemas/NoteAttributes' x-tags: - Notes IncludedOutsideSpace: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - outside_space attributes: type: object properties: space_type: type: string enum: - Garden - Front Garden - Rear Garden - Communal Garden - Yard - Roof Terrace - Balcony type: type: string deprecated: true description: 'Deprecated: use space_type instead.' enum: - Garden - Front Garden - Rear Garden - Communal Garden - Yard - Roof Terrace - Balcony description: type: - string - 'null' example: A substantial rear garden with a decked terrace & a generous lawn. width: type: - integer - 'null' example: 6010 length: type: - integer - 'null' example: 4389 area: type: - integer - 'null' example: 56000 orientation: type: - string - 'null' enum: - N - NE - E - SE - SW - W - NW relationships: type: object properties: media: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - media title: Outside Space (included) x-tags: - OutsideSpaces IncludedOwner: title: Owner (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - owner attributes: $ref: '#/components/schemas/OwnerAttributes' relationships: type: object properties: people: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - person company: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - company IncludedPropertyKey: title: Property Key (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - property_key attributes: $ref: '#/components/schemas/PropertyKeysAttributes' IncludedInterestedApplicant: title: Interested Applicant (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - interested_applicant attributes: $ref: '#/components/schemas/InterestedApplicantAttributes' relationships: type: object properties: applicant: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - applicant IncludedInvoice: title: Invoice (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - invoice attributes: $ref: '#/components/schemas/InvoiceAttributes' relationships: type: object properties: property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - property owner: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - owner line_items: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: object properties: type: type: string enum: - fee IncludedParking: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - parking_space attributes: type: object properties: include_in_listing: type: - boolean - 'null' parking_space_type: type: string enum: - Garage - Car Port - Off Road - On Road - Permit - Secure Gated - Allocated Parking - On Drive capacity: type: - number - 'null' example: 2 description: type: - string - 'null' example: Driveway with parking for 2 vehicles relationships: type: object properties: media: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - media title: Parking (included) x-tags: - Parking IncludedPerson: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - person attributes: $ref: '#/components/schemas/PersonAttributes' title: Person (included) IncludedGuarantor: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - guarantor attributes: $ref: '#/components/schemas/GuarantorAttributes' title: Guarantor (included) IncludedProperty: title: Property (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - property attributes: $ref: '#/components/schemas/PropertyAttributes' relationships: type: object properties: branch: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - branch IncludedRoom: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - room attributes: type: object properties: room_type: type: string example: lounge name: type: string example: Lounge width: type: - integer - 'null' example: 320 length: type: - integer - 'null' example: 509 formatted_dimensions: type: - string - 'null' example: 16′ 9″ x 10′ 6″ (5.1m x 3.2m) description: type: - string - 'null' example: Dual aspect with a window to the front and side elevation both fitted with French Shutters. Laminated wood flooring. T.V point. order: type: integer example: 4 relationships: type: object properties: media: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - media title: Room (included) x-tags: - Rooms IncludedSale: title: Sales (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - sale attributes: $ref: '#/components/schemas/SaleAttributes' IncludedSalesOffer: title: Sales Offer (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - sales_offer attributes: $ref: '#/components/schemas/SalesOfferAttributes' IncludedSalesListing: title: Sales Listing (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - sales_listing attributes: $ref: '#/components/schemas/SalesListingAttributes' SalesListingAttributes: title: Sales Listing (included) type: object properties: brand_id: type: string format: uuid personal_interest_disclosure: type: - string - 'null' price_qualifier: type: - string - 'null' enum: - None - In Excess of - Prices From - Guide Price - Offers Over - Offers in Region of - Fixed Price - Price On Application - Part Buy, Part Rent - null archived: type: boolean is_low_profile: type: boolean is_not_in_property_feed_api: type: boolean spectre_social_campaigns: type: boolean spectre_email_campaigns: type: boolean is_auction: type: boolean new_home: type: boolean retirement: type: boolean full_description: type: - string - 'null' short_description: type: - string - 'null' location_summary: type: - string - 'null' has_parking: type: - boolean - 'null' virtual_tour: type: - string - 'null' format: uri-reference price: type: integer example: 500000 status: type: string enum: - For Sale - Sold STC - Withdrawn - Under Offer marketing_status: type: string enum: - For Sale - Sold STC - Withdrawn - Under Offer created_at: type: string format: date-time updated_at: type: string format: date-time deleted_at: type: - string - 'null' format: date-time IncludedTenancy: title: Tenancy (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - tenancy attributes: $ref: '#/components/schemas/TenancyAttributes' IncludedHoldingDeposit: title: Holding Deposit (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - holdingDeposit attributes: $ref: '#/components/schemas/HoldingDepositAttributes' IncludedTenancyAgreement: title: Tenancy Agreement (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - tenancyAgreement attributes: $ref: '#/components/schemas/TenancyAgreementAttributes' IncludedTenants: title: Tenants (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - tenant attributes: oneOf: - $ref: '#/components/schemas/TenantAttributes' - $ref: '#/components/schemas/CompanyTenantAttributes' discriminator: propertyName: tenant_type x-tags: - Tenants IncludedUser: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - user attributes: $ref: '#/components/schemas/UserAttributes' title: User (included) IncludedValuation: title: Valuation (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - valuation attributes: $ref: '#/components/schemas/ValuationAttributes' IncludedFees: title: Fees (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - fee attributes: $ref: '#/components/schemas/FeeAttributes' IncludedViewing: title: Viewing (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - viewing attributes: $ref: '#/components/schemas/ViewingAttributes' IncludedSolicitor: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - solicitor attributes: allOf: - $ref: '#/components/schemas/SolicitorAttributes' IncludedSolicitorFirm: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - solicitorFirm attributes: allOf: - $ref: '#/components/schemas/SolicitorFirmAttributes' title: Solicitor Firm (included) IncludedApplicantSolicitorSale: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - applicant_solicitor_sale attributes: allOf: - $ref: '#/components/schemas/SaleAttributes' title: Solicitor Firm (included) IncludedOwnerSolicitorSale: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - owner_solicitor_sale attributes: allOf: - $ref: '#/components/schemas/SaleAttributes' title: Solicitor Firm (included) IncludedVendor: title: Vendor (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - vendor attributes: $ref: '#/components/schemas/VendorAttributes' relationships: type: object properties: people: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - person x-tags: - Vendors IncludedMeterReading: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - meter_reading attributes: type: object properties: meter_type: type: string enum: - add_gas_meter_readings - add_electric_meter_readings - add_water_meter_readings type: type: string deprecated: true description: 'Deprecated: use meter_type instead.' enum: - add_gas_meter_readings - add_electric_meter_readings - add_water_meter_readings reading: type: - string - 'null' reading_taken_at: type: - string - 'null' format: date-time title: MeterReading (Included) x-tags: - MeterReadings PropertyRelated: title: Property (related) type: object additionalProperties: false properties: property: type: object properties: data: type: object properties: type: type: string enum: - property id: type: string format: uuid LettingsApplicantRelated: title: Lettings Applicant (related) type: object additionalProperties: false properties: lettings_applicant: type: object properties: data: type: object properties: type: type: string enum: - lettingsApplicant id: type: string format: uuid LettingsApplicationRelated: title: Lettings Application (related) type: object properties: lettings_application: type: object properties: data: type: object properties: type: type: string enum: - lettingsApplication id: type: string format: uuid PersonRelated: title: Person (related) type: object properties: person: type: object properties: data: type: object properties: type: type: string enum: - person id: type: string format: uuid SalesApplicantRelated: title: Sales Applicant (related) type: object additionalProperties: false properties: sales_applicant: type: object properties: data: type: object properties: type: type: string enum: - salesApplicant id: type: string format: uuid SaleRelated: title: Sale (related) type: object additionalProperties: false properties: sale: type: object properties: data: type: object properties: type: type: string enum: - sale id: type: string format: uuid ValuationRelated: title: Valuation (related) type: object additionalProperties: false properties: valuation: type: object properties: data: type: object properties: type: type: string enum: - valuation id: type: string format: uuid InspectionRelated: title: Inspection (related) type: object properties: inspection: type: object properties: data: type: object properties: type: type: string enum: - inspection id: type: string format: uuid MaintenanceJobRelated: title: MaintenanceJob (related) type: object properties: maintenance: type: object properties: data: type: object properties: type: type: string enum: - maintenance id: type: string format: uuid CompanyRelated: title: Company (related) type: object properties: company: type: object properties: data: type: object properties: type: type: string enum: - company id: type: string format: uuid TenancyRelated: title: Tenancy (related) type: object properties: tenancy: type: object properties: data: type: object properties: type: type: string enum: - tenancy id: type: string format: uuid OwnerRelated: title: Owner (related) type: object properties: owner: type: object properties: data: type: object properties: type: type: string enum: - owner id: type: string format: uuid EnquiryRelated: title: Enquiry (related) type: object properties: enquiry: type: object properties: data: type: object properties: type: type: string enum: - enquiry id: type: string format: uuid SalesOfferRelated: title: Sales Offer (related) type: object properties: sales_offer: type: object properties: data: type: object properties: type: type: string enum: - salesOffer id: type: string format: uuid LettingsOfferRelated: title: Lettings Offer (related) type: object properties: lettings_offer: type: object properties: data: type: object properties: type: type: string enum: - lettingsOffer id: type: string format: uuid ViewingRelated: title: Viewing (related) type: object additionalProperties: false properties: viewing: type: object properties: data: type: object properties: type: type: string enum: - viewing id: type: string format: uuid TodoRelationship: title: Task relationships description: JSON:API relationships object for a Task. Each member is a relationship object whose `data` is a resource identifier (`type` + `id`). Supply at most one todoable subject the Task is about — keyed by the relationship name (e.g. `property`, `sale`); the key is a label and is not significant to the server, only its `data.type` and `data.id` are read. A `todoType` may be supplied to categorise the Task and, if present, MUST be keyed exactly `todoType`. At least one member is required. type: object minProperties: 1 properties: todoType: type: object required: - data properties: data: type: object required: - type - id properties: type: type: string enum: - todoType id: type: string format: uuid additionalProperties: type: object required: - data properties: data: type: object required: - type - id properties: type: type: string enum: - property - salesApplicant - lettingsApplicant - sale - salesOffer - lettingsOffer - valuation - viewing - maintenanceJob - inspection - tenancy - moveOut - lettingsApplication - arrears - person - owner - workflowInstance - compliance - safetyCertificate - insurancePolicy - enquiry - tenancyNotice id: type: string format: uuid PersonRequestBody: title: Person (request) type: object properties: title: type: - string - 'null' first_name: type: string last_name: type: string marketing_consent: type: boolean contact_preferences: type: object properties: email: type: boolean text: type: boolean post: type: boolean phone: type: boolean required: - first_name - last_name IncludedSafetyCertificate: title: Safety Certificate (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - safetyCertificate attributes: $ref: '#/components/schemas/SafetyCertificateAttributes' SafetyCertificateAttributes: title: SafetyCertificateAttributes type: object properties: media: type: object properties: document: type: string format: uri example: https://street.co.uk/certificates/safetyCertificate.pdf certificate_type: type: string enum: - alarm_service - asbestos_check - automated_gates - boiler_service - building_compliance - building_insurance - carbon_monoxide - chimney_sweep - damp_proofing - eic - electric - fire_detection - fire_door_assesment - fire_equipment - gas - health - heat_recovery_system - hmo_license - homecare_plan - landlord_registration - lead_water_testing - legion - lighting_safety - oil_safety_check - pat - remcon_service - rent_guarantee_insurance - rent_smart_wales_registered - risk - saniflow_service_and_descaler - selective_license - smoke_alarm - smoke_ventilation_system_service_aov - sump_pump_service - tree_management - tv_license - velux_window_service type: type: string deprecated: true description: 'Deprecated: use certificate_type instead.' enum: - alarm_service - asbestos_check - automated_gates - boiler_service - building_compliance - building_insurance - carbon_monoxide - chimney_sweep - damp_proofing - eic - electric - fire_detection - fire_door_assesment - fire_equipment - gas - health - heat_recovery_system - hmo_license - homecare_plan - landlord_registration - lead_water_testing - legion - lighting_safety - oil_safety_check - pat - remcon_service - rent_guarantee_insurance - rent_smart_wales_registered - risk - saniflow_service_and_descaler - selective_license - smoke_alarm - smoke_ventilation_system_service_aov - sump_pump_service - tree_management - tv_license - velux_window_service notes: type: - string - 'null' valid_from: type: - string - 'null' format: date-time valid_to: type: string format: date-time reminder_at: type: - string - 'null' format: date-time renewed_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time MoveOut: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - move_out attributes: $ref: '#/components/schemas/MoveOutAttributes' relationships: type: object properties: properties: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - property tenancies: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - tenancy meterReadings: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - meter_reading title: MoveOut MoveOutAttributes: type: object title: MoveOut Attributes properties: move_out_date: type: - string - 'null' format: date-time example: '2023-01-01T00:00:00Z' contract_end_date: type: - string - 'null' format: date-time example: '2023-02-01T00:00:00Z' cancellation_date: type: string format: date-time example: '2023-02-15T00:00:00Z' created_at: type: string format: date-time updated_at: type: string format: date-time completed_at: type: - string - 'null' format: date-time cancelled_at: type: - string - 'null' format: date-time cancellation_reason: type: - string - 'null' example: Customer cancellation EsignDocument: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - esign_document attributes: $ref: '#/components/schemas/EsignDocumentAttributes' relationships: type: object properties: recipients: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - esign_document_recipient title: EsignDocument EsignDocumentAttributes: type: object title: E-Sign Document Attributes properties: name: type: string example: Terms of Business sent_at: type: string format: date-time completed_at: type: - string - 'null' format: date-time cancelled_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time EsignDocumentRecipientAttributes: type: object title: E-Sign Document Recipient Attributes properties: email: type: string name: type: string sent_at: type: - string - 'null' format: date-time signed_at: type: - string - 'null' format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time IncludedEsignDocumentRecipient: allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - esign_document_recipient attributes: $ref: '#/components/schemas/EsignDocumentRecipientAttributes' title: Esign Document Recipient (included) PortalListing: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: type: type: string enum: - portal_listing attributes: $ref: '#/components/schemas/PortalListingAttributes' relationships: type: object properties: property: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: - object - 'null' portal: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: - object - 'null' salesListing: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: - object - 'null' lettingsListing: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: - object - 'null' title: Portal Listing PortalListingAttributes: type: object title: Portal Listing Attributes properties: remote_identifier: type: string description: External listing ID from the portal example: '12345' remote_url: type: string format: uri description: URL of the listing on the external portal example: https://portal.com/listing/12345 listing_type: type: string enum: - salesListing - lettingsListing description: Type of listing (sales or lettings) active: type: boolean description: Whether the portal listing is active created_at: type: string format: date-time updated_at: type: string format: date-time IncludedPortal: title: Portal (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - portal attributes: $ref: '#/components/schemas/PortalAttributes' PortalAttributes: type: object title: Portal Attributes properties: name: type: string description: Name of the portal example: Rightmove created_at: type: string format: date-time updated_at: type: string format: date-time IncludedQuestionnaire: title: Questionnaire (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - questionnaire attributes: $ref: '#/components/schemas/QuestionnaireAttributes' relationships: type: object properties: sections: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - questionnaire_section IncludedQuestionnaireSection: title: Questionnaire Section (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - questionnaire_section attributes: $ref: '#/components/schemas/QuestionnaireSectionAttributes' relationships: type: object properties: questions: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - questionnaire_question IncludedQuestionnaireQuestion: title: Questionnaire Question (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - questionnaire_question attributes: $ref: '#/components/schemas/QuestionnaireQuestionAttributes' relationships: type: object properties: options: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - questionnaire_question_option IncludedQuestionnaireQuestionOption: title: Questionnaire Question Option (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - questionnaire_question_option attributes: $ref: '#/components/schemas/QuestionnaireQuestionOptionAttributes' IncludedQuestionnaireAnswer: title: Questionnaire Answer (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - questionnaire_response_answer attributes: $ref: '#/components/schemas/QuestionnaireResponseAnswerAttributes' relationships: type: object properties: question: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - questionnaire_question values: allOf: - $ref: '#/components/schemas/RelationshipPlural' - type: object properties: data: type: array items: type: object properties: type: type: string enum: - questionnaire_response_answer_value IncludedQuestionnaireAnswerValue: title: Questionnaire Answer Value (included) allOf: - $ref: '#/components/schemas/IncludedResource' - type: object properties: type: type: string enum: - questionnaire_response_answer_value attributes: $ref: '#/components/schemas/QuestionnaireResponseAnswerValueAttributes' relationships: type: object properties: option: allOf: - $ref: '#/components/schemas/RelationshipSingular' - type: object properties: data: type: object properties: type: type: string enum: - questionnaire_question_option parameters: page_size: name: page[size] description: Set the number of results per page. in: query required: false schema: type: number minimum: 1 maximum: 250 example: 25 page_number: name: page[number] description: Set the page number. in: query required: false schema: type: number minimum: 1 example: 3 filter_tags: name: filter[tags] description: 'Tags are entered by the agent in the Street UI and enable you to filter properties according to custom criteria. This can be used to power featured properties, carousels, hot property lists etc. These tags should be passed to the API in lowercase and urlencoded. You can also enter a semi-colon seperated list to return all properties with any of those tags.' in: query required: false schema: type: string filter_postcode: name: filter[postcode] description: 'This filter will narrow your search results by first or partial postcode. A value of `M` will return all properties who''s postcode begins with M, including `M1 1JU` & `M28 2PD`. Entering in `M28 2` will return all active properties in that postcode sector.' in: query required: false schema: type: string filter_email_address: name: filter[email_address] in: query required: false schema: type: string format: email example: alice.walker@example.com description: Filter results by an associated email address filter_telephone_number: name: filter[telephone_number] in: query required: false schema: type: string description: Filter results by an associated telephone number. The number must be in full international dialing format e.g. +441614960137 filter_bedrooms: name: filter[bedrooms] description: The exact number of bedrooms for search results. in: query required: false schema: type: string filter_min_bedrooms: name: filter[min_bedrooms] description: Minimum number of bedrooms for search results. in: query required: false schema: type: string filter_min_price_sales: name: filter[min_price_sales] description: Minimum sales listing price for search results. in: query required: false schema: type: string filter_max_price_sales: name: filter[max_price_sales] description: Maximum sales listing price for search results. in: query required: false schema: type: string filter_min_price_lettings: name: filter[min_price_lettings] description: Minimum lettings listing price for search results. in: query required: false schema: type: string filter_max_price_lettings: name: filter[max_price_lettings] description: Maximum lettings listing price for search results. in: query required: false schema: type: string filter_property_status: name: filter[status] description: Filter by property status. You can use a comma separated list for multiple statuses. in: query required: false schema: type: array items: type: string enum: - not_on_the_market - valuation_lost - valuation_booked - valuation_pending - valuation_cancelled - valuation_completed - instructed - for_sale - under_offer - sold_stc - exchanged - let - to_let - let_agreed - for_sale_and_to_let - withdrawn_sales - withdrawn_lettings - withdrawn_sales_and_lettings - completed uniqueItems: true minItems: 1 explode: false style: form filter_branch: name: filter[branch] description: Filter by network branch. Provide the UUID of a branch to filter properties by a specific branch. in: query required: false schema: type: string format: uuid filter_created_from: name: filter[created_from] in: query required: false schema: type: string format: date-time description: Filter by results created after the provided date. filter_created_to: name: filter[created_to] in: query required: false schema: type: string format: date-time description: Filter by results created before the provided date. filter_updated_from: name: filter[updated_from] in: query required: false schema: type: string format: date-time description: Filter by results updated after the provided date. filter_updated_to: name: filter[updated_to] in: query required: false schema: type: string format: date-time description: Filter by results updated before the provided date. filter_booked_from: name: filter[booked_from] in: query required: false schema: type: string format: date-time description: Filter by results booked before the provided date. filter_booked_to: name: filter[booked_to] in: query required: false schema: type: string format: date-time description: Filter by results booked before the provided date. filter_person_status: name: filter[status] in: query required: false schema: type: string enum: - current - previous description: Filter by wether they are Current or Previous. filter_property: name: filter[property] in: query required: false schema: type: string format: uuid description: Filter by property. Provide the UUID of a property to filter follow ups by a specific property. filter_address: name: filter[address] in: query required: false schema: type: string description: Filter results by their address, this is a fuzzy wildcard match on the full address string. filter_trashed: name: filter[trashed] in: query required: false schema: type: string enum: - with - only description: Optionally return result WITH deleted results or return ONLY deleted results. filter_ident: name: filter[ident] in: query required: false schema: type: string description: Optionally return result for a chosen ident. filter_cancelled: name: filter[cancelled] in: query required: false schema: type: string enum: - with - only description: Optionally return result WITH cancelled results or return ONLY cancelled results. filter_applicant_price_from: name: filter[price_from] in: query required: false schema: type: integer description: Filter results by their minimum budget. filter_applicant_price_to: name: filter[price_to] in: query required: false schema: type: integer description: Filter results by their maximum budget. filter_applicant_furnished: name: filter[furnished] in: query required: false schema: type: boolean description: Filter results by wether or not the require furnished properties. filter_applicant_min_bedrooms: name: filter[min_bedrooms] in: query required: false schema: type: integer minimum: 1 maximum: 7 description: Filter results by the minimum number of bedrooms they require responses: '400': description: The HTTP 400 Bad Request response status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error. content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonApiMultiErrorResponseBody' '401': description: The HTTP 401 Unauthorized response status code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource. content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonApiErrorResponseBody' '403': description: The HTTP 403 Forbidden response status code indicates that the server understands the request but refuses to authorize it. content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonApiErrorResponseBody' '404': description: The HTTP 404 Not Found response status code indicates that the server cannot find the requested resource. content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonApiErrorResponseBody' '406': description: The HTTP 406 Not Acceptable client error response code indicates that the server cannot produce a response matching the list of acceptable values defined in the request's proactive content negotiation headers, and that the server is unwilling to supply a default representation. content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonApiErrorResponseBody' '409': description: The HTTP 409 Conflict response status code indicates a request conflict with the current state of the target resource. content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonApiErrorResponseBody' '415': description: The HTTP 415 Unsupported Media Type client error response code indicates that the server refuses to accept the request because the payload format is in an unsupported format. content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonApiErrorResponseBody' '422': description: The 422 Unprocessable Content response status code indicates that the server understands the content type of the request entity, and the syntax of the request entity is correct, but it was unable to process the contained instructions. content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonApiMultiErrorResponseBody' '500': description: The HTTP 500 Internal Server Error server error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonApiMultiErrorResponseBody' securitySchemes: your-api-token: type: http scheme: bearer requestBodies: {} security: - your-api-token: [] tags: - name: Activity description: Activity endpoints for this API. - name: Applicants description: Applicants endpoints for this API. - name: Areas description: Area endpoints for this API. - name: Branches description: Branches endpoints for this API. - name: Brands description: Brands endpoints for this API. - name: Companies description: Companies endpoints for this API. - name: Documents description: Documents endpoints for this API. - name: E-Sign Documents description: E-Sign Documents endpoints for this API. - name: Enquiries description: Enquiries endpoints for this API. - name: Follow Ups description: Follow Ups endpoints for this API. - name: Images description: Image endpoints for this API. - name: Inspections description: Inspections endpoints for this API. - name: Interested Applicants description: Interested Applicants endpoints for this API. - name: Invoices description: Invoices endpoints for this API. - name: Landlords description: Landlords endpoints for this API. - name: Lettings Applications description: Lettings Application endpoints for this API. - name: Lettings Instructions description: Lettings Instruction endpoints for this API. - name: Lettings Offers description: Lettings Offers endpoints for this API. - name: Maintenance Jobs description: Maintenance Jobs endpoints for this API. - name: Maintenance Requests description: Maintenance Request endpoints for this API. - name: Move Outs description: Move Outs endpoints for this API. - name: Network Settings description: Network Settings endpoints for this API. - name: Notes description: Notes endpoints for this API. - name: People description: People endpoints for this API. - name: Photos and Measures description: Photo and Measure endpoints for this API. - name: Portal Listings description: Portal Listings endpoints for this API. - name: Properties description: Properties endpoints for this API. - name: Property Keys description: Property Key endpoints for this API. - name: Questionnaire Responses description: Questionnaire Response endpoints for this API. - name: Sales description: Sales endpoints for this API. - name: Sales Instructions description: Sales Instructions endpoints for this API. - name: Sales Offers description: Sales Offers endpoints for this API. - name: Solicitors description: Solicitors endpoints for this API. - name: Tenancies description: Tenancies endpoints for this API. - name: Tenants description: Tenants endpoints for this API. - name: Task Types description: Task Types endpoints for this API. - name: Tasks description: Tasks endpoints for this API. - name: Users description: Users endpoints for this API. - name: Valuations description: Valuations endpoints for this API. - name: Vendors description: Vendors endpoints for this API. - name: Viewings description: Viewings endpoints for this API. x-ext-urls: {}