Fixflo Issue API

The Issue API from Fixflo — 11 operation(s) for issue.

Operations 11

GET /Issue/{Id} Issue #
POST /Issue/ Issue #
POST /Issue/{Id}/ExternalRef Issue / externalref #
GET /Issues Issues #
GET /Issue/{Id}/Report Issue / report #
GET /Issues/JobAwarded Issue / job awarded #
GET /Issues/JobCompleted Issue / job completed #
GET /Issues/Closed Issues / closed #
GET /Issue/{issueId}/quotes Issue / quotes #
GET /Issue/{Id}/Tags Issue / tags #
POST /Issues/Merge Merge Issues #

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-issue-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-issue-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '2.0'
  title: Fixflo Issue 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: Issue
paths:
  /Issue/{Id}:
    parameters:
    - schema:
        type: string
      name: Id
      in: path
      required: true
    get:
      summary: Issue
      description: Get issue details
      tags:
      - Issue
      operationId: get-Issue
      responses:
        '200':
          description: OK
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Issue'
  /Issue/:
    parameters: []
    post:
      summary: Issue
      tags:
      - Issue
      operationId: post-Issue
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Envelope'
                - type: object
                  properties:
                    Entity:
                      $ref: '#/components/schemas/Issue'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Issue'
      description: 'Currently this endpoint is only used for updating the AssignedAgent on an issue. Use null to unassign the issue. if the user cannot be found an error will be returned. GET https://[custom domain].fixflo.com/api/v2/Issue

        '
  /Issue/{Id}/ExternalRef:
    parameters:
    - schema:
        type: string
      name: Id
      in: path
      required: true
      description: Id associated with required Issue
    post:
      summary: Issue / externalref
      tags:
      - Issue
      operationId: post-Issue-externalref
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Envelope'
                - type: object
                  properties:
                    Entity:
                      $ref: '#/components/schemas/Issue'
      requestBody:
        content:
          application/json:
            schema:
              type: string
      description: 'This endpoint is used to POST an external ref to an Issue associated with given Issue Id.

        External Ref must be unique per agency.

        Will overwrite current value if one exists.

        '
  /Issues:
    parameters: []
    get:
      summary: Issues
      tags:
      - Issue
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PrevNextPager'
                - type: object
                  properties:
                    Items:
                      type: array
                      x-stoplight:
                        id: 6z38z7awmy6ua
                      items:
                        type: string
      operationId: get-issues
      description: 'Find pages of issues. Optionally date periods may be selected. The issues are returned in created date/time order. For use cases see (downloading and importing issues)[#Downloading-and-importing-issues]


        The GET url for each issue is returned rather than the whole issue object'
      parameters:
      - schema:
          type: string
        in: query
        name: CreatedSince
        description: Filters issues that have been created since the specified date time.(UTC date/time)
      - schema:
          type: string
        in: query
        name: CreatedBefore
        description: Filters issues that have been created before the specified date time.(UTC date/time)
      - schema:
          type: string
        in: query
        name: Status
        description: Filters on the issue status. Click here to see accepted values. If using the nuget package this is an enum.
      - schema:
          type: string
        in: query
        name: HasExternalPropertyRef
        description: Filters issues that are tied to properties that have an external reference
      - schema:
          type: string
          format: date-time
        in: query
        name: ClosedSince
        description: Filters issues that have been closed since the specified date time.(UTC date/time)
      - schema:
          type: string
          format: date-time
        in: query
        name: ClosedBefore
        description: Filters issues that have been closed before the specified date time.(UTC date/time)
      - schema:
          type: string
          format: date-time
        in: query
        name: JobCreatedSince
        description: Filters issues that have had a job created since the specified date time.(UTC date/time)
      - schema:
          type: string
          format: date-time
        in: query
        name: JobCreatedBefore
        description: Filters issues that have had a job created before the specified date time.(UTC date/time)
      - schema:
          type: string
          format: date-time
        in: query
        name: UpdatedSince
        description: Filters issues that have had a status change since the specified date time.(UTC date/time)
      - schema:
          type: string
          format: date-time
        in: query
        name: UpdatedBefore
        description: Filters issues that have had a status change before the specified date time.(UTC date/time)
      - schema:
          type: integer
        in: query
        name: page
        description: The page number to return
  /Issue/{Id}/Report:
    parameters:
    - schema:
        type: string
      name: Id
      in: path
      required: true
      description: Issue id
    get:
      summary: Issue / report
      tags:
      - Issue
      responses:
        '200':
          description: OK
          headers: {}
      operationId: get-issue-id-report
      description: Downloads issue report as PDF document. Please see note on downloading binary data.
  /Issues/JobAwarded:
    parameters: []
    get:
      summary: Issue / job awarded
      tags:
      - Issue
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PrevNextPager'
                - type: object
                  properties:
                    Items:
                      type: array
                      items:
                        type: string
      operationId: get-issues-jobawarded
      description: Endpoint for listing issues with a status of JobAwarded.
      parameters:
      - schema:
          type: string
        in: query
        name: Page
        description: Page
  /Issues/JobCompleted:
    parameters: []
    get:
      summary: Issue / job completed
      tags:
      - Issue
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PrevNextPager'
                - type: object
                  properties:
                    Items:
                      type: array
                      items:
                        type: string
      operationId: get-issues-jobcompleted
      description: 'Endpoint for listing issues with a status of JobCompleted.

        '
      parameters:
      - schema:
          type: string
        in: query
        name: Page
        description: Page
  /Issues/Closed:
    parameters: []
    get:
      summary: Issues / closed
      tags:
      - Issue
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PrevNextPager'
                - type: object
                  properties:
                    Items:
                      type: array
                      items:
                        type: string
      operationId: get-issues-closed
      description: Endpoint for listing issues with a status of Closed.
  /Issue/{issueId}/quotes:
    parameters:
    - schema:
        type: string
      name: issueId
      in: path
      required: true
    get:
      summary: Issue / quotes
      tags:
      - Issue
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Quote'
      operationId: get-Issue-issueId-quotes
      x-internal: false
      description: Gets all quotes attached to an Issue on an Agency
  /Issue/{Id}/Tags:
    parameters:
    - schema:
        type: string
      name: Id
      in: path
      required: true
      description: Id of Issue
    get:
      summary: Issue / tags
      tags:
      - Issue
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagsAdded'
            application/xml:
              schema:
                $ref: '#/components/schemas/TagsAdded'
      operationId: get-Issue-Id-Tags
      description: Returns tags associated with given issue id
      x-stoplight:
        id: 7r3e31p2hqfq9
  /Issues/Merge:
    post:
      summary: Merge Issues
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueMergeResponse'
      operationId: Merge
      x-stoplight:
        id: 2f8v7bo0gq0nj
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueMergeRequest'
      description: This request will close the primary and related issues and create a new "merged issue" that links to all of htem
      tags:
      - Issue
components:
  schemas:
    JobQuoteApproval:
      title: JobQuoteApproval
      x-stoplight:
        id: 95aa6169dc73e
      type: object
      properties:
        ApprovalNameTyped:
          type: string
        Approved:
          type: boolean
        ApprovedDate:
          format: date-time
          type: string
        QuoteAmount:
          type: number
        RequestedDate:
          format: date-time
          type: string
        QuoteId:
          type: string
        PriceAgencyReceivableGross:
          type: number
        PriceAgencyReceivableNet:
          type: number
        PriceAgencyReceivableTax:
          type: number
    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
    FaultTree:
      title: FaultTree
      type: object
      properties:
        FaultId:
          type: integer
          description: 'Unique Id of the Fault

            '
        FaultTreeParent0:
          type: integer
          description: 'Id of the 1st parent of the Fault (can be null)

            '
        FaultTreeParent1:
          type: integer
          description: 'Id of the 2nd parent of the Fault (can be null)

            '
    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'
    Block:
      type: object
      properties:
        Id:
          type: integer
        ExternalBlockReference:
          type: string
        Name:
          type: string
        Address:
          $ref: '#/components/schemas/Address'
        IsStandAlone:
          type: boolean
        KeyReference:
          type: string
        ManagementStartDate:
          type: string
          format: date-time
          description: Management end date.
        ManagementEndDate:
          type: string
          format: date-time
          description: Management end date.
        EstateId:
          type: integer
        ExternalEstateRef:
          type: string
        LandlordId:
          type: string
        ExternalLandlordRef:
          type: string
        PropertyManager:
          $ref: '#/components/schemas/AssignedAgent'
        AssignedAgent:
          $ref: '#/components/schemas/AssignedAgent'
        IsDeleted:
          type: boolean
        Created:
          type: string
          format: date-time
          description: Created date/time (UTC).
        UpdateDate:
          type: string
          format: date-time
          description: Updated date/time (UTC).
        Warranties:
          type: array
          description: List of warranties which apply to the block
          items:
            $ref: '#/components/schemas/Warranty'
    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.

            '
    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

            '
    IssueMergeResponse:
      title: IssueMergeResponse
      x-stoplight:
        id: kh5879i1wno64
      type: object
      x-examples:
        Example 2:
          MergedIssueId: IS123456
          Success: false
          InvalidIssues:
          - IssueId: IS123456
            Reason: You cannot merge an issue into itself.
      properties:
        MergedIssueId:
          type: string
          x-stoplight:
            id: 6b9mxfp4epw70
        Success:
          type: boolean
          x-stoplight:
            id: 3ryhs450h7y8y
        InvalidIssues:
          type: array
          x-stoplight:
            id: zl5qxrphbtzj1
          items:
            x-stoplight:
              id: ibo7gyvp8hsrh
            type: object
            properties:
              IssueId:
                type: string
                x-stoplight:
                  id: i2mw8y87mfi9z
              Reason:
                type: string
                x-stoplight:
                  id: 4loikfbvgslpg
    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
    Issue:
      title: Issue
      type: object
      properties:
        Id:
          type: string
          maxLength: 20
          description: 'Unique Id of issue

            '
        TenantId:
          type: string
          description: 'Unique tenant id (internal, Fixflo)

            '
        ExternalRefTenancyAgreement:
          type: string
          description: 'This optional value is entered by the tenant on issue submission. This value represents the tenancy agreement number as stored by a system external for Fixflo. It may be useful in matching new issue reports with existing tenancies

            '
        Title:
          type: string
          description: 'Title of issue (do not confuse with tenant title). This title may be edited in Fixflo plus

            '
        FaultTitle:
          type: string
          description: 'Title of fault. This is text title of the fault. This is initially derived from the fault category. Fixflo plus users may edit this value

            '
        FaultCategory:
          type: string
          description: 'This is the canonical description of the fault. It is readonly. The value is derived from the selected fault (icons) and sub categories

            '
        AdditionalDetails:
          type: array
          description: 'Some issue faults request additional detail. For example, if there is problem with an appliance the make and model of the appliance will be asked for. These additional questions and responses are returned in the field AdditionalDetails as a AdditionalDetail []

            '
          items:
            $ref: '#/components/schemas/AdditionalDetail'
        FaultNotes:
          type: string
          description: 'User input fault notes

            '
        FaultPriority:
          type: string
          description: 'Fault priority, integer range 0 to 5 where 0 - Emergency, 1 - Urgent (high), 2 - Urgent (high), 3 - Non-urgent (high), 4 - Non-urgent (med), 5 - Non-urgent (low)

            '
        Salutation:
          type: string
          description: 'Tenant title (Mr, Mrs, Ms, etc)

            '
        Firstname:
          type: string
        Surname:
          type: string
        EmailAddress:
          type: string
          description: 'Tenant email address

            '
        Address:
          $ref: '#/components/schemas/Address'
        Media:
          $ref: '#/components/schemas/Media'
        TenantNotes:
          type: string
          description: 'Further input notes

            '
        StatusChanged:
          type: string
          format: date-time
          description: StatusChanged date/time (UTC). Read-only.
        Status:
          type: string
          description: 'Issue status. Values are: Reported, QuotesRequested, QuotesAwaitingReview, QuotesReviewed, JobAwarded, AwaitingJobCompletion, JobCompleted, Closed. Available as an enum in the nuget-package

            '
        Created:
          type: string
          format: date-time
          description: Created date/time (UTC).
        TenantPresenceRequested:
          type: string
          description: 'Has the tenant requested to be present

            '
        TenantAcceptComplete:
          type: string
          description: 'Have the issue submission terms and conditions been accepted

            '
        TermsAccepted:
          type: string
        CallbackId:
          type: string
          description: 'see Plugin Example for description and use case

            '
        Property:
          type: string
          description: 'The Property to which the issue relates. Please note in some scenarios this field will return a null value - these should be handled appropriately

            '
        Block:
          $ref: '#/components/schemas/Block'
        Job:
          $ref: '#/components/schemas/Job'
        FaultTree:
          $ref: '#/components/schemas/FaultTree'
        WorksAuthorisationLimit:
          type: number
          description: 'If a contractor is instructed, without having previously supplied a quote, this is maximum allowed cost of works. This value may be overridden manually on a per issue basis but by default will be derived from the agency, landlord or block as appropriate

            '
        BlockName:
          type: string
          description: 'The block name supplied when the issue is reported

            '
        AssignedAgent:
          $ref: '#/components/schemas/AssignedAgent'
        Quotes:
          type: array
          description: Lists of quotes
          items:
            $ref: '#/components/schemas/Quote'
        AttendenceDate:
          format: date-time
          type: string
          description: This is expressed as a local date.
        QuoteEndTime:
          format: date-time
          type: string
          description: This is expressed as a local date.
        IsPlannedMaintenance:
          type: boolean
        ServiceEventId:
          type: string
        CostCode:
          type: string
          description: 'An optional cost code to tie up with accounting.

            '
        IsCommunal:
          description: 'Signifies whether the issue is tied to a communal area in a block or a private area in a property/unit

            '
          type: boolean
        IsEmergency:
          description: 'Signifies whether the issue has been raised as an emergency

            '
          type: boolean
        IssueType:
          type: string
          x-stoplight:
            id: to723ogafcxot
          description: 'The Type of the Issue, will be one of:

            Reactive

            GeneralEnquiry

            Planned

            Remedial'
        CloseReason:
          type: string
          x-stoplight:
            id: 51hwf48dec2k9
        CloseReasonDescription:
          type: string
          x-stoplight:
            id: jbn4aq2c3xsq8
    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

            '
    Quote:
      title: Quote
      type: object
      properties:
        id:
          type: string
        Status:
          type: string
        Contractor:
          $ref: '#/components/schemas/Contractor'
        PriceAgencyPayableGross:
          type: string
        PriceAgencyPayableNet:
          type: string
        PriceAgencyPayableTax:
          type: string
        PriceAgencyReceivableGross:
          type: string
        PriceAgencyReceivableNet:
          type: string
        PriceAgencyReceivableTax:
          type: string
        SubmittedDate:
          format: date-time
          type: string
          description: 'can be null

            '
        ExpiryDate:
          format: date-time
          type: string
          description: 'can be null

            '
        Media:
          type: array
          description: 'List of media (pictures or other documents) attached to the quote. Please see note on downloading binary data.

            '
          items:
            $ref: '#/components/schemas/Media'
        LineItems:
          x-stoplight:
            id: n47jfx2i4s81g
          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
    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
    IssueMergeRequest:
      title: IssueMergeRequest
      x-stoplight:
        id: phq9dvhns1g0v
      type: object
      required:
      - PrimaryIssueId
      - IssueTitle
      - IssuesIdsToMerge
      properties:
        PrimaryIssueId:
          type: string
          x-stoplight:
            id: h3zzvzfhb26b0
        IssueTitle:
          type: string
          x-stoplight:
            id: gx5ayrokb166q
        IssuesIdsToMerge:
          type: array
          x-stoplight:
            id: xmp7cs5vknfeq
          items:
            x-stoplight:
              id: yxut41xkk8mc8
            type: string
      x-examples:
        Example 1:
          PrimaryIssueId: IS12345
          IssueTitle: My merged issue
          IssuesIdsToMerge:
          - IS11111
          - IS22222
    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
    Media:
      title: Media
      type: object
      description: Please see note on [downloading binary data](docs/Downloading-binary-data.md).
      properties:
        Id:
          type: string
          format: uuid
          description: Unique GUID of Media.
          readOnly: true
        URL:
          type: string
          readOnly: true
        ContentType:
          type: string
          description: 'The content and mime type of the document eg. example image/png. On POST, if the content type is left blank the content type will be derived from the ShortDesc field. For example where:

            * ContentType = null and a ShortDesc = "picture1.png" a content type of image/png will be derived

            * ContentType = "image/png" and a ShortDesc= "picture1" a content type of image/png will be derived

            * ContentType = "" and a ShortDesc = "picture1" will result in an error

            * ContentType = "xxxxx" and a ShortDesc = "picture1" will result in an error as the content type is not recognised.'
        MediaType:
          type: string
          readOnly: true
        MediaTypeDescription:
          type: string
        ShortDescription:
          type: string
          description: 'For POST this is required and should be the filename with extension e.g. "file.pdf"

            '
        AddedByUserTypeId:
          type: string
          description: 'Id of the user that uploaded the file

            '
          readOnly: true
        EncodedByteData:
          type: string
          description: 'Used for POST only. This data represents the binary document encoded to base-64

            '
        ServiceProgrammeDef:
          $ref: '#/components/schemas/ServiceProgrammeDef'
          x-stoplight:
            id: r3wrv8s4lrh41
          readOnly: true
        DocumentStartDate:
          type: string
          x-stoplight:
            id: 62jrrkrk0brff
          format: date-time
          readOnly: true
        DocumentExpiryDate:
          type: string
          x-stoplight:
            id: tmdafqhw3cn9l
          format: date-time
          readOnly: true
    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: '#/compo

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