Fixflo Property API

The Property API from Fixflo — 15 operation(s) for property.

Operations 19

GET /Property/{Id}/Addresses Property / addresses #
GET /Property Property #
POST /Property Property / save #
GET /Property/{Id}/Issues Property / issues #
GET /Property/Issues Property / issues #
GET /Property/{Id}/Tags Property / tags #
POST /Property/{Id}/Tags Property / tags #
GET /Property/{Id}/Notes Property / notes #
POST /Property/{Id}/Notes Property / notes #
DELETE /Property/{Id}/Notes Property / notes #
GET /Property/{Id}/Tenants Property / tenants #
GET /Property/{PropertyId}/LandlordProperties Property / landlord properties #
GET /PropertyAddress/{Id} Property address #
POST /PropertyAddress/Merge Property address / merge #
POST /PropertyAddress/Split Property address / split #
POST /Property/UpdateAddress Property / update address #
POST /Property/{propertyId}/ServiceProgramme/{serviceProgrammeId}/ServiceEvent Create Service Event #

Documentation

Specifications

SDKs

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fixflo-property-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fixflo-property-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '2.0'
  title: Fixflo Property API
  description: Fixflo api docs
  termsOfService: https://fixflostore.blob.core.windows.net/live-assets/SystemApplicationDeveloperAndAPILicenseAgreement.pdf
  contact:
    email: support@fixflo.com
    name: Support
  license:
    url: https://fixflostore.blob.core.windows.net/live-assets/SystemApplicationDeveloperAndAPILicenseAgreement.pdf
    name: Fixflo API licence agreement
servers:
- url: https://api-sandbox.fixflo.com/api/v2
  description: live sandbox
- url: https://plus.dev.fixflo.com/api/v2
  description: dev
security:
- Bearer: []
tags:
- name: Property
paths:
  /Property/{Id}/Addresses:
    parameters:
    - schema:
        type: string
      name: Id
      in: path
      required: true
    get:
      description: Get property addresses
      summary: Property / addresses
      tags:
      - Property
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PrevNextPager'
                - type: object
                  properties:
                    Items:
                      type: array
                      items:
                        $ref: '#/components/schemas/PropertyAddress'
      operationId: get-property-id-addresses
      parameters:
      - schema:
          type: integer
        in: query
        name: pg
  /Property:
    parameters: []
    get:
      summary: Property
      tags:
      - Property
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Property'
      operationId: get-property
      parameters:
      - schema:
          type: string
        in: query
        name: Id
        description: Unique Fixflo id of property
      - schema:
          type: string
        in: query
        name: ExternalPropertyRef
        description: External property ref
      description: Either Id or ExternalPropertyRef must be supplied. (A property is synonymous with a unit)
    post:
      summary: Property / save
      tags:
      - Property
      operationId: post-property
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Envelope'
                - type: object
                  properties:
                    Entity:
                      $ref: '#/components/schemas/Property'
      description: 'Update or create a property.


        If the PropertyId has a value > 0 and the property entity exists the property will be updated. If the ExternalPropertyRef value is set this value must be unique for the given agency. If the PropertyId has a value = 0 an attempt to create a new property will be made. If the property address already exists a new property will NOT be created and the existing property with the matching address will be returned. This endpoint does not update the address of an existing property. If you wish to update the address on a property please use [UpdatePropertyAddress](#endpoints-update-property-address'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Property'
  /Property/{Id}/Issues:
    parameters:
    - schema:
        type: string
      name: Id
      in: path
      required: true
      description: Property id
    get:
      summary: Property / issues
      tags:
      - Property
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PrevNextPager'
                - type: object
                  properties:
                    Items:
                      type: array
                      items:
                        $ref: '#/components/schemas/IssueSummary'
      operationId: get-property-Id-issues
      description: Get property issues
      parameters:
      - schema:
          type: integer
        in: query
        name: pg
        description: The page number to return
      - schema:
          type: string
        in: query
        name: TenantId
        description: Used to filter the issues to only those raised by the tenant matching the provided Id
      - schema:
          type: string
        in: query
        name: TenantEmail
        description: Used to filter the issues to only those raised by the tenant matching the provided email
  /Property/Issues:
    parameters: []
    get:
      summary: Property / issues
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PrevNextPager'
                - type: object
                  properties:
                    Items:
                      type: array
                      items:
                        $ref: '#/components/schemas/IssueSummary'
      operationId: get-property-Issues?externalPropertyRef=-ExternalPropertyRef
      description: Get issues at a property by external property ref
      parameters:
      - schema:
          type: string
        in: query
        name: ExternalPropertyRef
        required: true
      - schema:
          type: integer
        in: query
        name: TenantId
        description: Used to filter the issues to only those raised by the tenant matching the provided Id
      - schema:
          type: string
        in: query
        name: TenantEmail
        description: Used to filter the issues to only those raised by the tenant matching the provided email
      - schema:
          type: string
        in: query
        name: pg
        description: The page number to return
      tags:
      - Property
  /Property/{Id}/Tags:
    parameters:
    - schema:
        type: string
      name: Id
      in: path
      required: true
      description: Id of the Property
    get:
      summary: Property / tags
      tags:
      - Property
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tag'
      operationId: get-Property-Id-Tags
      description: Returns tags associated with given property id
    post:
      summary: Property / tags
      tags:
      - Property
      operationId: post-property-Id-Tags
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Envelope'
                - type: object
                  properties:
                    Entity:
                      $ref: '#/components/schemas/Tag'
      description: Will replace all tags at the given property with the new given tags
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
  /Property/{Id}/Notes:
    parameters:
    - schema:
        type: string
      name: Id
      in: path
      required: true
    get:
      summary: Property / notes
      tags:
      - Property
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  Example 1:
                    NoteContent: Sample Notes
                    HtmlBtnId: btn-entitynote-Property-82875
                    EntityNoteGuid: 0fda9566-f810-42df-be87-68df735511a1
                    EntityId: '82875'
                    AgencyId: AG84322
                    EntityNoteType: 5
                    HasEntityNote: true
                properties:
                  NoteContent:
                    type: string
                  HtmlBtnId:
                    type: string
                  EntityNoteGuid:
                    type: string
                  EntityId:
                    type: string
                  AgencyId:
                    type: string
                  EntityNoteType:
                    type: integer
                  HasEntityNote:
                    type: boolean
              examples:
                example-1:
                  value:
                    NoteContent: string
                    HtmlBtnId: string
                    EntityNoteGuid: string
                    EntityId: string
                    AgencyId: string
                    EntityNoteType: 0
                    HasEntityNote: true
        '404':
          description: Property not found
          content:
            application/json:
              schema:
                type: string
      operationId: get-Property-Id-Notes
      description: Returns notes associated with given property id
    post:
      summary: Property / notes
      tags:
      - Property
      operationId: post-property-Id-Notes
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  Example 1:
                    NoteContent: Sample notes
                    HtmlBtnId: btn-entitynote-Property-82875
                    EntityNoteGuid: 5fd4196a-b0ba-4825-b9fd-977055b9b2c5
                    EntityId: '82875'
                    AgencyId: AG84322
                    EntityNoteType: 5
                    HasEntityNote: true
                properties:
                  NoteContent:
                    type: string
                  HtmlBtnId:
                    type: string
                  EntityNoteGuid:
                    type: string
                  EntityId:
                    type: string
                  AgencyId:
                    type: string
                  EntityNoteType:
                    type: integer
                  HasEntityNote:
                    type: boolean
        '404':
          description: Property not found
          content:
            application/json:
              schema:
                type: string
        '409':
          description: Property already has notes so will not be overwritten
          content:
            application/json:
              schema:
                type: string
      description: Will add notes to the property associated with given property id
      requestBody:
        content:
          application/json:
            schema:
              type: string
        description: Notes to be added
    delete:
      summary: Property / notes
      operationId: delete-Property-PropertyId-Notes
      responses:
        '200':
          description: OK
        '404':
          description: Property not found
          content:
            application/json:
              schema:
                type: string
      description: Will delete notes associated with given property id
      tags:
      - Property
  /Property/{Id}/Tenants:
    parameters:
    - schema:
        type: string
      name: Id
      in: path
      required: true
    get:
      summary: Property / tenants
      tags:
      - Property
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Tenant'
      operationId: get-property-id-tenants
      description: Get property tenants
  /Property/{PropertyId}/LandlordProperties:
    parameters:
    - schema:
        type: string
      name: PropertyId
      in: path
      required: true
    get:
      summary: Property / landlord properties
      tags:
      - Property
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PrevNextPager'
                - type: object
                  properties:
                    Items:
                      type: array
                      items:
                        $ref: '#/components/schemas/LandlordProperty'
      operationId: get-property-propertyId-landlordproperties
      description: Get landlords properties
      parameters:
      - schema:
          type: integer
        in: query
        name: pg
  /PropertyAddress/{Id}:
    parameters:
    - schema:
        type: string
      name: Id
      in: path
      required: true
    get:
      summary: Property address
      tags:
      - Property
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PropertyAddress'
      operationId: get-propertyaddress-Id
      description: Get property address
  /PropertyAddress/Merge:
    post:
      summary: Property address / merge
      tags:
      - Property
      operationId: post-propertyaddress-merge
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Envelope'
                - type: object
                  properties:
                    Entity:
                      $ref: '#/components/schemas/PropertyAddress'
      description: Merge a property address into a property. In other words an existing property address is added to an existing property.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PropertyAddress'
  /PropertyAddress/Split:
    post:
      summary: Property address / split
      tags:
      - Property
      operationId: post-propertyaddress-split
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Envelope'
                - type: object
                  properties:
                    Entity:
                      $ref: '#/components/schemas/PropertyAddress'
            application/xml:
              schema:
                type: object
                properties: {}
      description: 'Splits out an existing property address from a property.

        '
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PropertyAddress'
        description: PropertyAddress propreties however only PropertyAddressId is used
  /PropertyAddress/Search:
    parameters: []
    get:
      summary: Property address / search
      tags:
      - Property
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PrevNextPager'
                - type: object
                  properties:
                    Items:
                      type: array
                      items:
                        $ref: '#/components/schemas/PropertyAddress'
      operationId: get-propertyaddress-search
      description: Search property addresses
      parameters:
      - schema:
          type: string
        in: query
        name: Keyword
      - schema:
          type: string
        in: query
        name: ExternalPropertyRef
      - schema:
          type: string
        in: query
        name: KeyReference
        description: Key reference
      - schema:
          type: string
        in: query
        name: HasExternalPropertyRef
      - schema:
          type: string
          format: date-time
        in: query
        name: UpdatedSince
        description: "\tFilters on items that have been updated since this date time. (UTC date/time)"
  /Property/UpdateAddress:
    post:
      summary: Property / update address
      tags:
      - Property
      operationId: post-Property-UpdateAddress
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Envelope'
                - type: object
                  properties:
                    Entity:
                      $ref: '#/components/schemas/Property'
      description: 'Updates the primary address of a property. This call takes the Id or ExternalPropertyRef of an existing property and sets the primary address of the property to the new data. The previous address will be maintained as an alt address.


        As a process this call creates a new property with the new address, merges the new property to the existing property then sets the new address to be the primary address.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Property'
  /Property/Search:
    parameters: []
    get:
      description: Search for properties
      summary: Property / search
      tags:
      - Property
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PrevNextPager'
                - type: object
                  properties:
                    Items:
                      type: array
                      items:
                        $ref: '#/components/schemas/Property'
      operationId: get-Property-Search
      parameters:
      - schema:
          type: string
        in: query
        name: Keyword
      - schema:
          type: string
        in: query
        name: ExternalPropertyRef
      - schema:
          type: boolean
        in: query
        name: HasExternalPropertyRef
      - schema:
          type: string
        in: query
        name: KeyReference
      - schema:
          type: string
        in: query
        name: IncludeAlternates
      - schema:
          type: string
        in: query
        name: IsDeleted
      - schema:
          type: integer
        in: query
        name: pg
        description: page number
      - schema:
          type: integer
        in: query
        name: pgsz
        description: page size
      - schema:
          type: integer
        in: query
        name: BlockId
  /Property/{propertyId}/ServiceProgramme/{serviceProgrammeId}/ServiceEvent:
    parameters:
    - schema:
        type: string
      name: propertyId
      in: path
      required: true
    - schema:
        type: string
      name: serviceProgrammeId
      in: path
      required: true
    post:
      summary: 'Create Service Event '
      tags:
      - Property
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceEvent'
      operationId: post-Property-propertyId-ServiceProgramme-serviceProgrammeId-ServiceEvent
      x-stoplight:
        id: s5ocd5sy0d2ru
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceEvent'
      parameters:
      - schema:
          type: string
        in: query
        name: serviceProgrammeId
components:
  schemas:
    Tag:
      title: Tag
      type: object
      properties:
        Name:
          type: string
      x-examples:
        example-1:
          Name: Tag1
    ServiceEvent:
      title: ServiceEvent
      type: object
      properties:
        Id:
          type: string
        Reference:
          type: string
        BlockId:
          type: integer
        ExternalBlockRef:
          type: string
        PropertyAddressId:
          type: integer
        PropertyId:
          type: integer
        ExternalPropertyRef:
          type: string
        ServiceProgrammeDef:
          $ref: '#/components/schemas/ServiceProgrammeDef'
        ServiceProgrammeId:
          type: string
        UpdateDate:
          type: string
          format: date-time
        Status:
          type: integer
          enum:
          - 1
          - 2
          - 4
          - 8
          - 16
          - 32
          - 64
          - 128
          description: "Pending = 1,\nInProgress = 2, \nAwaitingReview = 4,\nRemedialsRaised = 8,\nComplete = 16, \nCompletedRemedialsRaised = 32,\nAwaitingApproval = 64,\nInstructionRequested = 128"
        InstructionDateOffsetPeriod:
          type: integer
        InstructionDateOffsetType:
          type: integer
          enum:
          - 0
          - 1
          - 2
          description: 0 = Days, 1 = Weeks, 2 = Months
        DueDate:
          type: string
          format: date-time
        InstructionDate:
          type: string
          format: date-time
        InstructionNotes:
          type: string
        RequiresReview:
          type: boolean
        Contractor:
          $ref: '#/components/schemas/Contractor'
        AssignedAgent:
          $ref: '#/components/schemas/AssignedAgent'
        Reviewer:
          $ref: '#/components/schemas/AssignedAgent'
        Reviewed:
          type: string
          format: date-time
        Completed:
          type: string
          format: date-time
    Property:
      title: Property
      type: object
      properties:
        id:
          type: number
          description: 'Unique id of property

            '
        BlockId:
          type: number
          description: 'Unique id of the block that the property is in. Can be 0 signifying no block.

            '
        ExternalPropertyRef:
          type: string
          description: 'The ExternalPropertyRef is used for referencing the property in systems external to Fixflo. If set, this field value MUST be unique for the relevant agency.

            '
        PropertyAddressId:
          type: string
          description: 'The property address id of the canonical address of this property

            '
        Address:
          $ref: '#/components/schemas/Address'
        UpdateDate:
          format: date-time
          type: string
          description: 'Updated date/time (UTC)

            '
        KeyReference:
          type: string
          description: 'A free-text field referencing the physical keys of the related property

            '
        IsNotManaged:
          type: boolean
        IsDeleted:
          type: boolean
          description: 'Read/writable - archives the property

            '
        ArchiveStatus:
          type: string
          enum:
          - Active
          - Deactivated
          - Offboarding
          readOnly: true
        AssignedAgent:
          $ref: '#/components/schemas/AssignedAgent'
        AssignedTeam:
          $ref: '#/components/schemas/Team'
        PropertyManager:
          $ref: '#/components/schemas/AssignedAgent'
        Warranties:
          type: array
          items:
            $ref: '#/components/schemas/Warranty'
    Tenant:
      title: Tenant
      type: object
      properties:
        id:
          type: string
        ExternalRef:
          type: string
          description: 'This field is designed to be used to reference the tenant in other system. If set this value must be unique for tenants

            '
        ExternalPropertyRef:
          type: string
          description: 'This field is designed to be used to reference the tenants property using the external property ref

            '
        Title:
          type: string
          description: 'Title of the tenant (eg Mr, Mrs, etc)

            '
        FirstName:
          type: string
        Surname:
          type: string
        CompanyName:
          type: string
        Address:
          $ref: '#/components/schemas/Address'
        EmailAddress:
          type: string
          description: 'EmailAddress is also used as a login. This value must be unique for tenants.

            '
        ContactNumber:
          type: string
        ContactNumberAlt:
          type: string
        DisplayName:
          type: string
        IsDeleted:
          type: boolean
        Brand:
          $ref: '#/components/schemas/Brand'
        UpdateDate:
          format: date-time
          type: string
          description: 'Updated date/time (UTC)

            '
    Envelope:
      title: Envelope
      type: object
      description: This object is used to carry/return responses following post operations.
      properties:
        HttpStatusCode:
          type: integer
        HttpStatusCodeDesc:
          type: string
        Errors:
          type: array
          items:
            type: string
        Messages:
          type: array
          items:
            type: string
    LandlordProperty:
      title: LandlordProperty
      type: object
      properties:
        Id:
          type: integer
          description: 'Unique id of landlord property record

            '
        LandlordId:
          type: string
          description: 'The LandlordId of the property

            '
        PropertyId:
          type: integer
          description: 'The PropertyId of the property

            '
        DateFrom:
          format: date-time
          type: string
          description: IGNORED
        DateTo:
          format: date-time
          type: string
          description: IGNORED
        IsPrimaryLandlord:
          type: boolean
          description: IGNORED
        Address:
          $ref: '#/components/schemas/Address'
    InvoiceDetails:
      title: InvoiceDetails
      type: object
      description: This object is for use by contractor networks for submitting invoice details
      properties:
        InvoiceDate:
          format: date-time
          type: string
          description: The invoice date is expressed as a date.
        DueDate:
          format: date-time
          type: string
          description: The due date is expressed as a date.
        InvoiceNumber:
          type: string
        LineItems:
          type: array
          items:
            $ref: '#/components/schemas/LineItem'
    ServiceProgrammeDef:
      title: ServiceProgrammeDef
      type: object
      properties:
        id:
          type: string
          readOnly: true
        EventType:
          type: string
          readOnly: true
        Class:
          type: string
          readOnly: true
        Category:
          type: string
          readOnly: true
        Description:
          type: string
          readOnly: true
        IsStatutory:
          type: boolean
          readOnly: true
        CostCode:
          type: string
          readOnly: true
        InstructionNotes:
          type: string
          readOnly: true
        InstructionDateOffsetPeriod:
          type: integer
          description: '0 = days, 1 = weeks, 2 = months

            '
          enum:
          - 0
          - 1
          - 2
          readOnly: true
        InstructionDateOffsetType:
          type: integer
          readOnly: true
        ServiceFrequency:
          type: integer
          readOnly: true
        ServiceFrequencyType:
          type: integer
          readOnly: true
          description: '0 = months, 1 = years, 2 = weeks

            '
          enum:
          - 0
          - 1
          - 2
        IsDisabled:
          type: boolean
          readOnly: true
        IsPropertyDefinition:
          type: boolean
          readOnly: true
          description: 'not used for posts.

            '
    IssueSummary:
      title: IssueSummary
      type: object
      description: This DTO (data transfer object) provides summary information of issues.
      properties:
        id:
          type: string
          description: 'Unique Id of issue

            '
        IssueId:
          type: string
          description: 'Exists for backward compatibility. Expect this field to deprecated in v3

            '
        StatusId:
          description: 'Integer value of the issue status

            '
          type: number
        Status:
          type: string
          description: 'String value of the issue status

            '
        StatusChanged:
          type: string
          format: date-time
          description: StatusChanged date/time (UTC).
        Created:
          type: string
          format: date-time
          description: Created date/time (UTC).
        IssueTitle:
          type: string
          description: 'The title of the issue

            '
        Address:
          $ref: '#/components/schemas/Address'
    AssignedAgent:
      title: AssignedAgent
      type: object
      properties:
        Id:
          type: integer
          format: int64
        ExternalRef:
          type: string
        EmailAddress:
          type: string
        DisplayName:
          type: string
        ContactNo:
          type: string
        IsDeleted:
          type: boolean
        Brand:
          $ref: '#/components/schemas/Brand'
        UpdateDate:
          type: string
          format: date-time
          description: Updated date/time (UTC).
    PrevNextPager:
      type: object
      properties:
        TotalItems:
          type: integer
          x-stoplight:
            id: qbm018n4fbivf
          description: The total number of items
        TotalPages:
          type: integer
          x-stoplight:
            id: 8d0f4tjvn3d91
          description: 'The total number of pages

            '
        Items:
          x-stoplight:
            id: x8n82kadpvt9w
          type: array
          items:
            x-stoplight:
              id: yp4jiel1kmn2j
            type: object
        NextURL:
          type: string
          x-stoplight:
            id: tcm929q75tirz
          description: The URL of the next page of results
        PreviousURL:
          type: string
          x-stoplight:
            id: 3hruq0fcrc5sz
          description: 'The URL of the previous page of results

            '
    LineItem:
      title: LineItem
      type: object
      description: 'This is an object in use only for contractor networks for providing invoice details

        '
      properties:
        LineType:
          type: integer
          description: 0 = labour, 1 = materials, 2 = other. This is reflected in an enum in the nuget package
          enum:
          - 0
          - 1
          - 2
        Description:
          type: string
        Quantity:
          type: number
        UnitPrice:
          type: number
        Net:
          type: number
        Tax:
          type: number
        Total:
          type: number
    Team:
      title: Team
      type: object
      properties:
        id:
          type: string
        Name:
          type: string
        IsDeleted:
          type: boolean
    Warranty:
      title: Warranty
      type: object
      properties:
        id:
          type: string
        StartDate:
          format: date-time
          type: string
          description: 'The warranty start date

            '
        EndDate:
          format: date-time
          type: string
          description: 'The warranty end date

            '
        ExternalContractorRef:
          type: string
          description: 'The external reference for the contractor assigned to the warranty

            '
        AssignedContractorCaption:
          type: string
          description: 'A name caption for the contractor assigned to the warranty

            '
        PropertyExternalRef:
          type: string
          description: 'The external reference for the property which the warranty applies to

            '
        BlockExternalRef:
          type: string
          description: 'The external reference for the block which the warranty applies to

            '
    Address:
      title: Address
      type: object
      properties:
        AddressLine1:
          type: string
        AddressLine2:
          type: string
        Town:
          type: string
        County:
          type: string
        PostCode:
          type: string
        Country:
          type: string
          description: If set this should be a two letter ISO code. If the information supplied does not match an ISO code it will default to blank
    ContractorCertification:
      title: ContractorCertification
      type: object
      description: ''
      properties:
        id:
          type: number
          description: Thi

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fixflo/refs/heads/main/openapi/fixflo-property-api-openapi.yml