NAV Navbar
shell
  • Introduction
  • Overview
  • Addresses
  • Attachments
  • Customers
  • Devices
  • Gauges
  • Hazards
  • Invoices
  • Notifications
  • Report Forms
  • Route Points
  • Routes
  • Service Locations
  • Surveys
  • Test Prices
  • Tests
  • Tracked Emails
  • Users
  • Water Purveyors
  • Introduction

    Welcome to the C3Backflow API Docs.

    You can use the API to access your C3Backflow account information programmatically.

    Everything that can be performed in the C3 App on your computer or mobile device can be performed through the API.

    Overview

    Get a hold of us

    We want this to be a really easy integration for whatever project you have.

    Ask us any question via the help bubble at the bottom right of the screen.

    We'd love to hear what you're building!

    Getting Started

    {
        "data": {
            "attributes": {
                "comment": "", 
                "created-at": "2015-04-22T13:36:27Z", 
                "name": "Anderson & Associates", 
                "phone": "441.445.1151", 
                "phone2": "", 
                "portal-email": null, 
                "updated-at": "2015-04-22T13:36:27Z"
            }, 
            "id": "269", 
            "type": "customers"
        }
    }
    

    The API is located at https://api.c3backflow.com

    All endpoints noted in this doc are based off of the root URL, for example customers /customers/<id> would be located at https://api.c3backflow.com/customers/<id>

    Our API generally conforms to the JSON API standard.

    As such all request & responses (except authentication) need to conform to the JSON API layout.

    Authentication

    C3Backflow uses authorization tokens to access the API.

    Authorization tokens are derived from an existing user of C3Backflow. The users permissions in the API match their permissions in the app. For example - a read only user role will not be able to perform any update operations in the API - only GET requests.

    Any active user on any paid plan with C3 can access the API.

    curl 'https://api.c3backflow.com/auth/login' 
         -X POST --data 'email=info@c3backflow.com&password=MyPassword!'
    

    you'll get a response back like:

      {
          "auth_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJleHAiOjE1MDU1MTE4Mjl9.slBoT24HKu_p65eG0ap4juRmAfjIy7JDlg9Hw0cksuw"
      }
    

    The authorization token needs to be included in all requests to the API in a header that looks like the following:

    Authorization: MyAuthToken

    curl 'https://api.ccc.dev:3000/customers' 
         -H 'Authorization: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJleHAiOjE1MDU1MTE4Mjl9.slBoT24HKu_p65eG0ap4juRmAfjIy7JDlg9Hw0cksuw'
    

    To get an auth token

    Make a POST request to https://api.c3backflow.com/auth/login with an email and password that matches a user account's details.

    Auth tokens are good for 24 hours from when they are requested. To refresh your auth token simple make a new request to auth/login. Your existing token(s) will not be invalidated and continue to be valid until they expire.

    Please limit auth token requests to a reasonable time period. You don't need a new auth token every 30 seconds or every request :)

    Required headers

    You'll need to send the Authorization header when making API calls.

    Header Value
    Authorization Your auth token - see getting an auth token
    User-Agent (optional) a meaningful app identifier for your API consumer

    Verbs

    The API uses restful verbs.

    Verb Description
    GET Select one or more items. Success returns 200 status code.
    POST Create a new item. Success returns 201 status code.
    PUT Update an item. Success returns 200 status code.
    DELETE Delete an item. Success returns 200 or 204 status code.

    Status Codes

    The API will respond with one of the following HTTP status codes for all requests.

    Code Description
    200 Success
    201 Success - new resource created (POST)
    204 Success - no content to return (PUT & DELETE)
    400 Bad Request -- Your request wasn't understood.
    401 Unauthorized -- Your user doesn't have permissions or your auth token has expired
    404 Not Found - method or record was not found
    422 Unprocessable Entity -- Could not complete action. Check the errors returned
    429 Too Many Requests
    500 Internal Server Error -- We had a problem with our server. Try again later.
    503 Service Unavailable -- server overloaded - try again in 5min
    504 Service Unavailable -- server overloaded - try again in 5min

    Dates

    All dates will be GMT and returned in the ISO 8601 format like 2014-09-01T09:10:11.000Z. Adjust accordingly in your app for the user's local timezone.

    CORS

    By default we do not automatically calculate or allow CORS (Cross Original Resource Sharing) headers. Please contact us if your application requires them.

    Pagination

    All list (index) operations for resources will return paginated results.

    By default this is 20 records at a time. You can configure this by adding number & size parameters to your request.

    number is the page number you would like. size is the size of the page - default of 20 - max value 250

    GET https://api.c3backflow.com/customers?size=50&number=20 will return 50 results from the 20th page of results.

    Additional Data

    Many resources accessed by the API can contain additional parameters that are not described in the docs.

    We refer to these as custom fields. They are fields added by as requirements for water purveyors you submit to or that your company has requested.

    They can be treated like any other field in any action.

    A common example is contact-name on a customer

    Addresses

    Addresses are the defined location of a service location, customer address, water purveyor address, or user or company address.

    These are used to create route points based off the latitude and longitude.

    List Addresses

    curl "https://api.c3backflow.com/addresses"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "city": "Beaverton", 
                    "created-at": "2017-06-13T19:42:40Z", 
                    "latitude": 45.491847, 
                    "line1": "3800 SW Cedar Hills Blvd", 
                    "line2": null, 
                    "longitude": -122.810073, 
                    "state": "OR", 
                    "updated-at": "2017-08-28T22:21:44Z", 
                    "zip": "97005"
                }, 
                "id": "216734", 
                "relationships": {
                    "owner": {
                        "data": {
                            "company_type_id": 2, 
                            "conversion_file_content_type": null, 
                            "conversion_file_file_name": null, 
                            "conversion_file_file_size": null, 
                            "conversion_file_updated_at": null, 
                            "country_code": "US", 
                            "created_at": "2017-06-13T19:40:21.763Z", 
                            "deleted_at": null, 
                            "devices_count": 77, 
                            "fields": {}, 
                            "id": 614, 
                            "logo_content_type": "image/jpeg", 
                            "logo_file_name": "your_logo.JPG", 
                            "logo_file_size": 46921, 
                            "logo_updated_at": "2017-08-28T22:21:44.671Z", 
                            "migration_data": null, 
                            "name": "Clean Water Utility", 
                            "phone": "012-CONTROL", 
                            "portal_bg_content_type": null, 
                            "portal_bg_file_name": null, 
                            "portal_bg_file_size": null, 
                            "portal_bg_updated_at": null, 
                            "portal_settings": {
                                "contact_email": "info@crossconnectcontrol.com", 
                                "contact_phone": "012-CONTROL", 
                                "show_company_name": true, 
                                "website_url": ""
                            }, 
                            "settings": {
                                "customer_signature_on_test": "false", 
                                "email_customer_reports": "false", 
                                "geolocate": "false", 
                                "portlet_billing_collapse_by_default": "0", 
                                "portlet_customer_page_collapse_by_default": "0", 
                                "portlet_invoicing_collapse_by_default": "0", 
                                "portlet_review_tests_collapse_by_default": "0"
                            }, 
                            "subdomain": "clean-water-utility", 
                            "time_zone": "Pacific Time (US & Canada)", 
                            "updated_at": "2017-08-28T22:21:45.285Z"
                        }
                    }
                }, 
                "type": "addresses"
            }, 
            {
                "attributes": {
                    "city": "Beaverton", 
                    "created-at": "2017-06-13T19:42:41Z", 
                    "latitude": 45.4858173, 
                    "line1": "123 Second St", 
                    "line2": null, 
                    "longitude": -122.8073274, 
                    "state": "OR", 
                    "updated-at": "2017-06-13T19:42:43Z", 
                    "zip": "97005"
                }, 
                "id": "216735", 
                "relationships": {
                    "owner": {
                        "data": {
                            "id": "124887", 
                            "type": "customers"
                        }
                    }
                }, 
                "type": "addresses"
            }
        ], 
        "links": {
            "last": "http://api.c3backflow.com/addresses?page%5Bnumber%5D=7&page%5Bsize%5D=2&size=2", 
            "next": "http://api.c3backflow.com/addresses?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "self": "http://api.c3backflow.com/addresses?page%5Bnumber%5D=1&page%5Bsize%5D=2&size=2"
        }
    }
    
    

    This endpoint retrieves all addresses.

    HTTP Request

    GET https://api.c3backflow.com/addresses

    Show an Address

    curl "https://api.c3backflow.com/addresses/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "city": "Beaverton", 
                "created-at": "2017-06-13T19:42:40Z", 
                "latitude": 45.491847, 
                "line1": "3800 SW Cedar Hills Blvd", 
                "line2": null, 
                "longitude": -122.810073, 
                "state": "OR", 
                "updated-at": "2017-08-28T22:21:44Z", 
                "zip": "97005"
            }, 
            "id": "216734", 
            "relationships": {
                "owner": {
                    "data": {
                        "company_type_id": 2, 
                        "conversion_file_content_type": null, 
                        "conversion_file_file_name": null, 
                        "conversion_file_file_size": null, 
                        "conversion_file_updated_at": null, 
                        "country_code": "US", 
                        "created_at": "2017-06-13T19:40:21.763Z", 
                        "deleted_at": null, 
                        "devices_count": 77, 
                        "fields": {}, 
                        "id": 614, 
                        "logo_content_type": "image/jpeg", 
                        "logo_file_name": "your_logo.JPG", 
                        "logo_file_size": 46921, 
                        "logo_updated_at": "2017-08-28T22:21:44.671Z", 
                        "migration_data": null, 
                        "name": "Clean Water Utility", 
                        "phone": "012-CONTROL", 
                        "portal_bg_content_type": null, 
                        "portal_bg_file_name": null, 
                        "portal_bg_file_size": null, 
                        "portal_bg_updated_at": null, 
                        "portal_settings": {
                            "contact_email": "info@crossconnectcontrol.com", 
                            "contact_phone": "012-CONTROL", 
                            "show_company_name": true, 
                            "website_url": ""
                        }, 
                        "settings": {
                            "customer_signature_on_test": "false", 
                            "email_customer_reports": "false", 
                            "geolocate": "false", 
                            "portlet_billing_collapse_by_default": "0", 
                            "portlet_customer_page_collapse_by_default": "0", 
                            "portlet_invoicing_collapse_by_default": "0", 
                            "portlet_review_tests_collapse_by_default": "0"
                        }, 
                        "subdomain": "clean-water-utility", 
                        "time_zone": "Pacific Time (US & Canada)", 
                        "updated_at": "2017-08-28T22:21:45.285Z"
                    }
                }
            }, 
            "type": "addresses"
        }
    }
    
    

    This endpoint retrieves a specific address.

    HTTP Request

    GET https://api.c3backflow.com/addresses/<ID>

    Create an Address

    curl "https://api.c3backflow.com/addresses/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    This endpoint retrieves a specific address.

    HTTP Request

    CREATE https://api.c3backflow.com/addresses/

    URL Parameters

    Parameter Description
    ID The ID of the address to create
    line-1 Line 1 of the address is the first line of the address. For routing to function correctly, Line 1 needs to be accurate. (Required)
    line-2 Line 2 of the address is the 2nd line. (Optional)
    city City is the city of the address (Required)
    state State is the state in the address (Required)
    country-code Country Code is the associated Country for the address
    zip Zip is the zip code for the address (Required)
    created-at Created At is the date the address was created
    deleted-at Deleted At is the date the adddress was deleted from C3
    updated-at Updated At is the date the address was updated or edited
    latitude Latitude is the specific latitude of the defined address. Directly related to routes.
    longitude Longtitude is the specific longtitude of the defined address. Directly related to routes.

    Update an Address

    curl "https://api.c3backflow.com/addresses/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific address.

    HTTP Request

    PUT https://api.c3backflow.com/addresses/<id>

    URL Parameters

    Parameter Description
    ID The ID of the address to update
    line-1 Line 1 of the address is the first line of the address. For routing to function correctly, Line 1 needs to be accurate. (Required)
    line-2 Line 2 of the address is the 2nd line. (Optional)
    city City is the city of the address (Required)
    state State is the state in the address (Required)
    country-code Country Code is the associated Country for the address
    zip Zip is the zip code for the address (Required)
    created-at Created At is the date the address was created
    deleted-at Deleted At is the date the adddress was deleted from C3
    updated-at Updated At is the date the address was updated or edited
    latitude Latitude is the specific latitude of the defined address. Directly related to routes.
    longitude Longtitude is the specific longtitude of the defined address. Directly related to routes.

    Delete an Address

    curl "https://api.c3backflow.com/addresses/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint deletes a specific address.

    HTTP Request

    DELETE https://api.c3backflow.com/addresses/<ID>

    Attachments

    Attachments can be uploaded by any tester or admin.

    Attachments can be added on several pages: customers, tests, surveys.

    List Attachments

    curl "https://api.c3backflow.com/attachments"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "created-at": "2017-03-28T01:35:49Z", 
                    "file-name": "2015-11-05_18.52.48.jpg", 
                    "file-size": 5372936, 
                    "file-url": "https://s3-us-west-2.amazonaws.com/assets.crossconnectcontrol.com/attachments/files/000/001/033/original/2015-11-05_18.52.48.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPIHSSMIPIYXR5LQ%2F20170915%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20170915T182130Z&X-Amz-Expires=36000&X-Amz-SignedHeaders=host&X-Amz-Signature=7ef674058a10c927a5b1278fdb7be4a3b6b08b7b4b312a7c14c56ec920077915", 
                    "updated-at": "2017-03-28T01:35:52Z"
                }, 
                "id": "1033", 
                "relationships": {
                    "created-by": {
                        "data": {
                            "id": "623", 
                            "type": "users"
                        }
                    }, 
                    "owner": {
                        "data": {
                            "id": "94834", 
                            "type": "tests"
                        }
                    }
                }, 
                "type": "attachments"
            }, 
            {
                "attributes": {
                    "created-at": "2017-04-01T00:14:09Z", 
                    "file-name": "JPEG_20170331_171359_1825782421.jpg", 
                    "file-size": 4307239, 
                    "file-url": "https://s3-us-west-2.amazonaws.com/assets.crossconnectcontrol.com/attachments/files/000/001/187/original/JPEG_20170331_171359_1825782421.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPIHSSMIPIYXR5LQ%2F20170915%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20170915T182130Z&X-Amz-Expires=36000&X-Amz-SignedHeaders=host&X-Amz-Signature=315c3a14739f961d84c7e1d55650da2e480a3232c830b7731fd929012fb046f3", 
                    "updated-at": "2017-04-01T00:14:13Z"
                }, 
                "id": "1187", 
                "relationships": {
                    "created-by": {
                        "data": {
                            "id": "623", 
                            "type": "users"
                        }
                    }, 
                    "owner": {
                        "data": null
                    }
                }, 
                "type": "attachments"
            }
        ], 
        "links": {
            "last": "http://api.c3backflow.com/attachments?page%5Bnumber%5D=5&page%5Bsize%5D=2&size=2", 
            "next": "http://api.c3backflow.com/attachments?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "self": "http://api.c3backflow.com/attachments?page%5Bnumber%5D=1&page%5Bsize%5D=2&size=2"
        }
    }
    
    

    This endpoint retrieves all attachments.

    HTTP Request

    GET https://api.c3backflow.com/attachments

    Show an Attachment

    curl "https://api.c3backflow.com/attachments/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "created-at": "2017-04-01T00:14:09Z", 
                "file-name": "JPEG_20170331_171359_1825782421.jpg", 
                "file-size": 4307239, 
                "file-url": "https://s3-us-west-2.amazonaws.com/assets.crossconnectcontrol.com/attachments/files/000/001/187/original/JPEG_20170331_171359_1825782421.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPIHSSMIPIYXR5LQ%2F20170915%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20170915T182334Z&X-Amz-Expires=36000&X-Amz-SignedHeaders=host&X-Amz-Signature=6ae19fe14a2e45fc7603863777b17d05fe0a38fb9e87566996de2c1545e026e5", 
                "updated-at": "2017-04-01T00:14:13Z"
            }, 
            "id": "1187", 
            "relationships": {
                "created-by": {
                    "data": {
                        "id": "623", 
                        "type": "users"
                    }
                }, 
                "owner": {
                    "data": null
                }
            }, 
            "type": "attachments"
        }
    }
    
    

    This endpoint retrieves a specific attachment.

    HTTP Request

    GET https://api.c3backflow.com/attachments/<ID>

    Create an Attachment

    curl "https://api.c3backflow.com/attachments/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
      "id": 2
    }
    

    This endpoint retrieves a specific attachment.

    HTTP Request

    CREATE https://api.c3backflow.com/attachments/

    URL Parameters

    Parameter Description
    ID The ID of the attachment to create
    created-at Created At is the date an attachment was created and uploaded
    location-id Photo Location ID is the place that an attachment was uploaded.
    created-by Created By is the user who created the attachment.

    Update an Attachment

    curl "https://api.c3backflow.com/attachments/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
      "id": 2
    }
    

    This endpoint updates a specific attachment.

    HTTP Request

    PUT https://api.c3backflow.com/attachments/<id>

    URL Parameters

    Parameter Description
    ID The ID of the attachment to update
    updated-at The date an attachment was udpated
    location-id Photo Location ID is the place that an attachment was uploaded.
    created-by Created By is the user who created the attachment.

    Delete an Attachment

    curl "https://api.c3backflow.com/attachments/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
      "id": 2
    }
    

    This endpoint deletes a specific attachment.

    HTTP Request

    DELETE https://api.c3backflow.com/attachments/<ID>

    Customers

    Customers are who you do work for.

    Customers are one of the core resources for C3Backflow.

    There are many resources related to customers - primarily these are Service Locations, Devices, & Tests

    List Customers

    curl "https://api.c3backflow.com/customers"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "comment": "", 
                    "created-at": "2017-04-10T17:54:12Z", 
                    "name": "Big Buck HD", 
                    "phone": "214-854-7598", 
                    "phone2": "5555555555", 
                    "portal-email": null, 
                    "updated-at": "2017-08-14T18:21:08Z"
                }, 
                "id": "118736", 
                "relationships": {
                    "address": {
                        "data": {
                            "id": "200426", 
                            "type": "addresses"
                        }
                    }, 
                    "service-locations": {
                        "data": [
                            {
                                "id": "60055", 
                                "type": "service-locations"
                            }, 
                            {
                                "id": "60371", 
                                "type": "service-locations"
                            }, 
                            {
                                "id": "65138", 
                                "type": "service-locations"
                            }
                        ]
                    }
                }, 
                "type": "customers"
            }, 
            {
                "attributes": {
                    "comment": "", 
                    "created-at": "2017-01-31T21:18:10Z", 
                    "name": "Brock Sheehan", 
                    "phone": "333-333-3333", 
                    "phone2": "222-222-2222", 
                    "portal-email": null, 
                    "updated-at": "2017-07-21T17:35:19Z"
                }, 
                "id": "104462", 
                "relationships": {
                    "address": {
                        "data": {
                            "id": "119990", 
                            "type": "addresses"
                        }
                    }, 
                    "service-locations": {
                        "data": [
                            {
                                "id": "57968", 
                                "type": "service-locations"
                            }, 
                            {
                                "id": "43989", 
                                "type": "service-locations"
                            }, 
                            {
                                "id": "43952", 
                                "type": "service-locations"
                            }
                        ]
                    }
                }, 
                "type": "customers"
            }
        ], 
        "links": {
            "last": "http://api.c3backflow.com/customers?page%5Bnumber%5D=7&page%5Bsize%5D=2&size=2", 
            "next": "http://api.c3backflow.com/customers?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "self": "http://api.c3backflow.com/customers?page%5Bnumber%5D=1&page%5Bsize%5D=2&size=2"
        }
    }
    
    

    This endpoint retrieves all customers.

    HTTP Request

    GET https://api.c3backflow.com/customers

    Show a Customer

    curl "https://api.c3backflow.com/customers/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "comment": "", 
                "created-at": "2017-01-31T21:18:10Z", 
                "name": "Brock Sheehan", 
                "phone": "333-333-3333", 
                "phone2": "222-222-2222", 
                "portal-email": null, 
                "updated-at": "2017-07-21T17:35:19Z"
            }, 
            "id": "104462", 
            "relationships": {
                "address": {
                    "data": {
                        "id": "119990", 
                        "type": "addresses"
                    }
                }, 
                "service-locations": {
                    "data": [
                        {
                            "id": "43952", 
                            "type": "service-locations"
                        }, 
                        {
                            "id": "43989", 
                            "type": "service-locations"
                        }, 
                        {
                            "id": "57968", 
                            "type": "service-locations"
                        }
                    ]
                }
            }, 
            "type": "customers"
        }
    }
    
    

    This endpoint retrieves a specific customer.

    HTTP Request

    GET https://api.c3backflow.com/customers/<ID>

    URL Parameters

    Parameter Description
    ID The ID of the customer to retrieve

    Create a Customer

    curl "https://api.c3backflow.com/customers/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    This endpoint retrieves a specific customer.

    HTTP Request

    CREATE https://api.c3backflow.com/customers/

    URL Parameters

    Parameter Description
    name The name of the customer
    phone Phone # of the customer
    phone2 Second Phone # of the customer
    portal_email Email used for the Customer Portal for this customer (optional)

    Update a Customer

    curl "https://api.c3backflow.com/customers/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific customer.

    HTTP Request

    PUT https://api.c3backflow.com/customers/<id>

    URL Parameters

    Parameter Description
    name The name of the customer
    phone Phone # of the customer
    phone2 Second Phone # of the customer
    portal_email Email used for the Customer Portal for this customer (optional)

    Delete a Customer

    curl "https://api.c3backflow.com/customers/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint retrieves a specific customer.

    HTTP Request

    DELETE https://api.c3backflow.com/customers/<ID>

    Devices

    Devices are what tests are perfomed on.

    Devices are one of the core resources for C3Backflow.

    There are many resources related to devices. Primarily these are Service Locations, Customer, & Tests.

    List Devices

    curl "https://api.c3backflow.com/devices"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "created-at": "2017-01-31T19:11:23Z", 
                    "last-tested-at": "2017-05-19T20:27:00Z", 
                    "location": "By Meter", 
                    "serial": "123456", 
                    "size": "2\"", 
                    "updated-at": "2017-08-28T20:29:58Z"
                }, 
                "id": "120233", 
                "relationships": {
                    "service-location": {
                        "data": {
                            "id": "64526", 
                            "type": "service-locations"
                        }
                    }, 
                    "water-purveyor": {
                        "data": {
                            "id": "994", 
                            "type": "water-purveyors"
                        }
                    }
                }, 
                "type": "devices"
            }, 
            {
                "attributes": {
                    "created-at": "2017-01-31T19:11:23Z", 
                    "last-tested-at": "2017-04-07T00:17:00Z", 
                    "location": "10' East of meter", 
                    "serial": "654231", 
                    "size": "2\"", 
                    "updated-at": "2017-08-28T20:53:02Z"
                }, 
                "id": "120234", 
                "relationships": {
                    "service-location": {
                        "data": {
                            "id": "43947", 
                            "type": "service-locations"
                        }
                    }, 
                    "water-purveyor": {
                        "data": {
                            "id": "983", 
                            "type": "water-purveyors"
                        }
                    }
                }, 
                "type": "devices"
            }
        ], 
        "links": {
            "last": "http://api.c3backflow.com/devices?page%5Bnumber%5D=28&page%5Bsize%5D=2&size=2", 
            "next": "http://api.c3backflow.com/devices?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "self": "http://api.c3backflow.com/devices?page%5Bnumber%5D=1&page%5Bsize%5D=2&size=2"
        }
    }
    
    

    This endpoint retrieves all devices.

    HTTP Request

    GET https://api.c3backflow.com/devices

    Show a Device

    curl "https://api.c3backflow.com/devices/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "created-at": "2017-01-31T19:11:23Z", 
                "last-tested-at": "2017-04-07T00:17:00Z", 
                "location": "10' East of meter", 
                "serial": "654231", 
                "size": "2\"", 
                "updated-at": "2017-08-28T20:53:02Z"
            }, 
            "id": "120234", 
            "relationships": {
                "service-location": {
                    "data": {
                        "id": "43947", 
                        "type": "service-locations"
                    }
                }, 
                "water-purveyor": {
                    "data": {
                        "id": "983", 
                        "type": "water-purveyors"
                    }
                }
            }, 
            "type": "devices"
        }
    }
    
    

    This endpoint retrieves a specific device.

    HTTP Request

    GET https://api.c3backflow.com/devices/<ID>

    Create a Device

    curl "https://api.c3backflow.com/devices/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    This endpoint creates a specific device.

    HTTP Request

    CREATE https://api.c3backflow.com/devices/

    URL Parameters

    Parameter Description
    ID The ID of the device to create
    service-location Service Location is the address at which a device is located.
    manufacturer Manufacturer is the recorded maker of the device (required)
    water-purveyor Each device has one Water Purveyor associated with it. (required)
    model Model is the recorded model of the device.
    type Type defines what type of test is perfomed for a device. Type can be one of the following: DC, DCDA, DCDA II, RPDA, RPDA II, RPZ, SC, SVB, HBVP, AVB, Air PVB, or SCDA.
    serial The serial # for a specific device.
    size The size of a specific device
    location Location is the specific place of an installed device
    last-tested-at The date a specific device was last tested.
    created-at Created At is the date a device was created.
    updated-at Updated At is the date a device was edited or updated.
    deleted-at The date a device was deleted within the system. This is not necessarily the date a device was physically removed.

    Update a Device

    curl "https://api.c3backflow.com/devices/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific device.

    HTTP Request

    PUT https://api.c3backflow.com/devices/<id>

    URL Parameters

    Parameter Description
    ID The ID of the device to update
    service-location Service Location is the address at which a device is located.
    manufacturer Manufacturer is the recorded maker of the device (required)
    water-purveyor Each device has one Water Purveyor associated with it. (required)
    model Model is the recorded model of the device.
    type Type defines what type of test is perfomed for a device. Type can be one of the following: DC, DCDA, DCDA II, RPDA, RPDA II, RPZ, SC, SVB, HBVP, AVB, Air PVB, or SCDA.
    serial The serial # for a specific device.
    size The size of a specific device
    location Location is the specific place of an installed device
    last-tested-at The date a specific device was last tested.
    created-at Created At is the date a device was created.
    updated-at Updated At is the date a device was edited or updated.
    deleted-at The date a device was deleted within the system. This is not necessarily the date a device was physically removed.

    Delete a Device

    curl "https://api.c3backflow.com/devices/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint deletes a specific device.

    HTTP Request

    DELETE https://api.c3backflow.com/devices/<ID>

    Gauges

    Gauges is how you do your work in the field to test backflow prevention devices.

    Testers require Gauges to test devices and submit test reports to water-purveyors. Gauges information is generated on backflow test reports.

    They are most closely related to tests and testers.

    List Gauges

    curl "https://api.c3backflow.com/gauges"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "calibration-date": "2016-12-01", 
                    "created-at": "2017-01-31T19:11:23Z", 
                    "manufacturer": "Mid-West", 
                    "model": "845-3", 
                    "serial": "852741123", 
                    "updated-at": "2017-06-02T20:43:52Z"
                }, 
                "id": "122", 
                "relationships": {
                    "tester": {
                        "data": {
                            "id": "623", 
                            "type": "users"
                        }
                    }
                }, 
                "type": "gauges"
            }, 
            {
                "attributes": {
                    "calibration-date": "2017-02-01", 
                    "created-at": "2017-03-02T19:06:00Z", 
                    "manufacturer": "Mid-West", 
                    "model": "545", 
                    "serial": "8564123", 
                    "updated-at": "2017-03-02T19:06:00Z"
                }, 
                "id": "146", 
                "relationships": {
                    "tester": {
                        "data": {
                            "id": "652", 
                            "type": "users"
                        }
                    }
                }, 
                "type": "gauges"
            }
        ], 
        "links": {}
    }
    
    

    This endpoint retrieves all gauges.

    HTTP Request

    GET https://api.c3backflow.com/gauges

    Show a Gauge

    curl "https://api.c3backflow.com/gauges/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "calibration-date": "2016-12-01", 
                "created-at": "2017-01-31T19:11:23Z", 
                "manufacturer": "Mid-West", 
                "model": "845-3", 
                "serial": "852741123", 
                "updated-at": "2017-06-02T20:43:52Z"
            }, 
            "id": "122", 
            "relationships": {
                "tester": {
                    "data": {
                        "id": "623", 
                        "type": "users"
                    }
                }
            }, 
            "type": "gauges"
        }
    }
    

    This endpoint retrieves a specific gauge.

    HTTP Request

    GET https://api.c3backflow.com/gauges/<ID>

    Create a Gauge

    curl "https://api.c3backflow.com/gauges/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    This endpoint creates a specific gauge.

    HTTP Request

    CREATE https://api.c3backflow.com/gauges/

    URL Parameters

    Parameter Description
    ID The ID of the gauge to create
    tester Tester is the user of the specific gauge.
    serial Each gauge has a specific Serial.
    manufacturer Manufacturer is a free form text for the gauge.
    model Model is the model number of the specified gauge.
    calibration-date Calibration Date is the recorded date a gauge was calibrated. A calibrated gauge is requied to perform backflow tests.
    created-at Created At is the date a gauge was created
    updated-at Updated At is the date a gauge was updated
    deleted-at Deleted At is the date a gauge was deleted

    Update a Gauge

    curl "https://api.c3backflow.com/gauges/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific gauge.

    HTTP Request

    PUT https://api.c3backflow.com/gauges/<id>

    URL Parameters

    Parameter Description
    ID The ID of the gauge to update
    tester Tester is the user of the specific gauge.
    serial Each gauge has a specific Serial.
    manufacturer Manufacturer is a free form text for the gauge.
    model Model is the model number of the specified gauge.
    calibration-date Calibration Date is the recorded date a gauge was calibrated. A calibrated gauge is requied to perform backflow tests.
    created-at Created At is the date a gauge was created
    updated-at Updated At is the date a gauge was updated
    deleted-at Deleted At is the date a gauge was deleted

    Delete a Gauge

    curl "https://api.c3backflow.com/gauges/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint deletes a specific gauge.

    HTTP Request

    DELETE https://api.c3backflow.com/gauges/<ID>

    Hazards

    A hazard is a user-defined deficiency at a service location.

    Hazards are most related to surveys and service locations.

    List Hazards

    curl "https://api.c3backflow.com/hazards"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "comment": "b", 
                    "created-at": "2017-07-23T23:29:27Z", 
                    "internal-comment": "b", 
                    "location": "b", 
                    "remediation": null, 
                    "status": "Compliant", 
                    "updated-at": "2017-07-23T23:46:06Z"
                }, 
                "id": "2", 
                "relationships": {
                    "device": {
                        "data": null
                    }, 
                    "service-location": {
                        "data": null
                    }
                }, 
                "type": "hazards"
            }, 
            {
                "attributes": {
                    "comment": null, 
                    "created-at": "2017-07-24T17:18:02Z", 
                    "internal-comment": null, 
                    "location": null, 
                    "remediation": null, 
                    "status": "Compliant", 
                    "updated-at": "2017-07-24T17:18:02Z"
                }, 
                "id": "3", 
                "relationships": {
                    "device": {
                        "data": null
                    }, 
                    "service-location": {
                        "data": null
                    }
                }, 
                "type": "hazards"
            }
        ], 
        "links": {
            "last": "http://api.ccc.dev:3000/hazards?page%5Bnumber%5D=3&page%5Bsize%5D=2&size=2", 
            "next": "http://api.ccc.dev:3000/hazards?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "self": "http://api.ccc.dev:3000/hazards?page%5Bnumber%5D=1&page%5Bsize%5D=2&size=2"
        }
    }
    
    

    This endpoint retrieves all hazards.

    HTTP Request

    GET https://api.c3backflow.com/hazards

    curl "https://api.c3backflow.com/hazards/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "comment": null, 
                "created-at": "2017-07-24T17:18:02Z", 
                "internal-comment": null, 
                "location": null, 
                "remediation": null, 
                "status": "Compliant", 
                "updated-at": "2017-07-24T17:18:02Z"
            }, 
            "id": "3", 
            "relationships": {
                "device": {
                    "data": null
                }, 
                "service-location": {
                    "data": null
                }
            }, 
            "type": "hazards"
        }
    }
    
    

    This endpoint retrieves a specific hazard.

    HTTP Request

    GET https://api.c3backflow.com/hazards/<ID>

    Create a Hazard

    curl "https://api.c3backflow.com/hazards/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    This endpoint retrieves a specific hazard.

    HTTP Request

    CREATE https://api.c3backflow.com/hazards/

    URL Parameters

    Parameter Description
    ID The ID of the hazard to create
    created-at Created At is the date a hazard is first created on a survey or test
    deleted-at Deleted At is the date a hazard is deleted
    location Location is the specific area of a service location where a hazard is reported.
    service-location The service location is the address at which is a specific survey is performed.
    status A hazard can be in one of the following statuses: compliant, non-compliant, being remediated, and removed.
    updated-at Updated At is the date a hazard is edited or updated in status.

    Update a Hazard

    curl "https://api.c3backflow.com/hazards/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific hazard.

    HTTP Request

    PUT https://api.c3backflow.com/hazards/<id>

    URL Parameters

    Parameter Description
    ID The ID of the hazard to update
    created-at Created At is the date a hazard is first created on a survey or test
    deleted-at Deleted At is the date a hazard is deleted
    location Location is the specific area of a service location where a hazard is reported.
    service-location The service location is the address at which is a specific survey is performed.
    status A hazard can be in one of the following statuses: compliant, non-compliant, being remediated, and removed.
    updated-at Updated At is the date a hazard is edited or updated in status.

    Delete a Hazard

    curl "https://api.c3backflow.com/hazards/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint deletes a specific hazard.

    HTTP Request

    DELETE https://api.c3backflow.com/hazards/<ID>

    Invoices

    Invoices are how you bill customers for performed tests and surveys.

    Invoices are most closely related to customers, tests, and surveys. Invoices are comprised of line items, including tax when appropriate. A survey or test can create an invoice line item.

    List Invoices

    curl "https://api.c3backflow.com/invoices"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "created-at": "2017-03-25T03:42:24Z", 
                    "due-date": null, 
                    "invoiced-at": "2017-03-25T03:47:54Z", 
                    "paid-at": "2017-03-25T03:48:04Z", 
                    "payment-terms": "Due on receipt", 
                    "status": "Paid", 
                    "tax-amount": null, 
                    "tax-rate": "0.0", 
                    "total-amount": "10.0", 
                    "updated-at": "2017-03-27T05:21:02Z"
                }, 
                "id": "1", 
                "relationships": {
                    "customer": {
                        "data": {
                            "id": "104462", 
                            "type": "customers"
                        }
                    }
                }, 
                "type": "invoices"
            }, 
            {
                "attributes": {
                    "created-at": "2017-03-25T03:53:28Z", 
                    "due-date": null, 
                    "invoiced-at": "2017-03-27T05:22:10Z", 
                    "paid-at": "2017-03-27T05:24:45Z", 
                    "payment-terms": "Due on receipt", 
                    "status": "Paid", 
                    "tax-amount": null, 
                    "tax-rate": "0.0", 
                    "total-amount": "10.0", 
                    "updated-at": "2017-03-27T05:24:45Z"
                }, 
                "id": "2", 
                "relationships": {
                    "customer": {
                        "data": {
                            "id": "104462", 
                            "type": "customers"
                        }
                    }
                }, 
                "type": "invoices"
            }
        ], 
        "links": {
            "last": "http://api.c3backflow.com/invoices?page%5Bnumber%5D=16&page%5Bsize%5D=2&size=2", 
            "next": "http://api.c3backflow.com/invoices?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "self": "http://api.c3backflow.com/invoices?page%5Bnumber%5D=1&page%5Bsize%5D=2&size=2"
        }
    }
    
    

    This endpoint retrieves all invoices.

    HTTP Request

    GET https://api.c3backflow.com/invoices

    Show an Invoice

    curl "https://api.c3backflow.com/invoices/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "created-at": "2017-03-25T03:53:28Z", 
                "due-date": null, 
                "invoiced-at": "2017-03-27T05:22:10Z", 
                "paid-at": "2017-03-27T05:24:45Z", 
                "payment-terms": "Due on receipt", 
                "status": "Paid", 
                "tax-amount": null, 
                "tax-rate": "0.0", 
                "total-amount": "10.0", 
                "updated-at": "2017-03-27T05:24:45Z"
            }, 
            "id": "2", 
            "relationships": {
                "customer": {
                    "data": {
                        "id": "104462", 
                        "type": "customers"
                    }
                }
            }, 
            "type": "invoices"
        }
    }
    
    

    This endpoint retrieves a specific invoice.

    HTTP Request

    GET https://api.c3backflow.com/invoices/<ID>

    Create an Invoice

    curl "https://api.c3backflow.com/invoices/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    This endpoint retrieves a specific invoice.

    HTTP Request

    CREATE https://api.c3backflow.com/invoices/

    URL Parameters

    Parameter Description
    ID The ID of the invoice to create
    created-at Created At is the date an invoice was created.
    customer-id Customer ID is the customer that the invoice is associated with.
    deleted-at This is the date an invoice was deleted.
    due-date Due date is the calendar date that the invoice is due. Any invoices marked as paid after this date are past due.
    invoiced-at Invoiced At is the date that the invoice was mailed or emailed to a customer.
    paid-at Paid At is the date you received payment on an invoice from a customer.
    payment-terms An Invoice can have one of several payment terms decided by the company per individual invoice.
    status An invoice can be in one of several statuses including Not Invoiced, Invoiced, Paid, Won't Invoice, and Past Due.
    total-amount Total Amount is the full sum of the invoice including line items and tax.
    updated-at Updated At is the date at which an invoice was updated or edited.

    Update an Invoice

    curl "https://api.c3backflow.com/invoices/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific invoice.

    HTTP Request

    PUT https://api.c3backflow.com/invoices/<id>

    URL Parameters

    Parameter Description
    ID The ID of the invoice to delete
    created-at Created At is the date an invoice was created.
    customer-id Customer ID is the customer that the invoice is associated with.
    deleted-at This is the date an invoice was deleted.
    due-date Due date is the calendar date that the invoice is due. Any invoices marked as paid after this date are past due.
    invoiced-at Invoiced At is the date that the invoice was mailed or emailed to a customer.
    paid-at Paid At is the date you received payment on an invoice from a customer.
    payment-terms An Invoice can have one of several payment terms decided by the company per individual invoice.
    status An invoice can be in one of several statuses including Not Invoiced, Invoiced, Paid, Won't Invoice, and Past Due.
    total-amount Total Amount is the full sum of the invoice including line items and tax.
    updated-at Updated At is the date at which an invoice was updated or edited.

    Delete an Invoice

    curl "https://api.c3backflow.com/invoices/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint deletes a specific invoice.

    HTTP Request

    DELETE https://api.c3backflow.com/invoices/<ID>

    Notifications

    Notifications are how you notify your customers of upcoming surveys and tests. Notifications are most closely related to customers and tracked-emails.

    List Notifications

    curl "https://api.c3backflow.com/notifications"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "created-at": "2017-05-10T00:15:18Z", 
                    "name": "Test Time", 
                    "status": "Waiting response", 
                    "updated-at": "2017-05-10T23:31:18Z"
                }, 
                "id": "53", 
                "relationships": {
                    "created-by": {
                        "data": {
                            "id": "623", 
                            "type": "users"
                        }
                    }
                }, 
                "type": "notifications-batches"
            }, 
            {
                "attributes": {
                    "created-at": "2017-05-11T23:22:45Z", 
                    "name": "Test", 
                    "status": "Pending", 
                    "updated-at": "2017-05-11T23:22:45Z"
                }, 
                "id": "56", 
                "relationships": {
                    "created-by": {
                        "data": {
                            "id": "623", 
                            "type": "users"
                        }
                    }
                }, 
                "type": "notifications-batches"
            }
        ], 
        "links": {
            "last": "http://api.c3backflow.com/notifications?page%5Bnumber%5D=5&page%5Bsize%5D=2&size=2", 
            "next": "http://api.c3backflow.com/notifications?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "self": "http://api.c3backflow.com/notifications?page%5Bnumber%5D=1&page%5Bsize%5D=2&size=2"
        }
    }
    
    

    This endpoint retrieves all notifications.

    HTTP Request

    GET https://api.c3backflow.com/notifications

    Show a Notification

    curl "https://api.c3backflow.com/notifications/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "created-at": "2017-05-10T00:15:18Z", 
                "name": "Test Time", 
                "status": "Waiting response", 
                "updated-at": "2017-05-10T23:31:18Z"
            }, 
            "id": "53", 
            "relationships": {
                "created-by": {
                    "data": {
                        "id": "623", 
                        "type": "users"
                    }
                }
            }, 
            "type": "notifications-batches"
        }
    }
    

    This endpoint retrieves a specific notification.

    HTTP Request

    GET https://api.c3backflow.com/notifications/<ID>

    Create a Notification

    curl "https://api.c3backflow.com/notifications/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    This endpoint retrieves a specific notification.

    HTTP Request

    CREATE https://api.c3backflow.com/notifications/

    URL Parameters

    Parameter Description
    ID The ID of the notification to create
    name The name of the notification
    batch-type Batch type is the method in which a notification is sent and includes mail-merge and email.
    created-at Created At is the date that a notificatiosn batch was created.
    deleted-at Deleted at is the date that a notifications batch was deleted.
    status A notification can be in one of several statuses including pending, processing, waiting reponse, complete, and cancelled.
    updated-at Updated At is the date that a notification batch was updated.
    created-by The user that created a notifications batch is the Created By ID.

    Update a Notification

    curl "https://api.c3backflow.com/notifications/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific notification.

    HTTP Request

    PUT https://api.c3backflow.com/notifications/<id>

    URL Parameters

    Parameter Description
    ID The ID of the notification to update
    name The name of the notification
    batch-type Batch type is the method in which a notification is sent and includes mail-merge and email.
    created-at Created At is the date that a notificatiosn batch was created.
    deleted-at Deleted at is the date that a notifications batch was deleted.
    status A notification can be in one of several statuses including pending, processing, waiting reponse, complete, and cancelled.
    updated-at Updated At is the date that a notification batch was updated.
    created-by The user that created a notifications batch is the Created By ID.

    Delete a Notification

    curl "https://api.c3backflow.com/notifications/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint retrieves a specific notification.

    HTTP Request

    DELETE https://api.c3backflow.com/notifications/<ID>

    Report Forms

    Report-forms are what you use to report necessary information. Report information can vary greatly.

    Report-forms can be in the form of invoice, test, or survey.

    Report-forms are one of the core resources for C3Backflow. There are many resources related to report-forms. Some of the resouces associated are surveys, invoices, tests, water purveyors, and devices.

    List Report Forms

    curl "https://api.c3backflow.com/report-forms"
      -H "Authorization: MyAuthToken"
    

    This endpoint retrieves all report-forms.

    HTTP Request

    GET https://api.c3backflow.com/report-forms

    Show a Report Form

    curl "https://api.c3backflow.com/report-forms/2"
      -H "Authorization: MyAuthToken"
    

    This endpoint retrieves a specific report-form.

    HTTP Request

    GET https://api.c3backflow.com/report-forms/<ID>

    Create a Report Form

    curl "https://api.c3backflow.com/report-forms/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    This endpoint creates a specific report-form.

    HTTP Request

    CREATE https://api.c3backflow.com/report-forms/

    URL Parameters

    Parameter Description
    ID The ID of the report-form to retrieve
    report-type Report type includes invoice, test, or survey.
    name Name is what a Report form is called. It often reflects a water purveyor name to easily identify it.
    water-purveyors Report Forms are created per individual Water Purveyor.

    Update a Report Form

    curl "https://api.c3backflow.com/report-forms/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific report-form.

    HTTP Request

    PUT https://api.c3backflow.com/report-forms/<id>

    URL Parameters

    Parameter Description
    ID The ID of the report-form to retrieve
    report-type Report type includes invoice, test, or survey.
    name Name is what a Report form is called. It often reflects a water purveyor name to easily identify it.
    water-purveyors Report Forms are created per individual Water Purveyor.

    Delete a Report Form

    curl "https://api.c3backflow.com/report-forms/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint deletes a specific report-form.

    HTTP Request

    DELETE https://api.c3backflow.com/report-forms/<ID>

    Route Points

    Route-points are the latitude and longitude associated with the address of route stop addresses.

    List Route Points

    curl "https://api.c3backflow.com/route-points"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "commit-date": null, 
                    "created-at": "2017-03-09T15:34:50Z", 
                    "order": 0, 
                    "surveys-count": 0, 
                    "tests-count": 0, 
                    "updated-at": "2017-03-31T20:44:26Z"
                }, 
                "id": "13597", 
                "relationships": {
                    "route": {
                        "data": {
                            "id": "573", 
                            "type": "routes"
                        }
                    }, 
                    "service-location": {
                        "data": {
                            "id": "43948", 
                            "type": "service-locations"
                        }
                    }
                }, 
                "type": "route-points"
            }, 
            {
                "attributes": {
                    "commit-date": null, 
                    "created-at": "2017-03-09T15:34:50Z", 
                    "order": 0, 
                    "surveys-count": 0, 
                    "tests-count": 0, 
                    "updated-at": "2017-03-31T20:51:43Z"
                }, 
                "id": "13599", 
                "relationships": {
                    "route": {
                        "data": {
                            "id": "142", 
                            "type": "routes"
                        }
                    }, 
                    "service-location": {
                        "data": {
                            "id": "43947", 
                            "type": "service-locations"
                        }
                    }
                }, 
                "type": "route-points"
            }
        ], 
        "links": {
            "last": "http://api.c3backflow.com/route_points?page%5Bnumber%5D=1245&page%5Bsize%5D=2&size=2", 
            "next": "http://api.c3backflow.com/route_points?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "self": "http://api.c3backflow.com/route_points?page%5Bnumber%5D=1&page%5Bsize%5D=2&size=2"
        }
    }
    
    

    This endpoint retrieves all route-points.

    HTTP Request

    GET https://api.c3backflow.com/route-points

    Show a Route Point

    curl "https://api.c3backflow.com/route-points/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "commit-date": null, 
                "created-at": "2017-03-09T15:34:50Z", 
                "order": 0, 
                "surveys-count": 0, 
                "tests-count": 0, 
                "updated-at": "2017-03-31T20:51:43Z"
            }, 
            "id": "13599", 
            "relationships": {
                "route": {
                    "data": {
                        "id": "142", 
                        "type": "routes"
                    }
                }, 
                "service-location": {
                    "data": {
                        "id": "43947", 
                        "type": "service-locations"
                    }
                }
            }, 
            "type": "route-points"
        }
    }
    
    
    

    This endpoint retrieves a specific route-point.

    HTTP Request

    GET https://api.c3backflow.com/route-points/<ID>

    curl "https://api.c3backflow.com/route-points/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    This endpoint retrieves a specific route-point.

    HTTP Request

    CREATE https://api.c3backflow.com/route-points/

    URL Parameters

    Parameter Description
    service-location Service location is the address for which a route point is generated.

    Update a Route Point

    curl "https://api.c3backflow.com/route-points/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific route-point.

    HTTP Request

    PUT https://api.c3backflow.com/route-points/<id>

    URL Parameters

    Parameter Description
    service-location Service location is the address for which a route point is generated.

    Delete a Route Point

    curl "https://api.c3backflow.com/route-points/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint deletes a specific route-point.

    HTTP Request

    DELETE https://api.c3backflow.com/route-points/<ID>

    Routes

    Routes are a series of navigated addreses that a tester utlizes to test devices. A route can have many stops and many devices. Each stop may have one or more tests.

    There are many resources related to routes. Primarily these are Service Locations, Devices, Customers, & Tests.

    List Routes

    curl "https://api.c3backflow.com/routes"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "created-at": "2017-01-31T19:11:24Z", 
                    "name": "Example Route", 
                    "status": "Cancelled", 
                    "updated-at": "2017-02-23T17:12:32Z"
                }, 
                "id": "403", 
                "relationships": {
                    "created-by": {
                        "data": null
                    }, 
                    "route-points": {
                        "data": []
                    }, 
                    "tester": {
                        "data": {
                            "id": "623", 
                            "type": "users"
                        }
                    }
                }, 
                "type": "routes"
            }, 
            {
                "attributes": {
                    "created-at": "2017-02-23T17:09:19Z", 
                    "name": null, 
                    "status": "Cancelled", 
                    "updated-at": "2017-02-23T17:12:29Z"
                }, 
                "id": "513", 
                "relationships": {
                    "created-by": {
                        "data": null
                    }, 
                    "route-points": {
                        "data": []
                    }, 
                    "tester": {
                        "data": null
                    }
                }, 
                "type": "routes"
            }
        ], 
        "links": {
            "last": "http://api.c3backflow.com/routes?page%5Bnumber%5D=28&page%5Bsize%5D=2&size=2", 
            "next": "http://api.c3backflow.com/routes?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "self": "http://api.c3backflow.com/routes?page%5Bnumber%5D=1&page%5Bsize%5D=2&size=2"
        }
    }
    
    

    This endpoint retrieves all routes.

    HTTP Request

    GET https://api.c3backflow.com/routes

    Show a Route

    curl "https://api.c3backflow.com/routes/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "created-at": "2017-02-23T17:09:19Z", 
                "name": null, 
                "status": "Cancelled", 
                "updated-at": "2017-02-23T17:12:29Z"
            }, 
            "id": "513", 
            "relationships": {
                "created-by": {
                    "data": null
                }, 
                "route-points": {
                    "data": []
                }, 
                "tester": {
                    "data": null
                }
            }, 
            "type": "routes"
        }
    }
    
    

    This endpoint retrieves a specific route.

    HTTP Request

    GET https://api.c3backflow.com/routes/<ID>

    Create a Route

    curl "https://api.c3backflow.com/routes/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    This endpoint creates a specific route.

    HTTP Request

    CREATE https://api.c3backflow.com/routes/

    URL Parameters

    Parameter Description
    name Name is the easily recognizable route name for a company and tester.
    tester Tester is the user who is assigned to the route. (Required)
    created-by Created By is the user who created the route.
    stops Stops is the number of stops on a given route. There can be mulitple tests at a stop. (required)
    tests Tests is the number of tests on a given route. (required)
    status Route Status includes ready, testing, finsihed, and cancelled. (required)
    last-updated Last updated is the date the route was most recently updated.

    Update a Route

    curl "https://api.c3backflow.com/routes/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific route.

    HTTP Request

    PUT https://api.c3backflow.com/routes/<id>

    URL Parameters

    Parameter Description
    name Name is the easily recognizable route name for a company and tester.
    tester Tester is the user who is assigned to the route.
    created-by Created By is the user who created the route.
    stops Stops is the number of stops on a given route. There can be mulitple tests at a stop.
    tests Tests is the number of tests on a given route.
    status Route Status includes ready, testing, finsihed, and cancelled.
    last-updated Last updated is the date the route was most recently updated.

    Delete a Route

    curl "https://api.c3backflow.com/routes/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint deletes a specific route.

    HTTP Request

    DELETE https://api.c3backflow.com/routes/<ID>

    Service Locations

    Service-locations are the associated address for any given backflow device or survey location. Service location addresses are generated on Backflow Reports and Survey Reports.

    A customer can have one or mulitple service locations.

    List Service Locations

    curl "https://api.c3backflow.com/service-locations"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "created-at": "2017-03-16T03:39:43Z", 
                    "updated-at": "2017-08-28T20:52:48Z"
                }, 
                "id": "43946", 
                "relationships": {
                    "address": {
                        "data": {
                            "id": "179004", 
                            "type": "addresses"
                        }
                    }, 
                    "customer": {
                        "data": {
                            "id": "104458", 
                            "type": "customers"
                        }
                    }, 
                    "devices": {
                        "data": [
                            {
                                "id": "161558", 
                                "type": "devices"
                            }, 
                            {
                                "id": "161089", 
                                "type": "devices"
                            }, 
                            {
                                "id": "161088", 
                                "type": "devices"
                            }, 
                            {
                                "id": "141197", 
                                "type": "devices"
                            }
                        ]
                    }, 
                    "hazards": {
                        "data": []
                    }, 
                    "surveys": {
                        "data": []
                    }
                }, 
                "type": "service-locations"
            }, 
            {
                "attributes": {
                    "created-at": "2017-03-16T03:39:43Z", 
                    "updated-at": "2017-09-06T22:06:24Z"
                }, 
                "id": "43947", 
                "relationships": {
                    "address": {
                        "data": {
                            "id": "179005", 
                            "type": "addresses"
                        }
                    }, 
                    "customer": {
                        "data": {
                            "id": "104459", 
                            "type": "customers"
                        }
                    }, 
                    "devices": {
                        "data": [
                            {
                                "id": "120234", 
                                "type": "devices"
                            }
                        ]
                    }, 
                    "hazards": {
                        "data": []
                    }, 
                    "surveys": {
                        "data": []
                    }
                }, 
                "type": "service-locations"
            }
        ], 
        "links": {
            "last": "http://api.c3backflow.com/service_locations?page%5Bnumber%5D=14&page%5Bsize%5D=2&size=2", 
            "next": "http://api.c3backflow.com/service_locations?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "self": "http://api.c3backflow.com/service_locations?page%5Bnumber%5D=1&page%5Bsize%5D=2&size=2"
        }
    }
    
    

    This endpoint retrieves all service-locations.

    HTTP Request

    GET https://api.c3backflow.com/service-locations

    Show a Service Location

    curl "https://api.c3backflow.com/service-locations/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "created-at": "2017-03-16T03:39:43Z", 
                "updated-at": "2017-09-06T22:06:24Z"
            }, 
            "id": "43947", 
            "relationships": {
                "address": {
                    "data": {
                        "id": "179005", 
                        "type": "addresses"
                    }
                }, 
                "customer": {
                    "data": {
                        "id": "104459", 
                        "type": "customers"
                    }
                }, 
                "devices": {
                    "data": [
                        {
                            "id": "120234", 
                            "type": "devices"
                        }
                    ]
                }, 
                "hazards": {
                    "data": []
                }, 
                "surveys": {
                    "data": []
                }
            }, 
            "type": "service-locations"
        }
    }
    

    This endpoint retrieves a specific service-location.

    HTTP Request

    GET https://api.c3backflow.com/service-locations/<ID>

    Create a Service Location

    curl "https://api.c3backflow.com/service-locations/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    This endpoint creates a specific service-location.

    HTTP Request

    CREATE https://api.c3backflow.com/service-locations/

    URL Parameters

    Parameter Description
    address Address is the location of a service location and should include line 1, city, state, and zip.
    nickname Nickname of a service Location is a recognizable name for a company.
    devices Devices is the number of devices at a specific service location.
    surveys Surveys is the number of surveys at a specific service location.
    phone Phone is the contact person's phone for the specific service location.
    water-purveyor Water Purveyor is the associated water purveyor for a service location.
    last-surveyed-at Last Surveyed At is the date of the last time a service-location was surveyed.
    surveying-frequency Surveying Frequency is how often a service location needs to be surveyed.

    Update a Service Location

    curl "https://api.c3backflow.com/service-locations/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific service-location.

    HTTP Request

    PUT https://api.c3backflow.com/service-locations/<id>

    URL Parameters

    Parameter Description
    address Address is the location of a service location and should include line 1, city, state, and zip.
    nickname Nickname of a service Location is a recognizable name for a company.
    devices Devices is the number of devices at a specific service location.
    surveys Surveys is the number of surveys at a specific service location.
    phone Phone is the contact person's phone for the specific service location.
    water-purveyor Water Purveyor is the associated water purveyor for a service location.
    last-surveyed-at Last Surveyed At is the date of the last time a service-location was surveyed.
    surveying-frequency Surveying Frequency is how often a service location needs to be surveyed.

    Delete a Service Location

    curl "https://api.c3backflow.com/service-locations/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint deletes a specific service-location.

    HTTP Request

    DELETE https://api.c3backflow.com/service-locations/<ID>

    Surveys

    Surveys are a form of work performed by users.

    There are several resources related to surveys. This includes service locations and customers.

    List Surveys

    curl "https://api.c3backflow.com/surveys"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "comment": null, 
                    "created-at": "2017-06-13T20:16:07Z", 
                    "internal-comment": null, 
                    "report-name": null, 
                    "report-size": null, 
                    "report-url": "/reports/original/missing.png", 
                    "reviewed-at": null, 
                    "status": "Scheduled", 
                    "surveyed-at": null, 
                    "updated-at": "2017-06-13T20:16:07Z"
                }, 
                "id": "2", 
                "relationships": {
                    "hazards": {
                        "data": [
                            {
                                "id": "2", 
                                "type": "hazards"
                            }, 
                            {
                                "id": "3", 
                                "type": "hazards"
                            }
                        ]
                    }, 
                    "inspector": {
                        "data": null
                    }, 
                    "reviewed-by": {
                        "data": null
                    }, 
                    "route-point": {
                        "data": null
                    }, 
                    "service-location": {
                        "data": {
                            "id": "70324", 
                            "type": "service-locations"
                        }
                    }
                }, 
                "type": "surveys"
            }, 
            {
                "attributes": {
                    "comment": "qwerqwerqwer", 
                    "created-at": "2017-08-14T21:27:48Z", 
                    "internal-comment": "qwerqwerqwer", 
                    "report-name": "survey_4.pdf", 
                    "report-size": 104535, 
                    "report-url": "https://s3-us-west-2.amazonaws.com/assets.crossconnectcontrol.com/surveys/reports/000/000/004/original/survey_4.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPIHSSMIPIYXR5LQ%2F20170915%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20170915T220736Z&X-Amz-Expires=36000&X-Amz-SignedHeaders=host&X-Amz-Signature=0401803594f700a57e6c093a63a2892652c8e5d9f0ce5927f93ec897dfaf81e8", 
                    "reviewed-at": null, 
                    "status": "Pending Review", 
                    "surveyed-at": "2017-08-14T21:27:00Z", 
                    "updated-at": "2017-08-29T01:19:58Z"
                }, 
                "id": "4", 
                "relationships": {
                    "hazards": {
                        "data": [
                            {
                                "id": "4", 
                                "type": "hazards"
                            }, 
                            {
                                "id": "5", 
                                "type": "hazards"
                            }, 
                            {
                                "id": "6", 
                                "type": "hazards"
                            }, 
                            {
                                "id": "10", 
                                "type": "hazards"
                            }, 
                            {
                                "id": "11", 
                                "type": "hazards"
                            }
                        ]
                    }, 
                    "inspector": {
                        "data": {
                            "id": "747", 
                            "type": "users"
                        }
                    }, 
                    "reviewed-by": {
                        "data": null
                    }, 
                    "route-point": {
                        "data": null
                    }, 
                    "service-location": {
                        "data": {
                            "id": "70325", 
                            "type": "service-locations"
                        }
                    }
                }, 
                "type": "surveys"
            }
        ], 
        "links": {
            "last": "http://api.c3backflow.com/surveys?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "next": "http://api.c3backflow.com/surveys?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "self": "http://api.c3backflow.com/surveys?page%5Bnumber%5D=1&page%5Bsize%5D=2&size=2"
        }
    }
    

    This endpoint retrieves all surveys.

    HTTP Request

    GET https://api.c3backflow.com/surveys

    Show a Survey

    curl "https://api.c3backflow.com/surveys/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "comment": "qwerqwerqwer", 
                "created-at": "2017-08-14T21:27:48Z", 
                "internal-comment": "qwerqwerqwer", 
                "report-name": "survey_4.pdf", 
                "report-size": 104535, 
                "report-url": "https://s3-us-west-2.amazonaws.com/assets.crossconnectcontrol.com/surveys/reports/000/000/004/original/survey_4.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPIHSSMIPIYXR5LQ%2F20170915%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20170915T220815Z&X-Amz-Expires=36000&X-Amz-SignedHeaders=host&X-Amz-Signature=a111615378749e971fe0ff4c9c2c4bfd0f7765c83e4a535deed5d9cddbe0d9c5", 
                "reviewed-at": null, 
                "status": "Pending Review", 
                "surveyed-at": "2017-08-14T21:27:00Z", 
                "updated-at": "2017-08-29T01:19:58Z"
            }, 
            "id": "4", 
            "relationships": {
                "hazards": {
                    "data": [
                        {
                            "id": "4", 
                            "type": "hazards"
                        }, 
                        {
                            "id": "5", 
                            "type": "hazards"
                        }, 
                        {
                            "id": "6", 
                            "type": "hazards"
                        }, 
                        {
                            "id": "10", 
                            "type": "hazards"
                        }, 
                        {
                            "id": "11", 
                            "type": "hazards"
                        }
                    ]
                }, 
                "inspector": {
                    "data": {
                        "id": "747", 
                        "type": "users"
                    }
                }, 
                "reviewed-by": {
                    "data": null
                }, 
                "route-point": {
                    "data": null
                }, 
                "service-location": {
                    "data": {
                        "id": "70325", 
                        "type": "service-locations"
                    }
                }
            }, 
            "type": "surveys"
        }
    }
    
    

    This endpoint retrieves a specific survey.

    HTTP Request

    GET https://api.c3backflow.com/surveys/<ID>

    Create a Survey

    curl "https://api.c3backflow.com/surveys/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    This endpoint retrieves a specific survey.

    HTTP Request

    CREATE https://api.c3backflow.com/surveys/

    URL Parameters

    Parameter Description
    ID The ID of the survey to retrieve
    surveyed-at Surveyed At is the date the survey is performed.
    inspector Inspector is the user performing the survey
    hazard-type Free form text to describe the hazard type
    location Location is the physical location at a surveyed address.
    internal-comment Internal Comment is a free form text field that is entered by a user to be associated with that survey.
    status Status is the deficiency status of a surveyed location and can include No Deficiency, Deficiency, and Deficency Resolved.
    report-comments Report Comments are generated on the survey report.

    Update a Survey

    curl "https://api.c3backflow.com/surveys/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific survey.

    HTTP Request

    PUT https://api.c3backflow.com/surveys/<id>

    URL Parameters

    Parameter Description
    ID The ID of the survey to retrieve
    surveyed-at Surveyed At is the date the survey is performed.
    inspector Inspector is the user performing the survey
    hazard-type Free form text to describe the hazard type
    location Location is the physical location at a surveyed address.
    internal-comment Internal Comment is a free form text field that is entered by a user to be associated with that survey.
    status Status is the deficiency status of a surveyed location and can include No Deficiency, Deficiency, and Deficency Resolved.
    report-comments Report Comments are generated on the survey report.

    Delete a Survey

    curl "https://api.c3backflow.com/surveys/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint retrieves a specific survey.

    HTTP Request

    DELETE https://api.c3backflow.com/surveys/<ID>

    URL Parameters

    Parameter Description
    ID The ID of the survey to delete

    Test Prices

    Test-prices are the individual prices a company sets for tests.

    Test-prices are populated as invoice line items. A company can have multiple test-prices.

    List Test Prices

    curl "https://api.c3backflow.com/test-prices"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "comment": "", 
                    "created-at": "2017-01-31T19:11:23Z", 
                    "default": true, 
                    "description": "Price for residential tests", 
                    "name": "Standard", 
                    "portal-order": 2, 
                    "price": "0.01", 
                    "updated-at": "2017-02-22T23:50:46Z"
                }, 
                "id": "178", 
                "type": "test-prices"
            }, 
            {
                "attributes": {
                    "comment": "", 
                    "created-at": "2017-01-31T21:37:16Z", 
                    "default": false, 
                    "description": "Price for commercial tests", 
                    "name": "Commercial", 
                    "portal-order": 1, 
                    "price": "0.02", 
                    "updated-at": "2017-02-22T23:50:33Z"
                }, 
                "id": "179", 
                "type": "test-prices"
            }
        ], 
        "links": {
            "last": "http://api.c3backflow.com/test_prices?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "next": "http://api.c3backflow.com/test_prices?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "self": "http://api.c3backflow.com/test_prices?page%5Bnumber%5D=1&page%5Bsize%5D=2&size=2"
        }
    }
    

    This endpoint retrieves all test-prices.

    HTTP Request

    GET https://api.c3backflow.com/test-prices

    Show a Test Price

    curl "https://api.c3backflow.com/test-prices/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "comment": "", 
                "created-at": "2017-01-31T21:37:16Z", 
                "default": false, 
                "description": "Price for commercial tests", 
                "name": "Commercial", 
                "portal-order": 1, 
                "price": "0.02", 
                "updated-at": "2017-02-22T23:50:33Z"
            }, 
            "id": "179", 
            "type": "test-prices"
        }
    }
    
    

    This endpoint shows a specific test-price.

    HTTP Request

    GET https://api.c3backflow.com/test-prices/<ID>

    Create a Test Price

    curl "https://api.c3backflow.com/test-prices/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    This endpoint creates a specific test-price.

    HTTP Request

    CREATE https://api.c3backflow.com/test-prices/

    URL Parameters

    Parameter Description
    company Company defines which company has created the specific test price. (required)
    price Price is the dollar amount for a specific test price which is set by a company. (required)
    name Name is set by an individual company and defines (required)
    tests Tests is the amount of tests that have been set up for that test price.
    comment Comment is a free form text for a test price for a company. (optional)
    default Default checkbox is the option checked if this test price is the default price for the company. (optional)
    deleted-at This is the date and time a test price was deleted by a company.
    description Description for test price is how a company defines a test price. (optional)
    order Order is the numerical value of how a test price is displayed internally to a company. A company can choose which order their test prices are shown.

    Update a Test Price

    curl "https://api.c3backflow.com/test-prices/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific test-price.

    HTTP Request

    PUT https://api.c3backflow.com/test-prices/<id>

    URL Parameters

    Parameter Description
    company Company defines which company has created the specific test price. (required)
    price Price is the dollar amount for a specific test price which is set by a company. (required)
    name Name is set by an individual company and defines (required)
    tests Tests is the amount of tests that have been set up for that test price.
    comment Comment is a free form text for a test price for a company. (optional)
    default Default checkbox is the option checked if this test price is the default price for the company. (optional)
    deleted-at This is the date and time a test price was deleted by a company.
    description Description for test price is how a company defines a test price. (optional)
    order Order is the numerical value of how a test price is displayed internally to a company. A company can choose which order their test prices are shown.

    Delete a Test Price

    curl "https://api.c3backflow.com/test-prices/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint deletes a specific test-price.

    HTTP Request

    DELETE https://api.c3backflow.com/test-prices/<ID>

    Tests

    Tests are what backflow testers perform within C3backflow.

    Tests are one of the core resources for C3Backflow.

    There are many resources related to tests. Primarily these are Devices, Test Reports Forms, Water Purveyors, Tracked Emails, Invoice Line items, Service Locations, and Routes.

    List Tests

    curl "https://api.c3backflow.com/tests"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "check1-psi": 1.0, 
                    "check2-psi": 1.0, 
                    "comment": "Example data - this can be removed in company options -> 'Remove Example Data'", 
                    "created-at": "2017-01-31T19:11:24Z", 
                    "internal-comment": "", 
                    "report-name": "test_report_89328.pdf", 
                    "report-size": 373750, 
                    "report-url": "https://s3-us-west-2.amazonaws.com/assets.crossconnectcontrol.com/tests/reports/000/089/328/original/test_report_89328.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPIHSSMIPIYXR5LQ%2F20170915%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20170915T200240Z&X-Amz-Expires=36000&X-Amz-SignedHeaders=host&X-Amz-Signature=ee4e006ba4c55daaea7daee17312ed600f03a181ad0733ca079599f28c77373b", 
                    "result": null, 
                    "status": "Submitted", 
                    "tested-at": "2017-03-20T17:43:00Z", 
                    "updated-at": "2017-06-19T17:56:28Z"
                }, 
                "id": "89328", 
                "relationships": {
                    "assigned-user": {
                        "data": null
                    }, 
                    "device": {
                        "data": {
                            "id": "120236", 
                            "type": "devices"
                        }
                    }, 
                    "gauge": {
                        "data": {
                            "id": "122", 
                            "type": "gauges"
                        }
                    }, 
                    "route-point": {
                        "data": null
                    }, 
                    "test-price": {
                        "data": {
                            "id": "178", 
                            "type": "test-prices"
                        }
                    }, 
                    "tester": {
                        "data": {
                            "id": "623", 
                            "type": "users"
                        }
                    }
                }, 
                "type": "tests"
            }, 
            {
                "attributes": {
                    "check1-psi": 1.0, 
                    "check2-psi": 1.0, 
                    "comment": "1", 
                    "created-at": "2017-01-31T20:38:18Z", 
                    "internal-comment": "", 
                    "report-name": "test_report_89344.pdf", 
                    "report-size": 60625, 
                    "report-url": "https://s3-us-west-2.amazonaws.com/assets.crossconnectcontrol.com/tests/reports/000/089/344/original/test_report_89344.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPIHSSMIPIYXR5LQ%2F20170915%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20170915T200240Z&X-Amz-Expires=36000&X-Amz-SignedHeaders=host&X-Amz-Signature=5d1a4f0d1c5f44971c36065ffa605e33f7925cc814abe1e83650d192fb297e2c", 
                    "result": null, 
                    "status": "Submitted", 
                    "tested-at": "2017-01-31T20:36:00Z", 
                    "updated-at": "2017-04-05T23:39:15Z"
                }, 
                "id": "89344", 
                "relationships": {
                    "assigned-user": {
                        "data": null
                    }, 
                    "device": {
                        "data": {
                            "id": "120235", 
                            "type": "devices"
                        }
                    }, 
                    "gauge": {
                        "data": {
                            "id": "122", 
                            "type": "gauges"
                        }
                    }, 
                    "route-point": {
                        "data": null
                    }, 
                    "test-price": {
                        "data": {
                            "id": "178", 
                            "type": "test-prices"
                        }
                    }, 
                    "tester": {
                        "data": {
                            "id": "623", 
                            "type": "users"
                        }
                    }
                }, 
                "type": "tests"
            }
        ], 
        "links": {
            "last": "http://api.c3backflow.com/tests?page%5Bnumber%5D=44&page%5Bsize%5D=2&size=2", 
            "next": "http://api.c3backflow.com/tests?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "self": "http://api.c3backflow.com/tests?page%5Bnumber%5D=1&page%5Bsize%5D=2&size=2"
        }
    }
    

    This endpoint retrieves all tests.

    HTTP Request

    GET https://api.c3backflow.com/tests

    Show a Test

    curl "https://api.c3backflow.com/tests/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "check1-psi": 1.0, 
                "check2-psi": 1.0, 
                "comment": "Example data - this can be removed in company options -> 'Remove Example Data'", 
                "created-at": "2017-01-31T19:11:24Z", 
                "internal-comment": "", 
                "report-name": "test_report_89328.pdf", 
                "report-size": 373750, 
                "report-url": "https://s3-us-west-2.amazonaws.com/assets.crossconnectcontrol.com/tests/reports/000/089/328/original/test_report_89328.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPIHSSMIPIYXR5LQ%2F20170915%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20170915T200421Z&X-Amz-Expires=36000&X-Amz-SignedHeaders=host&X-Amz-Signature=2d2e4bb3523c9bb7b475fabe3d1c45c4c1e8dfdf523fc820997680f63c91a65a", 
                "result": null, 
                "status": "Submitted", 
                "tested-at": "2017-03-20T17:43:00Z", 
                "updated-at": "2017-06-19T17:56:28Z"
            }, 
            "id": "89328", 
            "relationships": {
                "assigned-user": {
                    "data": null
                }, 
                "device": {
                    "data": {
                        "id": "120236", 
                        "type": "devices"
                    }
                }, 
                "gauge": {
                    "data": {
                        "id": "122", 
                        "type": "gauges"
                    }
                }, 
                "route-point": {
                    "data": null
                }, 
                "test-price": {
                    "data": {
                        "id": "178", 
                        "type": "test-prices"
                    }
                }, 
                "tester": {
                    "data": {
                        "id": "623", 
                        "type": "users"
                    }
                }
            }, 
            "type": "tests"
        }
    }
    

    This endpoint retrieves a specific test.

    HTTP Request

    GET https://api.c3backflow.com/tests/<ID>

    Create a Test

    curl "https://api.c3backflow.com/tests/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    This endpoint creates a specific test.

    HTTP Request

    CREATE https://api.c3backflow.com/tests/

    URL Parameters

    Parameter Description
    ID The ID of the test to retrieve
    tester Tester is the specific user that has tested a backflow device specific to this test. (required)
    gauge Gauge is the gauge used to test the backflow device of this specific test. (required)
    device-status Device Status is specific to the device of this test. It includes existing, new, replaced, and removed.
    replaced-device-serial Replaced Device Serial is only noted on tests where a device has been replaced. It is the serial of the device.
    test-price Test Price is the price that will appear on line items on invoices for this specific test. Companies set their own test prices.
    route-point Route Point is where this specific test will appear within a given route.
    route Route is the assigned route for this specific test.
    tested-at Tested At is the date the test is performed.
    device Device is the serial number for the device of the test.
    result Result of test includes Passed and Fialed.
    status Status of a test is the state of a test. If a test has not been performed it can be in one of two statuses: scheduled, or pending test. Once a specific test is perfomed it can be in one of two statuses: not submitted, and submitted.

    Update a Test

    curl "https://api.c3backflow.com/tests/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific test.

    HTTP Request

    PUT https://api.c3backflow.com/tests/<id>

    URL Parameters

    Parameter Description
    ID The ID of the test to update.
    tester Tester is the specific user that has tested a backflow device specific to this test. (required)
    gauge Gauge is the gauge used to test the backflow device of this specific test. (required)
    device-status Device Status is specific to the device of this test. It includes existing, new, replaced, and removed.
    replaced-device-serial Replaced Device Serial is only noted on tests where a device has been replaced. It is the serial of the device.
    test-price Test Price is the price that will appear on line items on invoices for this specific test.
    route-point Route Point is where this specific test will appear within a given route.
    route Route is the assigned route for this specific test.
    tested-at Tested At is the date the test is performed.
    device Device is the serial number for the device of the test.
    result Result of test includes Passed and Fialed.
    status Status of a test is the state of a test. If a test has not been performed it can be in one of two statuses: scheduled, or pending test. Once a specific test is perfomed it can be in one of two statuses: not submitted, and submitted.

    Delete a Test

    curl "https://api.c3backflow.com/tests/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint deletes a specific test.

    HTTP Request

    DELETE https://api.c3backflow.com/tests/<ID>

    Tracked Emails

    Tracked-emails are emails that are sent from C3backflow to a customer or water-purveyors.

    List Tracked Emails

    curl "https://api.c3backflow.com/tracked-emails"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "created-at": "2017-01-31T19:09:22Z", 
                    "email": "brock@c3backflow.com", 
                    "status": "Clicked", 
                    "updated-at": "2017-01-31T22:06:50Z"
                }, 
                "id": "1599", 
                "relationships": {
                    "owners": {
                        "data": [
                            {
                                "id": "623", 
                                "type": "users"
                            }
                        ]
                    }
                }, 
                "type": "tracked-emails"
            }, 
            {
                "attributes": {
                    "created-at": "2017-01-31T20:42:04Z", 
                    "email": "brock@c3backflow.com", 
                    "status": "Opened", 
                    "updated-at": "2017-01-31T20:42:32Z"
                }, 
                "id": "1600", 
                "relationships": {
                    "owners": {
                        "data": [
                            {
                                "id": "1951", 
                                "type": "water-purveyor-submissions"
                            }
                        ]
                    }
                }, 
                "type": "tracked-emails"
            }
        ], 
        "links": {
            "last": "http://api.c3backflow.com/tracked_emails?page%5Bnumber%5D=98&page%5Bsize%5D=2&size=2", 
            "next": "http://api.c3backflow.com/tracked_emails?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "self": "http://api.c3backflow.com/tracked_emails?page%5Bnumber%5D=1&page%5Bsize%5D=2&size=2"
        }
    }
    
    

    This endpoint retrieves all tracked-emails.

    HTTP Request

    GET https://api.c3backflow.com/tracked-emails

    Show a Tracked Email

    curl "https://api.c3backflow.com/tracked-emails/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "created-at": "2017-01-31T19:09:22Z", 
                "email": "brock@c3backflow.com", 
                "status": "Clicked", 
                "updated-at": "2017-01-31T22:06:50Z"
            }, 
            "id": "1599", 
            "relationships": {
                "owners": {
                    "data": [
                        {
                            "id": "623", 
                            "type": "users"
                        }
                    ]
                }
            }, 
            "type": "tracked-emails"
        }
    }
    
    

    This endpoint retrieves a specific tracked-email.

    HTTP Request

    GET https://api.c3backflow.com/tracked-emails/<ID>

    URL Parameters

    Parameter Description
    ID The ID of the tracked-email to retrieve the tracked-email.
    email Email is the email address which the tracked-email is sent to.
    status Status includes sent, bounced, clicked, opened for specific tracked emails.

    Create a Tracked Email

    curl "https://api.c3backflow.com/tracked-emails/"
      -X POST
      -H "Authorization: MyAuthToken"
    
    
    This endpoint creates a specific tracked-email.
    
    ### HTTP Request
    
    `CREATE https://api.c3backflow.com/tracked-emails/`
    
    ### URL Parameters
    
    Parameter | Description
    --------- | -----------
    ID | The ID of the tracked-email to retrieve the tracked-email.
    email | Email is the email address which the tracked-email is sent to.
    status | Status includes sent, bounced, clicked, opened for specific tracked emails.
    
    ## Update a Tracked Email
    
    ```shell
    curl "https://api.c3backflow.com/tracked-emails/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific tracked-email.

    HTTP Request

    PUT https://api.c3backflow.com/tracked-emails/<id>

    URL Parameters

    Parameter Description
    ID The ID of the tracked-email to retrieve the tracked-email.
    email Email is the email address which the tracked-email is sent to.
    status Status includes sent, bounced, clicked, opened for specific tracked emails.

    Delete a Tracked Email

    curl "https://api.c3backflow.com/tracked-emails/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    
    
    This endpoint deletes a specific tracked-email.
    
    ### HTTP Request
    
    `DELETE https://api.c3backflow.com/tracked-emails/<ID>`
    
    

    Users

    Users are who utilize C3backflow directly.

    Users include both administrators and testers.

    There are many resources related to users. Primarily they are tests, gauges, companies, routes, surveys.

    List Users

    curl "https://api.c3backflow.com/users"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "certification": "963852741", 
                    "certification-expiration-date": "2018-05-24", 
                    "created-at": "2017-01-31T19:09:21Z", 
                    "email": "brock@c3backflow.com", 
                    "name": "Walter Water", 
                    "role": "Admin", 
                    "updated-at": "2017-09-15T15:31:59Z"
                }, 
                "id": "623", 
                "relationships": {
                    "address": {
                        "data": {
                            "id": "119996", 
                            "type": "addresses"
                        }
                    }
                }, 
                "type": "users"
            }, 
            {
                "attributes": {
                    "certification": "987654321", 
                    "certification-expiration-date": "2019-05-30", 
                    "created-at": "2017-03-02T19:00:11Z", 
                    "email": "bsheehan@c3backflow.com", 
                    "name": "Tommy Tester", 
                    "role": "Tester", 
                    "updated-at": "2017-09-07T14:00:17Z"
                }, 
                "id": "652", 
                "relationships": {
                    "address": {
                        "data": {
                            "id": "134205", 
                            "type": "addresses"
                        }
                    }
                }, 
                "type": "users"
            }
        ], 
        "links": {}
    }
    
    

    This endpoint retrieves all users.

    HTTP Request

    GET https://api.c3backflow.com/users

    Show a User

    curl "https://api.c3backflow.com/users/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "certification": "987654321", 
                "certification-expiration-date": "2019-05-30", 
                "created-at": "2017-03-02T19:00:11Z", 
                "email": "bsheehan@c3backflow.com", 
                "name": "Tommy Tester", 
                "role": "Tester", 
                "updated-at": "2017-09-07T14:00:17Z"
            }, 
            "id": "652", 
            "relationships": {
                "address": {
                    "data": {
                        "id": "134205", 
                        "type": "addresses"
                    }
                }
            }, 
            "type": "users"
        }
    }
    

    This endpoint retrieves a specific user.

    HTTP Request

    GET https://api.c3backflow.com/users/<ID>

    Create a User

    curl "https://api.c3backflow.com/users/"
      -X POST
      -H "Authorization: MyAuthToken"
    

    This endpoint creates a specific user.

    HTTP Request

    CREATE https://api.c3backflow.com/users/

    URL Parameters

    Parameter Description
    ID The ID of the user to retrieve the specific user.
    address Address is the address of the specific user.
    gauges Gauges are for users that are testers. Individual gauges include the serial, manufacturer, model, and calibration date.
    email Email is how users sign up and are invited to use C3backflow. Email is used for their sign in. (required)
    name Name is the full name of the user. (required)
    certification Certification is the backflow tester's certification number. It is utilized on test reports. This is required for testers.
    certification-expiration-date Certification Expiration Date is the expiration date for a tester's certification. It is utilized on test reports.
    signature Signature is the png of tester's signature and is utilized on test reports.

    Update a User

    curl "https://api.c3backflow.com/users/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    This endpoint updates a specific user.

    HTTP Request

    PUT https://api.c3backflow.com/users/<id>

    URL Parameters

    Parameter Description
    ID The ID of the user to retrieve the specific user.
    address Address is the address of the specific user.
    gauges Gauges are for users that are testers. Individual gauges include the serial, manufacturer, model, and calibration date.
    email Email is how users sign up and are invited to use C3backflow. Email is used for their sign in. (required)
    name Name is the full name of the user. (required)
    certification Certification is the backflow tester's certification number. It is utilized on test reports. This is required for testers.
    certification-expiration-date Certification Expiration Date is the expiration date for a tester's certification. It is utilized on test reports.
    signature Signature is the png of tester's signature and is utilized on test reports.

    Delete a User

    curl "https://api.c3backflow.com/users/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint deletes a specific user.

    HTTP Request

    DELETE https://api.c3backflow.com/users/<ID>

    Water Purveyors

    Water-purveyors are what users complete reports for.

    There are several resources related to water-purveyors. Primarily these are Tests, Customers, Surveys, and Test Reports, Test Submissions.

    List Water Purveyors

    curl "https://api.c3backflow.com/water-purveyors"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": [
            {
                "attributes": {
                    "comments": "Example data - this can be removed in company options -> 'Remove Example Data'", 
                    "contact-name": null, 
                    "created-at": "2017-01-31T19:11:23Z", 
                    "email": "info@c3backflow.com", 
                    "long-name": null, 
                    "name": "Example Water Purveyor", 
                    "phone": "888.725.4285", 
                    "submission-method": "Email", 
                    "updated-at": "2017-01-31T19:11:23Z", 
                    "website": "https://c3backflow.com"
                }, 
                "id": "983", 
                "relationships": {
                    "address": {
                        "data": null
                    }, 
                    "water-purveyor-submissions": {
                        "data": [
                            {
                                "id": "1951", 
                                "type": "water-purveyor-submissions"
                            }
                        ]
                    }
                }, 
                "type": "water-purveyors"
            }, 
            {
                "attributes": {
                    "comments": "", 
                    "contact-name": "Katrina Stolan", 
                    "created-at": "2017-01-31T19:13:02Z", 
                    "email": "", 
                    "long-name": "Red Valley Water District", 
                    "name": "Red Valley", 
                    "phone": "(503) 100-1511", 
                    "submission-method": "Paper", 
                    "updated-at": "2017-04-07T00:11:57Z", 
                    "website": ""
                }, 
                "id": "984", 
                "relationships": {
                    "address": {
                        "data": {
                            "id": "119963", 
                            "type": "addresses"
                        }
                    }, 
                    "water-purveyor-submissions": {
                        "data": []
                    }
                }, 
                "type": "water-purveyors"
            }
        ], 
        "links": {
            "last": "http://api.c3backflow.com/water_purveyors?page%5Bnumber%5D=6&page%5Bsize%5D=2&size=2", 
            "next": "http://api.c3backflow.com/water_purveyors?page%5Bnumber%5D=2&page%5Bsize%5D=2&size=2", 
            "self": "http://api.c3backflow.com/water_purveyors?page%5Bnumber%5D=1&page%5Bsize%5D=2&size=2"
        }
    }
    

    This endpoint retrieves all water-purveyors.

    HTTP Request

    GET https://api.c3backflow.com/water-purveyors

    Show a Water Purveyor

    curl "https://api.c3backflow.com/water-purveyors/2"
      -H "Authorization: MyAuthToken"
    

    The above command returns JSON structured like this:

    {
        "data": {
            "attributes": {
                "comments": "Example data - this can be removed in company options -> 'Remove Example Data'", 
                "contact-name": null, 
                "created-at": "2017-01-31T19:11:23Z", 
                "email": "info@c3backflow.com", 
                "long-name": null, 
                "name": "Example Water Purveyor", 
                "phone": "888.725.4285", 
                "submission-method": "Email", 
                "updated-at": "2017-01-31T19:11:23Z", 
                "website": "https://c3backflow.com"
            }, 
            "id": "983", 
            "relationships": {
                "address": {
                    "data": null
                }, 
                "water-purveyor-submissions": {
                    "data": [
                        {
                            "id": "1951", 
                            "type": "water-purveyor-submissions"
                        }
                    ]
                }
            }, 
            "type": "water-purveyors"
        }
    }
    

    This endpoint retrieves a specific water-purveyor.

    HTTP Request

    GET https://api.c3backflow.com/water-purveyors/<ID>

    Create a Water Purveyor

    This endpoint creates a specific water-purveyor.

    This endpoint creates a specific water-purveyor.

    HTTP Request

    CREATE https://api.c3backflow.com/water-purveyors/

    URL Parameters

    Parameter Description
    ID The ID of the water-purveyor to create the water-purveyor
    address Address is the physical address of the water-purveyors. Users will utilize this is the water-purveyor requires physical mailed backflow reports.
    name The name is the abbreviated or shortened title for users to easily recognize. This is required.
    phone Phone is the primary telephone number for the water-purveyor contact. Either phone or email is required.
    contact-name Contact Name is the primary contact(s) for individual water-purveyors. (optional)
    email Email is the primary email address for the water-purveyor. When tests are submitted via email, this is the email used. Either phone or email is required.
    website Website is for Users to reference. (optional)
    comments Comments are for Users to reference related directly to water-purveyor only. (optional)
    long-name Long Name is a non-abbreviated name for water-purveyors. (optional)

    Update a Water Purveyor

    This endpoint updates a specific water-purveyor.

    curl "https://api.c3backflow.com/water-purveyors/<id>"
      -X PUT
      -H "Authorization: MyAuthToken"
    

    HTTP Request

    PUT https://api.c3backflow.com/water-purveyors/<id>

    URL Parameters

    Parameter Description
    ID The ID of the water-purveyor to update the water-purveyor
    Address Address is the physical address of the water-purveyors. Users will utilize this is the water-purveyor requires physical mailed backflow reports.
    Name The name is the abbreviated or shortened title for users to easily recognize. This is required.
    Phone Phone is the primary telephone number for the water-purveyor contact. Either phone or email is required.
    Contact Name Contact Name is the primary contact(s) for individual water-purveyors. (optional)
    Email Email is the primary email address for the water-purveyor. When tests are submitted via email, this is the email used. Either phone or email is required.
    Website Website is for Users to reference. (optional)
    Comments Comments are for Users to reference related directly to water-purveyor only. (optional)
    Long Name Long Name is a non-abbreviated name for water-purveyors. (optional)

    Delete a Water Purveyor

    curl "https://api.c3backflow.com/water-purveyors/2"
      -X DELETE
      -H "Authorization: MyAuthToken"
    

    This endpoint deletes a specific water-purveyor.

    HTTP Request

    DELETE https://api.c3backflow.com/water-purveyors/<ID>