FireMate API Reference

About

 

API Root: https://api.firemate.com.au/

 

Any Endpoint that returns multiple records will normally also return a “NextPageInformation” object which details the name of the filter and the value to use to return the next set of results. The Page Information also details how many results were returned and how many there are in total.

NOTES:

-          Total can change from query to query as the system is live.

-          MaximumCurrentResults may be less than RecordsInCurrentResults because of objects within the same filter value needing to be included in the current page.

-          FilterValue can be a Date and Time value with an accuracy of up to seven decimal places.

 

    "NextPageInformation": {

        "FilterName": "DateCreatedAfter",

        "RecordsInCurrentResults": 5,

        "TotalApplicableRecords": 8,

        "MaximumCurrentResults": 5,

        "FilterValue": "2017-12-04T02:56:58.933"

    }

API Status

 

You can check the status of the FireMate API and your own Database with the below calls via HEAD method.

Online Status of the API

https://api.firemate.com.au/api/online

This requires no Authentication and will respond with 200 OK if online.

Online Status of Database

https://api.firemate.com.au/api/online/databaseavailable

Requires Authentication and will respond with 200 OK if online.

 

All API endpoints that require Authentication will return a 503 Service Unavailable when the database being accessed is under maintenance.

Version History

 

Get the current version of the FireMate API by calling https://api.firemate.com.au/api/version

2022.3.0

Date Released

01/09/2023

Update Description

-          Adds Timesheet endpoint

2022.1.1

Date Released

19/01/2022

Update Description

-          Adds PurchaseOrder-V2 Line Items

 

2022.1.0

Date Released

18/01/2022

Update Description

-          Adds PurchaseOrder-V2 Endpoints

 

2021.8.0

Date Released

25/10/2021

Update Description

-          Adds SRSEType to SR LineItem to api/invoice

 

2021.7.1

Date Released

23/09/2021

Update Description

-          Adds Addresses to api/Customer

 

1.58.0.0

Date Released

24/08/2020

Update Description

-          Adds ProductID to api/ProductInspectionPeriod

1.52.3.0

Date Released

02/07/2020

Update Description

-          Adds InternalNotes to api/task

1.51.3.0

Date Released

19/05/2020

Update Description

-          Adds QuotedCostOverride to api/task

1.42.4.247

Date Released

15/02/2020

Update Description

-          UtcDateCreated and UtcDateModified data types have been updated from SQL Server DATETIME to DATETIME2. This has an increased accuracy to seven decimal places.

1.42.3.247

Date Released

06/12/2019

Update Description

-          Contract ServiceSuspended updated to Boolean

-          Add UTCDateModified to Attachment Endpoint

1.42.2.245

Date Released

27/09/2019

Update Description

-          Add Inventory Endpoint

1.42.1.244

Date Released

27/09/2019

Update Description

-          Add Consolidated to Invoice Endpoints

-          Add ConsolidatedParentInvoiceID to Invoice Endpoints

1.42.0.243

Date Released

20/09/2019

Update Description

-          Add ExtraTechnicians to RA Endpoints

1.38.1.239

Date Released

30/08/2019

Update Description

-          Add OriginalDefectDescription to Defect Endpoint

1.38.0.238

Date Released

29/08/2019

Update Description

-          PUT Invoice Exported Endpoint

-          PUT Invoice Payment Status Endpoint

1.37.1.236

Date Released

28/08/2019

Update Description

-          Enable External URL Link in POST Attachment Endpoint

1.32.1.232

Date Released

13/08/2019

Update Description

-          Add ContractBranchID to Invoice Endpoint

1.32.0.230

Date Released

21/05/2019

Update Description

-          Add CommonResponse Endpoint

1.29.0.213

Date Released

01/03/2019

Update Description

-          Add ContactMapping Endpoint

-          Add ContactMappings to Contact Endpoint

1.24.0.208

Date Released

25/02/2019

Update Description

-          Add Photo URL to SafetyChecklistResults Endpoint

1.22.0.200

Date Released

13/02/2019

Update Description

-          PromptID in SafetyChecklist Endpoint

-          SignatureClientName in RA/SR Endpoints

-          SIgnatureURL in RA/SR/Employee Endpoints

1.12.0.181

Date Released

29/01/2019

Update Description

-          New Endpoint api/note

-          Attachment Endpoint

o   Now handles “file” attachments

o   Get Results by ID

-          Attachment and/or Photo endpoints on

o   Customer

o   Contract

o   Property

o   RA

o   Asset

o   Defect

o   Job

o   SR

o   Task

o   Quote

1.8.0.174

Date Released

17/01/2019

Update Description

-          New Endpoint api/version

1.8.0.171

Date Released

14/01/2019

Update Description

-          CompanyName in Employee

-          StatusChangeReason in Defect

-          DateClosed in Defect

1.8.0.169

Date Released

10/12/2018

Update Description

-          New Endpoint api/safetychecklist

1.8.0.166

Date Released

22/11/2018

Update Description

-          Add NextPageInformation to Employee

-          Add NextPageInformation to Product

-          Add NextPageInformation to Branch

-          Clean up results from ItemModified Endpoint

1.8.0.162

Date Released

21/11/2018

Update Description

-          AssetTestedBy in Employee

1.8.0.161

Date Released

20/11/2018

Update Description

-          Get results by ID (intended for seeding external datastore)

o   Asset

o   Contact

o   Contract

o   Customer

o   Defect

o   EquipmentType

o   Installation

o   Invoice

o   Job

o   ProductInspectionPeriod

o   Property

o   PurchaseOrder

o   Quote

o   RA

o   SR

o   SREquipment

o   Task

o   TechTime

 


 

Table of Contents

 

About. 1

API Status. 1

Online Status of the API 1

Online Status of Database. 1

Version History. 1

2022.3.0. 1

2022.1.1. 2

2022.1.0. 2

2021.8.0. 2

2021.7.1. 2

1.58.0.0. 2

1.52.3.0. 2

1.51.3.0. 2

1.42.4.247. 2

1.42.3.247. 2

1.42.2.245. 2

1.42.1.244. 3

1.42.0.243. 3

1.38.1.239. 3

1.38.0.238. 3

1.37.1.236. 3

1.32.1.232. 3

1.32.0.230. 3

1.29.0.213. 3

1.24.0.208. 3

1.22.0.200. 3

1.12.0.181. 4

1.8.0.174. 4

1.8.0.171. 4

1.8.0.169. 4

1.8.0.166. 4

1.8.0.162. 4

1.8.0.161. 4

Version.. 11

Endpoints. 11

api/version. 11

Dataset. 11

Items Last Modified. 12

Endpoints. 12

api/itemLastModified. 12

Dataset. 12

Branches. 13

Endpoints. 13

api/branch. 13

Dataset. 13

Customer. 14

Endpoints. 14

api/customer/{id:nonzero} 14

api/customer/{id:nonzero}/contract 14

api/customer/{id:nonzero}/property. 14

api/customer/{id:nonzero}/contact 14

api/customer/{id:nonzero}/invoice. 14

api/customer/{id:nonzero}/note. 14

api/customer/{id:nonzero}/attachment 14

api/customer/{id:nonzero} (PUT) 15

api/customer/{id:nonzero}/recordlink/{recordlink} (PUT) 15

api/customer (GET) 15

api/customer (POST) 15

Dataset. 16

Contract. 17

Endpoints. 17

api/contract/{id:nonzero} 17

api/contract/{id:nonzero}/property. 17

api/contract/{id:nonzero}/invoice. 17

api/contract/{id:nonzero}/note. 17

api/contract/{id:nonzero}/attachment 17

api/contract 17

api/contract/{id:nonzero}/recordlink/{recordlink} (PUT) 17

Dataset. 18

Property. 19

Endpoints. 19

api/property. 19

api/property/{id:nonzero} 19

api/property/{id:nonzero}/product 19

api/property/{id:nonzero}/ProductInspectionPeriod. 19

api/property/{id:nonzero}/note. 19

api/property/{id:nonzero}/attachment 19

api/property/{id:nonzero}/recordlink/{recordlink} (PUT) 19

Dataset. 20

Installation.. 21

Endpoints. 21

api/installation. 21

api/installation/{id:nonzero}/recordlink/{recordlink} (PUT) 21

Dataset. 21

Product Inspection Period. 22

Endpoints. 22

api/productinspectionperiod. 22

Dataset. 22

Routine Activity. 23

Endpoints. 23

api/ra. 23

api/ra/{id:nonzero} 23

api/ra/{id:nonzero}/asset 23

api/ra/{id:nonzero}/techtime. 23

api/ra/{id:nonzero}/defect 23

api/ra/{id:nonzero}/photo. 23

api/ra/{id:nonzero}/attachment 24

api/ra/{id:nonzero}/recordlink/{recordlink} (PUT) 24

api/ra (PUT) 24

Dataset. 24

Assets. 26

Endpoints. 26

api/asset 26

api/asset/{id:nonzero}/photo. 26

api/asset/{id:nonzero}/recordlink/{recordlink} (PUT) 26

api/asset (POST) 26

Dataset. 27

Defects. 28

Endpoints. 28

api/defect 28

api/defect/{id:nonzero} 28

api/defect/{id:nonzero}/photo. 28

api/defect/{id:nonzero}/recordlink/{recordlink} (PUT) 28

Dataset. 28

Job. 30

Endpoints. 30

api/job/{id:nonzero} 30

api/job/{id:nonzero}/sr 30

api/job/{id:nonzero}/techtime. 30

api/job/{id:nonzero}/srequipment 30

api/job/{id:nonzero}/note. 30

api/job/{id:nonzero}/attachment 30

api/job. 30

api/job/{id:nonzero}/recordlink/{recordlink} (PUT) 31

api/job (PUT) 31

api/job (POST) 31

Dataset. 32

Service Request. 33

Endpoints. 33

api/sr/{id:nonzero} 33

api/sr/{id:nonzero}/task. 33

api/sr/{id:nonzero}/techtime. 33

api/sr/{id:nonzero}/srequipment 33

api/sr/{id:nonzero}/defect 33

api/sr/{id:nonzero}/photo. 33

api/sr 33

api/sr/{id:nonzero}/recordlink/{recordlink} (PUT) 34

api/sr (POST) 34

Dataset. 35

Tasks. 36

Endpoints. 36

api/task/{id:nonzero}/defect 36

api/task/{id:nonzero} 36

api/task/{id:nonzero}/photo. 36

api/task. 36

api/task/{id:nonzero}/recordlink/{recordlink} (PUT) 36

Dataset. 36

Products. 38

Endpoints. 38

api/product 38

Dataset - Product. 38

Dataset - PropertyProduct. 38

Equipment Types. 39

Endpoints. 39

api/equipmentType. 39

api/equipmenttype/{id:nonzero}/recordlink/{recordlink} (PUT) 39

Dataset. 39

Inventory. 40

Endpoints. 40

api/inventory. 40

Dataset. 40

Service Request Equipment. 41

Endpoints. 41

api/srEquipment 41

api/srequipment/{id:nonzero}/recordlink/{recordlink} (PUT) 41

Dataset. 41

Employee. 42

Endpoints. 42

api/employee/{id:nonzero} 42

api/employee (GET) 42

api/employee (POST) 42

api/employee/{id:nonzero}/recordlink/{recordlink} (PUT) 42

Dataset. 42

Attachments. 44

Endpoints. 44

api/attachment 44

api/attachment 44

api/attachment (POST) 44

Dataset. 45

Technician Times. 46

Endpoints. 46

api/techTime. 46

api/techtime/{id:nonzero}/recordlink/{recordlink} (PUT) 46

Dataset. 46

Timesheets. 47

Endpoints. 47

api/timesheet 47

Dataset. 47

Contacts. 48

Endpoints. 48

api/contact 48

api/contact/{id:nonzero}/recordlink/{recordlink} (PUT) 48

Dataset. 48

Contact Mapping. 49

Endpoints. 49

api/contactmapping. 49

Dataset. 49

Quotes. 50

Endpoints. 50

api/quote/{id:nonzero} 50

api/quote/{id:nonzero}/attachment 50

api/quote. 50

api/quote/{id:nonzero}/recordlink/{recordlink} (PUT) 50

Dataset. 50

Invoices. 52

Endpoints. 52

api/invoice/{id:nonzero} 52

api/invoice. 52

api/invoice/credited. 52

api/invoice/{id:nonzero}/exported/{exported} (PUT) 52

api/invoice/{id:nonzero}/paymentstatus/{status} (PUT) 52

api/invoice/{id:nonzero}/recordlink/{recordlink} (PUT) 53

Dataset. 53

Purchase Orders. 55

Endpoints. 55

api/purchaseOrder 55

api/purchaseOrder-V2. 55

api/purchaseOrder (PUT) 55

api/purchaseOrder (POST) 56

Dataset. 56

Dataset (V2) 57

Suppliers. 58

Endpoints. 58

api/supplier 58

Dataset. 58

Safety Checklist. 59

Endpoints. 59

api/safetychecklist 59

Dataset. 59

Note. 60

Endpoints. 60

api/note. 60

Dataset. 60

Common Responses. 61

Endpoints. 61

api/commonresponse. 61

Dataset. 61

 


Version

 

Endpoints

Method:

GET

Endpoint:

api/version

Description:

Gets current version of the API

Example Request:

https://api.firemate.com.au/api/version

 

Dataset

{

    "VersionNumber": "1.8.0.174",

    "VersionReleased": "2019-01-17T15:20:00"

}

Items Last Modified

 

Endpoints

Method:

GET

Endpoint:

api/itemLastModified

Description:

Gets list of items that have been modified

Parameters:

DateModifiedAfter – DATETIME2 (UTC) – Required

Example Request:

https://api.firemate.com.au/api/itemlastmodified?datemodifiedafter=2017-11-23T13:55:00.00

 

Dataset

{

"Keyword": "Invoice",

"UtcDateModified": "2017-11-24T00:00:00"

}


 

Branches

 

Endpoints

Method:

GET

Endpoint:

api/branch

Description:

Will return list of Branches

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

Example Request:

https://api.firemate.com.au/api/branch

 

Dataset

    {

        "BranchID": 1,

        "BranchName": "Wagga",

        "Description": "Woo",

        "RecordLink": "",

        "UtcDateCreated": "2017-12-06T23:51:05.04",

        "UtcDateModified": "2017-12-06T23:51:05.04",

        "ActiveRecord": true

    }

 

Customer

 

Endpoints

Method:

GET

Endpoint:

api/customer/{id:nonzero}

Description:

Given a valid Customer ID, will return details of that Customer

Example Request:

https://api.firemate.com.au/api/customer/233

 

Method:

GET

Endpoint:

api/customer/{id:nonzero}/contract

Description:

Given a valid Customer ID, will return a list of Contracts

Example Request:

https://api.firemate.com.au/api/customer/233/contract

 

Method:

GET

Endpoint:

api/customer/{id:nonzero}/property

Description:

Given a valid Customer ID, will return a list of Properties

Example Request:

https://api.firemate.com.au/api/customer/233/property

 

Method:

GET

Endpoint:

api/customer/{id:nonzero}/contact

Description:

Given a valid Customer ID, will return a list of Contacts

Example Request:

https://api.firemate.com.au/api/customer/233/contact

 

Method:

GET

Endpoint:

api/customer/{id:nonzero}/invoice

Description:

Given a valid Customer ID, will return a list of Invoices

Example Request:

https://api.firemate.com.au/api/customer/233/invoice

 

Method:

GET

Endpoint:

api/customer/{id:nonzero}/note

Description:

Given a valid Customer ID, will return a list of Notes

Example Request:

https://api.firemate.com.au/api/customer/233/note

 

Method:

GET

Endpoint:

api/customer/{id:nonzero}/attachment

Description:

Given a valid Customer ID, will return a list of Attachments

Example Request:

https://api.firemate.com.au/api/customer/233/attachment

 

Method:

PUT

Endpoint:

api/customer/{id:nonzero} (PUT)

Description:

Given a valid Customer ID, updates an existing Customer record – returns 204 status code

Parameters:

JSON String in Body

e.g.

{

                "CustomerID": 417,

                "CustomerName": "FireMate Software",

                "Phone": "123456",

                "Fax": "",

                "Email": "support@firemate.com.au",

                "Website": "firemate.com.au",

                "ABN": "",

                "AccountsReference": "",

                "ElectronicBilling": false,

                "GSTExclusive": true,

                "RecordLink": "559",

                "ActiveRecord": true

}

Example Request:

 

 

Method:

PUT

Endpoint:

api/customer/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/customer/1/recordlink/123

 

Method:

GET

Endpoint:

api/customer (GET)

Description:

Returns a list of Customers

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

Example Request:

https://api.firemate.com.au/api/customer?DateCreatedAfter=2016-08-22T13:55:00.00

 

Method:

POST

Endpoint:

api/customer (POST)

Description:

Creates a new Customer record – returns newly created record

Parameters:

JSON String in Body

e.g.

{

                "CustomerName": "FireMate Software",

                "Phone": "0731 071 694",

                "Fax": "",

                "Email": "support@firemate.com.au",

                "Website": "firemate.com.au",

                "ABN": "",

                "AccountsReference": "",

                "ElectronicBilling": true,

                "GSTExclusive": false,

                "RecordLink": “55”

}

Example Request:

 

 

Dataset

        {

            "CustomerID": 405,

            "RecordLink": "",

            "CustomerName": "test",

            "GUID": "326bb0f5-0b81-40a1-b07b-cff2907ce307",

            "Type": "Gold",

            "Status": "Normal",

            "Phone": "123456789",

            "Fax": "1",

            "Email": "",

            "Website": "",

            "ABN": "",

            "AccountsReference": "",

            "UtcDateModified": "2017-11-24T01:00:03.52",

            "UtcDateCreated": "2017-11-24T00:42:10.587",

            "ElectronicBilling": true,

            "GSTExclusive": false,

            "ActiveRecord": true

        }


 

Contract

 

Endpoints

Method:

GET

Endpoint:

api/contract/{id:nonzero}

Description:

Given a valid Contract ID, will return details of that Contract

Example Request:

https://api.firemate.com.au/api/contract/233

 

Method:

GET

Endpoint:

api/contract/{id:nonzero}/property

Description:

Given a valid Contract ID, will return a list of Properties

Example Request:

https://api.firemate.com.au/api/contract/233/property

 

Method:

GET

Endpoint:

api/contract/{id:nonzero}/invoice

Description:

Given a valid Contract ID, will return a list of Invoices

Example Request:

https://api.firemate.com.au/api/contract/233/invoice

 

Method:

GET

Endpoint:

api/contract/{id:nonzero}/note

Description:

Given a valid Contract ID, will return a list of Notes

Example Request:

https://api.firemate.com.au/api/contract/233/note

 

Method:

GET

Endpoint:

api/contract/{id:nonzero}/attachment

Description:

Given a valid Contract ID, will return a list of Attachments

Example Request:

https://api.firemate.com.au/api/contract/233/attachment

 

Method:

GET

Endpoint:

api/contract

Description:

Returns a list of Contracts

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

Example Request:

https://api.firemate.com.au/api/contract?DateCreatedAfter=2016-08-22T13:55:00.00

 

Method:

PUT

Endpoint:

api/contract/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/contract/1/recordlink/123

 

Dataset

        {

            "ContractID": 388,

            "CustomerID": 405,

            "DurationMonths": 12,

            "TotalAnnualAmount": 0,

            "RecordLink": "",

            "ContractName": "test contract",

            "GUID": "5589aca5-e277-47b6-90c7-b33014c4104c",

            "CustomerPO": "1",

            "ContractType": "Standard",

            "BillingType": "Advance",

            "BillingFrequency": "Monthly",

            "AccountRef": "",

            "ContractRenewal": "Automatic",

            "ServiceSuspended": false,

            "StartDate": "2017-12-01T00:00:00",

            "EndDate": "2018-11-30T00:00:00",

            "InvoicedUpTo": "0001-01-01T00:00:00",

            "UtcDateModified": "2017-11-24T00:59:58.58",

            "UtcDateCreated": "2017-11-24T00:42:22.63",

            "ActiveRecord": true,

            "BodyCorporate": false

        }


 

Property

 

Endpoints

Method:

GET

Endpoint:

api/property

Description:

Will return list of Properties

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

Example Request:

https://api.firemate.com.au/api/property?datemodifiedafter=2016-11-23T13:55:00.00

 

Method:

GET

Endpoint:

api/property/{id:nonzero}

Description:

Given a valid Property ID, will return details of that Property

Example Request:

https://api.firemate.com.au/api/property/233

 

Method:

GET

Endpoint:

api/property/{id:nonzero}/product

Description:

Given a valid Property ID, will return a list of Products

Example Request:

https://api.firemate.com.au/api/property/233/product

 

Method:

GET

Endpoint:

api/property/{id:nonzero}/ProductInspectionPeriod

Description:

Given a valid Property ID, will return a list of Product Inspection Period Details

Example Request:

https://api.firemate.com.au/api/property/805/productinspectionperiod

 

Method:

GET

Endpoint:

api/property/{id:nonzero}/note

Description:

Given a valid Property ID, will return a list of Notes

Example Request:

https://api.firemate.com.au/api/property/233/note

 

Method:

GET

Endpoint:

api/property/{id:nonzero}/attachment

Description:

Given a valid Property ID, will return a list of Attachments

Example Request:

https://api.firemate.com.au/api/property/233/attachment

 

Method:

PUT

Endpoint:

api/property/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/property/1/recordlink/123

 

Dataset

{

    "PropertyID": 233,

    "CustomerID": 248,

    "ContractID": 244,

    "PropertyName": "Strata",

    "ZoneName": "Gold Coast Central",

    "KeyNumber1": "Main switch board located in the front stairwell on the ground floor, NMB key required",

    "KeyNumber2": "Test switch installed",

    "KeyNumber3": "",

    "KeyNumber4": "",

    "KeyNumber5": "",

    "GPSCoordinates": "-33.09072,151.6284597",

    "BuildingClassification": "",

    "PropertyAddress": "",

    "State": "NSW",

    "Postcode": "2088",

    "City": "Balmoral",

    "Country": "",

    "PropertyRef": "",

    "CommisionDate": "0001-01-01T00:00:00",

    "AnnualStatementsDue": "2017-08-08T00:00:00",

    "AutomaticReporting": true,

    "ActiveRecord": true

}


 

Installation

 

Endpoints

Method:

GET

Endpoint:

api/installation

Description:

Will return list of Installations

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

Example Request:

https://api.firemate.com.au/api/installation?DateCreatedAfter=2016-08-22T13:55:00.00

 

Method:

PUT

Endpoint:

api/installation/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/installation/1/recordlink/123

 

Dataset

        {

            "InstallationID": 1401,

            "PropertyID": 44,

            "SETypeID": 1017,

            "PricePerInspection": 0,

            "PropertyName": "Mandalong Rd Mosman",

            "PropertyRecordLink": "",

            "SETypeName": "",

            "RecordLink": "",

            "PropertyRef": "",

            "UtcDateCreated": "2017-12-06T23:27:43.18",

            "UtcDateModified": "2017-12-06T23:27:43.18",

            "ActiveRecord": true

        }

Product Inspection Period

 

Endpoints

Method:

GET

Endpoint:

api/productinspectionperiod

Description:

Will return list of Product Inspection Periods

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

Example Request:

https://api.firemate.com.au/api/productinspectionperiod?DateModifiedAfter=2018-01-01T00:00:00.000

 

Dataset

{

            "ProductInspectionPeriodID": 8639,

            "PropertyID": 590,

            "EstimatedDuration": -1,

            "ProductName": "Fire Detection Systems",

            "MaintenanceStandard": "AS1851-2012 Section 6 - Fire Detection and Alarm Systems",

            "InspectionPeriod": "Six-Monthly",

            "Frequency": "Six-Monthly",

            "DefaultAssignedTech": "",

            "InstallationStandard": "AS-1670 - Fire Detection Warning, Control & Intercom Systems",

            "PropertyName": "CofC - 120 Queen St",

            "RecordLink": "",

            "NextInspectionDate": "0001-01-01T00:00:00",

            "UtcDateModified": "2018-01-05T00:14:52.713",

            "UtcDateCreated": "2018-01-05T00:14:52.713",

            "DoAndBill": false,

            "NotifyCustomer": false,

            "Contracted": false,

            "PORequired": false,

            "ActiveRecord": true,

            "PricePerInspectionLevel": -1

        },

Routine Activity

 

Endpoints

Method:

GET

Endpoint:

api/ra

Description:

Returns a list of RA’s

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

 

DateScheduledAfter – DATETIME (Local)

 

showAssets – Boolean – Not Required

-          Will add the RA’s list of Assets to the returned results

Example Request:

https://api.firemate.com.au/api/ra?DateCreatedAfter=2016-08-22T13:55:00.00

 

Method:

GET

Endpoint:

api/ra/{id:nonzero}

Description:

Given a valid Routine Activity ID (RA ID), will return details of that Routine Activity

Example Request:

https://api.firemate.com.au/api/ra/233

 

Method:

GET

Endpoint:

api/ra/{id:nonzero}/asset

Description:

Given a valid RA ID, will return a list of Assets

Example Request:

https://api.firemate.com.au/api/ra/223/asset

 

Method:

GET

Endpoint:

api/ra/{id:nonzero}/techtime

Description:

Given a valid RA ID, will return a list of Technician Times

Example Request:

https://api.firemate.com.au/api/ra/223/techtime

 

Method:

GET

Endpoint:

api/ra/{id:nonzero}/defect

Description:

Given a valid RA ID, will return a list of Defects

Example Request:

https://api.firemate.com.au/api/ra/223/defect

 

Method:

GET

Endpoint:

api/ra/{id:nonzero}/photo

Description:

Given a valid RA ID, will return a list of Photos

Example Request:

https://api.firemate.com.au/api/ra/233/photo

 

Method:

GET

Endpoint:

api/ra/{id:nonzero}/attachment

Description:

Given a valid RA ID, will return a list of Attachments

Example Request:

https://api.firemate.com.au/api/ra/233/attachment

 

Method:

PUT

Endpoint:

api/ra/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/ra/1/recordlink/123

 

Method:

PUT

Endpoint:

api/ra (PUT)

Description:

Will update the RA according to the Parameters supplied

Parameters:

JSON String in Body

e.g.

{

                RAID: 111,

                InternalNotes: "Update RA description",

                LogBookId: "123456Y",

                RecordLink: "RL456789"

}

 

Dataset

        {

            "RAID": 2908,

            "NumberOfAssets": 6,

"EmployeeID": 10,

            "RecordLink": "",

            "GUID": "bf141e24-77a1-4bf9-b3bb-a0dde1297ef4",

            "AssignedEmployee": "Chrystal Huerta",

            "RAStatus": "Assigned To Tech",

            "RANotes": "December 2017 - Six-Monthly Routine Inspection of Fire Blankets (AS1851-2012 Section 16)",

            "InternalNotes": "1",

            "LogBookId": "",

            "PropertyName": "10 Pretend Way",

"PropertyRef": "",

            "GPSCoordinates": "-43.5539502,172.5191662",

            "HasImage": "No",

            "SETypeName": "Portable Fire Extinguishers, Fire Hose Reels & Fire Blankets",

            "DateScheduled": "2017-12-01T14:44:15.773",

            "DateDue": "2017-12-01T00:00:00",

            "DateCompleted": "0001-01-01T00:00:00",

            "DeadlineDate": "2018-01-01T00:00:00",

            "UtcDateModified": "2017-12-01T03:44:31.517",

            "UtcDateCreated": "2017-12-01T03:44:15.773",

            "ActiveRecord": true

        },


 

Assets

 

Endpoints

Method:

GET

Endpoint:

api/asset

Description:

Returns a list of Assets

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

Example Request:

https://api.firemate.com.au/api/asset?DateCreatedAfter=2016-08-22T13:55:00.00

 

Method:

GET

Endpoint:

api/asset/{id:nonzero}/photo

Description:

Given a valid Asset ID, will return a list of Photos

Example Request:

https://api.firemate.com.au/api/asset/233/photo

 

Method:

PUT

Endpoint:

api/asset/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/asset/1/recordlink/123

 

Method:

POST

Endpoint:

api/asset (POST)

Description:

Creates a new Asset record – returns newly created record

Parameters:

JSON String in Body

e.g.

{

                PropertyID:291,

                EquipmentTypeID:2137,

                CreatedByEmployeeID:62,

                AssetNumber:1,

                WorkSequence:2.2,

                Location:'home location',

                PropertyLevel:'lvl 1',

                Barcode:'222333',

                Comments:'some comments for the new asset',

                GPSCoordinates:'-37.225814, 148.644141',

                RecordLink:'recordlink for asset'

}

 

Dataset

        {

            "AssetID": 18159,

            "RAID": -1,

            "PropertyID": 44,

            "SETypeID": 1006,

            "ProductID": 1112,

            "EquipmentTypeID": 2177,

            "WorkSequence": 0,

            "PropertyName": "Mandalong Rd Mosman",

            "PropertyRecordLink": "",

            "SETypeName": "Fire, Smoke & Exit Doors",

            "ProductName": "Solid Core Doors",

            "EquipmentTypeName": "Solid Core Doors",

            "AssetNumber": "-0",

            "Barcode": "123456",

            "GUID": "f4e88343-b77f-48db-ab29-061b00cae47a",

            "GPSCoordinates": "",

            "Comments": "new for api",

            "Location": "",

            "PropertyLevel": "",

            "RecordLink": "",

            "LastInspectionDate": "0001-01-01T00:00:00",

            "DeactivationDate": "0001-01-01T00:00:00",

            "UtcDateModified": "2017-12-06T22:06:45.447",

            "UtcDateCreated": "2017-12-06T22:06:45.383",

            "ActiveRecord": true

        }


Defects

 

Endpoints

Method:

GET

Endpoint:

api/defect

Description:

Will return list of Defects

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

 

DateDetectedAfter – DATETIME (Local)

Example Request:

https://api.firemate.com.au/api/defect?datemodifiedafter=2017-11-23T13:55:00.00

 

Method:

GET

Endpoint:

api/defect/{id:nonzero}

Description:

Given a valid Defect ID, will return details of that Defect

Example Request:

https://api.firemate.com.au/api/defect/6166

 

Method:

GET

Endpoint:

api/defect/{id:nonzero}/photo

Description:

Given a valid Defect ID, will return a list of Photos

Example Request:

https://api.firemate.com.au/api/defect/233/photo

 

Method:

PUT

Endpoint:

api/defect/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/defect/1/recordlink/123

 

Dataset

        {

            "DefectID": 6253,

            "SRID": -1,

            "TaskID": -1,

            "PropertyID": 246,

            "SETypeID": 1003,

            "ProductID": 1009,

            "EquipmentTypeID": 2032,

            "QuotedCost": 0,

            "QuoteID": -1,

            "GUID": "69059D24-E2B6-4BF4-85B8-1C30C4390716",

            "PropertyName": "Strata",

            "PropertyRecordLink": "",

            "SEType": "Fire Hydrant Systems",

            "ProductName": "Fire Hydrant Systems",

            "EquipmentTypeName": "Hydrant Valves",

            "DefectType": "Defect",

            "Status": "Open",

            "Severity": "Non-Critical",

            "RaisedBy": "FireMate Support",

            "Description": "fail",

            "RecordLink": "",

            "VerbalCommunicationDate": "0001-01-01T00:00:00",

            "WrittenCommunicationDate": "0001-01-01T00:00:00",

            "DetectionDate": "2017-12-04T09:38:07",

            "UtcDateCreated": "2017-12-04T22:38:12.013",

            "UtcDateModified": "2017-12-04T22:50:30.037",

            "Approved": false,

            "ActiveRecord": true

        }


 

Job

 

Endpoints

Method:

GET

Endpoint:

api/job/{id:nonzero}

Description:

Given a valid Job ID, will return details of that Job

Parameters:

ShowSRs – True/False – Not required (Default = False)

ShowTasks – True/False – Not required (Default = False)

Example Request:

https://api.firemate.com.au/api/job/233

 

Method:

GET

Endpoint:

api/job/{id:nonzero}/sr

Description:

Given a valid Job ID, will return a list of SRs

Parameters:

ShowTasks – True/False – Not required (Default = False)

Example Request:

https://api.firemate.com.au/api/job/233/sr

 

Method:

GET

Endpoint:

api/job/{id:nonzero}/techtime

Description:

Given a valid Job ID, will return a list of Technician Times

Example Request:

https://api.firemate.com.au/api/job/21/techtime

 

Method:

GET

Endpoint:

api/job/{id:nonzero}/srequipment

Description:

Given a valid Job ID, will return a list of Equipment used

Example Request:

https://api.firemate.com.au/api/job/21/srequipment

 

Method:

GET

Endpoint:

api/job/{id:nonzero}/note

Description:

Given a valid Job ID, will return a list of Notes

Example Request:

https://api.firemate.com.au/api/job/233/note

 

Method:

GET

Endpoint:

api/job/{id:nonzero}/attachment

Description:

Given a valid Job ID, will return a list of Attachments

Example Request:

https://api.firemate.com.au/api/job/233/attachment

 

Method:

GET

Endpoint:

api/job

Description:

Will return list of Jobs

Parameters:

DateCreatedAfter – DATETIME2 (UTC)

ShowSRs – True/False – Not required (Default = False)

ShowTasks – True/False – Not required (Default = False)

 

DateModifiedAfter – DATETIME2 (UTC)

ShowSRs – True/False – Not required (Default = False)

ShowTasks – True/False – Not required (Default = False)

Example Request:

https://api.firemate.com.au/api/job?DateCreatedAfter=2016-08-22T13:55:00.00&showsrs=true

 

Method:

PUT

Endpoint:

api/job/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/job/1/recordlink/123

 

Method:

PUT

Endpoint:

api/job (PUT)

Description:

Will update the Job according to the Parameters supplied

Parameters:

JSON String in Body

e.g.

{

                JobID: 21,

                Description: "Update Job description",

                OrderRef: "123456",

                RecordLink: "RL456789"

}

 

Method:

POST

Endpoint:

api/job (POST)

Description:

Creates a new Job – returns newly created record

 

Requirements:

-          CreatedByEmployeeID

-          PropertyID

-          Description

 

Parameters:

JSON String in Body

e.g.

{

                "PropertyID": 16,

                "CreatedByEmployeeID": 28,

                "Description": "New Job From API",

                "OrderRef": "...order...",

                "RecordLink": "55"

}

Example Request:

 

 

Dataset

{

    "JobID": 233,

    "PropertyID": 177,

    "CustomerID": 184,

    "GUID": "617af3d6-3adf-4878-a490-9e17903c556f",

    "PropertyName": "Strata Plan",

    "PropertyBranch": "",

    "JobStatus": "Closed",

    "Description": "Smoke alarm going off ground floor need replacing",

    "Priority": "Medium",

    "AuthorisedEmployee": "Dev Mukherjee",

    "Comments": "",

    "OrderRef": "",

    "PropertyRef": "",

    "AccountsReference": "FOB61610",

    "NumberofSRs": 1,

    "QuoteID": -1,

    "RAID": -1,

    "AlternateBillingCustomerID": -1,

    "UtcDateCreated": "0001-01-01T00:00:00",

    "UtcDateModified": "0001-01-01T00:00:00",

    "ActiveRecord": true,

    "ServiceRequests": null

}

Service Request

 

Endpoints

Method:

GET

Endpoint:

api/sr/{id:nonzero}

Description:

Given a valid Service Request ID (SR ID), will return details of that Service Request

Parameters:

ShowTasks – True/False – Not required (Default = False)

Example Request:

https://api.firemate.com.au/api/sr/233

 

Method:

GET

Endpoint:

api/sr/{id:nonzero}/task

Description:

Given a valid Service Request ID (SR ID), will return a list of Tasks

Parameters:

ShowTasks – True/False – Not required (Default = False)

Example Request:

https://api.firemate.com.au/api/sr/2251/task

 

Method:

GET

Endpoint:

api/sr/{id:nonzero}/techtime

Description:

Given a valid SR ID, will return a list of Technician Times

Example Request:

https://api.firemate.com.au/api/sr/18/techtime

 

Method:

GET

Endpoint:

api/sr/{id:nonzero}/srequipment

Description:

Given a valid SR ID, will return a list of Equipment used

Example Request:

https://api.firemate.com.au/api/sr/18/srequipment

 

Method:

GET

Endpoint:

api/sr/{id:nonzero}/defect

Description:

Given a valid SR ID, will return a list of Defects

Example Request:

https://api.firemate.com.au/api/sr/2517/defect

 

Method:

GET

Endpoint:

api/sr/{id:nonzero}/photo

Description:

Given a valid SR ID, will return a list of Photos

Example Request:

https://api.firemate.com.au/api/sr/233/photo

 

Method:

GET

Endpoint:

api/sr

Description:

Will return list of SRs

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

ShowTasks – True/False – Not required (Default = False)

 

DateCreatedAfter – DATETIME2 (UTC)

ShowTasks – True/False – Not required (Default = False)

Example Request:

https://api.firemate.com.au/api/sr?DateModifiedAfter=2016-08-22T13:55:00.00

 

Method:

PUT

Endpoint:

api/sr/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/sr/1/recordlink/123

 

Method:

POST

Endpoint:

api/sr (POST)

Description:

Creates a new Service Request – returns newly created record

 

If JobID is NOT supplied a NEW Job will also be created!

 

Requirements:

-          CreatedByEmployeeID and AssignedEmployee are Required Fields

-          PropertyID and ProductID are Required Fields as a minimum

o   IF EquipmentTypeID is provided ProductID is NOT required

o   IF AssetID is provided ProductID, EquipmentTypeID and PropertyID are NOT required

o   IF any non-required fields (ProductID/EquipmentTypeID/PropertyID) are provided they must match what will be linked from the highest-level field.

i.e. If an AssetID and a PropertyID are provided, the PropertyID (which is no longer required) needs to match the Property that the Asset is saved against in the system.

Parameters:

JSON String in Body

e.g.

{

                “JobID”: 21,

                "PropertyID": 16,

                "CreatedByEmployeeID": 28,

                "AssignedEmployeeID": 21,

                "ProductID": 1013,

                "EquipmentTypeID": 2030,

                "AssetID": 5,

                "Description": "Repair faulty Asset",

                "OrderRef": "OR789",

                "RecordLink": "55"

}

Example Request:

 

 

Dataset

{

    "SRID": 2251,

    "JobID": 1033,

    "RAID": -1,

    "NumberOfTasks": 5,

    "GUID": "D539D7D0-64B7-4824-A7F7-3AF0511BB38D",

    "AssignedEmployee": "Keith Graves",

    "Description": "Faults found during recent inspection \r\nNo access was gained upon scheduled inspection",

    "ActionTaken": "Carried out works as requested - DW",

    "SRStatus": "Closed",

    "PropertyName": "Strata Plan",

    "EquipmentTypeName": "PSA 240v photelectric smoke alarm",

    "AssetName": "2 - PSA 9v smoke alarm",

    "AssetLocation": "Unit 2",

    "AssetPropertyLevel": "",

    "ProductName": "Smoke and Heat Alarms",

    "OrderRef": "work order no 043897",

    "GPSCoordinates": "-33.845603,151.149327",

    "HasImage": "False",

    "UtcDateModified": "0001-01-01T00:00:00",

    "UtcDateCreated": "0001-01-01T00:00:00",

    "DateCompleted": "2016-09-14T08:04:35",

    "DateRequired": "2016-09-14T07:00:00",

    "ActiveRecord": true,

    "Tasks": null

}

Tasks

 

Endpoints

Method:

GET

Endpoint:

api/task/{id:nonzero}/defect

Description:

Given a valid Task ID, will return a list of Defects

Example Request:

https://api.firemate.com.au/api/task/1898/defect

 

Method:

GET

Endpoint:

api/task/{id:nonzero}

Description:

Given a valid Task ID, will return details of that Task

Example Request:

https://api.firemate.com.au/api/task/233

 

Method:

GET

Endpoint:

api/task/{id:nonzero}/photo

Description:

Given a valid Task ID, will return a list of Photos

Example Request:

https://api.firemate.com.au/api/task/233/photo

 

Method:

GET

Endpoint:

api/task

Description:

Will return list of Tasks

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

Example Request:

https://api.firemate.com.au/api/task?DateCreatedAfter=2016-08-22T13:55:00.00

 

Method:

PUT

Endpoint:

api/task/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/task/1/recordlink/123

 

Dataset

{

    "TaskID": 1556,

    "SRID": 2251,

    "GUID": "5D13ADED-C58B-4252-B7B6-FA7FE67AE3A2",

    "AssignedEmployee": "Keith Graves",

    "Description": "No access upon inspection ",

    "ActionTaken": "Tested smoke alarms and replaced batteries - DW\r\n2 x 9v batteries used $10",

    "TaskStatus": "Completed",

    "AssetName": "2 - PSA 9v smoke alarm",

    "AssetLocation": "Unit 2",

    "AssetPropertyLevel": "",

    "HasImage": "False",

    "UtcDateModified": "0001-01-01T00:00:00",

    "UtcDateCreated": "0001-01-01T00:00:00",

    "ActiveRecord": true

}

Products

 

Endpoints

Method:

GET

Endpoint:

api/product

Description:

Will return list of Products

Example Request:

https://api.firemate.com.au/api/product

 

Dataset - Product

{

"ProductID": 1001,

      "ProductName": "General Sprinkler System",

      "Description": "General Sprinkler System",

      "SETypeName": "Automatic Fire Sprinkler Systems",

      "ActiveRecord": true

}

 

Dataset - PropertyProduct

      {

            "PropertyID": 233,

            "ProductID": 1011,

            "PropertyName": "Strata Plan No 1606 5 The Esplande Balmoral",

            "PropertyRecordLink": "",

            "SETypeName": "Exit & Emergency Lighting",

            "ProductName": "Exit & Emergency Lighting Single Point System",

            "SETypeGUID": "91B76AC2-9A1F-43FC-8F58-F1168737B932",

            "PeriodName": "Six-Monthly",

            "RecordLink": "",

            "NextActivityDueDate": "2016-12-01T00:00:00",

            "UtcDateCreated": "0001-01-01T00:00:00",

            "UtcDateModified": "0001-01-01T00:00:00",

            "ActiveRecord": true

    },


 

Equipment Types

 

Endpoints

Method:

GET

Endpoint:

api/equipmentType

Description:

Will return list of Equipment Types

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

Example Request:

https://api.firemate.com.au/api/equipmenttype?DateCreatedAfter=2016-08-22T13:55:00.00

 

Method:

PUT

Endpoint:

api/equipmenttype/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/equipmenttype/1/recordlink/123

 

Dataset

        {

            "EquipmentTypeID": 2233,

            "CostPrice": 0,

            "SellPrice": 0,

            "WarrantyPeriod": 1,

            "MarginPercentage": 0,

            "SEType": "Custom Product Inspections",

            "ProductName": "Custom Product Inspections",

            "EquipmentTypeName": "Test",

            "GUID": "596921F1-A4EC-4537-919E-FEC3C6115286",

            "Description": "ttt",

            "SupplierPartNumber": "",

            "RecordLink": "",

            "StartDate": "0001-01-01T00:00:00",

            "EndDate": "0001-01-01T00:00:00",

            "UtcDateModified": "2017-12-04T04:11:16.32",

            "UtcDateCreated": "2017-12-04T04:10:55.243",

            "ActiveRecord": true

        }

Inventory

 

Endpoints

Method:

GET

Endpoint:

api/inventory

Description:

Will return list of Equipment Types

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

Example Request:

https://api.firemate.com.au/api/inventory?DateCreatedAfter=2016-08-22T13:55:00.00

 

Dataset

{

            "InventoryID": 32,

            "Quantity": 0,

            "CostPrice": 0,

            "SellPrice": 0,

            "InventoryName": "3.5KG CO2 Extinguisher",

            "ItemCode": "1033",

            "AccountReference": "",

            "AccountReferenceBuy": "",

            "AccountReferenceSell": "",

            "PartNumber": "",

            "Description": "3.5KG CO2 Extinguisher",

            "RecordLink": "",

            "UtcDateCreated": "2019-02-13T20:15:23.7",

            "UtcDateModified": "2019-02-13T20:15:23.75",

            "ActiveRecord": true,

            "SETypes": [

                {

                    "SETypeID": 1009,

                    "SETypeName": "Portable Fire Extinguishers, Fire Hose Reels & Fire Blankets"

                }

            ],

            "Products": [

                {

                    "ProductID": 1017,

                    "ProductName": "Fire Extinguishers"

                }

            ]

        },


 

Service Request Equipment

 

Endpoints

Method:

GET

Endpoint:

api/srEquipment

Description:

Will return list of Service Request Equipment

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

Example Request:

https://api.firemate.com.au/api/srequipment?DateCreatedAfter=2016-08-22T13:55:00.00

 

Method:

PUT

Endpoint:

api/srequipment/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/srequipment/1/recordlink/123

 

Dataset

        {

            "SREquipmentID": 427,

            "JobID": 1222,

            "SRID": 2674,

            "Quantity": 2,

            "Price": 15,

            "EquipmentTypeName": "Deluge Water Spray System",

            "Comments": "",

            "UtcDateCreated": "2017-11-23T23:01:27.417",

            "UtcDateModified": "0001-01-01T00:00:00",

            "IsLoaned": false,

            "ActiveRecord": true

        }

Employee

 

Endpoints

Method:

GET

Endpoint:

api/employee/{id:nonzero}

Description:

Returns an Employee given a valid ID

Example Request:

https://api.firemate.com.au/api/employee/17

 

Method:

GET

Endpoint:

api/employee (GET)

Description:

Returns a list of Employees

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

Example Request:

https://api.firemate.com.au/api/employee?DateCreatedAfter=2016-08-22T13:55:00.00

 

Method:

POST

Endpoint:

api/employee (POST)

Description:

Creates a new Employee record – returns newly created record

Parameters:

JSON String in Body

e.g.

{

                "FirstName": "Jerry",

                "LastName": "Seinfeld",

                "EmploymentType": "Sub contract",

                "RecordLink": 55

}

Example Request:

 

 

Method:

PUT

Endpoint:

api/employee/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/employee/1/recordlink/123

 

Dataset

        {

            "EmployeeID": 28,

            "GUID": "0d3e58b7-40f6-4d1c-9d13-939fe9f39021",

            "FirstName": "Boby",

            "LastName": "Bobinson",

            "EmploymentType": "Casual",

            "DOB": "",

            "Email": "",

            "Phone": "1111111",

            "Mobile": "",

            "LastGPSPosition": "",

            "LicenseNo": "",

            "ABN": "",

            "RecordLink": "",

            "UtcLastGPSUpdate": "0001-01-01T00:00:00",

            "StartDate": "2017-12-04T00:00:00",

            "EndDate": "0001-01-01T00:00:00",

            "UtcDateModified": "2017-12-04T00:28:08.437",

            "UtcDateCreated": "2017-12-04T00:28:08.437",

            "ActiveRecord": true

        }


 

Attachments

 

Endpoints

Method:

GET

Endpoint:

api/attachment

Description:

Will return list of Attchments

Parameters:

AttachmentType – String –Required

-          “Photo” – Photos taken through FM App only

-          “File” – Files Only

 

DateCreatedAfter – DATETIME2 (UTC) – Not Required

DateModifiedAfter – DATETIME2 (UTC) – Not Required

Example Request:

https://api.firemate.com.au/api/attachment?DateCreatedAfter=2018-01-01T00:00:00.000&attachmenttype=file

 

Method:

GET

Endpoint:

api/attachment

Description:

Will return list of Attchments for given ItemID and ItemType

Parameters:

AttachmentType – String –Required

-          “Photo” – Photos taken through FM App only

-          “File” – Files Only

 

ItemID – INT – Required

ItemType – String – Required

-          “RA” – Photo and File

-          “Asset” – Photo

-          “Defect” - Photo

-          “SR” – Photo

-          “Task” – Photo

-          “Customer” – File

-          “Contract” - File

-          “Property” – File

-          “Job” – File

-          “Quote” - File

Example Request:

https://api.firemate.com.au/api/attachment?ItemID=17570&ItemType=RA&attachmenttype=photo

 

Method:

POST

Endpoint:

api/attachment (POST)

Description:

Creates a new attachment – returns newly created record

 

Requirements:

-          ItemID is Required (ID of the RA/Job/SR/Property/Contract/Customer)

-          ItemType is Required (“RA”/”Job”/”SR”/”Property”/”Contract”/”Customer”)

-          FileName is Required

-          AttachmentDataURI OR FilePath is Required

-          Description NOT Required

Parameters:

JSON String in Body

e.g.

{

 "ItemID": 17570,

 "ItemType": "RA",

 "FileName": "thisFile.txt",

 "Description": "External Text file",

 "FilePath": "http://this.is.a.path.to.External.Text.File"

}

 

OR

 

{

                "ItemID": 17570,

                "ItemType": "RA",

                "FileName": "thisFile.txt",

                "AttachmentDataURI": "data:text/plain;base64,MQ==",

                "Description": "Basic Text file"

}

 

Dataset

        {

            "AttachmentID": 1,

            "ItemID": 1,

            "ItemType": "Defect",

            "FileName": "",

            "ItemRecordLink": "",

            "URLPath": "https://xxx/CF2CB42B-1AB4-477D-9AC5-9EA296E18884.jpg",

            "AttachmentType": "Photo",

            “Description”: “”,

            "UtcDateCreated": "2018-08-06T00:07:42.217",

"UtcDateCreated": "2018-08-06T00:07:42.217",

“ActiveRecord”: true

        },

Technician Times

 

Endpoints

Method:

GET

Endpoint:

api/techTime

Description:

Will return list of Technician Times

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

 

TimeStartedAfter – DATETIME (Local)

Example Request:

https://api.firemate.com.au/api/techtime?DateCreatedAfter=2016-08-22T13:55:00.00

 

Method:

PUT

Endpoint:

api/techtime/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/techtime/1/recordlink/123

 

Dataset

        {

            "TechTimeID": 4218,

            "JobID": 1222,

            "SRID": 2674,

            "RAID": -1,

            "EmployeeID": 7,

            "RecordLink": "",

            "Employee": "Brooke Callahan",

            "HourType": "Work Hours",

            "StartTime": "2017-11-24T09:55:00",

            "EndTime": "2017-11-24T22:10:00",

            "UtcDateCreated": "2017-11-23T22:58:56.56",

            "UtcDateModified": "2017-11-23T23:00:45.893",

            "ActiveRecord": true

        }


 

Timesheets

 

Endpoints

Method:

GET

Endpoint:

api/timesheet

Description:

Will return list of Technician Times

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

 

TimeStartedAfter – DATETIME (Local)

Example Request:

https://api.firemate.com.au/api/timesheet?DateCreatedAfter=2016-08-22T13:55:00.00

 

Dataset

        {

            "TechTimeID": 559,

            "EmployeeID": 17,

            "Employee": "Kim Kardashian",

            "ActiveRecord": true,

            "HourType": "Work Hours",

            "TimesheetStartTime": "2021-08-08T06:28:00",

            "TimesheetEndTime": "2021-08-08T10:28:00",

            "TimesheetSubmitted": false,

            "TimesheetApproved": false,

            "RAID": 1754,

            "JobID": -1,

            "SRID": -1,

            "PropertyID": 10,

            "PropertyName": "Hagrids Hut",

            "RecordLink": "",

            "GroupGUID": "",

            "PayRate1Minutes": -1,

            "PayRate2Minutes": -1,

            "Notes": "",

            "EventID": 1,

            "EventName": "RA Hours",

            "PayableEvent": 1,

            "ExpenseAccountCode": "",

            "IsAllowance": false,

            "AllowanceAmount": 0.0,

            "RAExpenseAccountCode": "4-3500",

            "SRExpenseAccountCode": "",

            "UtcDateCreated": "2021-09-28T04:22:33.0143714",

            "UtcDateModified": "2021-09-28T04:22:33.0143714"

        }


 

Contacts

 

Endpoints

Method:

GET

Endpoint:

api/contact

Description:

Will return list of Contacts

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

Example Request:

https://api.firemate.com.au/api/contact?DateCreatedAfter=2016-08-22T13:55:00.00

 

Method:

PUT

Endpoint:

api/contact/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/contact/1/recordlink/123

 

Dataset

        {

            "ContactID": 58,

            "RecordLink": "",

            "FirstName": "Billy",

            "MiddleName": "",

            "LastName": "Joe",

            "ContactType": "Primary",

            "CompanyName": "",

            "Position": "",

            "Phone": "",

            "Mobile": "",

            "Fax": "",

            "Email": "",

            "DOB": "0001-01-01T00:00:00",

            "UtcDateModified": "0001-01-01T00:00:00",

            "UtcDateCreated": "0001-01-01T00:00:00",

            "ActiveRecord": true

            "ContactMappings": [

                {

                    "ContactMappingID": 3869,

                    "ContactID": 0,

                    "ItemID": 395,

                    "ItemType": "Property"

                }

        }


 

Contact Mapping

 

Endpoints

Method:

GET

Endpoint:

api/contactmapping

Description:

Will return list of Contact Mappings

Parameters:

LastID – INT – Not Required

Example Request:

https://api.firemate.com.au/api/contactmapping

 

Dataset

        {

            "ContactMappingID": 8034,

            "ContactID": 1306,

            "ItemID": 449,

            "ItemType": "Property",

        }

Quotes

 

Endpoints

Method:

GET

Endpoint:

api/quote/{id:nonzero}

Description:

Will return a Quote given a valid ID

Parameters:

ShowLineItems – “showlineitems=true” - Optional

Example Request:

https://api.firemate.com.au/api/quote/223?showlineitems=true

 

Method:

GET

Endpoint:

api/quote/{id:nonzero}/attachment

Description:

Given a valid Quote ID, will return a list of Attachments

Example Request:

https://api.firemate.com.au/api/quote/233/attachment

 

Method:

GET

Endpoint:

api/quote

Description:

ShowLineItems – “showlineitems=true” – Optional

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

 

ShowLineItems – Optional - ?showlineitems=true

Example Request:

https://api.firemate.com.au/api/quote?datemodifiedafter=2017-11-23T13:55:00.00&showlineitems=true

 

Method:

PUT

Endpoint:

api/quote/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/quote/1/recordlink/123

 

Dataset

{

            "QuoteID": 588,

            "PropertyID": 387,

            "JobID": -1,

            "EmployeeID": 6,

            "TotalAmount": 0,

            "PropertyName": "10 Pretend Way",

            "PropertyRecordLink": "",

            "Status": "Created",

            "GUID": "5BBD0669-C4BC-4FA7-87D9-F5D7EA44D606",

            "Description": "qqq",

            "InternalNotes": "wwwe",

            "EmployeeName": "FireMate Support",

            "RecordLink": "",

"PropertyRef": "",

            "SentDate": "0001-01-01T00:00:00",

            "DateQuoted": "2017-12-04T16:17:11.307",

            "DateWonLost": "0001-01-01T00:00:00",

            "ExpiryDate": "2018-01-03T16:17:11.487",

            "UtcDateCreated": "2017-12-04T05:17:20.583",

            "UtcDateModified": "2017-12-04T21:50:29.843",

            "ActiveRecord": true

}


 

Invoices

 

Endpoints

Method:

GET

Endpoint:

api/invoice/{id:nonzero}

Description:

Given a valid Invoice ID, will return details of that Invoice

Parameters

ShowLineItems – “showlineitems=true” - Optional

Example Request:

https://api.firemate.com.au/api/invoice/1569

 

Method:

GET

Endpoint:

api/invoice

Description:

Will return list of Invoices

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

 

ShowLineItems – “showlineitems=true” - Optional

Example Request:

https://api.firemate.com.au/api/invoice?DateCreatedAfter=2016-08-22T13:55:00.00&showlineitems=true

 

Method:

GET

Endpoint:

api/invoice/credited

Description:

Will return list of Invoices that have been Credited

Parameters:

 

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

 

ShowLineItems – “showlineitems=true” - Optional

Example Request:

https://api.firemate.com.au/api/invoice/credited/?DateCreatedAfter=2016-08-22T13:55:00.00

 

Method:

PUT

Endpoint:

api/invoice/{id:nonzero}/exported/{exported} (PUT)

Description:

Will update the Exported flag for the given ID

Parameters:

{exported} - Boolean value: “True” or “False”

Example Request:

https://api.firemate.com.au/api/invoice/1/exported/true

 

Method:

PUT

Endpoint:

api/invoice/{id:nonzero}/paymentstatus/{status} (PUT)

Description:

Will update the Payment Status value for the given ID

Parameters:

{status} - Integer value:

0 = Paid

1 = 0-30 Days

2 = Overdue 31-60 Days

3 = Overdue 61-90 Days

4 = Overdue 90+ Days

Example Request:

https://api.firemate.com.au/api/invoice/1/paymentstatus/1

 

Method:

PUT

Endpoint:

api/invoice/{id:nonzero}/recordlink/{recordlink} (PUT)

Description:

Will update the RecordLink value for the given ID

Example Request:

https://api.firemate.com.au/api/invoice/1/recordlink/123

 

Dataset

{

    "InvoiceID": 462883,

    "CustomerID": 9175,

    "ContractID": -1,

    "JobID": -1,

    "RAID": -1,

    "NumberOfLineItems": 0,

    "NumberOfLineItemSRs": 0,

    "NumberOfLineItemFees": 0,

    "NumberOfLineItemRASEs": 0,

    "ContractBranchID": -1,

    "ConsolidatedParentInvoiceID": 462883,

    "GUID": "46A22A0A-CAC9-4FC8-8C91-654A5AA8A7F5",

    "InvoiceType": "Job",

    "CreditNote": "",

    "CreditComments": "",

    "OrderRef": "",

    "PaymentStatus": "",

    "RecordLink": "",

    "AccountsRef": "109",

    "ProjectNumber": "",

    "PeriodStart": "0001-01-01T00:00:00",

    "PeriodEnd": "0001-01-01T00:00:00",

    "InvoiceDate": "2019-11-06T09:22:02.09",

    "SentDate": "2019-11-06T09:26:55.353",

    "InvoiceDue": "2019-12-06T08:22:03.3",

    "ExportDate": "2019-11-06T23:00:18.24",

    "UtcCreditDate": "0001-01-01T00:00:00",

    "UtcDateCreated": "2019-11-05T22:22:02.1",

    "UtcDateModified": "2019-11-06T12:00:18.233",

    "ActiveRecord": true,

    "Exported": true,

    "ReadyToSend": true,

    "ExcludeGST": false,

    "Consolidated": false,

    "InvoiceAmount": 220,

    "CreditAmount": 0,

    "LineItems": null,

    "LineItemsSRs": null,

    "LineItemsContractFees": null,

    "LineItemsContractSE": null

}

Purchase Orders

 

Endpoints

Method:

GET

Endpoint:

api/purchaseOrder

Description:

Will return list of Purchase Orders - old non-integrated PO System (Supplier Purchase Orders)

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

Example Request:

https://api.firemate.com.au/api/purchaseOrder?DateCreatedAfter=2016-08-22T13:55:00.00

 

Method:

GET

Endpoint:

api/purchaseOrder-V2

Description:

Will return list of Purchase Orders - new integrated PO System (API Purchase Orders)

Parameters:

DateModifiedAfter – DATETIME2 (UTC)

 

DateCreatedAfter – DATETIME2 (UTC)

Example Request:

https://api.firemate.com.au/api/purchaseOrder-V2?DateCreatedAfter=2021-08-12T01:05:02.3134197

 

Method:

PUT

Endpoint:

api/purchaseOrder (PUT)

Description:

Given a valid Purchase Order ID (POID) will update the PO record – returns 204 “No Content” response

 

NOTE: THIS ENDPOINT IS SUBJECT TO MODIFICATION WITHOUT VERSIONING. PO’s in FireMate are still undergoing development and enhancement, so this Endpoint works now (03/07/2018) but cannot be guaranteed to work in the future!

 

Requirements:

-          POID is required

Parameters:

JSON String in Body

e.g.

{

                POID: 21,

                Price: 211,

                PriceIncTax: 212,

                GoodsReceived: true,

                SupplierID: 2,

                ReceivedByID: 21,

                Description: "UPDATED description",

                Comments: "Updated Comments",

                ActiveRedord: true

}

 

Method:

POST

Endpoint:

api/purchaseOrder (POST)

Description:

Creates a new Purchase Order record – returns newly created record

 

NOTE: THIS ENDPOINT IS SUBJECT TO MODIFICATION WITHOUT VERSIONING. PO’s in FireMate are still undergoing development and enhancement, so this Endpoint works now (26/06/2018) but cannot be guaranteed to work in the future!

 

Requirements:

-          LoggedByID is a required EmployeeID

-          PONumber is Required

-          One of either JobID OR RAID are Required

-          ReceivedByID is NOT required but if used expects an EmployeeID

Parameters:

JSON String in Body

e.g.

{

                LoggedByID: 21,

                PONumber: "21",

                Price: 211,

                PriceIncTax: 212,

                Description: "desc....",

                GoodsReceived: false,

                SupplierID: 2,

                JobID: ,

                RAID: 223,

                ReceivedByID: 21,

                Comments: "comment...."

}

 

Dataset

{

"POID": 14,

"JobID": 1971,

"RAID": -1,

"LoggedByID": 15,

"ReceivedByID": -1,

"Price": 550,

"PriceIncTax": 605,

"Description": "Annual Fire & Evacuation Training including Fire Handling (up to 20 people per session) - BH 16 Martin St",

"PONumber": "WO8862",

"Comments": "DB Quoted - $715 Sue - Strategic WO 8862  - $550",

"SupplierName": "Strategic Fire Solutions",

"ReceivedByEmployee": "",

"LoggedByEmployee": "Dena Cummings",

"TimeStamp": "2017-08-03T10:02:54.86",

"UtcDateModified": "2018-06-26T00:36:15.367",

"UtcDateCreated": "2018-06-26T00:36:15.407",

"ActiveRecord": true,

"GoodsReceived": false

},

 

Dataset (V2)

{

"POID": 3,

            "LoggedByID": 16,

            "DeliveryAcceptedByID": -1,

            "PONumber": "FM0004",

            "Notes": "",

            "Reference": "",

            "DeliveryNotes": "Deliver to: ",

            "SupplierName": "",

            "ReceivedBy": "",

            "LoggedByEmployee": "Angus&Julia Stone",

            "DeliveryAcceptedByEmployee": "",

            "UtcDateCreated": "2021-08-18T23:13:18.4064682",

            "UtcDateModified": "2021-08-18T23:13:18.4064682",

            "DateSent": "0001-01-01T00:00:00",

            "DateDelivered": "0001-01-01T00:00:00",

            "ActiveRecord": true,

            "ItemsReceived": false,

            "Approved": false,

            "Deleted": false

},


 

Suppliers

 

Endpoints

Method:

GET

Endpoint:

api/supplier

Description:

Will return list of Suppliers

Parameters:

 

Example Request:

https://api.firemate.com.au/api/supplier

 

Dataset

{

"SupplierID": 1,

"SupplierName": "FDM Australia",

"SupplierPhone": "(07) 32563033   ",

"SupplierFax": " (07) 32563933",

"SupplierEmail": "fdm@fdmaustralia.com.au",

"SupplierAccountsRef": "",

"ActiveRecord": true

},


 

Safety Checklist

 

Endpoints

Method:

GET

Endpoint:

api/safetychecklist

Description:

Will return list of Safety Checklists

Parameters:

DateRecordedAfter – DATETIME (UTC) – Not Required

 

RAID – INT – Not Required

 

SRID – INT – Not Required

Example Request:

https://api.firemate.com.au/api/safetychecklist

 

Dataset

        {

            "SafetyChecklistResultID": 1,

            "EmployeeID": 74,

            "CustomerID": 131,

            "RAID": 1822,

            "SRID": -1,

            "Comments": "Working around high voltage equipment, maintain clearances ",

            "EmployeeName": "John Trevolta",

            "CustomerName": "Icon CO. PTY LTD",

            "DateRecorded": "2018-07-04T09:49:46.147",

            "SafetyChecklistResultItems": [

                {

                    "Result": "No",

                    "ExpectedResult": "No",

                    "Prompt": "Does your task(s) involve Electrical Works?"

                },

            ]

}


 

Note

 

Endpoints

Method:

GET

Endpoint:

api/note

Description:

Will return list of Notes

Parameters:

DateModifiedAfter – DATETIME2 (UTC) – Not Required

 

DateCreatedAfter – DATETIME2 (UTC) – Not Required

Example Request:

https://api.firemate.com.au/api/note

 

Dataset

{

            "NoteID": 1,

            "CustomerID": -1,

            "ContractID": -1,

            "PropertyID": 1,

            "JobID": -1,

            "CreatedByEmployeeID": 15,

            "NoteText": "Tenant not authorised to initiate callouts.",

            "NoteType": "Technician Note",

            "CreatedByEmployeeName": "Billy Corgan",

            "StartDate": "2017-02-01T00:00:00",

            "EndDate": "0001-01-01T00:00:00",

            "UtcDateCreated": "0001-01-01T00:00:00",

            "UtcDateModified": "0001-01-01T00:00:00",

            "ActiveRecord": true

        },


 

Common Responses

 

Endpoints

Method:

GET

Endpoint:

api/commonresponse

Description:

Will return list of Common Responses

Parameters:

DateModifiedAfter – DATETIME2 (UTC) – Not Required

 

DateCreatedAfter – DATETIME2 (UTC) – Not Required

Example Request:

https://api.firemate.com.au/api/commonresponse

 

Dataset

{

            "CommonResponseID": 21,

            "ProductID": 1011,

            "SETypeName": "Exit & Emergency Lighting",

            "ProductName": "Exit & Emergency Lighting Single Point System",

            "MaintenanceStandard": "AS 2293.2 - 1995 Emergency Evacuation Lighting And Exit Signs For Buildings - Inspection & Maintenance - Single Point Systems",

            "PromptItemNo": "3.2.2.1e",

            "PromptDescription": "Operate luminaires and exit signs from battery supply",

            "ReasonResponse": "Failed 90 minute discharge test. Replace light with new LED fitting.",

            "ActionResponse": "",

            "UtcDateCreated": "2018-12-18T05:18:55.913",

            "UtcDateModified": "2019-03-27T05:45:23.52",

            "ActiveRecord": true

        },