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.
| Name | Type | Description |
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. |
limit | integer (query) | Number of results to return per page. |
offset | integer (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
| Name | Type | Description |
hour Required |
string($date-time) (query) |
A specific timestamp value, converted to a 1-hour date range. |
limit | integer (query) | Number of results to return per page. |
offset | integer (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.
| Name | Type | Description |
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. |
limit | integer (query) | Number of results to return per page. |
offset | integer (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
| Code | Media type | Description |
| 200 | application/json | Controls Accept header. |
| 400 | application/json | Example structure only – this exact response is not returned by the API. |
| 401 | application/json | Authentication credentials were missing or not accepted. |
| 403 | application/json | PermissionDenied. |
| 429 | application/json | Throttled. |
| 500 | application/json | APIException. |
List of errors can be different from endpoint to endpoint but structure is always the same.