API Documentation
Introduction
The WTMBackflowResultsAPI provides direct access to completed backflow tests conducted via the MachBackflow App. This API eliminates the need for manually transferring data between the app and test sheets or third-party programs. Additionally, it also replaces the process of exporting completed backflow test results to a CSV file and importing that file into third-party programs used for reporting and managing testing data.
The API facilitates a seamless transfer of backflow test data directly from the field to the management software, ensuring swift and efficient delivery. This eliminates errors that may arise from manual transcription and human interaction when transferring data captured in the field to third-party management software.
API Documentation
General Setup
Parameters
To access the API, you need the Company API Key (referred to as "X-Company-Api-key"). These credentials are obtained upon payment of an initial connection fee of $250.00 USD. There are no additional charges for using the API beyond the initial fee, see limits section for more information on call limits.**
To pay the connection fee and get the required credentials Contact Us. Once the fee is paid we will provide the Linked company ID and generated X-Company-Api-key.
Property | Conditional | Description |
---|---|---|
X-Company-Api-key | Required | The generated API key, provided after the intial connection fee is paid and confirmed. |
Linked company | Optional | The company id in the system, provided after initial connection fee is paid and confirmed. |
offset | Optional | Specifies where the API should start returning records from in the entire dataset. |
limit | Optional | Used to specify the maximum number of results or items that should be returned by the API in a single response. |
updated_stamp | Recommended | Used to get records after a certain date and time. |
Python Example:
The example above will retrieve all saved test results for ABC Backflow Testing from January 1st, 2024.
Limits
API Call Limits
API Pagination
Python Example:
The example above fetches completed backflow tests for the linked testing company to the API Key. It limits the number of results to 100, skips the first 5 initial records, and filters results based on the update timestamp to only fetch records after May 1st, 2024.
Free API Call Tier:
After Initial Connection Fee no cost to for API usage up 4 API calls per hour.
Higher API call rates available upon request Contact Us to inquire about higher call rates.
Results are limited to 300 per page, amount of returned results per call can be customized using the "limit" and or "offset" parameters in the API call.
Introduction
The WTMBackflowResultsAPI provides direct access to completed backflow tests conducted via the MachBackflow App. This API eliminates the need for manually transferring data between the app and test sheets or third-party programs. Additionally, it also replaces the process of exporting completed backflow test results to a CSV file and importing that file into third-party programs used for reporting and managing testing data.
The API facilitates a seamless transfer of backflow test data directly from the field to the management software, ensuring swift and efficient delivery. This eliminates errors that may arise from manual transcription and human interaction when transferring data captured in the field to third-party management software.
API Response
Response Headers
Property | Description | Type |
---|---|---|
results | An array of trace records. | {Array} |
previous | The URL of the previous page of trace records, or null if there is no previous page. | {string|null} |
next | The URL of the next page of trace records, or null if there is no next page. | {string|null} |
count | The total number of trace records. | {number} |
Property | Description | Type |
---|---|---|
guid | The unique identifier for the test result. | {string} |
facility_name | The name of the facility where the test was conducted. | {string} |
facility_address | The address of the facility. | {string} |
facility_city | The city where the facility is located. | {string} |
facility_state | The state where the facility is located. | {string} |
facility_zip | The ZIP code of the facility. | {string} |
contact_phone_number | The phone number of the contact person at the facility. | {string} |
contact_email | The email address of the contact person at the facility. | {string} |
make | The make of the equipment or system being tested. | {string} |
model | The model of the equipment or system being tested. | {string} |
assembly_type | The type of assembly being tested. | {string} |
size | The size of the assembly. | {string} |
serial_number | The serial number of the assembly. | {string} |
unique_id | The provided Unique ID of the assembly | {string|null} |
location_of_assembly | The location of the assembly. | {string} |
equipment_or_system_application | The application of the equipment or system being tested. | {string} |
equipment_or_system_application_other | Additional information about the equipment or system application. | {string} |
hazard_level | The hazard level of the assembly. | {string} |
unit_of_measure | The unit of measure for pressure values. | {string} |
created_on_device_at | The timestamp when the test result was created on the server. | {string} |
initial_test_status | The initial test status. | {string} |
initial_line_pressure_value | The initial line pressure value. | {number|null} |
initial_check_valve_1_value | The initial value of check valve 1. | {number|null} |
initial_check_valve_1_status | The status of check valve 1. | {string|null} |
initial_check_valve_2_value | The initial value of check valve 2. | {number|null} |
initial_check_valve_2_status | The status of check valve 2. | {string|null} |
initial_relief_valve_value | The initial value of the relief valve. | {number|null} |
initial_relief_valve_status | The status of the relief valve. | {string|null} |
initial_air_inlet_valve_value | The initial value of the air inlet valve. | {number|null} |
initial_air_inlet_valve_status | The status of the air inlet valve. | {string|null} |
initial_shutoff_valve_2_status | The status of shutoff valve 2. | {string|null} |
initial_comments | Additional comments for the initial test. | {string} |
initial_date_of_test | The date of the initial test. | {string} |
final_created_on_device | The timestamp when the final test result was created on the server. | {string} |
final_test_status | The final test status. | {string} |
final_line_pressure_value | The final line pressure value. | {number|null} |
final_check_valve_1_value | The final value of check valve 1. | {number|null} |
final_check_valve_1_status | The status of check valve 1. | {string|null} |
final_check_valve_2_value | The final value of check valve 2. | {number|null} |
final_check_valve_2_status | The status of check valve 2. | {string|null} |
final_relief_valve_value | The final value of the relief valve. | {number|null} |
final_relief_valve_status | The status of the relief valve. | {string|null} |
final_air_inlet_valve_value | The final value of the air inlet valve. | {number|null} |
final_air_inlet_valve_status | The status of the air inlet valve. | {string|null} |
final_shutoff_valve_2_status | The status of shutoff valve 2. | {string|null} |
final_comments | Additional comments for the final test. | {string|null} |
final_date_of_test | The date of the final test. | {string|null} |
tester_name | The name of the tester. | {string|null} |
testing_firm_name | The name of the testing firm. | {string|null} |
testing_firm_address | The address of the testing firm. | {string|null} |
testing_firm_city | The city where the testing firm is located. | {string|null} |
testing_firm_state | The state where the testing firm is located. | {string|null} |
testing_firm_zip | The ZIP code of the testing firm. | {string|null} |
certification_number | The certification number of the tester. | {string|null} |
tester_phone | The phone number of the tester. | {string|null} |
tester_email | The email address of the tester. | {string|null} |
trace_kit_make | The make of the trace kit used. | {string|null} |
trace_kit_model | The model of the trace kit used. | {string|null} |
trace_kit_serial_number | The serial number of the trace kit used. | {string|null} |
last_calibration_date | The date of the last calibration. | {string|null} |
Response Body
Example Response
General Setup
Parameters
To access the API, you need the Company API Key (referred to as "X-Company-Api-key"). These credentials are obtained upon payment of an initial connection fee of $250.00 USD. There are no additional charges for using the API beyond the initial fee, see limits section for more information on call limits.**
To pay the connection fee and get the required credentials Contact Us. Once the fee is paid we will provide the Linked company ID and generated X-Company-Api-key.
Property | Conditional | Description |
---|---|---|
X-Company-Api-key | Required | The generated API key, provided after the intial connection fee is paid and confirmed. |
Linked company | Optional | The company id in the system, provided after initial connection fee is paid and confirmed. |
offset | Optional | Specifies where the API should start returning records from in the entire dataset. |
limit | Optional | Used to specify the maximum number of results or items that should be returned by the API in a single response. |
updated_stamp | Recommended | Used to get records after a certain date and time. |
Python Example:
The example above will retrieve all saved test results for ABC Backflow Testing from January 1st, 2024.
Example Implementation
The above example automatically fetches updated backflow testing data every 30 minutes daily that is linked to the "API_Key" for the given company.
-
It does so by calculating the date and the time 30 minutes ago.
-
Sending a Get request to the API with this date and time to retrieve data updated since then.
-
Repeating this process indefinitely, ensuring that the new backflow testing data is consistently up-to-date.
Python Example:
Errors
Incorrect or Revoked API Key
Response Status Code: 401
Exceeded Number of API Calls Allowed for Free Tier (4 per hour)
Response Status Code: 429
API Documentation
Introduction
The WTMBackflowResultsAPI provides direct access to completed backflow tests conducted via the MachBackflow App. This API eliminates the need for manually transferring data between the app and test sheets or third-party programs. Additionally, it also replaces the process of exporting completed backflow test results to a CSV file and importing that file into third-party programs used for reporting and managing testing data.
The API facilitates a seamless transfer of backflow test data directly from the field to the management software, ensuring swift and efficient delivery. This eliminates errors that may arise from manual transcription and human interaction when transferring data captured in the field to third-party management software.
General Setup
Parameters
To access the API, you need the Company API Key (referred to as "X-Company-Api-key"). These credentials are obtained upon payment of an initial connection fee of $250.00 USD. There are no additional charges for using the API beyond the initial fee, see limits section for more information on call limits.**
To pay the connection fee and get the required credentials Contact Us. Once the fee is paid we will provide the Linked company ID and generated X-Company-Api-key.
Property | Conditional | Description |
---|---|---|
X-Company-Api-key | Required | The generated API key, provided after the intial connection fee is paid and confirmed. |
Linked company | Optional | The company id in the system, provided after initial connection fee is paid and confirmed. |
offset | Optional | Specifies where the API should start returning records from in the entire dataset. |
limit | Optional | Used to specify the maximum number of results or items that should be returned by the API in a single response. |
updated_stamp | Recommended | Used to get records after a certain date and time. |
Python Example:
The example above will retrieve all saved test results for ABC Backflow Testing from January 1st, 2024.