Fixflo Service Programme API

The Service Programme API from Fixflo — 4 operation(s) for service programme.

Operations 4

GET /ServiceProgramme/{Id} Service programme by Id #
GET /ServiceProgrammes Service programmes by Agency #
GET /Property/{propertyId}/ServiceProgrammes Service programmes by Property #
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-service-programme-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-service-programme-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '2.0'
  title: Fixflo Service Programme 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: Service Programme
paths:
  /ServiceProgramme/{Id}:
    parameters:
    - schema:
        type: string
      name: Id
      in: path
      required: true
    get:
      summary: Service programme by Id
      tags:
      - Service Programme
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceProgramme'
      operationId: get-serviceprogramme
      parameters:
      - schema:
          type: string
        in: query
        name: Id
      description: Get service programme
  /ServiceProgrammes:
    parameters: []
    get:
      summary: Service programmes by Agency
      tags:
      - Service Programme
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PrevNextPager'
                - type: object
                  properties:
                    Items:
                      type: array
                      items:
                        $ref: '#/components/schemas/ServiceProgramme'
      operationId: get-serviceprogrammes
      parameters:
      - schema:
          type: integer
        in: query
        name: propertyId
      - schema:
          type: integer
        in: query
        name: blockId
      - schema:
          type: string
        in: query
        name: serviceProgrammeDefId
      - schema:
          type: boolean
        in: query
        name: isStatutory
      - schema:
          type: integer
        in: query
        name: pg
      - schema:
          type: string
        in: query
        name: externalPropertyRef
      - schema:
          type: integer
        in: query
        name: complianceState
      - schema:
          type: string
        in: query
        name: externalBlockRef
      description: Get agency service programmes
      x-internal: false
  /Property/{propertyId}/ServiceProgrammes:
    parameters:
    - schema:
        type: string
      name: propertyId
      in: path
      required: true
    get:
      summary: Service programmes by Property
      tags:
      - Service Programme
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PrevNextPager'
                - type: object
                  properties:
                    Items:
                      type: array
                      items:
                        $ref: '#/components/schemas/ServiceProgramme'
      operationId: get-serviceprogrammes-by-property
      parameters:
      - schema:
          type: string
        in: query
        name: serviceProgrammeDefId
      - schema:
          type: boolean
        in: query
        name: isStatutory
      - schema:
          type: integer
        in: query
        name: pg
      - schema:
          type: integer
        in: query
        name: complianceState
      description: Get property service programmes
      x-internal: false
      x-stoplight:
        id: jlom6mtaai4s6
  /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:
      - Service Programme
      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:
    ServiceProgramme:
      title: ServiceProgramme
      type: object
      properties:
        Id:
          type: string
        BlockId:
          type: integer
        ExternalBlockRef:
          type: string
        PropertyAddressId:
          type: integer
        PropertyId:
          type: integer
        ExternalPropertyRef:
          type: string
        ServiceProgrammeDef:
          $ref: '#/components/schemas/ServiceProgrammeDef'
        UpdateDate:
          type: string
        ProgrammeName:
          type: string
        ServiceFrequency:
          type: integer
        ServiceFrequencyType:
          type: integer
          enum:
          - 0
          - 1
          - 2
          description: '0 = Months, 1 = Years, 2 = Weeks '
        IsCompliant:
          type: boolean
        IsStatutory:
          type: boolean
        MostRecentServiceEvent:
          $ref: '#/components/schemas/ServiceEvent'
        MostRecentCompliantServiceEvent:
          $ref: '#/components/schemas/ServiceEvent'
    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.

            '
    ContractorService:
      title: ContractorService
      type: object
      properties:
        id:
          type: integer
          description: Unique id of service. When updating a contractor to have new services this is the only field that is required
        Name:
          type: string
          description: 'This is the standard name of the service. This is what is shown within the Fixflo system

            '
        NameAndSynonyms:
          type: array
          description: This is a list of other terms the service may be referred as, to help with mapping.
          items:
            type: string
    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
    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

            '
    Contractor:
      title: Contractor
      type: object
      properties:
        Id:
          type: string
          description: Unique id of contractor
        ExternalRef:
          type: string
          description: 'This field is designed to be used to reference the contractor in other systems. If set this value must be unique for contractors

            '
        CompanyName:
          type: string
          description: 'Optional company name.

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

            '
        FirstName:
          type: string
        Surname:
          type: string
        DisplayName:
          type: string
          description: 'This value is used for addressing the contractor. For example Dear [DisplayName]

            '
        EmailAddress:
          type: string
          description: 'EmailAddress is also used as a login. This value must be unique for contractors.

            '
        ContactNumber:
          type: string
        ContactNumberAlt:
          type: string
        IsDeleted:
          type: boolean
        Address:
          $ref: '#/components/schemas/Address'
        InvoiceDetails:
          $ref: '#/components/schemas/InvoiceDetails'
        Services:
          type: array
          items:
            $ref: '#/components/schemas/ContractorService'
        Certifications:
          type: array
          items:
            $ref: '#/components/schemas/ContractorCertification'
        Brand:
          $ref: '#/components/schemas/Brand'
        UpdateDate:
          format: date-time
          type: string
          description: Updated date/time (UTC).
    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
    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'
    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
    ContractorCertification:
      title: ContractorCertification
      type: object
      description: ''
      properties:
        id:
          type: number
          description: This is a legacy field, 0 will be returned in all cases
        Name:
          type: string
          description: This is the name of the required certificate. Certificate names are set up on a per agency basis; a contractor may have 0 to many certificates, but must not have more than one certificate of the same name
        Expiry:
          format: date-time
          title: DateTime
          type: string
          description: When the contractor's certification will expire
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      description: ''
x-internal: false