API Documentation

Endpoint and schema reference

Every vendor endpoint, its parameters, and the response codes it returns. hour is a specific timestamp value, but it will be converted to a 1-hour date range.

Working with the hour parameter. For example for value 2025-08-19T09:15:00Z. The api will return tests updated from 2025-08-19T09:00:00Z to 2025-08-19T09:59:59Z. Keep in mind that timezones with positive offset should be properly URL-encoded, i.e. replace + with %2B. Examples: 2025-10-19T15:56:00Z, 2025-10-19T15:56:00-04:00.

Completed Assembly Test Serial Numbers

GET https://api.mwmachbackflow.com/api/vendor/serial-numbers/

Return serial numbers list

In response, the API returns a list of serial numbers for all completed backflow tests that match the specified time period criteria – ensuring efficient access to relevant data without exposing full record details.

NameTypeDescription
company_id integer (query) ID of company to get serial numbers for tests only for this company.
hour Required string($date-time) (query) A specific timestamp value, converted to a 1-hour date range.
limitinteger (query)Number of results to return per page.
offsetinteger (query)The initial index from which to return the results.

Assembly Zip Code Verification

POST https://api.mwmachbackflow.com/api/vendor/traces/search/

Confirm Access and Retrieve Complete Test Data

To gain access to the full test result data, the company must submit the correct zip code for each serial number. This verification step confirms that the requesting party is authorized to access the test results, based on service area. By requiring zip code validation, the API protects tester data and ensures that only test results relevant to the third-party company making the request are shared. Once a third-party system has successfully verified zip codes for the requested serial numbers, the API responds with the full, completed backflow test results associated with those entries. The returned dataset includes all necessary test details for each assembly, enabling seamless integration

NameTypeDescription
hour Required string($date-time) (query) A specific timestamp value, converted to a 1-hour date range.
limitinteger (query)Number of results to return per page.
offsetinteger (query)The initial index from which to return the results.
Request body Required application/json Serial numbers paired with the zip code that verifies access to each test result.

Assembly Test Submission Status

GET https://api.mwmachbackflow.com/api/traces/statuses/

Get tests submitted by vendor

Retrieve the current submission status of all completed backflow tests linked to your company through a secure API call. This endpoint provides real-time, filtered visibility into whether each test result has been successfully and unsuccessfully submitted into external software tracking systems.

Seamlessly integrate submission status tracking into your third-party software platform. This capability allows your system to programmatically access the latest status of each completed backflow test—specifically identifying which results have been successfully submitted and unsuccessfully into external assembly tracking systems.

NameTypeDescription
company_id integer (query) ID of company to filter test statuses for a specific company.
hour Required string($date-time) (query) A specific timestamp value, converted to a 1-hour date range.
limitinteger (query)Number of results to return per page.
offsetinteger (query)The initial index from which to return the results.

Set Submission Status for Assembly Tests

PUT https://api.mwmachbackflow.com/api/vendor/traces/submit/

Set submission for tests

This endpoint allows you to set the submission field for completed backflow tests using the guid values obtained from the ‘Search’ endpoint. You can submit multiple tests in a single request by providing a list of guid and corresponding submission objects.

No query parameters. Request body required (application/json).

Responses

CodeMedia typeDescription
200application/jsonControls Accept header.
400application/jsonExample structure only – this exact response is not returned by the API.
401application/jsonAuthentication credentials were missing or not accepted.
403application/jsonPermissionDenied.
429application/jsonThrottled.
500application/jsonAPIException.

List of errors can be different from endpoint to endpoint but structure is always the same.

Test More Backflows Through Better Data Management

See the MachBackflow App in action and find the plan that fits your team.