openapi: 3.2.0 info: version: '2.0' title: Fixflo Tenant 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: Tenant paths: /Tenant: parameters: [] get: summary: Tenant tags: - Tenant responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Tenant' operationId: get-tenant description: Get tenant parameters: - schema: type: string in: query name: Id description: Tenant id - schema: type: string in: query name: EmailAddress description: Email address - schema: type: string in: query name: ExternalRef description: External reference post: description: Save tenant summary: Tenant tags: - Tenant operationId: post-Tenant responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/Envelope' - type: object properties: Entity: $ref: '#/components/schemas/Tenant' requestBody: content: application/json: schema: $ref: '#/components/schemas/Tenant' /Tenant/{id}/Brand: parameters: - schema: type: string name: id in: path required: true post: summary: Tenant / brand description: Updates the tenants brand tags: - Tenant responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Brand' operationId: post-tenant-id-brand requestBody: content: application/json: schema: $ref: '#/components/schemas/Brand' /Tenants: parameters: [] get: summary: Tenants tags: - Tenant responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/PrevNextPager' - type: object properties: Items: type: array items: $ref: '#/components/schemas/Tenant' operationId: get-tenants parameters: - schema: type: string in: query name: Keyword - schema: type: integer in: query name: pg - schema: type: string format: date-time in: query name: UpdatedSince description: Get tenants /Tenant/{Id}/Properties: parameters: - schema: type: string name: Id in: path required: true get: summary: '' operationId: get-Tenant-Id-Properties responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/PrevNextPager' - type: object x-stoplight: id: 4uaqg21mi5sa0 properties: ? '' : type: array x-stoplight: id: 5wx5pxdbp0t40 items: $ref: '#/components/schemas/TenantProperty' x-stoplight: id: 013ytctgmye3f requestBody: content: {} x-internal: false tags: - Tenant /Tenant/{Id}/Property/{PropertyId}: parameters: - schema: type: string name: Id in: path required: true - schema: type: string name: PropertyId in: path required: true delete: summary: '' operationId: delete-Tenant-Id-Property-PropertId responses: '200': description: OK x-stoplight: id: pvbmj0fm6739x x-internal: false tags: - Tenant get: summary: '' operationId: get-Tenant-Id-Property-PropertyId responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Property' application/xml: schema: $ref: '#/components/schemas/TenantProperty' x-stoplight: id: b6qjc4q6az6e7 requestBody: content: {} description: '' x-internal: false tags: - Tenant /Tenant/{Id}/Property: parameters: - schema: type: string name: Id in: path required: true post: summary: Post Tenant Id Property operationId: post-Tenant-Id-Property responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/Envelope' - $ref: '#/components/schemas/TenantProperty' x-stoplight: id: l2v938c03vkz3 requestBody: content: application/json: schema: $ref: '#/components/schemas/TenantProperty' x-internal: false tags: - Tenant description: Post property parameters: - schema: type: string in: query name: tenantId /Tenant/{Id}/Anonymise: parameters: - schema: type: string name: Id in: path description: tenant id required: true post: summary: Post Tenant Id Anonymise operationId: post-Tenant-Id-Anonymise responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/Envelope' requestBody: content: application/json: schema: type: object properties: tenantId: type: string x-examples: Example 1: tenantId: string x-internal: false tags: - Tenant description: Deletes tenant parameters: - schema: type: string in: query name: tenantId x-stoplight: id: 1n2uib9cqxz2k components: schemas: 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 ' 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) ' Team: title: Team type: object properties: id: type: string Name: type: string IsDeleted: type: boolean 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 TenantProperty: title: TenantProperty x-stoplight: id: 53cqgaqd1nqg1 type: object x-internal: false properties: Id: type: string x-stoplight: id: cl21qbvn4ywvu readOnly: true PropertyId: type: string x-stoplight: id: uehjrsycydknu PropertyExternalRef: type: string x-stoplight: id: yyv415xazwak7 LinkType: x-stoplight: id: uixk0g7wn5tyk enum: - Tenant - TenantCorrespondence 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 Brand: title: Brand type: object properties: Id: type: string format: uuid description: Unique GUID of brand. Name: type: string description: Brand name securitySchemes: Bearer: type: http scheme: bearer description: '' x-internal: false