NAV
cURL

Copyright Agreement

Copyright (c) 2016 ET Water Systems, Inc. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at:

http://www.eclipse.org/legal/epl-v10.html

Contributors: ET Water Systems, Inc. - initial API and implementation

CONTRIBUTION POLICY:

(The following paragraph is not intended to limit the rights granted to you to modify and distribute these APIs under the terms of licenses that may apply to the API.)

Contributions to this API are subject to your understanding and acceptance of the terms and conditions of the ET Water Systems, Inc. Contributor Agreement, which can be found online at:

http://www.etwater.com/legal/contributoragreement/

Introducing the Unity API

ET Unity is a powerful, highly scalable open platform for water management and a wealth of other environmental services. We have built a sophisticated set of data from many different sources, and used years of experience to transform and analyze this information. Through a growing set of REST APIs you can directly gain access to the platform's services and insights for easy integration.

Access Environmental Insights:

We have made the Unity APIs available under an open source access and distribution model. As a result, it is a simple process to start using the platform services to enable your development efforts, and to start enriching your applications and services.

All you need to do:

API Interaction

Any tool for making HTTP requests is suitable to work with the Unity API. Unity API is a REST-like API and following most of the common agreements on HTTP Methods usage. Communication is done in JSON format so any request to the API should be a valid JSON document.

Requests

Any request to the API should be sent via HTTP protocol using corresponding HTTP Method. Requests that contain a request body should have a HTTP header “Content-Type” with a description of content being sent. Also every request should be singed with a personal access token placed in a header.

Header Example:

Authorization: Bearer MWQzMjQ2NjU1NjgxMGQwMzI3MzY0OTE5NmU0ZTQ2NzE3YzYxNmVkZGYxNGE1MWVjOGVkMjZlNjVjMzQ1NDY1NQ

HTTP Methods

Method Usage
GET Used for information retrieval. Any request using the GET method is read-only and will not affect any of the objects you are querying
DELETE This method is used to remove any object or collection of objects
POST Used for objects creation. Request should contain all the required fields for an object that being created. Also could be used for performing an actions. For instance, “Force irrigation” action
PUT Used for updating the object.
PATCH Used for bulk operations on multiple objects.

HTTP Statuses

Each API response contains a corresponding HTTP Status Code. Codes in a range 200..300 indicate a successful action and means that no error was encountered. Codes in a range 400..500 indicate that there was an issue with the request that was sent. Codes in a range 400..500 indicate a server side problem and it means that we are having an issue on our end and cannot fulfill your request currently.

Responses

Typically every response contains a response body as a JSON document. An exception to this are DELETE requests. They always are responded with HTTP status 204 No Content end empty response body. Most of the responses contain a requested object or a list of object, but in some cases results are wrapped in a structure that included pagination info.

Example of response with pagination:

{
    "controllerList": [
        {
            "id": "example string value",
            "serialNumber": "example string value",
            "activated": true,
            "projectId": "example string value"
        }
    ],
    "page": 843,
    "size": 213,
    "total": 525
}

HTTP Clients

cURL

cURL is installed by default in most popular *nix distributives. It is a widely spread tool and a library for making HTTP requests. cURL is a command line utility and does not have a any UI.

Simple request example:

curl 'https://developer-api.etwater.com/api/v1/hello-unity'

Response:

{
    "greetings": "Hello from Unity platform",
    "requestMethod: "GET"
}

Request method should be set through -X console parameter.

PUT request method example:

curl -X PUT 'https://developer-api.etwater.com/api/v1/hello-unity'

Response:

{
    "greetings": "Hello from Unity platform",
    "requestMethod: "PUT"
}

Request headers should be added should be set through -H console parameter.

Content-Type and Authorization headers example:

curl -X PUT -H'Content-Type: application/json' -H'Authorization:  Bearer $ACCESS_TOKEN' 'https://developer-api.etwater.com/api/v1/hello-unity/auth'

Response:

{
    "greetings": "Hello from Unity platform",
    "requestMethod: "PUT",
    "isAuthenticated": true
}

In last example $ACCESS_TOKEN placeholder should be replaced by real access token.

POSTMAN

On of the most popular UI application to interact with the HTTP web services is a POSTMAN application (https://www.getpostman.com/). It has an intuitive UI and available on all major platforms as a native application or as a Google’s Chrome extension.

In POSTMAN last cURL request will look like this:

And as a benefit it is possible to generate cURL requests from POSTMAN UI.

PHPStorm IDE REST Client

PHP as most commonly used language in web development often being used with a PHPStorm IDE. This IDE has a built-in REST Client UI tool that could be used to interact with Unity APIs.

REST client could be found under the Tools menu section:

And the last cURL example in this client will look like:

In general, everything remains the same, except an easier HTTP request options setting through IDE UI.

V1 | Communication Statistics | Session Schedule Statistics

Get Session Schedule Statistics

Request

curl "https://developer-api.etwater.com/api/v1/ccu-communication-statistics/session-schedule-statistics?page=0&size=10&sortField=lastSuccessfulSessionDateTime&sortDirection=desc&controllerId=example+string+value&projectId=example+string+value&hasMissedSessions=1&hasMissedSessionsDateFrom=example+string+value&hasMissedSessionsDateTo=example+string+value&unity=1&active=0" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "statistics": [
        {
            "controllerId": "example string value",
            "controllerSerialNumber": "example string value",
            "lastSuccessfulSessionDateTime": 770,
            "lastScheduledSuccessfulSessionDateTime": 612,
            "lastSessionDateTime": 427,
            "nextSessionDateTime": 638,
            "nextSessionDeadline": 914,
            "missedDaysNumber": 132,
            "controllerTimezoneOffset": 474,
            "userId": "example string value",
            "missedSessionsNumber": 41,
            "lastSuccessfulSessionId": "example string value",
            "lastSessionId": "example string value"
        }
    ],
    "page": 816,
    "size": 247,
    "total": 239
}

HTTP Request

GET /api/v1/ccu-communication-statistics/session-schedule-statistics

Request parameters

Name Type Part Required Description
Authorization string header true
page integer query false
size integer query false
sortField string query false
sortDirection string query false
controllerId string query false
projectId string query false
hasMissedSessions boolean query false
hasMissedSessionsDateFrom string query false
hasMissedSessionsDateTo string query false
unity boolean query false
active boolean query false

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
statistics SessionScheduleStatisticApiResponse[ ] false
page integer false
size integer false
total integer false

SessionScheduleStatisticApiResponse

Name Type Required Description
controllerId string true
controllerSerialNumber string true
lastSuccessfulSessionDateTime integer false
lastScheduledSuccessfulSessionDateTime integer false
lastSessionDateTime integer false
nextSessionDateTime integer false
nextSessionDeadline integer false
missedDaysNumber integer false
controllerTimezoneOffset integer true
userId string false
missedSessionsNumber integer false
lastSuccessfulSessionId string false
lastSessionId string false

V1 | Controllers | Controller

Request

curl "https://developer-api.etwater.com/api/v1/ccu-management/controllers?page=0&size=10&activated=1&configured=0&suspended=0&projectId=example+string+value&searchTerm=example+string+value&unity=0&controllerStatus%5B0%5D=DEACTIVATED" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

[
    {
        "id": "example string value",
        "serialNumber": "example string value",
        "sim": "example string value",
        "imsi": "example string value",
        "config": {
            "numberOfDials": 106,
            "dialScheduleArray": [
                {
                    "secOfDay": 257,
                    "skipDays": 966,
                    "retries": 27,
                    "delayMinutes": 178
                }
            ],
            "extraMinutesToFillPipes": 176,
            "ip": "example string value",
            "secondaryIp": "example string value",
            "login": "example string value",
            "password": "example string value",
            "logString": "example string value",
            "pwString": "example string value",
            "dialString": "example string value",
            "port": 708,
            "fertigationValveNumber": 300,
            "stationCount": 998,
            "flowLimits": {
                "overflowGroup0": 601,
                "underflowGroup0": 717,
                "overflowGroup1": 825,
                "underflowGroup1": 740,
                "leakLimitPPM": 606
            },
            "keystrokeTimeout": 565,
            "calibrationInfo": {
                "inchesOfRainPerTip": 244,
                "inchesOfRainStarted": 894,
                "inchesOfRainHeavy": 337
            },
            "shortCircuitThreshold": 767,
            "openCircuitThreshold": 714,
            "multiValveMode": true,
            "disableMSLWReset": false,
            "remoteControl": true,
            "allowableClockDriftSeconds": 468,
            "flowMeasurementEnabled": false,
            "requestAverageFlow": false,
            "icuTimeZoneOffsetMillis": 557,
            "adminSuspendStatus": 972,
            "wateringAdjustmentCoefficients": {
                "example_property_name": 187.526733236167
            },
            "maxSimultaneousIrrigationValves": "1",
            "enableSMS": false,
            "icuModel": "example string value",
            "NOT_IN_USE": {
                "example_property_name": 276
            },
            "frequencyAdjustmentsCoefficients": {
                "example_property_name": 657
            },
            "timeZoneIdentifier": "example string value",
            "maxStationCount": 342,
            "ccuSuspendWatering": true,
            "ccuSuspendIsTimed": true
        },
        "userId": "example string value",
        "controllerStatus": "DEACTIVATED",
        "createdAt": 13,
        "updatedAt": 990,
        "ccuZones": {
            "example_property_name": {
                "name": "example string value",
                "number": 709,
                "projectId": "example string value",
                "areaRegionConfigStates": {
                    "example_property_name": false
                },
                "configured": true,
                "expectedFlowPPM": 941,
                "disableFlowSensing": true,
                "expectedFlowProcessState": 18,
                "startOfUpdatingFlow": 893,
                "updatePPM": true,
                "gpm": 319.33277906818915,
                "customGpm": 864.7152124274127
            }
        },
        "flowSensorSettings": {
            "flowSensorId": "example string value",
            "manufacturer": "example string value",
            "type": "example string value",
            "factorK": 562.8532578995699,
            "offset": 208
        },
        "configured": false,
        "activated": true,
        "projectId": "example string value",
        "name": "example string value",
        "firmwareVersion": "example string value",
        "unity": true,
        "multiValveSettings": {
            "multiValveMode": true,
            "maxSimultaneousIrrigationValves": 42,
            "masterValve": true,
            "boosterPump": false,
            "waterAloneStations": [
                192
            ]
        },
        "connectedAt": 936,
        "isPOTS": true,
        "modemTypeString": "example string value",
        "connectedSuccessfullyAt": 203,
        "connectedPlatform": "example string value",
        "modemSignalStrength": 650,
        "failedCallCount": 348,
        "rainSensorType": 513,
        "rainSensorEnabled": true,
        "icuFamily": "example string value",
        "iccid": "example string value",
        "nextConnectionAt": 357,
        "simNetworkType": "example string value",
        "modemTypeNumber": 140
    }
]

Dependent on:

Headers example:

where: {access_token} access token value.

Query param description:

Response body description:

HTTP Request

GET /api/v1/ccu-management/controllers

Request parameters

Name Type Part Required Description
Authorization string header true
page integer query false page number
size integer query false page size
activated boolean query false
configured boolean query false
suspended boolean query false
projectId string query false
searchTerm string query false
unity boolean query false
controllerStatus array query false

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response is array of

Name Type Required Description
id string false
serialNumber string false
sim string false
imsi string false
config CcuConfig false
userId string false
controllerStatus string false
createdAt integer false
updatedAt integer false
ccuZones Object for field ccuZones false
flowSensorSettings FlowSensorSettings false
configured boolean false
activated boolean false
projectId string false
name string false
firmwareVersion string false
unity boolean false
multiValveSettings MultiValveSettings false
connectedAt integer false
isPOTS boolean false
modemTypeString string false
connectedSuccessfullyAt integer false
connectedPlatform string false
modemSignalStrength integer false
failedCallCount integer false
rainSensorType integer false
rainSensorEnabled boolean false
icuFamily string false
iccid string false
nextConnectionAt integer false
simNetworkType string false
modemTypeNumber integer false

CcuConfig

Name Type Required Description
numberOfDials integer false
dialScheduleArray DialSchedule[ ] false
extraMinutesToFillPipes integer false
ip string false
secondaryIp string false
login string false
password string false
logString string false
pwString string false
dialString string false
port integer false
fertigationValveNumber integer false
stationCount integer false
flowLimits FlowLimitData false
keystrokeTimeout integer false
calibrationInfo TippingBucketCalibration false
shortCircuitThreshold integer false
openCircuitThreshold integer false
multiValveMode boolean false
disableMSLWReset boolean false
remoteControl boolean false
allowableClockDriftSeconds integer false
flowMeasurementEnabled boolean false
requestAverageFlow boolean false
icuTimeZoneOffsetMillis integer false
adminSuspendStatus integer false
wateringAdjustmentCoefficients Object for field wateringAdjustmentCoefficients false
maxSimultaneousIrrigationValves integer false
enableSMS boolean false
icuModel string false
NOT_IN_USE Object for field NOT_IN_USE false
frequencyAdjustmentsCoefficients Object for field frequencyAdjustmentsCoefficients false
timeZoneIdentifier string false
maxStationCount integer false
ccuSuspendWatering boolean false
ccuSuspendIsTimed boolean false

DialSchedule

Name Type Required Description
secOfDay integer true
skipDays integer true
retries integer true
delayMinutes integer true

FlowLimitData

Name Type Required Description
overflowGroup0 integer true
underflowGroup0 integer true
overflowGroup1 integer true
underflowGroup1 integer true
leakLimitPPM integer true

TippingBucketCalibration

Name Type Required Description
inchesOfRainPerTip integer false
inchesOfRainStarted integer false
inchesOfRainHeavy integer false

Object for field wateringAdjustmentCoefficients

Name Type Required Description
* number false

Object for field NOT_IN_USE

Name Type Required Description
* number false

Object for field frequencyAdjustmentsCoefficients

Name Type Required Description
* number false

Object for field ccuZones

Name Type Required Description
* CCUZone false

CCUZone

Name Type Required Description
name string false
number integer false
projectId string false
areaRegionConfigStates Object for field areaRegionConfigStates false
configured boolean false
expectedFlowPPM integer false
disableFlowSensing boolean false
expectedFlowProcessState integer false
startOfUpdatingFlow integer false
updatePPM boolean false
gpm number false
customGpm number false

Object for field areaRegionConfigStates

Name Type Required Description
* boolean false

FlowSensorSettings

Name Type Required Description
flowSensorId string false
manufacturer string false
type string false
factorK number false
offset number false

MultiValveSettings

Name Type Required Description
multiValveMode boolean true
maxSimultaneousIrrigationValves integer true
masterValve boolean true
boosterPump boolean true
waterAloneStations integer[ ] true

Create controller in Unity system.

Request

curl "https://developer-api.etwater.com/api/v1/ccu-management/controllers" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"id\": \"example string value\",
    \"serialNumber\": \"example string value\",
    \"sim\": \"example string value\",
    \"imsi\": \"example string value\",
    \"config\": {
        \"numberOfDials\": 753,
        \"dialScheduleArray\": [
            {
                \"secOfDay\": 55,
                \"skipDays\": 765,
                \"retries\": 341,
                \"delayMinutes\": 548
            }
        ],
        \"extraMinutesToFillPipes\": 282,
        \"ip\": \"example string value\",
        \"secondaryIp\": \"example string value\",
        \"login\": \"example string value\",
        \"password\": \"example string value\",
        \"logString\": \"example string value\",
        \"pwString\": \"example string value\",
        \"dialString\": \"example string value\",
        \"port\": 963,
        \"fertigationValveNumber\": 813,
        \"stationCount\": 420,
        \"flowLimits\": {
            \"overflowGroup0\": 857,
            \"underflowGroup0\": 690,
            \"overflowGroup1\": 706,
            \"underflowGroup1\": 753,
            \"leakLimitPPM\": 389
        },
        \"keystrokeTimeout\": 650,
        \"calibrationInfo\": {
            \"inchesOfRainPerTip\": 25,
            \"inchesOfRainStarted\": 322,
            \"inchesOfRainHeavy\": 409
        },
        \"shortCircuitThreshold\": 354,
        \"openCircuitThreshold\": 681,
        \"multiValveMode\": true,
        \"disableMSLWReset\": false,
        \"remoteControl\": true,
        \"allowableClockDriftSeconds\": 455,
        \"flowMeasurementEnabled\": false,
        \"requestAverageFlow\": true,
        \"icuTimeZoneOffsetMillis\": 203,
        \"adminSuspendStatus\": 379,
        \"wateringAdjustmentCoefficients\": {
            \"example_property_name\": 956
        },
        \"maxSimultaneousIrrigationValves\": \"1\",
        \"enableSMS\": false,
        \"icuModel\": \"example string value\",
        \"NOT_IN_USE\": {
            \"example_property_name\": 777
        },
        \"frequencyAdjustmentsCoefficients\": {
            \"example_property_name\": 506.9130624210988
        },
        \"timeZoneIdentifier\": \"example string value\",
        \"maxStationCount\": 178,
        \"ccuSuspendWatering\": true,
        \"ccuSuspendIsTimed\": true
    },
    \"userId\": \"example string value\",
    \"controllerStatus\": \"ACTIVE\",
    \"createdAt\": 718,
    \"updatedAt\": 282,
    \"ccuZones\": {
        \"example_property_name\": {
            \"name\": \"example string value\",
            \"number\": 413,
            \"projectId\": \"example string value\",
            \"areaRegionConfigStates\": {
                \"example_property_name\": true
            },
            \"configured\": true,
            \"expectedFlowPPM\": 161,
            \"disableFlowSensing\": true,
            \"expectedFlowProcessState\": 939,
            \"startOfUpdatingFlow\": 600,
            \"updatePPM\": true,
            \"gpm\": 737,
            \"customGpm\": 200.39528617653775
        }
    },
    \"flowSensorSettings\": {
        \"flowSensorId\": \"example string value\",
        \"manufacturer\": \"example string value\",
        \"type\": \"example string value\",
        \"factorK\": 414.36607922165007,
        \"offset\": 76
    },
    \"configured\": true,
    \"activated\": true,
    \"projectId\": \"example string value\",
    \"name\": \"example string value\",
    \"firmwareVersion\": \"example string value\",
    \"unity\": true,
    \"multiValveSettings\": {
        \"multiValveMode\": true,
        \"maxSimultaneousIrrigationValves\": 515,
        \"masterValve\": false,
        \"boosterPump\": true,
        \"waterAloneStations\": [
            94
        ]
    },
    \"connectedAt\": 547,
    \"isPOTS\": true,
    \"modemTypeString\": \"example string value\",
    \"connectedSuccessfullyAt\": 862,
    \"connectedPlatform\": \"example string value\",
    \"modemSignalStrength\": 616,
    \"failedCallCount\": 93,
    \"rainSensorType\": 677,
    \"rainSensorEnabled\": true,
    \"icuFamily\": \"example string value\",
    \"iccid\": \"example string value\",
    \"nextConnectionAt\": 96,
    \"simNetworkType\": \"example string value\",
    \"modemTypeNumber\": 708
}"

On success, the above request returns response like

{
    "id": "example string value",
    "serialNumber": "example string value",
    "sim": "example string value",
    "imsi": "example string value",
    "config": {
        "numberOfDials": 834,
        "dialScheduleArray": [
            {
                "secOfDay": 318,
                "skipDays": 98,
                "retries": 263,
                "delayMinutes": 766
            }
        ],
        "extraMinutesToFillPipes": 523,
        "ip": "example string value",
        "secondaryIp": "example string value",
        "login": "example string value",
        "password": "example string value",
        "logString": "example string value",
        "pwString": "example string value",
        "dialString": "example string value",
        "port": 502,
        "fertigationValveNumber": 937,
        "stationCount": 931,
        "flowLimits": {
            "overflowGroup0": 291,
            "underflowGroup0": 301,
            "overflowGroup1": 639,
            "underflowGroup1": 592,
            "leakLimitPPM": 788
        },
        "keystrokeTimeout": 75,
        "calibrationInfo": {
            "inchesOfRainPerTip": 325,
            "inchesOfRainStarted": 897,
            "inchesOfRainHeavy": 703
        },
        "shortCircuitThreshold": 821,
        "openCircuitThreshold": 702,
        "multiValveMode": false,
        "disableMSLWReset": false,
        "remoteControl": true,
        "allowableClockDriftSeconds": 450,
        "flowMeasurementEnabled": true,
        "requestAverageFlow": false,
        "icuTimeZoneOffsetMillis": 185,
        "adminSuspendStatus": 83,
        "wateringAdjustmentCoefficients": {
            "example_property_name": 62.25495602109234
        },
        "maxSimultaneousIrrigationValves": "1",
        "enableSMS": true,
        "icuModel": "example string value",
        "NOT_IN_USE": {
            "example_property_name": 574.5655128613885
        },
        "frequencyAdjustmentsCoefficients": {
            "example_property_name": 892.1281881128103
        },
        "timeZoneIdentifier": "example string value",
        "maxStationCount": 672,
        "ccuSuspendWatering": false,
        "ccuSuspendIsTimed": false
    },
    "userId": "example string value",
    "controllerStatus": "ACTIVE",
    "createdAt": 748,
    "updatedAt": 578,
    "ccuZones": {
        "example_property_name": {
            "name": "example string value",
            "number": 788,
            "projectId": "example string value",
            "areaRegionConfigStates": {
                "example_property_name": false
            },
            "configured": false,
            "expectedFlowPPM": 686,
            "disableFlowSensing": true,
            "expectedFlowProcessState": 396,
            "startOfUpdatingFlow": 637,
            "updatePPM": false,
            "gpm": 896,
            "customGpm": 423.09757621171775
        }
    },
    "flowSensorSettings": {
        "flowSensorId": "example string value",
        "manufacturer": "example string value",
        "type": "example string value",
        "factorK": 630.776308770653,
        "offset": 965
    },
    "configured": false,
    "activated": false,
    "projectId": "example string value",
    "name": "example string value",
    "firmwareVersion": "example string value",
    "unity": true,
    "multiValveSettings": {
        "multiValveMode": false,
        "maxSimultaneousIrrigationValves": 607,
        "masterValve": true,
        "boosterPump": true,
        "waterAloneStations": [
            615
        ]
    },
    "connectedAt": 684,
    "isPOTS": true,
    "modemTypeString": "example string value",
    "connectedSuccessfullyAt": 428,
    "connectedPlatform": "example string value",
    "modemSignalStrength": 808,
    "failedCallCount": 28,
    "rainSensorType": 478,
    "rainSensorEnabled": true,
    "icuFamily": "example string value",
    "iccid": "example string value",
    "nextConnectionAt": 587,
    "simNetworkType": "example string value",
    "modemTypeNumber": 670
}

Dependent on:

Headers example:

where: {access_token} access token value.

The simplest way of controller creation is to provide only serialNumber to body request.

Example: json { "serialNumber": <string> }

Request body fields description:

Response body description:

HTTP Request

POST /api/v1/ccu-management/controllers

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
CcuController CcuController body true

CcuController

Name Type Required Description
id string false
serialNumber string false
sim string false
imsi string false
config CcuConfig false
userId string false
controllerStatus string false
createdAt integer false
updatedAt integer false
ccuZones Object for field ccuZones false
flowSensorSettings FlowSensorSettings false
configured boolean false
activated boolean false
projectId string false
name string false
firmwareVersion string false
unity boolean false
multiValveSettings MultiValveSettings false
connectedAt integer false
isPOTS boolean false
modemTypeString string false
connectedSuccessfullyAt integer false
connectedPlatform string false
modemSignalStrength integer false
failedCallCount integer false
rainSensorType integer false
rainSensorEnabled boolean false
icuFamily string false
iccid string false
nextConnectionAt integer false
simNetworkType string false
modemTypeNumber integer false

CcuConfig

Name Type Required Description
numberOfDials integer false
dialScheduleArray DialSchedule[ ] false
extraMinutesToFillPipes integer false
ip string false
secondaryIp string false
login string false
password string false
logString string false
pwString string false
dialString string false
port integer false
fertigationValveNumber integer false
stationCount integer false
flowLimits FlowLimitData false
keystrokeTimeout integer false
calibrationInfo TippingBucketCalibration false
shortCircuitThreshold integer false
openCircuitThreshold integer false
multiValveMode boolean false
disableMSLWReset boolean false
remoteControl boolean false
allowableClockDriftSeconds integer false
flowMeasurementEnabled boolean false
requestAverageFlow boolean false
icuTimeZoneOffsetMillis integer false
adminSuspendStatus integer false
wateringAdjustmentCoefficients Object for field wateringAdjustmentCoefficients false
maxSimultaneousIrrigationValves integer false
enableSMS boolean false
icuModel string false
NOT_IN_USE Object for field NOT_IN_USE false
frequencyAdjustmentsCoefficients Object for field frequencyAdjustmentsCoefficients false
timeZoneIdentifier string false
maxStationCount integer false
ccuSuspendWatering boolean false
ccuSuspendIsTimed boolean false

DialSchedule

Name Type Required Description
secOfDay integer true
skipDays integer true
retries integer true
delayMinutes integer true

FlowLimitData

Name Type Required Description
overflowGroup0 integer true
underflowGroup0 integer true
overflowGroup1 integer true
underflowGroup1 integer true
leakLimitPPM integer true

TippingBucketCalibration

Name Type Required Description
inchesOfRainPerTip integer false
inchesOfRainStarted integer false
inchesOfRainHeavy integer false

Object for field wateringAdjustmentCoefficients

Name Type Required Description
* number false

Object for field NOT_IN_USE

Name Type Required Description
* number false

Object for field frequencyAdjustmentsCoefficients

Name Type Required Description
* number false

Object for field ccuZones

Name Type Required Description
* CCUZone false

CCUZone

Name Type Required Description
name string false
number integer false
projectId string false
areaRegionConfigStates Object for field areaRegionConfigStates false
configured boolean false
expectedFlowPPM integer false
disableFlowSensing boolean false
expectedFlowProcessState integer false
startOfUpdatingFlow integer false
updatePPM boolean false
gpm number false
customGpm number false

Object for field areaRegionConfigStates

Name Type Required Description
* boolean false

FlowSensorSettings

Name Type Required Description
flowSensorId string false
manufacturer string false
type string false
factorK number false
offset number false

MultiValveSettings

Name Type Required Description
multiValveMode boolean true
maxSimultaneousIrrigationValves integer true
masterValve boolean true
boosterPump boolean true
waterAloneStations integer[ ] true

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string false
serialNumber string false
sim string false
imsi string false
config CcuConfig false
userId string false
controllerStatus string false
createdAt integer false
updatedAt integer false
ccuZones Object for field ccuZones false
flowSensorSettings FlowSensorSettings false
configured boolean false
activated boolean false
projectId string false
name string false
firmwareVersion string false
unity boolean false
multiValveSettings MultiValveSettings false
connectedAt integer false
isPOTS boolean false
modemTypeString string false
connectedSuccessfullyAt integer false
connectedPlatform string false
modemSignalStrength integer false
failedCallCount integer false
rainSensorType integer false
rainSensorEnabled boolean false
icuFamily string false
iccid string false
nextConnectionAt integer false
simNetworkType string false
modemTypeNumber integer false

CcuConfig

Name Type Required Description
numberOfDials integer false
dialScheduleArray DialSchedule[ ] false
extraMinutesToFillPipes integer false
ip string false
secondaryIp string false
login string false
password string false
logString string false
pwString string false
dialString string false
port integer false
fertigationValveNumber integer false
stationCount integer false
flowLimits FlowLimitData false
keystrokeTimeout integer false
calibrationInfo TippingBucketCalibration false
shortCircuitThreshold integer false
openCircuitThreshold integer false
multiValveMode boolean false
disableMSLWReset boolean false
remoteControl boolean false
allowableClockDriftSeconds integer false
flowMeasurementEnabled boolean false
requestAverageFlow boolean false
icuTimeZoneOffsetMillis integer false
adminSuspendStatus integer false
wateringAdjustmentCoefficients Object for field wateringAdjustmentCoefficients false
maxSimultaneousIrrigationValves integer false
enableSMS boolean false
icuModel string false
NOT_IN_USE Object for field NOT_IN_USE false
frequencyAdjustmentsCoefficients Object for field frequencyAdjustmentsCoefficients false
timeZoneIdentifier string false
maxStationCount integer false
ccuSuspendWatering boolean false
ccuSuspendIsTimed boolean false

DialSchedule

Name Type Required Description
secOfDay integer true
skipDays integer true
retries integer true
delayMinutes integer true

FlowLimitData

Name Type Required Description
overflowGroup0 integer true
underflowGroup0 integer true
overflowGroup1 integer true
underflowGroup1 integer true
leakLimitPPM integer true

TippingBucketCalibration

Name Type Required Description
inchesOfRainPerTip integer false
inchesOfRainStarted integer false
inchesOfRainHeavy integer false

Object for field wateringAdjustmentCoefficients

Name Type Required Description
* number false

Object for field NOT_IN_USE

Name Type Required Description
* number false

Object for field frequencyAdjustmentsCoefficients

Name Type Required Description
* number false

Object for field ccuZones

Name Type Required Description
* CCUZone false

CCUZone

Name Type Required Description
name string false
number integer false
projectId string false
areaRegionConfigStates Object for field areaRegionConfigStates false
configured boolean false
expectedFlowPPM integer false
disableFlowSensing boolean false
expectedFlowProcessState integer false
startOfUpdatingFlow integer false
updatePPM boolean false
gpm number false
customGpm number false

Object for field areaRegionConfigStates

Name Type Required Description
* boolean false

FlowSensorSettings

Name Type Required Description
flowSensorId string false
manufacturer string false
type string false
factorK number false
offset number false

MultiValveSettings

Name Type Required Description
multiValveMode boolean true
maxSimultaneousIrrigationValves integer true
masterValve boolean true
boosterPump boolean true
waterAloneStations integer[ ] true

Create or update controllers

Request

curl "https://developer-api.etwater.com/api/v1/ccu-management/controllers" \
-X PATCH \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "[
    {
        \"id\": \"example string value\",
        \"serialNumber\": \"example string value\",
        \"sim\": \"example string value\",
        \"imsi\": \"example string value\",
        \"config\": {
            \"numberOfDials\": 743,
            \"dialScheduleArray\": [
                {
                    \"secOfDay\": 780,
                    \"skipDays\": 236,
                    \"retries\": 30,
                    \"delayMinutes\": 583
                }
            ],
            \"extraMinutesToFillPipes\": 311,
            \"ip\": \"example string value\",
            \"secondaryIp\": \"example string value\",
            \"login\": \"example string value\",
            \"password\": \"example string value\",
            \"logString\": \"example string value\",
            \"pwString\": \"example string value\",
            \"dialString\": \"example string value\",
            \"port\": 803,
            \"fertigationValveNumber\": 107,
            \"stationCount\": 530,
            \"flowLimits\": {
                \"overflowGroup0\": 122,
                \"underflowGroup0\": 770,
                \"overflowGroup1\": 577,
                \"underflowGroup1\": 383,
                \"leakLimitPPM\": 712
            },
            \"keystrokeTimeout\": 966,
            \"calibrationInfo\": {
                \"inchesOfRainPerTip\": 404,
                \"inchesOfRainStarted\": 518,
                \"inchesOfRainHeavy\": 52
            },
            \"shortCircuitThreshold\": 69,
            \"openCircuitThreshold\": 99,
            \"multiValveMode\": true,
            \"disableMSLWReset\": true,
            \"remoteControl\": false,
            \"allowableClockDriftSeconds\": 717,
            \"flowMeasurementEnabled\": false,
            \"requestAverageFlow\": false,
            \"icuTimeZoneOffsetMillis\": 887,
            \"adminSuspendStatus\": 991,
            \"wateringAdjustmentCoefficients\": {
                \"example_property_name\": 538.8339397212648
            },
            \"maxSimultaneousIrrigationValves\": \"1\",
            \"enableSMS\": true,
            \"icuModel\": \"example string value\",
            \"NOT_IN_USE\": {
                \"example_property_name\": 452
            },
            \"frequencyAdjustmentsCoefficients\": {
                \"example_property_name\": 498.71362070493103
            },
            \"timeZoneIdentifier\": \"example string value\",
            \"maxStationCount\": 567,
            \"ccuSuspendWatering\": false,
            \"ccuSuspendIsTimed\": false
        },
        \"userId\": \"example string value\",
        \"controllerStatus\": \"DELETED\",
        \"createdAt\": 269,
        \"updatedAt\": 151,
        \"ccuZones\": {
            \"example_property_name\": {
                \"name\": \"example string value\",
                \"number\": 307,
                \"projectId\": \"example string value\",
                \"areaRegionConfigStates\": {
                    \"example_property_name\": true
                },
                \"configured\": false,
                \"expectedFlowPPM\": 855,
                \"disableFlowSensing\": false,
                \"expectedFlowProcessState\": 347,
                \"startOfUpdatingFlow\": 69,
                \"updatePPM\": false,
                \"gpm\": 663.6511225549742,
                \"customGpm\": 599.5190155690159
            }
        },
        \"flowSensorSettings\": {
            \"flowSensorId\": \"example string value\",
            \"manufacturer\": \"example string value\",
            \"type\": \"example string value\",
            \"factorK\": 977.6049074612581,
            \"offset\": 534
        },
        \"configured\": false,
        \"activated\": true,
        \"projectId\": \"example string value\",
        \"name\": \"example string value\",
        \"firmwareVersion\": \"example string value\",
        \"unity\": false,
        \"multiValveSettings\": {
            \"multiValveMode\": false,
            \"maxSimultaneousIrrigationValves\": 784,
            \"masterValve\": false,
            \"boosterPump\": true,
            \"waterAloneStations\": [
                152
            ]
        },
        \"connectedAt\": 55,
        \"isPOTS\": true,
        \"modemTypeString\": \"example string value\",
        \"connectedSuccessfullyAt\": 824,
        \"connectedPlatform\": \"example string value\",
        \"modemSignalStrength\": 993,
        \"failedCallCount\": 732,
        \"rainSensorType\": 806,
        \"rainSensorEnabled\": true,
        \"icuFamily\": \"example string value\",
        \"iccid\": \"example string value\",
        \"nextConnectionAt\": 17,
        \"simNetworkType\": \"example string value\",
        \"modemTypeNumber\": 65
    }
]"

On success, the above request returns response like

[
    {
        "id": "example string value",
        "serialNumber": "example string value",
        "sim": "example string value",
        "imsi": "example string value",
        "config": {
            "numberOfDials": 174,
            "dialScheduleArray": [
                {
                    "secOfDay": 757,
                    "skipDays": 276,
                    "retries": 802,
                    "delayMinutes": 113
                }
            ],
            "extraMinutesToFillPipes": 896,
            "ip": "example string value",
            "secondaryIp": "example string value",
            "login": "example string value",
            "password": "example string value",
            "logString": "example string value",
            "pwString": "example string value",
            "dialString": "example string value",
            "port": 601,
            "fertigationValveNumber": 973,
            "stationCount": 695,
            "flowLimits": {
                "overflowGroup0": 444,
                "underflowGroup0": 533,
                "overflowGroup1": 237,
                "underflowGroup1": 561,
                "leakLimitPPM": 147
            },
            "keystrokeTimeout": 9,
            "calibrationInfo": {
                "inchesOfRainPerTip": 769,
                "inchesOfRainStarted": 153,
                "inchesOfRainHeavy": 682
            },
            "shortCircuitThreshold": 559,
            "openCircuitThreshold": 798,
            "multiValveMode": true,
            "disableMSLWReset": false,
            "remoteControl": false,
            "allowableClockDriftSeconds": 317,
            "flowMeasurementEnabled": false,
            "requestAverageFlow": true,
            "icuTimeZoneOffsetMillis": 222,
            "adminSuspendStatus": 123,
            "wateringAdjustmentCoefficients": {
                "example_property_name": 469.8764879581875
            },
            "maxSimultaneousIrrigationValves": "1",
            "enableSMS": true,
            "icuModel": "example string value",
            "NOT_IN_USE": {
                "example_property_name": 72.26141871524109
            },
            "frequencyAdjustmentsCoefficients": {
                "example_property_name": 99.9031155835386
            },
            "timeZoneIdentifier": "example string value",
            "maxStationCount": 861,
            "ccuSuspendWatering": true,
            "ccuSuspendIsTimed": true
        },
        "userId": "example string value",
        "controllerStatus": "ACTIVE",
        "createdAt": 583,
        "updatedAt": 338,
        "ccuZones": {
            "example_property_name": {
                "name": "example string value",
                "number": 347,
                "projectId": "example string value",
                "areaRegionConfigStates": {
                    "example_property_name": true
                },
                "configured": true,
                "expectedFlowPPM": 198,
                "disableFlowSensing": true,
                "expectedFlowProcessState": 495,
                "startOfUpdatingFlow": 960,
                "updatePPM": false,
                "gpm": 276.8707425691517,
                "customGpm": 116
            }
        },
        "flowSensorSettings": {
            "flowSensorId": "example string value",
            "manufacturer": "example string value",
            "type": "example string value",
            "factorK": 357.45422512174315,
            "offset": 36.41334829684968
        },
        "configured": true,
        "activated": true,
        "projectId": "example string value",
        "name": "example string value",
        "firmwareVersion": "example string value",
        "unity": false,
        "multiValveSettings": {
            "multiValveMode": false,
            "maxSimultaneousIrrigationValves": 302,
            "masterValve": false,
            "boosterPump": false,
            "waterAloneStations": [
                893
            ]
        },
        "connectedAt": 57,
        "isPOTS": false,
        "modemTypeString": "example string value",
        "connectedSuccessfullyAt": 575,
        "connectedPlatform": "example string value",
        "modemSignalStrength": 801,
        "failedCallCount": 772,
        "rainSensorType": 221,
        "rainSensorEnabled": true,
        "icuFamily": "example string value",
        "iccid": "example string value",
        "nextConnectionAt": 438,
        "simNetworkType": "example string value",
        "modemTypeNumber": 689
    }
]

HTTP Request

PATCH /api/v1/ccu-management/controllers

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
CcuControllers CcuController[ ] body true

CcuController

Name Type Required Description
id string false
serialNumber string false
sim string false
imsi string false
config CcuConfig false
userId string false
controllerStatus string false
createdAt integer false
updatedAt integer false
ccuZones Object for field ccuZones false
flowSensorSettings FlowSensorSettings false
configured boolean false
activated boolean false
projectId string false
name string false
firmwareVersion string false
unity boolean false
multiValveSettings MultiValveSettings false
connectedAt integer false
isPOTS boolean false
modemTypeString string false
connectedSuccessfullyAt integer false
connectedPlatform string false
modemSignalStrength integer false
failedCallCount integer false
rainSensorType integer false
rainSensorEnabled boolean false
icuFamily string false
iccid string false
nextConnectionAt integer false
simNetworkType string false
modemTypeNumber integer false

CcuConfig

Name Type Required Description
numberOfDials integer false
dialScheduleArray DialSchedule[ ] false
extraMinutesToFillPipes integer false
ip string false
secondaryIp string false
login string false
password string false
logString string false
pwString string false
dialString string false
port integer false
fertigationValveNumber integer false
stationCount integer false
flowLimits FlowLimitData false
keystrokeTimeout integer false
calibrationInfo TippingBucketCalibration false
shortCircuitThreshold integer false
openCircuitThreshold integer false
multiValveMode boolean false
disableMSLWReset boolean false
remoteControl boolean false
allowableClockDriftSeconds integer false
flowMeasurementEnabled boolean false
requestAverageFlow boolean false
icuTimeZoneOffsetMillis integer false
adminSuspendStatus integer false
wateringAdjustmentCoefficients Object for field wateringAdjustmentCoefficients false
maxSimultaneousIrrigationValves integer false
enableSMS boolean false
icuModel string false
NOT_IN_USE Object for field NOT_IN_USE false
frequencyAdjustmentsCoefficients Object for field frequencyAdjustmentsCoefficients false
timeZoneIdentifier string false
maxStationCount integer false
ccuSuspendWatering boolean false
ccuSuspendIsTimed boolean false

DialSchedule

Name Type Required Description
secOfDay integer true
skipDays integer true
retries integer true
delayMinutes integer true

FlowLimitData

Name Type Required Description
overflowGroup0 integer true
underflowGroup0 integer true
overflowGroup1 integer true
underflowGroup1 integer true
leakLimitPPM integer true

TippingBucketCalibration

Name Type Required Description
inchesOfRainPerTip integer false
inchesOfRainStarted integer false
inchesOfRainHeavy integer false

Object for field wateringAdjustmentCoefficients

Name Type Required Description
* number false

Object for field NOT_IN_USE

Name Type Required Description
* number false

Object for field frequencyAdjustmentsCoefficients

Name Type Required Description
* number false

Object for field ccuZones

Name Type Required Description
* CCUZone false

CCUZone

Name Type Required Description
name string false
number integer false
projectId string false
areaRegionConfigStates Object for field areaRegionConfigStates false
configured boolean false
expectedFlowPPM integer false
disableFlowSensing boolean false
expectedFlowProcessState integer false
startOfUpdatingFlow integer false
updatePPM boolean false
gpm number false
customGpm number false

Object for field areaRegionConfigStates

Name Type Required Description
* boolean false

FlowSensorSettings

Name Type Required Description
flowSensorId string false
manufacturer string false
type string false
factorK number false
offset number false

MultiValveSettings

Name Type Required Description
multiValveMode boolean true
maxSimultaneousIrrigationValves integer true
masterValve boolean true
boosterPump boolean true
waterAloneStations integer[ ] true

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response is array of

Name Type Required Description
id string false
serialNumber string false
sim string false
imsi string false
config CcuConfig false
userId string false
controllerStatus string false
createdAt integer false
updatedAt integer false
ccuZones Object for field ccuZones false
flowSensorSettings FlowSensorSettings false
configured boolean false
activated boolean false
projectId string false
name string false
firmwareVersion string false
unity boolean false
multiValveSettings MultiValveSettings false
connectedAt integer false
isPOTS boolean false
modemTypeString string false
connectedSuccessfullyAt integer false
connectedPlatform string false
modemSignalStrength integer false
failedCallCount integer false
rainSensorType integer false
rainSensorEnabled boolean false
icuFamily string false
iccid string false
nextConnectionAt integer false
simNetworkType string false
modemTypeNumber integer false

CcuConfig

Name Type Required Description
numberOfDials integer false
dialScheduleArray DialSchedule[ ] false
extraMinutesToFillPipes integer false
ip string false
secondaryIp string false
login string false
password string false
logString string false
pwString string false
dialString string false
port integer false
fertigationValveNumber integer false
stationCount integer false
flowLimits FlowLimitData false
keystrokeTimeout integer false
calibrationInfo TippingBucketCalibration false
shortCircuitThreshold integer false
openCircuitThreshold integer false
multiValveMode boolean false
disableMSLWReset boolean false
remoteControl boolean false
allowableClockDriftSeconds integer false
flowMeasurementEnabled boolean false
requestAverageFlow boolean false
icuTimeZoneOffsetMillis integer false
adminSuspendStatus integer false
wateringAdjustmentCoefficients Object for field wateringAdjustmentCoefficients false
maxSimultaneousIrrigationValves integer false
enableSMS boolean false
icuModel string false
NOT_IN_USE Object for field NOT_IN_USE false
frequencyAdjustmentsCoefficients Object for field frequencyAdjustmentsCoefficients false
timeZoneIdentifier string false
maxStationCount integer false
ccuSuspendWatering boolean false
ccuSuspendIsTimed boolean false

DialSchedule

Name Type Required Description
secOfDay integer true
skipDays integer true
retries integer true
delayMinutes integer true

FlowLimitData

Name Type Required Description
overflowGroup0 integer true
underflowGroup0 integer true
overflowGroup1 integer true
underflowGroup1 integer true
leakLimitPPM integer true

TippingBucketCalibration

Name Type Required Description
inchesOfRainPerTip integer false
inchesOfRainStarted integer false
inchesOfRainHeavy integer false

Object for field wateringAdjustmentCoefficients

Name Type Required Description
* number false

Object for field NOT_IN_USE

Name Type Required Description
* number false

Object for field frequencyAdjustmentsCoefficients

Name Type Required Description
* number false

Object for field ccuZones

Name Type Required Description
* CCUZone false

CCUZone

Name Type Required Description
name string false
number integer false
projectId string false
areaRegionConfigStates Object for field areaRegionConfigStates false
configured boolean false
expectedFlowPPM integer false
disableFlowSensing boolean false
expectedFlowProcessState integer false
startOfUpdatingFlow integer false
updatePPM boolean false
gpm number false
customGpm number false

Object for field areaRegionConfigStates

Name Type Required Description
* boolean false

FlowSensorSettings

Name Type Required Description
flowSensorId string false
manufacturer string false
type string false
factorK number false
offset number false

MultiValveSettings

Name Type Required Description
multiValveMode boolean true
maxSimultaneousIrrigationValves integer true
masterValve boolean true
boosterPump boolean true
waterAloneStations integer[ ] true

Retrieves controller by controller id.

Request

curl "https://developer-api.etwater.com/api/v1/ccu-management/controllers/{controllerId}" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "id": "example string value",
    "serialNumber": "example string value",
    "sim": "example string value",
    "imsi": "example string value",
    "config": {
        "numberOfDials": 862,
        "dialScheduleArray": [
            {
                "secOfDay": 782,
                "skipDays": 901,
                "retries": 718,
                "delayMinutes": 389
            }
        ],
        "extraMinutesToFillPipes": 113,
        "ip": "example string value",
        "secondaryIp": "example string value",
        "login": "example string value",
        "password": "example string value",
        "logString": "example string value",
        "pwString": "example string value",
        "dialString": "example string value",
        "port": 532,
        "fertigationValveNumber": 352,
        "stationCount": 666,
        "flowLimits": {
            "overflowGroup0": 399,
            "underflowGroup0": 68,
            "overflowGroup1": 142,
            "underflowGroup1": 68,
            "leakLimitPPM": 549
        },
        "keystrokeTimeout": 957,
        "calibrationInfo": {
            "inchesOfRainPerTip": 546,
            "inchesOfRainStarted": 100,
            "inchesOfRainHeavy": 748
        },
        "shortCircuitThreshold": 268,
        "openCircuitThreshold": 864,
        "multiValveMode": false,
        "disableMSLWReset": true,
        "remoteControl": false,
        "allowableClockDriftSeconds": 554,
        "flowMeasurementEnabled": true,
        "requestAverageFlow": false,
        "icuTimeZoneOffsetMillis": 110,
        "adminSuspendStatus": 361,
        "wateringAdjustmentCoefficients": {
            "example_property_name": 134.4206277906991
        },
        "maxSimultaneousIrrigationValves": "1",
        "enableSMS": false,
        "icuModel": "example string value",
        "NOT_IN_USE": {
            "example_property_name": 877
        },
        "frequencyAdjustmentsCoefficients": {
            "example_property_name": 833
        },
        "timeZoneIdentifier": "example string value",
        "maxStationCount": 725,
        "ccuSuspendWatering": false,
        "ccuSuspendIsTimed": true
    },
    "userId": "example string value",
    "controllerStatus": "DELETED",
    "createdAt": 772,
    "updatedAt": 242,
    "ccuZones": {
        "example_property_name": {
            "name": "example string value",
            "number": 876,
            "projectId": "example string value",
            "areaRegionConfigStates": {
                "example_property_name": false
            },
            "configured": true,
            "expectedFlowPPM": 902,
            "disableFlowSensing": true,
            "expectedFlowProcessState": 164,
            "startOfUpdatingFlow": 162,
            "updatePPM": false,
            "gpm": 869.0144530818865,
            "customGpm": 103.73204113158027
        }
    },
    "flowSensorSettings": {
        "flowSensorId": "example string value",
        "manufacturer": "example string value",
        "type": "example string value",
        "factorK": 927,
        "offset": 325
    },
    "configured": false,
    "activated": true,
    "projectId": "example string value",
    "name": "example string value",
    "firmwareVersion": "example string value",
    "unity": true,
    "multiValveSettings": {
        "multiValveMode": false,
        "maxSimultaneousIrrigationValves": 4,
        "masterValve": true,
        "boosterPump": false,
        "waterAloneStations": [
            722
        ]
    },
    "connectedAt": 397,
    "isPOTS": false,
    "modemTypeString": "example string value",
    "connectedSuccessfullyAt": 16,
    "connectedPlatform": "example string value",
    "modemSignalStrength": 251,
    "failedCallCount": 916,
    "rainSensorType": 494,
    "rainSensorEnabled": true,
    "icuFamily": "example string value",
    "iccid": "example string value",
    "nextConnectionAt": 790,
    "simNetworkType": "example string value",
    "modemTypeNumber": 121
}

Dependent on:

Headers example:

where: {access_token} access token value.

Path parameter description

{controllerId} - controller id value.

HTTP Request

GET /api/v1/ccu-management/controllers/{controllerId}

Request parameters

Name Type Part Required Description
Authorization string header true
controllerId string path true

HTTP Responses

Code Description
200 OK
404 Not Found
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string false
serialNumber string false
sim string false
imsi string false
config CcuConfig false
userId string false
controllerStatus string false
createdAt integer false
updatedAt integer false
ccuZones Object for field ccuZones false
flowSensorSettings FlowSensorSettings false
configured boolean false
activated boolean false
projectId string false
name string false
firmwareVersion string false
unity boolean false
multiValveSettings MultiValveSettings false
connectedAt integer false
isPOTS boolean false
modemTypeString string false
connectedSuccessfullyAt integer false
connectedPlatform string false
modemSignalStrength integer false
failedCallCount integer false
rainSensorType integer false
rainSensorEnabled boolean false
icuFamily string false
iccid string false
nextConnectionAt integer false
simNetworkType string false
modemTypeNumber integer false

CcuConfig

Name Type Required Description
numberOfDials integer false
dialScheduleArray DialSchedule[ ] false
extraMinutesToFillPipes integer false
ip string false
secondaryIp string false
login string false
password string false
logString string false
pwString string false
dialString string false
port integer false
fertigationValveNumber integer false
stationCount integer false
flowLimits FlowLimitData false
keystrokeTimeout integer false
calibrationInfo TippingBucketCalibration false
shortCircuitThreshold integer false
openCircuitThreshold integer false
multiValveMode boolean false
disableMSLWReset boolean false
remoteControl boolean false
allowableClockDriftSeconds integer false
flowMeasurementEnabled boolean false
requestAverageFlow boolean false
icuTimeZoneOffsetMillis integer false
adminSuspendStatus integer false
wateringAdjustmentCoefficients Object for field wateringAdjustmentCoefficients false
maxSimultaneousIrrigationValves integer false
enableSMS boolean false
icuModel string false
NOT_IN_USE Object for field NOT_IN_USE false
frequencyAdjustmentsCoefficients Object for field frequencyAdjustmentsCoefficients false
timeZoneIdentifier string false
maxStationCount integer false
ccuSuspendWatering boolean false
ccuSuspendIsTimed boolean false

DialSchedule

Name Type Required Description
secOfDay integer true
skipDays integer true
retries integer true
delayMinutes integer true

FlowLimitData

Name Type Required Description
overflowGroup0 integer true
underflowGroup0 integer true
overflowGroup1 integer true
underflowGroup1 integer true
leakLimitPPM integer true

TippingBucketCalibration

Name Type Required Description
inchesOfRainPerTip integer false
inchesOfRainStarted integer false
inchesOfRainHeavy integer false

Object for field wateringAdjustmentCoefficients

Name Type Required Description
* number false

Object for field NOT_IN_USE

Name Type Required Description
* number false

Object for field frequencyAdjustmentsCoefficients

Name Type Required Description
* number false

Object for field ccuZones

Name Type Required Description
* CCUZone false

CCUZone

Name Type Required Description
name string false
number integer false
projectId string false
areaRegionConfigStates Object for field areaRegionConfigStates false
configured boolean false
expectedFlowPPM integer false
disableFlowSensing boolean false
expectedFlowProcessState integer false
startOfUpdatingFlow integer false
updatePPM boolean false
gpm number false
customGpm number false

Object for field areaRegionConfigStates

Name Type Required Description
* boolean false

FlowSensorSettings

Name Type Required Description
flowSensorId string false
manufacturer string false
type string false
factorK number false
offset number false

MultiValveSettings

Name Type Required Description
multiValveMode boolean true
maxSimultaneousIrrigationValves integer true
masterValve boolean true
boosterPump boolean true
waterAloneStations integer[ ] true

Updates controller in Unity system by controller id.

Request

curl "https://developer-api.etwater.com/api/v1/ccu-management/controllers/{controllerId}" \
-X PUT \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"id\": \"example string value\",
    \"serialNumber\": \"example string value\",
    \"sim\": \"example string value\",
    \"imsi\": \"example string value\",
    \"config\": {
        \"numberOfDials\": 753,
        \"dialScheduleArray\": [
            {
                \"secOfDay\": 624,
                \"skipDays\": 15,
                \"retries\": 269,
                \"delayMinutes\": 913
            }
        ],
        \"extraMinutesToFillPipes\": 792,
        \"ip\": \"example string value\",
        \"secondaryIp\": \"example string value\",
        \"login\": \"example string value\",
        \"password\": \"example string value\",
        \"logString\": \"example string value\",
        \"pwString\": \"example string value\",
        \"dialString\": \"example string value\",
        \"port\": 911,
        \"fertigationValveNumber\": 661,
        \"stationCount\": 61,
        \"flowLimits\": {
            \"overflowGroup0\": 475,
            \"underflowGroup0\": 110,
            \"overflowGroup1\": 128,
            \"underflowGroup1\": 642,
            \"leakLimitPPM\": 652
        },
        \"keystrokeTimeout\": 904,
        \"calibrationInfo\": {
            \"inchesOfRainPerTip\": 374,
            \"inchesOfRainStarted\": 859,
            \"inchesOfRainHeavy\": 610
        },
        \"shortCircuitThreshold\": 449,
        \"openCircuitThreshold\": 955,
        \"multiValveMode\": false,
        \"disableMSLWReset\": true,
        \"remoteControl\": false,
        \"allowableClockDriftSeconds\": 661,
        \"flowMeasurementEnabled\": false,
        \"requestAverageFlow\": false,
        \"icuTimeZoneOffsetMillis\": 66,
        \"adminSuspendStatus\": 384,
        \"wateringAdjustmentCoefficients\": {
            \"example_property_name\": 957
        },
        \"maxSimultaneousIrrigationValves\": \"1\",
        \"enableSMS\": false,
        \"icuModel\": \"example string value\",
        \"NOT_IN_USE\": {
            \"example_property_name\": 18
        },
        \"frequencyAdjustmentsCoefficients\": {
            \"example_property_name\": 208
        },
        \"timeZoneIdentifier\": \"example string value\",
        \"maxStationCount\": 203,
        \"ccuSuspendWatering\": false,
        \"ccuSuspendIsTimed\": true
    },
    \"userId\": \"example string value\",
    \"controllerStatus\": \"DEACTIVATED\",
    \"createdAt\": 970,
    \"updatedAt\": 993,
    \"ccuZones\": {
        \"example_property_name\": {
            \"name\": \"example string value\",
            \"number\": 16,
            \"projectId\": \"example string value\",
            \"areaRegionConfigStates\": {
                \"example_property_name\": false
            },
            \"configured\": false,
            \"expectedFlowPPM\": 540,
            \"disableFlowSensing\": false,
            \"expectedFlowProcessState\": 209,
            \"startOfUpdatingFlow\": 292,
            \"updatePPM\": false,
            \"gpm\": 514,
            \"customGpm\": 254.50039061461592
        }
    },
    \"flowSensorSettings\": {
        \"flowSensorId\": \"example string value\",
        \"manufacturer\": \"example string value\",
        \"type\": \"example string value\",
        \"factorK\": 891,
        \"offset\": 232.88898553368122
    },
    \"configured\": true,
    \"activated\": true,
    \"projectId\": \"example string value\",
    \"name\": \"example string value\",
    \"firmwareVersion\": \"example string value\",
    \"unity\": true,
    \"multiValveSettings\": {
        \"multiValveMode\": true,
        \"maxSimultaneousIrrigationValves\": 368,
        \"masterValve\": false,
        \"boosterPump\": false,
        \"waterAloneStations\": [
            396
        ]
    },
    \"connectedAt\": 325,
    \"isPOTS\": false,
    \"modemTypeString\": \"example string value\",
    \"connectedSuccessfullyAt\": 277,
    \"connectedPlatform\": \"example string value\",
    \"modemSignalStrength\": 396,
    \"failedCallCount\": 866,
    \"rainSensorType\": 507,
    \"rainSensorEnabled\": false,
    \"icuFamily\": \"example string value\",
    \"iccid\": \"example string value\",
    \"nextConnectionAt\": 528,
    \"simNetworkType\": \"example string value\",
    \"modemTypeNumber\": 747
}"

On success, the above request returns response like

{
    "id": "example string value",
    "serialNumber": "example string value",
    "sim": "example string value",
    "imsi": "example string value",
    "config": {
        "numberOfDials": 489,
        "dialScheduleArray": [
            {
                "secOfDay": 419,
                "skipDays": 837,
                "retries": 58,
                "delayMinutes": 430
            }
        ],
        "extraMinutesToFillPipes": 607,
        "ip": "example string value",
        "secondaryIp": "example string value",
        "login": "example string value",
        "password": "example string value",
        "logString": "example string value",
        "pwString": "example string value",
        "dialString": "example string value",
        "port": 701,
        "fertigationValveNumber": 373,
        "stationCount": 155,
        "flowLimits": {
            "overflowGroup0": 530,
            "underflowGroup0": 333,
            "overflowGroup1": 994,
            "underflowGroup1": 37,
            "leakLimitPPM": 300
        },
        "keystrokeTimeout": 295,
        "calibrationInfo": {
            "inchesOfRainPerTip": 577,
            "inchesOfRainStarted": 50,
            "inchesOfRainHeavy": 794
        },
        "shortCircuitThreshold": 179,
        "openCircuitThreshold": 42,
        "multiValveMode": true,
        "disableMSLWReset": true,
        "remoteControl": true,
        "allowableClockDriftSeconds": 368,
        "flowMeasurementEnabled": true,
        "requestAverageFlow": true,
        "icuTimeZoneOffsetMillis": 271,
        "adminSuspendStatus": 498,
        "wateringAdjustmentCoefficients": {
            "example_property_name": 232.79756597839182
        },
        "maxSimultaneousIrrigationValves": "1",
        "enableSMS": true,
        "icuModel": "example string value",
        "NOT_IN_USE": {
            "example_property_name": 384.7162678766606
        },
        "frequencyAdjustmentsCoefficients": {
            "example_property_name": 0
        },
        "timeZoneIdentifier": "example string value",
        "maxStationCount": 727,
        "ccuSuspendWatering": false,
        "ccuSuspendIsTimed": false
    },
    "userId": "example string value",
    "controllerStatus": "DEACTIVATED",
    "createdAt": 857,
    "updatedAt": 369,
    "ccuZones": {
        "example_property_name": {
            "name": "example string value",
            "number": 839,
            "projectId": "example string value",
            "areaRegionConfigStates": {
                "example_property_name": false
            },
            "configured": true,
            "expectedFlowPPM": 753,
            "disableFlowSensing": false,
            "expectedFlowProcessState": 813,
            "startOfUpdatingFlow": 577,
            "updatePPM": false,
            "gpm": 854,
            "customGpm": 731.9374488349713
        }
    },
    "flowSensorSettings": {
        "flowSensorId": "example string value",
        "manufacturer": "example string value",
        "type": "example string value",
        "factorK": 376,
        "offset": 167
    },
    "configured": false,
    "activated": false,
    "projectId": "example string value",
    "name": "example string value",
    "firmwareVersion": "example string value",
    "unity": false,
    "multiValveSettings": {
        "multiValveMode": true,
        "maxSimultaneousIrrigationValves": 781,
        "masterValve": false,
        "boosterPump": false,
        "waterAloneStations": [
            469
        ]
    },
    "connectedAt": 553,
    "isPOTS": false,
    "modemTypeString": "example string value",
    "connectedSuccessfullyAt": 604,
    "connectedPlatform": "example string value",
    "modemSignalStrength": 376,
    "failedCallCount": 896,
    "rainSensorType": 296,
    "rainSensorEnabled": false,
    "icuFamily": "example string value",
    "iccid": "example string value",
    "nextConnectionAt": 137,
    "simNetworkType": "example string value",
    "modemTypeNumber": 62
}

Note, update operation does not do merge, in case some fields are not set their value will be reset to null.

Dependent on:

Headers example:

where: {access_token} access token value.

Path parameter description

{controllerId} - controller id value.

Request body description:

In case serial number already exist in system, validation error will be returned.

HTTP Request

PUT /api/v1/ccu-management/controllers/{controllerId}

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
controllerId string path true
CcuController CcuController body true

CcuController

Name Type Required Description
id string false
serialNumber string false
sim string false
imsi string false
config CcuConfig false
userId string false
controllerStatus string false
createdAt integer false
updatedAt integer false
ccuZones Object for field ccuZones false
flowSensorSettings FlowSensorSettings false
configured boolean false
activated boolean false
projectId string false
name string false
firmwareVersion string false
unity boolean false
multiValveSettings MultiValveSettings false
connectedAt integer false
isPOTS boolean false
modemTypeString string false
connectedSuccessfullyAt integer false
connectedPlatform string false
modemSignalStrength integer false
failedCallCount integer false
rainSensorType integer false
rainSensorEnabled boolean false
icuFamily string false
iccid string false
nextConnectionAt integer false
simNetworkType string false
modemTypeNumber integer false

CcuConfig

Name Type Required Description
numberOfDials integer false
dialScheduleArray DialSchedule[ ] false
extraMinutesToFillPipes integer false
ip string false
secondaryIp string false
login string false
password string false
logString string false
pwString string false
dialString string false
port integer false
fertigationValveNumber integer false
stationCount integer false
flowLimits FlowLimitData false
keystrokeTimeout integer false
calibrationInfo TippingBucketCalibration false
shortCircuitThreshold integer false
openCircuitThreshold integer false
multiValveMode boolean false
disableMSLWReset boolean false
remoteControl boolean false
allowableClockDriftSeconds integer false
flowMeasurementEnabled boolean false
requestAverageFlow boolean false
icuTimeZoneOffsetMillis integer false
adminSuspendStatus integer false
wateringAdjustmentCoefficients Object for field wateringAdjustmentCoefficients false
maxSimultaneousIrrigationValves integer false
enableSMS boolean false
icuModel string false
NOT_IN_USE Object for field NOT_IN_USE false
frequencyAdjustmentsCoefficients Object for field frequencyAdjustmentsCoefficients false
timeZoneIdentifier string false
maxStationCount integer false
ccuSuspendWatering boolean false
ccuSuspendIsTimed boolean false

DialSchedule

Name Type Required Description
secOfDay integer true
skipDays integer true
retries integer true
delayMinutes integer true

FlowLimitData

Name Type Required Description
overflowGroup0 integer true
underflowGroup0 integer true
overflowGroup1 integer true
underflowGroup1 integer true
leakLimitPPM integer true

TippingBucketCalibration

Name Type Required Description
inchesOfRainPerTip integer false
inchesOfRainStarted integer false
inchesOfRainHeavy integer false

Object for field wateringAdjustmentCoefficients

Name Type Required Description
* number false

Object for field NOT_IN_USE

Name Type Required Description
* number false

Object for field frequencyAdjustmentsCoefficients

Name Type Required Description
* number false

Object for field ccuZones

Name Type Required Description
* CCUZone false

CCUZone

Name Type Required Description
name string false
number integer false
projectId string false
areaRegionConfigStates Object for field areaRegionConfigStates false
configured boolean false
expectedFlowPPM integer false
disableFlowSensing boolean false
expectedFlowProcessState integer false
startOfUpdatingFlow integer false
updatePPM boolean false
gpm number false
customGpm number false

Object for field areaRegionConfigStates

Name Type Required Description
* boolean false

FlowSensorSettings

Name Type Required Description
flowSensorId string false
manufacturer string false
type string false
factorK number false
offset number false

MultiValveSettings

Name Type Required Description
multiValveMode boolean true
maxSimultaneousIrrigationValves integer true
masterValve boolean true
boosterPump boolean true
waterAloneStations integer[ ] true

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string false
serialNumber string false
sim string false
imsi string false
config CcuConfig false
userId string false
controllerStatus string false
createdAt integer false
updatedAt integer false
ccuZones Object for field ccuZones false
flowSensorSettings FlowSensorSettings false
configured boolean false
activated boolean false
projectId string false
name string false
firmwareVersion string false
unity boolean false
multiValveSettings MultiValveSettings false
connectedAt integer false
isPOTS boolean false
modemTypeString string false
connectedSuccessfullyAt integer false
connectedPlatform string false
modemSignalStrength integer false
failedCallCount integer false
rainSensorType integer false
rainSensorEnabled boolean false
icuFamily string false
iccid string false
nextConnectionAt integer false
simNetworkType string false
modemTypeNumber integer false

CcuConfig

Name Type Required Description
numberOfDials integer false
dialScheduleArray DialSchedule[ ] false
extraMinutesToFillPipes integer false
ip string false
secondaryIp string false
login string false
password string false
logString string false
pwString string false
dialString string false
port integer false
fertigationValveNumber integer false
stationCount integer false
flowLimits FlowLimitData false
keystrokeTimeout integer false
calibrationInfo TippingBucketCalibration false
shortCircuitThreshold integer false
openCircuitThreshold integer false
multiValveMode boolean false
disableMSLWReset boolean false
remoteControl boolean false
allowableClockDriftSeconds integer false
flowMeasurementEnabled boolean false
requestAverageFlow boolean false
icuTimeZoneOffsetMillis integer false
adminSuspendStatus integer false
wateringAdjustmentCoefficients Object for field wateringAdjustmentCoefficients false
maxSimultaneousIrrigationValves integer false
enableSMS boolean false
icuModel string false
NOT_IN_USE Object for field NOT_IN_USE false
frequencyAdjustmentsCoefficients Object for field frequencyAdjustmentsCoefficients false
timeZoneIdentifier string false
maxStationCount integer false
ccuSuspendWatering boolean false
ccuSuspendIsTimed boolean false

DialSchedule

Name Type Required Description
secOfDay integer true
skipDays integer true
retries integer true
delayMinutes integer true

FlowLimitData

Name Type Required Description
overflowGroup0 integer true
underflowGroup0 integer true
overflowGroup1 integer true
underflowGroup1 integer true
leakLimitPPM integer true

TippingBucketCalibration

Name Type Required Description
inchesOfRainPerTip integer false
inchesOfRainStarted integer false
inchesOfRainHeavy integer false

Object for field wateringAdjustmentCoefficients

Name Type Required Description
* number false

Object for field NOT_IN_USE

Name Type Required Description
* number false

Object for field frequencyAdjustmentsCoefficients

Name Type Required Description
* number false

Object for field ccuZones

Name Type Required Description
* CCUZone false

CCUZone

Name Type Required Description
name string false
number integer false
projectId string false
areaRegionConfigStates Object for field areaRegionConfigStates false
configured boolean false
expectedFlowPPM integer false
disableFlowSensing boolean false
expectedFlowProcessState integer false
startOfUpdatingFlow integer false
updatePPM boolean false
gpm number false
customGpm number false

Object for field areaRegionConfigStates

Name Type Required Description
* boolean false

FlowSensorSettings

Name Type Required Description
flowSensorId string false
manufacturer string false
type string false
factorK number false
offset number false

MultiValveSettings

Name Type Required Description
multiValveMode boolean true
maxSimultaneousIrrigationValves integer true
masterValve boolean true
boosterPump boolean true
waterAloneStations integer[ ] true

V1 | Landscape | Search

The Sites Healthcare Landscape API returns landscape characteristics for a particular location, including elevation, slope, soil type and its percentage of clay, permiability, etc.

Get landscape data for a given location

Request

curl "https://developer-api.etwater.com/api/v1/sites-healthcare/landscape?lat=807&lng=420" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "landscapeData": {
        "id": "example string value",
        "muKey": "example string value",
        "elevation": 310.9278708281591,
        "slope": 791,
        "asa": 165.39829278616156,
        "albedoDry": 457,
        "createdAt": 933,
        "updatedAt": 418,
        "soilComponents": [
            {
                "componentKey": "example string value",
                "componentName": "example string value",
                "componentPercents": 96,
                "layers": [
                    {
                        "textureClass": 566,
                        "paw": 202.0888273613941,
                        "horizonName": "example string value",
                        "sandPercents": 959.8363437502813,
                        "siltPercents": 189,
                        "clayPercents": 477,
                        "horizonDepth": 743,
                        "horizonThickness": 509,
                        "soilRate": 881.3961510925535
                    }
                ]
            }
        ]
    },
    "landscapeDetails": {
        "id": "example string value",
        "elevationMeters": 108,
        "allowedSurfaceAccumulation": 681,
        "plantAvailableWater": 970,
        "soakRateMmPerMinute": 669,
        "slopeDegree": 82
    }
}

HTTP Request

GET /api/v1/sites-healthcare/landscape

Request parameters

Name Type Part Required Description
Authorization string header true
lat number query true latitude
lng number query true longtitude

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
landscapeData LandscapeData false
landscapeDetails LandscapeDetails false

LandscapeData

Name Type Required Description
id string false
muKey string false
elevation number false
slope number false
asa number false
albedoDry number false
createdAt integer false
updatedAt integer false
soilComponents SoilComponent[ ] false

SoilComponent

Name Type Required Description
componentKey string false
componentName string false
componentPercents integer false
layers SoilLayer[ ] false

SoilLayer

Name Type Required Description
textureClass integer false
paw number false
horizonName string false
sandPercents number false
siltPercents number false
clayPercents number false
horizonDepth integer false
horizonThickness integer false
soilRate number false

LandscapeDetails

Name Type Required Description
id string false
elevationMeters number false
allowedSurfaceAccumulation number false
plantAvailableWater number false
soakRateMmPerMinute number false
slopeDegree integer false

V1 | OAUTH | Authentication

The API Gateway OAuth is used to create, manage and validate logins for your users and give them access to ET Unity services.

Logout

Request

curl "https://developer-api.etwater.com/api/v1/oauth/logout" \
-X POST \
-H "Authorization: example string value"

On success, the above request returns response like

no reponse

HTTP Request

POST /api/v1/oauth/logout

Request parameters

Name Type Part Required Description
Authorization string header true

HTTP Responses

Code Description
204 Successful Response
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Get Authentication Token

Request

curl "https://developer-api.etwater.com/api/v1/oauth/token" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data "grant_type=example+string+value&username=example+string+value&password=example+string+value&scope=example+string+value&is_single_use=example+string+value"

On success, the above request returns response like

{
    "access_token": "example string value",
    "expires_in": 483,
    "token_type": "example string value",
    "scope": "example string value",
    "refresh_token": "example string value"
}

HTTP Request

POST /api/v1/oauth/token

Request parameters

Name Type Part Required Description
grant_type string formData true
username string formData false
password string formData false
scope string formData false
is_single_use string formData false
Authorization string header true
Content-Type string header true

HTTP Responses

Code Description
200 Successful Response
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
access_token string true
expires_in integer true
token_type string true
scope string false
refresh_token string false

V1 | OIP | Online Report

The Sites Dashboard OIP Report API creates, or retrieves a previously created, ETwater Optimized Irrigation Plan (OIP). An OIP is a detailed report with projected water use and local soil and climate data, including several graphs and tables. See it in use at www.etwater.com/plan

Create OIP Report

Request

curl "https://developer-api.etwater.com/api/v1/sites-dashboard/oip/projects/{projectId}/reports" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"id\": \"example string value\",
    \"projectId\": \"example string value\"
}"

On success, the above request returns response like

{
    "status": 506,
    "errorMessage": "example string value",
    "report": {
        "id": "example string value",
        "projectId": "example string value",
        "waterUsageReport": {
            "id": "example string value",
            "usageGallons": 899.7989776077675,
            "avgPerSqFtGallons": 379.4021841042685,
            "observedDays": 610,
            "monthlyWaterUsageItems": [
                {
                    "timestamp": 488,
                    "rainIn": 761.5249397985287,
                    "rainGallons": 609,
                    "etIn": 630.3670074000801,
                    "usageGallons": 458,
                    "usageByRegionType": {
                        "example_property_name": 964
                    }
                }
            ],
            "vegetationCoverageSqFt": {
                "example_property_name": 584.0913399979897
            },
            "dailyTempExtremes": [
                {
                    "timestamp": 735,
                    "minTemp": 119.34722732722165,
                    "maxTemp": 668
                }
            ],
            "monthlyTempExtremes": [
                {
                    "minTempTimestamp": 720,
                    "minTemp": 857.4895499541841,
                    "maxTempTimestamp": 848,
                    "maxTemp": 454.50330779631776
                }
            ],
            "monthlyRainExtremes": [
                {
                    "timestamp": 900,
                    "rainIn": 441
                }
            ],
            "cloudCoverage": [
                {
                    "startTimestamp": 227,
                    "endTimestamp": 159,
                    "value": 369
                }
            ],
            "tempCoverage": [
                {
                    "startTimestamp": 503,
                    "endTimestamp": 463,
                    "value": 788.5643531515097
                }
            ],
            "verbalWeather": {
                "maxTempTimestamp": 658,
                "maxTemp": 564.9047836497914,
                "maxTempMonthTempAvg": 965,
                "maxTempMonthTempAvgTimestamp": 922,
                "minTempTimestamp": 661,
                "minTemp": 804.2008191366684,
                "minTempMonthTempAvg": 262,
                "minTempMonthTempAvgTimestamp": 732,
                "frzDays": 675,
                "frzSpellDays": 49,
                "frzSpellStartTimestamp": 464,
                "frzSpellEndTimestamp": 255,
                "maxRainIn": 358.46673574227225,
                "maxRainTimestamp": 817,
                "maxTotalRainMonthIn": 612.372478289703,
                "maxTotalRainMonthInTimestamp": 285
            },
            "generationTime": 608
        }
    }
}

HTTP Request

POST /api/v1/sites-dashboard/oip/projects/{projectId}/reports

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
oipReportRequest OIPReportRequest body true

OIPReportRequest

Name Type Required Description
id string false
projectId string false

HTTP Responses

Code Description
200 Successful Response
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
status integer true
errorMessage string false
report OIPReport false

OIPReport

Name Type Required Description
id string true
projectId string true
waterUsageReport WaterUsageReport false

WaterUsageReport

Name Type Required Description
id string true
usageGallons number false
avgPerSqFtGallons number false
observedDays integer false
monthlyWaterUsageItems MonthlyWaterUsageData[ ] false
vegetationCoverageSqFt Object for field vegetationCoverageSqFt false
dailyTempExtremes DailyTempExtreme[ ] false
monthlyTempExtremes MonthlyTempExtreme[ ] false
monthlyRainExtremes MontlhyRainExtreme[ ] false
cloudCoverage CloudCoverageHeatMap[ ] false
tempCoverage TempCoverageHeatMap[ ] false
verbalWeather VerbalWeather false
generationTime integer false

MonthlyWaterUsageData

Name Type Required Description
timestamp integer true
rainIn number false
rainGallons number false
etIn number false
usageGallons number false
usageByRegionType Object for field usageByRegionType false

Object for field usageByRegionType

Name Type Required Description
* number false

Object for field vegetationCoverageSqFt

Name Type Required Description
* number false

DailyTempExtreme

Name Type Required Description
timestamp integer true
minTemp number false
maxTemp number false

MonthlyTempExtreme

Name Type Required Description
minTempTimestamp integer false
minTemp number false
maxTempTimestamp integer false
maxTemp number false

MontlhyRainExtreme

Name Type Required Description
timestamp integer false
rainIn number false

CloudCoverageHeatMap

Name Type Required Description
startTimestamp integer false
endTimestamp integer false
value number false

TempCoverageHeatMap

Name Type Required Description
startTimestamp integer false
endTimestamp integer false
value number false

VerbalWeather

Name Type Required Description
maxTempTimestamp integer false
maxTemp number false
maxTempMonthTempAvg number false
maxTempMonthTempAvgTimestamp integer false
minTempTimestamp integer false
minTemp number false
minTempMonthTempAvg number false
minTempMonthTempAvgTimestamp integer false
frzDays integer false
frzSpellDays integer false
frzSpellStartTimestamp integer false
frzSpellEndTimestamp integer false
maxRainIn number false
maxRainTimestamp integer false
maxTotalRainMonthIn number false
maxTotalRainMonthInTimestamp integer false

Get OIP report for project

Request

curl "https://developer-api.etwater.com/api/v1/sites-dashboard/oip/reports/{reportId}" \
-X GET \
-H "Authorization: example string value" \
-H "Content-Type: example string value"

On success, the above request returns response like

{
    "status": 637,
    "errorMessage": "example string value",
    "report": {
        "id": "example string value",
        "projectId": "example string value",
        "waterUsageReport": {
            "id": "example string value",
            "usageGallons": 249,
            "avgPerSqFtGallons": 935,
            "observedDays": 367,
            "monthlyWaterUsageItems": [
                {
                    "timestamp": 541,
                    "rainIn": 908.4141510112277,
                    "rainGallons": 886,
                    "etIn": 309,
                    "usageGallons": 778.2541582259602,
                    "usageByRegionType": {
                        "example_property_name": 204
                    }
                }
            ],
            "vegetationCoverageSqFt": {
                "example_property_name": 262
            },
            "dailyTempExtremes": [
                {
                    "timestamp": 321,
                    "minTemp": 681.2247120222193,
                    "maxTemp": 548.8643169164957
                }
            ],
            "monthlyTempExtremes": [
                {
                    "minTempTimestamp": 663,
                    "minTemp": 752,
                    "maxTempTimestamp": 761,
                    "maxTemp": 739
                }
            ],
            "monthlyRainExtremes": [
                {
                    "timestamp": 428,
                    "rainIn": 454.5987036333413
                }
            ],
            "cloudCoverage": [
                {
                    "startTimestamp": 7,
                    "endTimestamp": 533,
                    "value": 226.34080342312382
                }
            ],
            "tempCoverage": [
                {
                    "startTimestamp": 345,
                    "endTimestamp": 574,
                    "value": 599
                }
            ],
            "verbalWeather": {
                "maxTempTimestamp": 693,
                "maxTemp": 487.08699759425923,
                "maxTempMonthTempAvg": 723,
                "maxTempMonthTempAvgTimestamp": 74,
                "minTempTimestamp": 17,
                "minTemp": 72.88819089200729,
                "minTempMonthTempAvg": 693,
                "minTempMonthTempAvgTimestamp": 741,
                "frzDays": 890,
                "frzSpellDays": 332,
                "frzSpellStartTimestamp": 359,
                "frzSpellEndTimestamp": 197,
                "maxRainIn": 132.79142749160127,
                "maxRainTimestamp": 514,
                "maxTotalRainMonthIn": 719,
                "maxTotalRainMonthInTimestamp": 1
            },
            "generationTime": 104
        }
    }
}

HTTP Request

GET /api/v1/sites-dashboard/oip/reports/{reportId}

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
reportId string path true

HTTP Responses

Code Description
200 Successful Response
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
status integer true
errorMessage string false
report OIPReport false

OIPReport

Name Type Required Description
id string true
projectId string true
waterUsageReport WaterUsageReport false

WaterUsageReport

Name Type Required Description
id string true
usageGallons number false
avgPerSqFtGallons number false
observedDays integer false
monthlyWaterUsageItems MonthlyWaterUsageData[ ] false
vegetationCoverageSqFt Object for field vegetationCoverageSqFt false
dailyTempExtremes DailyTempExtreme[ ] false
monthlyTempExtremes MonthlyTempExtreme[ ] false
monthlyRainExtremes MontlhyRainExtreme[ ] false
cloudCoverage CloudCoverageHeatMap[ ] false
tempCoverage TempCoverageHeatMap[ ] false
verbalWeather VerbalWeather false
generationTime integer false

MonthlyWaterUsageData

Name Type Required Description
timestamp integer true
rainIn number false
rainGallons number false
etIn number false
usageGallons number false
usageByRegionType Object for field usageByRegionType false

Object for field usageByRegionType

Name Type Required Description
* number false

Object for field vegetationCoverageSqFt

Name Type Required Description
* number false

DailyTempExtreme

Name Type Required Description
timestamp integer true
minTemp number false
maxTemp number false

MonthlyTempExtreme

Name Type Required Description
minTempTimestamp integer false
minTemp number false
maxTempTimestamp integer false
maxTemp number false

MontlhyRainExtreme

Name Type Required Description
timestamp integer false
rainIn number false

CloudCoverageHeatMap

Name Type Required Description
startTimestamp integer false
endTimestamp integer false
value number false

TempCoverageHeatMap

Name Type Required Description
startTimestamp integer false
endTimestamp integer false
value number false

VerbalWeather

Name Type Required Description
maxTempTimestamp integer false
maxTemp number false
maxTempMonthTempAvg number false
maxTempMonthTempAvgTimestamp integer false
minTempTimestamp integer false
minTemp number false
minTempMonthTempAvg number false
minTempMonthTempAvgTimestamp integer false
frzDays integer false
frzSpellDays integer false
frzSpellStartTimestamp integer false
frzSpellEndTimestamp integer false
maxRainIn number false
maxRainTimestamp integer false
maxTotalRainMonthIn number false
maxTotalRainMonthInTimestamp integer false

V1 | OIP | PDF Report

The Sites Dashboard OIP PDF Report API formats the information available through the Sites Dashboard OIP Report API into a 7-page ETwater Optimized Irrigation Plan PDF. See it in use at www.etwater.com/plan

Create OIP PDF version of report

Request

curl "https://developer-api.etwater.com/api/v1/sites-dashboard/oip/reports/{reportId}/pdf" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"id\": \"example string value\",
    \"reportId\": \"example string value\",
    \"siteName\": \"example string value\",
    \"personName\": \"example string value\",
    \"personJobTitle\": \"example string value\",
    \"personBusinessName\": \"example string value\",
    \"personEmail\": \"example string value\",
    \"personPhone\": \"example string value\",
    \"subscribeToNews\": false,
    \"htmlReportUrl\": \"example string value\",
    \"emails\": [
        {
            \"firstName\": \"example string value\",
            \"lastName\": \"example string value\",
            \"email\": \"example string value\"
        }
    ],
    \"onlineReportUrl\": \"example string value\",
    \"onlinePdfReportUrl\": \"example string value\"
}"

On success, the above request returns response like

{
    "status": 922,
    "errorMessage": "example string value",
    "report": {
        "id": "example string value",
        "projectId": "example string value",
        "reportId": "example string value",
        "reportUrl": "example string value"
    }
}

HTTP Request

POST /api/v1/sites-dashboard/oip/reports/{reportId}/pdf

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
reportId string path true OIP Report Id
oipPdfReportRequest OIPPdfReportRequest body true

OIPPdfReportRequest

Name Type Required Description
id string false
reportId string true
siteName string false
personName string false
personJobTitle string false
personBusinessName string false
personEmail string false
personPhone string false
subscribeToNews boolean false
htmlReportUrl string false
emails OIPPdfEmailInfo[ ] false
onlineReportUrl string false
onlinePdfReportUrl string false

OIPPdfEmailInfo

Name Type Required Description
firstName string false
lastName string false
email string false

HTTP Responses

Code Description
200 Successful Response
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
status integer true
errorMessage string false
report OIPPdfReport false

OIPPdfReport

Name Type Required Description
id string true
projectId string true
reportId string true
reportUrl string false

Create OIP PDF version of report

Request

curl "https://developer-api.etwater.com/api/v1/sites-dashboard/oip/reports/{reportId}/pdf/{id}" \
-X GET \
-H "Authorization: example string value" \
-H "Content-Type: example string value"

On success, the above request returns response like

{
    "status": 34,
    "errorMessage": "example string value",
    "report": {
        "id": "example string value",
        "projectId": "example string value",
        "reportId": "example string value",
        "reportUrl": "example string value"
    }
}

HTTP Request

GET /api/v1/sites-dashboard/oip/reports/{reportId}/pdf/{id}

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
id string path true OIP PDF Report Id
reportId string path true OIP Report Id

HTTP Responses

Code Description
200 Successful Response
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
status integer true
errorMessage string false
report OIPPdfReport false

OIPPdfReport

Name Type Required Description
id string true
projectId string true
reportId string true
reportUrl string false

V1 | OIP | Weather Summary

The Sites Dashboard Weather Summary API derives an annual aggregate of weather data dynamically computed for a particular location, including annual rain fall (total rain in the past 365 days), annual sunshine hours (total daytime hours without cloud cover in the past 365 days), and longest dry spell period (period with most consecutive days without rain in the past 365 days).

Get weather summary data for a given location

Request

curl "https://developer-api.etwater.com/api/v1/sites-dashboard/reports/weather/summary?lat=1.6202419072484&lng=724" \
-X GET \
-H "Authorization: example string value" \
-H "Content-Type: example string value"

On success, the above request returns response like

{
    "weatherSummary": {
        "point": {
            "type": "Point",
            "coordinates": [
                445
            ],
            "properties": {
                "example_property_name": "example string value"
            }
        },
        "status": 232,
        "annualSunshineHours": 489,
        "annualRainMm": 607.0181050370531,
        "drySpell": {
            "startDateTimestamp": 237,
            "endDateTimestamp": 1000,
            "daysCount": 787
        }
    }
}

HTTP Request

GET /api/v1/sites-dashboard/reports/weather/summary

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
lat number query true latitude
lng number query true longtitude

HTTP Responses

Code Description
200 Successful Response
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
weatherSummary WeatherSummary false

WeatherSummary

Name Type Required Description
point Point true
status integer true
annualSunshineHours number false
annualRainMm number false
drySpell DrySpellPeriod false

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

DrySpellPeriod

Name Type Required Description
startDateTimestamp integer true
endDateTimestamp integer true
daysCount integer true

V1 | Parcels | Parcels API

The Gardening Parcels API is used to manage property parcels associated with a user. Unity API has a database of over 140 million property parcels, covering more than 96% of the U.S. population, so you'll likely find the parcel boundaries for your project. In case you don't, you can create it. Having a parcel associated with a landscape allows you to verify the address as well as know the landscape size and situation.

Get all Parcels.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/parcels" \
-X GET \
-H "Authorization: example string value" \
-H "Content-Type: example string value"

On success, the above request returns response like

[]

Dependent on:

Headers example:

where: {access_token} access token value.

Path parameter description

{projectId} - project id value.

Response body fields description:

HTTP Request

GET /api/v1/gardening/projects/{projectId}/parcels

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
projectId string path true Project id

HTTP Responses

Code Description
200 Successful Response
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response is array of

Create a Parcel.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/parcels" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"id\": \"example string value\",
    \"county_id\": \"example string value\",
    \"county_name\": \"example string value\",
    \"muni_name\": \"example string value\",
    \"state_abbr\": \"example string value\",
    \"addr_number\": \"example string value\",
    \"addr_street_prefix\": \"example string value\",
    \"addr_street_name\": \"example string value\",
    \"addr_street_suffix\": \"example string value\",
    \"addr_street_type\": \"example string value\",
    \"physcity\": \"example string value\",
    \"physzip\": \"example string value\",
    \"census_zip\": \"example string value\",
    \"owner\": \"example string value\",
    \"mail_name\": \"example string value\",
    \"mail_address1\": \"example string value\",
    \"mail_address2\": \"example string value\",
    \"mail_address3\": \"example string value\",
    \"trans_date\": \"example string value\",
    \"sale_price\": 430,
    \"mkt_val_land\": \"example string value\",
    \"mkt_val_bldg\": \"example string value\",
    \"mkt_val_tot\": 716.2670696695648,
    \"bldg_sqft\": 295,
    \"ngh_code\": \"example string value\",
    \"land_use_code\": \"example string value\",
    \"land_use_class\": \"example string value\",
    \"story_height\": \"example string value\",
    \"muni_id\": \"example string value\",
    \"school_distId\": \"example string value\",
    \"acreage_deeded\": \"example string value\",
    \"acreage_calc\": 621,
    \"geom_as_wkt\": \"example string value\",
    \"external_id\": \"example string value\",
    \"project_id\": \"example string value\",
    \"is_custom\": false,
    \"centerCoordinates\": [
        538
    ],
    \"landscapeId\": \"example string value\",
    \"areaM2\": 411.1108125239195,
    \"version\": \"-1\"
}"

On success, the above request returns response like

no reponse

Dependent on:

Headers example:

where: {access_token} access token value.

Path parameter description

{projectId} - project id value.

Request body fields description:

The same as for response body.

Response body fields description:

HTTP Request

POST /api/v1/gardening/projects/{projectId}/parcels

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
projectId string path true Project id
parcel GardeningParcel body true

GardeningParcel

Name Type Required Description
id string false
county_id string false
county_name string false
muni_name string false
state_abbr string false
addr_number string false
addr_street_prefix string false
addr_street_name string false
addr_street_suffix string false
addr_street_type string false
physcity string false
physzip string false
census_zip string false
owner string false
mail_name string false
mail_address1 string false
mail_address2 string false
mail_address3 string false
trans_date string false
sale_price number false
mkt_val_land string false
mkt_val_bldg string false
mkt_val_tot number false
bldg_sqft integer false
ngh_code string false
land_use_code string false
land_use_class string false
story_height string false
muni_id string false
school_distId string false
acreage_deeded string false
acreage_calc number false
geom_as_wkt string false
external_id string false
project_id string false
is_custom boolean false
centerCoordinates number[ ] false
landscapeId string false
areaM2 number false
version integer false

HTTP Responses

Code Description
201 Successful Response
404 Error Response
409 Error Response
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string false
county_id string false
county_name string false
muni_name string false
state_abbr string false
addr_number string false
addr_street_prefix string false
addr_street_name string false
addr_street_suffix string false
addr_street_type string false
physcity string false
physzip string false
census_zip string false
owner string false
mail_name string false
mail_address1 string false
mail_address2 string false
mail_address3 string false
trans_date string false
sale_price number false
mkt_val_land string false
mkt_val_bldg string false
mkt_val_tot number false
bldg_sqft integer false
ngh_code string false
land_use_code string false
land_use_class string false
story_height string false
muni_id string false
school_distId string false
acreage_deeded string false
acreage_calc number false
geom_as_wkt string false
external_id string false
project_id string false
is_custom boolean false
centerCoordinates number[ ] false
landscapeId string false
areaM2 number false
version integer false

Delete all parcels for project

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/parcels" \
-X DELETE \
-H "Authorization: example string value"

On success, the above request returns response like

no reponse

HTTP Request

DELETE /api/v1/gardening/projects/{projectId}/parcels

Request parameters

Name Type Part Required Description
Authorization string header true
projectId string path true Project id

HTTP Responses

Code Description
204 Successful Response
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Get Parcel by id

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/parcels/{parcelId}" \
-X GET \
-H "Authorization: example string value" \
-H "Content-Type: example string value"

On success, the above request returns response like

{
    "id": "example string value",
    "county_id": "example string value",
    "county_name": "example string value",
    "muni_name": "example string value",
    "state_abbr": "example string value",
    "addr_number": "example string value",
    "addr_street_prefix": "example string value",
    "addr_street_name": "example string value",
    "addr_street_suffix": "example string value",
    "addr_street_type": "example string value",
    "physcity": "example string value",
    "physzip": "example string value",
    "census_zip": "example string value",
    "owner": "example string value",
    "mail_name": "example string value",
    "mail_address1": "example string value",
    "mail_address2": "example string value",
    "mail_address3": "example string value",
    "trans_date": "example string value",
    "sale_price": 260.6782043635278,
    "mkt_val_land": "example string value",
    "mkt_val_bldg": "example string value",
    "mkt_val_tot": 2.8238543322420933,
    "bldg_sqft": 575,
    "ngh_code": "example string value",
    "land_use_code": "example string value",
    "land_use_class": "example string value",
    "story_height": "example string value",
    "muni_id": "example string value",
    "school_distId": "example string value",
    "acreage_deeded": "example string value",
    "acreage_calc": 603,
    "geom_as_wkt": "example string value",
    "external_id": "example string value",
    "project_id": "example string value",
    "is_custom": true,
    "centerCoordinates": [
        667
    ],
    "landscapeId": "example string value",
    "areaM2": 7,
    "version": "-1"
}

Dependent on:

Headers example:

where: {access_token} access token value.

Path parameter description

Response body fields description:

HTTP Request

GET /api/v1/gardening/projects/{projectId}/parcels/{parcelId}

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
projectId string path true Project id
parcelId string path true Parcel id

HTTP Responses

Code Description
200 Successful Response
404 Error Response
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string false
county_id string false
county_name string false
muni_name string false
state_abbr string false
addr_number string false
addr_street_prefix string false
addr_street_name string false
addr_street_suffix string false
addr_street_type string false
physcity string false
physzip string false
census_zip string false
owner string false
mail_name string false
mail_address1 string false
mail_address2 string false
mail_address3 string false
trans_date string false
sale_price number false
mkt_val_land string false
mkt_val_bldg string false
mkt_val_tot number false
bldg_sqft integer false
ngh_code string false
land_use_code string false
land_use_class string false
story_height string false
muni_id string false
school_distId string false
acreage_deeded string false
acreage_calc number false
geom_as_wkt string false
external_id string false
project_id string false
is_custom boolean false
centerCoordinates number[ ] false
landscapeId string false
areaM2 number false
version integer false

Delete Parcel by id.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/parcels/{parcelId}" \
-X DELETE \
-H "Authorization: example string value" \
-H "Content-Type: example string value"

On success, the above request returns response like

no reponse

Dependent on:

Headers example:

where: {access_token} access token value.

Path parameter description

HTTP Request

DELETE /api/v1/gardening/projects/{projectId}/parcels/{parcelId}

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
projectId string path true Project id
parcelId string path true id of Parcel

HTTP Responses

Code Description
204 Successful Response
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Update Parcel by id.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/parcels/{parcelId}" \
-X PUT \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"id\": \"example string value\",
    \"county_id\": \"example string value\",
    \"county_name\": \"example string value\",
    \"muni_name\": \"example string value\",
    \"state_abbr\": \"example string value\",
    \"addr_number\": \"example string value\",
    \"addr_street_prefix\": \"example string value\",
    \"addr_street_name\": \"example string value\",
    \"addr_street_suffix\": \"example string value\",
    \"addr_street_type\": \"example string value\",
    \"physcity\": \"example string value\",
    \"physzip\": \"example string value\",
    \"census_zip\": \"example string value\",
    \"owner\": \"example string value\",
    \"mail_name\": \"example string value\",
    \"mail_address1\": \"example string value\",
    \"mail_address2\": \"example string value\",
    \"mail_address3\": \"example string value\",
    \"trans_date\": \"example string value\",
    \"sale_price\": 348,
    \"mkt_val_land\": \"example string value\",
    \"mkt_val_bldg\": \"example string value\",
    \"mkt_val_tot\": 61.28049691267335,
    \"bldg_sqft\": 707,
    \"ngh_code\": \"example string value\",
    \"land_use_code\": \"example string value\",
    \"land_use_class\": \"example string value\",
    \"story_height\": \"example string value\",
    \"muni_id\": \"example string value\",
    \"school_distId\": \"example string value\",
    \"acreage_deeded\": \"example string value\",
    \"acreage_calc\": 879.7118057868033,
    \"geom_as_wkt\": \"example string value\",
    \"external_id\": \"example string value\",
    \"project_id\": \"example string value\",
    \"is_custom\": true,
    \"centerCoordinates\": [
        837
    ],
    \"landscapeId\": \"example string value\",
    \"areaM2\": 201,
    \"version\": \"-1\"
}"

On success, the above request returns response like

{
    "id": "example string value",
    "county_id": "example string value",
    "county_name": "example string value",
    "muni_name": "example string value",
    "state_abbr": "example string value",
    "addr_number": "example string value",
    "addr_street_prefix": "example string value",
    "addr_street_name": "example string value",
    "addr_street_suffix": "example string value",
    "addr_street_type": "example string value",
    "physcity": "example string value",
    "physzip": "example string value",
    "census_zip": "example string value",
    "owner": "example string value",
    "mail_name": "example string value",
    "mail_address1": "example string value",
    "mail_address2": "example string value",
    "mail_address3": "example string value",
    "trans_date": "example string value",
    "sale_price": 738,
    "mkt_val_land": "example string value",
    "mkt_val_bldg": "example string value",
    "mkt_val_tot": 140.8668570876433,
    "bldg_sqft": 439,
    "ngh_code": "example string value",
    "land_use_code": "example string value",
    "land_use_class": "example string value",
    "story_height": "example string value",
    "muni_id": "example string value",
    "school_distId": "example string value",
    "acreage_deeded": "example string value",
    "acreage_calc": 409.6292519986766,
    "geom_as_wkt": "example string value",
    "external_id": "example string value",
    "project_id": "example string value",
    "is_custom": true,
    "centerCoordinates": [
        266.63754520315564
    ],
    "landscapeId": "example string value",
    "areaM2": 326,
    "version": "-1"
}

Dependent on:

Headers example:

where: {access_token} access token value.

Path parameter description

Request body fields description:

The same as for response body.

Response body fields description:

HTTP Request

PUT /api/v1/gardening/projects/{projectId}/parcels/{parcelId}

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
projectId string path true Project id
parcelId string path true id of Parcel
parcel GardeningParcel body true

GardeningParcel

Name Type Required Description
id string false
county_id string false
county_name string false
muni_name string false
state_abbr string false
addr_number string false
addr_street_prefix string false
addr_street_name string false
addr_street_suffix string false
addr_street_type string false
physcity string false
physzip string false
census_zip string false
owner string false
mail_name string false
mail_address1 string false
mail_address2 string false
mail_address3 string false
trans_date string false
sale_price number false
mkt_val_land string false
mkt_val_bldg string false
mkt_val_tot number false
bldg_sqft integer false
ngh_code string false
land_use_code string false
land_use_class string false
story_height string false
muni_id string false
school_distId string false
acreage_deeded string false
acreage_calc number false
geom_as_wkt string false
external_id string false
project_id string false
is_custom boolean false
centerCoordinates number[ ] false
landscapeId string false
areaM2 number false
version integer false

HTTP Responses

Code Description
200 Successful Response
404 Error Response
409 Error Response
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string false
county_id string false
county_name string false
muni_name string false
state_abbr string false
addr_number string false
addr_street_prefix string false
addr_street_name string false
addr_street_suffix string false
addr_street_type string false
physcity string false
physzip string false
census_zip string false
owner string false
mail_name string false
mail_address1 string false
mail_address2 string false
mail_address3 string false
trans_date string false
sale_price number false
mkt_val_land string false
mkt_val_bldg string false
mkt_val_tot number false
bldg_sqft integer false
ngh_code string false
land_use_code string false
land_use_class string false
story_height string false
muni_id string false
school_distId string false
acreage_deeded string false
acreage_calc number false
geom_as_wkt string false
external_id string false
project_id string false
is_custom boolean false
centerCoordinates number[ ] false
landscapeId string false
areaM2 number false
version integer false

V1 | Projects | Projects

API is dedicated for managing Projects. Project is usually one physical location with one or several CCU installed and binds together all the vegetation item being irrigated.

Get all projects

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects?page=0&size=10&unity=1" \
-X GET \
-H "Authorization: example string value" \
-H "Unity-Api-Gateway-Replace-UserId: example string value"

On success, the above request returns response like

[]

HTTP Request

GET /api/v1/gardening/projects

Request parameters

Name Type Part Required Description
Authorization string header true OAuth2 authorization header. Should be in the following format: Authorization: Bearer $TOKEN
page integer query false
size integer query false
unity boolean query false
Unity-Api-Gateway-Replace-UserId string header false

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response is array of

Create Project action.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects?version=15" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
-H "Unity-Api-Gateway-Replace-UserId: example string value" \
--data "{
    \"id\": \"example string value\",
    \"name\": \"example string value\",
    \"user_id\": \"example string value\",
    \"address\": \"example string value\",
    \"location\": {
        \"type\": \"Point\",
        \"coordinates\": [
            291.70639640265443
        ],
        \"properties\": {
            \"example_property_name\": \"example string value\"
        }
    },
    \"created_at\": 935,
    \"updated_at\": 676,
    \"version\": \"-1\",
    \"postal_code\": \"example string value\",
    \"billingAddress\": {
        \"firstName\": \"example string value\",
        \"lastName\": \"example string value\",
        \"company\": \"example string value\",
        \"address1\": \"example string value\",
        \"address2\": \"example string value\",
        \"city\": \"example string value\",
        \"state\": \"example string value\",
        \"postcode\": \"example string value\",
        \"country\": \"example string value\",
        \"email\": \"example string value\",
        \"phone\": \"example string value\"
    },
    \"projectAddress\": {
        \"address1\": \"example string value\",
        \"address2\": \"example string value\",
        \"city\": \"example string value\",
        \"state\": \"example string value\",
        \"postcode\": \"example string value\",
        \"country\": \"example string value\"
    },
    \"unity\": true
}"

On success, the above request returns response like

no reponse

HTTP Request

POST /api/v1/gardening/projects

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
Unity-Api-Gateway-Replace-UserId string header false
Project GardeningProject body true
version integer query false version of Project

GardeningProject

Name Type Required Description
id string false A unique string that can be used to identify and reference a specific project.
name string false A human-readable name for the project.
user_id string false
address string false A human-readable name for the project.
location Point false Location information
created_at integer false Unix timestamp of a project creation
updated_at integer false Unix timestamp of a project last update
version integer false Version of a project
postal_code string false Project’s postal code.
billingAddress BillingAddress false
projectAddress ProjectAddress false
unity boolean false

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

BillingAddress

Name Type Required Description
firstName string false
lastName string false
company string false
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false
email string false
phone string false

ProjectAddress

Name Type Required Description
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false

HTTP Responses

Code Description
201 Created
409 Conflict
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string false A unique string that can be used to identify and reference a specific project.
name string false A human-readable name for the project.
user_id string false
address string false A human-readable name for the project.
location Point false Location information
created_at integer false Unix timestamp of a project creation
updated_at integer false Unix timestamp of a project last update
version integer false Version of a project
postal_code string false Project’s postal code.
billingAddress BillingAddress false
projectAddress ProjectAddress false
unity boolean false

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

BillingAddress

Name Type Required Description
firstName string false
lastName string false
company string false
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false
email string false
phone string false

ProjectAddress

Name Type Required Description
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false

Create or update projects

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects" \
-X PATCH \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "[
    {
        \"id\": \"example string value\",
        \"name\": \"example string value\",
        \"user_id\": \"example string value\",
        \"address\": \"example string value\",
        \"location\": {
            \"type\": \"Point\",
            \"coordinates\": [
                887
            ],
            \"properties\": {
                \"example_property_name\": \"example string value\"
            }
        },
        \"created_at\": 736,
        \"updated_at\": 579,
        \"version\": \"-1\",
        \"postal_code\": \"example string value\",
        \"billingAddress\": {
            \"firstName\": \"example string value\",
            \"lastName\": \"example string value\",
            \"company\": \"example string value\",
            \"address1\": \"example string value\",
            \"address2\": \"example string value\",
            \"city\": \"example string value\",
            \"state\": \"example string value\",
            \"postcode\": \"example string value\",
            \"country\": \"example string value\",
            \"email\": \"example string value\",
            \"phone\": \"example string value\"
        },
        \"projectAddress\": {
            \"address1\": \"example string value\",
            \"address2\": \"example string value\",
            \"city\": \"example string value\",
            \"state\": \"example string value\",
            \"postcode\": \"example string value\",
            \"country\": \"example string value\"
        },
        \"unity\": true
    }
]"

On success, the above request returns response like

[
    {
        "id": "example string value",
        "name": "example string value",
        "user_id": "example string value",
        "address": "example string value",
        "location": {
            "type": "Point",
            "coordinates": [
                523.8270277734041
            ],
            "properties": {
                "example_property_name": "example string value"
            }
        },
        "created_at": 686,
        "updated_at": 694,
        "version": "-1",
        "postal_code": "example string value",
        "billingAddress": {
            "firstName": "example string value",
            "lastName": "example string value",
            "company": "example string value",
            "address1": "example string value",
            "address2": "example string value",
            "city": "example string value",
            "state": "example string value",
            "postcode": "example string value",
            "country": "example string value",
            "email": "example string value",
            "phone": "example string value"
        },
        "projectAddress": {
            "address1": "example string value",
            "address2": "example string value",
            "city": "example string value",
            "state": "example string value",
            "postcode": "example string value",
            "country": "example string value"
        },
        "unity": true
    }
]

HTTP Request

PATCH /api/v1/gardening/projects

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
Projects GardeningProject[ ] body true

GardeningProject

Name Type Required Description
id string false A unique string that can be used to identify and reference a specific project.
name string false A human-readable name for the project.
user_id string false
address string false A human-readable name for the project.
location Point false Location information
created_at integer false Unix timestamp of a project creation
updated_at integer false Unix timestamp of a project last update
version integer false Version of a project
postal_code string false Project’s postal code.
billingAddress BillingAddress false
projectAddress ProjectAddress false
unity boolean false

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

BillingAddress

Name Type Required Description
firstName string false
lastName string false
company string false
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false
email string false
phone string false

ProjectAddress

Name Type Required Description
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false

HTTP Responses

Code Description
200 OK
409 Conflict
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response is array of

Name Type Required Description
id string false A unique string that can be used to identify and reference a specific project.
name string false A human-readable name for the project.
user_id string false
address string false A human-readable name for the project.
location Point false Location information
created_at integer false Unix timestamp of a project creation
updated_at integer false Unix timestamp of a project last update
version integer false Version of a project
postal_code string false Project’s postal code.
billingAddress BillingAddress false
projectAddress ProjectAddress false
unity boolean false

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

BillingAddress

Name Type Required Description
firstName string false
lastName string false
company string false
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false
email string false
phone string false

ProjectAddress

Name Type Required Description
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false

Search project by term

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/search?page=0&size=10&unity=1&searchTerm=example+string+value" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

[
    {
        "projects": [
            {
                "id": "example string value",
                "name": "example string value",
                "user_id": "example string value",
                "address": "example string value",
                "location": {
                    "type": "Point",
                    "coordinates": [
                        345
                    ],
                    "properties": {
                        "example_property_name": "example string value"
                    }
                },
                "created_at": 47,
                "updated_at": 209,
                "version": "-1",
                "postal_code": "example string value",
                "billingAddress": {
                    "firstName": "example string value",
                    "lastName": "example string value",
                    "company": "example string value",
                    "address1": "example string value",
                    "address2": "example string value",
                    "city": "example string value",
                    "state": "example string value",
                    "postcode": "example string value",
                    "country": "example string value",
                    "email": "example string value",
                    "phone": "example string value"
                },
                "projectAddress": {
                    "address1": "example string value",
                    "address2": "example string value",
                    "city": "example string value",
                    "state": "example string value",
                    "postcode": "example string value",
                    "country": "example string value"
                },
                "unity": false
            }
        ],
        "page": 336,
        "size": 850,
        "total": 989
    }
]

HTTP Request

GET /api/v1/gardening/projects/search

Request parameters

Name Type Part Required Description
Authorization string header true
page integer query false
size integer query false
unity boolean query false
searchTerm string query false

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response is array of

Name Type Required Description
projects Project[ ] false
page integer false
size integer false
total integer false

Project

Name Type Required Description
id string false A unique string that can be used to identify and reference a specific project.
name string false A human-readable name for the project.
user_id string false
address string false A human-readable name for the project.
location Point false Location information
created_at integer false Unix timestamp of a project creation
updated_at integer false Unix timestamp of a project last update
version integer false Version of a project
postal_code string false Project’s postal code.
billingAddress BillingAddress false
projectAddress ProjectAddress false
unity boolean false

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

BillingAddress

Name Type Required Description
firstName string false
lastName string false
company string false
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false
email string false
phone string false

ProjectAddress

Name Type Required Description
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false

Get Project by it's id.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "id": "example string value",
    "name": "example string value",
    "user_id": "example string value",
    "address": "example string value",
    "location": {
        "type": "Point",
        "coordinates": [
            644
        ],
        "properties": {
            "example_property_name": "example string value"
        }
    },
    "created_at": 227,
    "updated_at": 176,
    "version": "-1",
    "postal_code": "example string value",
    "billingAddress": {
        "firstName": "example string value",
        "lastName": "example string value",
        "company": "example string value",
        "address1": "example string value",
        "address2": "example string value",
        "city": "example string value",
        "state": "example string value",
        "postcode": "example string value",
        "country": "example string value",
        "email": "example string value",
        "phone": "example string value"
    },
    "projectAddress": {
        "address1": "example string value",
        "address2": "example string value",
        "city": "example string value",
        "state": "example string value",
        "postcode": "example string value",
        "country": "example string value"
    },
    "unity": true
}

HTTP Request

GET /api/v1/gardening/projects/{projectId}

Request parameters

Name Type Part Required Description
Authorization string header true
projectId string path true Project id

HTTP Responses

Code Description
200 OK
404 Not Found
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string false A unique string that can be used to identify and reference a specific project.
name string false A human-readable name for the project.
user_id string false
address string false A human-readable name for the project.
location Point false Location information
created_at integer false Unix timestamp of a project creation
updated_at integer false Unix timestamp of a project last update
version integer false Version of a project
postal_code string false Project’s postal code.
billingAddress BillingAddress false
projectAddress ProjectAddress false
unity boolean false

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

BillingAddress

Name Type Required Description
firstName string false
lastName string false
company string false
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false
email string false
phone string false

ProjectAddress

Name Type Required Description
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false

Delete Project by it's id.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}?version=292" \
-X DELETE \
-H "Authorization: example string value" \
-H "Unity-Api-Gateway-Replace-UserId: example string value"

On success, the above request returns response like

no reponse

HTTP Request

DELETE /api/v1/gardening/projects/{projectId}

Request parameters

Name Type Part Required Description
Authorization string header true
Unity-Api-Gateway-Replace-UserId string header false
projectId string path true id of Project
version integer query false version of Project

HTTP Responses

Code Description
204 No Content
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Update Project by it's id.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}?version=574" \
-X PUT \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
-H "Unity-Api-Gateway-Replace-UserId: example string value" \
--data "{
    \"id\": \"example string value\",
    \"name\": \"example string value\",
    \"user_id\": \"example string value\",
    \"address\": \"example string value\",
    \"location\": {
        \"type\": \"Point\",
        \"coordinates\": [
            224.92514561159777
        ],
        \"properties\": {
            \"example_property_name\": \"example string value\"
        }
    },
    \"created_at\": 804,
    \"updated_at\": 926,
    \"version\": \"-1\",
    \"postal_code\": \"example string value\",
    \"billingAddress\": {
        \"firstName\": \"example string value\",
        \"lastName\": \"example string value\",
        \"company\": \"example string value\",
        \"address1\": \"example string value\",
        \"address2\": \"example string value\",
        \"city\": \"example string value\",
        \"state\": \"example string value\",
        \"postcode\": \"example string value\",
        \"country\": \"example string value\",
        \"email\": \"example string value\",
        \"phone\": \"example string value\"
    },
    \"projectAddress\": {
        \"address1\": \"example string value\",
        \"address2\": \"example string value\",
        \"city\": \"example string value\",
        \"state\": \"example string value\",
        \"postcode\": \"example string value\",
        \"country\": \"example string value\"
    },
    \"unity\": true
}"

On success, the above request returns response like

{
    "id": "example string value",
    "name": "example string value",
    "user_id": "example string value",
    "address": "example string value",
    "location": {
        "type": "Point",
        "coordinates": [
            83
        ],
        "properties": {
            "example_property_name": "example string value"
        }
    },
    "created_at": 554,
    "updated_at": 837,
    "version": "-1",
    "postal_code": "example string value",
    "billingAddress": {
        "firstName": "example string value",
        "lastName": "example string value",
        "company": "example string value",
        "address1": "example string value",
        "address2": "example string value",
        "city": "example string value",
        "state": "example string value",
        "postcode": "example string value",
        "country": "example string value",
        "email": "example string value",
        "phone": "example string value"
    },
    "projectAddress": {
        "address1": "example string value",
        "address2": "example string value",
        "city": "example string value",
        "state": "example string value",
        "postcode": "example string value",
        "country": "example string value"
    },
    "unity": false
}

HTTP Request

PUT /api/v1/gardening/projects/{projectId}

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
Unity-Api-Gateway-Replace-UserId string header false
projectId string path true id of Project
Project GardeningProject body true
version integer query false version of Project

GardeningProject

Name Type Required Description
id string false A unique string that can be used to identify and reference a specific project.
name string false A human-readable name for the project.
user_id string false
address string false A human-readable name for the project.
location Point false Location information
created_at integer false Unix timestamp of a project creation
updated_at integer false Unix timestamp of a project last update
version integer false Version of a project
postal_code string false Project’s postal code.
billingAddress BillingAddress false
projectAddress ProjectAddress false
unity boolean false

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

BillingAddress

Name Type Required Description
firstName string false
lastName string false
company string false
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false
email string false
phone string false

ProjectAddress

Name Type Required Description
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false

HTTP Responses

Code Description
200 OK
404 Not Found
409 Conflict
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string false A unique string that can be used to identify and reference a specific project.
name string false A human-readable name for the project.
user_id string false
address string false A human-readable name for the project.
location Point false Location information
created_at integer false Unix timestamp of a project creation
updated_at integer false Unix timestamp of a project last update
version integer false Version of a project
postal_code string false Project’s postal code.
billingAddress BillingAddress false
projectAddress ProjectAddress false
unity boolean false

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

BillingAddress

Name Type Required Description
firstName string false
lastName string false
company string false
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false
email string false
phone string false

ProjectAddress

Name Type Required Description
address1 string false
address2 string false
city string false
state string false
postcode string false
country string false

V1 | Regions | Region Types

The Gardening Region Types API provides a list of possible choices for types of vegetation, used to provide the available options when mapping areas.

Get Region Types Tree

Request

curl "https://developer-api.etwater.com/api/v1/gardening/region-types" \
-X GET \
-H "Authorization: example string value" \
-H "Content-Type: example string value"

On success, the above request returns response like

[]

HTTP Request

GET /api/v1/gardening/region-types

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true

HTTP Responses

Code Description
200 Successful Response
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response is array of

V1 | Regions | Regions

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/regions?controllerId=example+string+value" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

[
    {
        "type": "Feature",
        "geometry": {
            "type": "Polygon",
            "coordinates": [
                [
                    [
                        641.4277975640389
                    ]
                ]
            ],
            "properties": {
                "example_property_name": "example string value"
            }
        },
        "properties": {
            "region_name": "example string value",
            "vegetation_type": 295,
            "sprinkler_type": 455,
            "shade_level": 902,
            "newly_planted": false,
            "local_region_id": 840,
            "remote_region_id": "example string value",
            "images": [
                {
                    "image_id": "example string value",
                    "imageFormat": "example string value",
                    "width": 686,
                    "height": 792,
                    "thumbnails": [
                        {
                            "image_id": "example string value",
                            "imageFormat": "example string value",
                            "width": 773,
                            "height": 809,
                            "thumbnails": [],
                            "updatedAt": 634,
                            "imageType": 81
                        }
                    ],
                    "updatedAt": 270,
                    "imageType": 642
                }
            ],
            "controller_serial": "example string value",
            "emitter_count": 134,
            "plant_area": 102.60689542750218,
            "zone_id": "example string value",
            "project_id": "example string value",
            "created_at": 311,
            "updated_at": 254,
            "plant_center_coordinates": [
                503.03977192521086
            ],
            "status": "ACTIVE",
            "parcel_id": "example string value",
            "parcelExists": false,
            "elevation": 104.47770548261595,
            "plantFactor": [
                733
            ],
            "onlyVegetation": "1",
            "extendAreaRegionType": "1",
            "version": "-1",
            "controllerId": "example string value",
            "areaId": "example string value"
        }
    }
]

Dependent on:

Headers example:

where: {access_token} access token value.

Path parameter description

{projectId} - project id value.

Response body field description:

geolocation pair of longitude/latitude. Example:[[[76.37695312499999, 15.749962572748768], [ 76.37695312499999, 18.396230138028827], [79.27734374999999, 18.396230138028827]]] * properties subentity - contains infomation about the region, subfields:

* region_name - name of region;

* (required) vegetation_type - type of vegetation, which

growth on region, possible values: 0 (TURF), 1 (SHRUBS), 2 (TREES), 3 (FLOWER_AND_VEGETABLES), 4 (CACTI_AND_SUCCULENTS);

* (required) sprinkler_type - type of emitter, which watering

the region, possible values: 0 (SPRAY), 1 (STREAM), 2 (BUBBLER), 3 (DRIP);

* shade_level - describes the shaded level of region, value

can be 0 - 100%;

* newly_planted - describe if plant is newly planted or not;

* user_id - id of owner user;

* local_region_id - id uses in mobile app;

* remote_region_id - id of region (regionId), uses for

get, update, delete methods;

* images - contains information about images on S3 Amazon

Service;

* controller_serial - serial number of controller;

* emitter_count - amount of emitters on region;

* plant_area - area of the region, square meters;

* zone_id - id of zone to which region related;

* project_id - id of project to which region related;

* created_at - date and time when region was created, epoch

millis in UTC;

* updated_at - date and time when region was updated, epoch

millis in UTC;

* plant_center_coordinates - array of geolocation pair of

longitude/latitude, which describe the center of region, example: [ 76.37695312499999, 18.396230138028827];

* status - status of region, can be: ACTIVE, DELETED;

* parcel_id - id of the parcel;

* parcelExists - describes if parcel exist for this region;

* elevation - elevation of the region;

* plantFactor - plant factor values per month.

HTTP Request

GET /api/v1/gardening/projects/{projectId}/regions

Request parameters

Name Type Part Required Description
Authorization string header true
projectId string path true Project id
controllerId string query false

HTTP Responses

Code Description
200 OK
404 Not Found
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response is array of

Name Type Required Description
type string true
geometry Geometry false
properties RegionProperties false

Geometry is any of: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

MultiPoint

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

LineString

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

MultiLineString

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

Polygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

MultiPolygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ][ ] true
properties Object for field properties false

GeometryCollection

Name Type Required Description
type string true
geometries Geometry[ ] true

RegionProperties

Name Type Required Description
region_name string false
vegetation_type integer false
sprinkler_type integer false
shade_level integer false
newly_planted boolean false
local_region_id integer false
remote_region_id string false
images ImageInfo[ ] false
controller_serial string false
emitter_count integer false
plant_area number false
zone_id string false
project_id string true
created_at integer false
updated_at integer false
plant_center_coordinates number[ ] false
status string false
parcel_id string false
parcelExists boolean false
elevation number false
plantFactor number[ ] false
onlyVegetation boolean false
extendAreaRegionType boolean false
version integer false
controllerId string false
areaId string false

ImageInfo

Name Type Required Description
image_id string true
imageFormat string false
width integer false
height integer false
thumbnails ImageInfo[ ] false
updatedAt integer false
imageType integer false

Create a Region.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/regions?version=40" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"type\": \"Feature\",
    \"geometry\": {
        \"type\": \"GeometryCollection\",
        \"geometries\": []
    },
    \"properties\": {
        \"region_name\": \"example string value\",
        \"vegetation_type\": 980,
        \"sprinkler_type\": 69,
        \"shade_level\": 222,
        \"newly_planted\": false,
        \"local_region_id\": 46,
        \"remote_region_id\": \"example string value\",
        \"images\": [
            {
                \"image_id\": \"example string value\",
                \"imageFormat\": \"example string value\",
                \"width\": 282,
                \"height\": 567,
                \"thumbnails\": [
                    {
                        \"image_id\": \"example string value\",
                        \"imageFormat\": \"example string value\",
                        \"width\": 663,
                        \"height\": 22,
                        \"thumbnails\": [],
                        \"updatedAt\": 79,
                        \"imageType\": 832
                    }
                ],
                \"updatedAt\": 643,
                \"imageType\": 102
            }
        ],
        \"controller_serial\": \"example string value\",
        \"emitter_count\": 750,
        \"plant_area\": 178,
        \"zone_id\": \"example string value\",
        \"project_id\": \"example string value\",
        \"created_at\": 119,
        \"updated_at\": 684,
        \"plant_center_coordinates\": [
            654
        ],
        \"status\": \"DELETED\",
        \"parcel_id\": \"example string value\",
        \"parcelExists\": false,
        \"elevation\": 859.894845103796,
        \"plantFactor\": [
            580.3511494679149
        ],
        \"onlyVegetation\": \"1\",
        \"extendAreaRegionType\": \"1\",
        \"version\": \"-1\",
        \"controllerId\": \"example string value\",
        \"areaId\": \"example string value\"
    }
}"

On success, the above request returns response like

no reponse

Dependent on:

Headers example:

where: {access_token} access token value.

Path parameter description

{projectId} - project id value.

Request body fields description:

Request body fields description the same as for response body.

Note, if you want correct ET calculation and watering schedule generation, following fields should be populated in request body: * controller_serial - serial number of controller. It requires for watering schedule generation. If region does not linked to controller, schedule for this region won't be generated. Schedule is generated for controller; * zone_id - id of zone. It requires for watering schedule generation; * plant_center_coordinates - coordinates of region. Coordinates are used to gather weather and solar radiation information (used for ET calculation) and for getting soil information (used for watering schedule generation); * plant_area - cron size of the plant in case BUBBLER or DRIP emitter type is used otherwase 1 square meter value can be used.

Response body field description:

HTTP Request

POST /api/v1/gardening/projects/{projectId}/regions

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
projectId string path true Project id
region GardeningRegion body true
version integer query false version of Project

GardeningRegion

Name Type Required Description
type string true
geometry Geometry false
properties RegionProperties false

Geometry is any of: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

MultiPoint

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

LineString

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

MultiLineString

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

Polygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

MultiPolygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ][ ] true
properties Object for field properties false

GeometryCollection

Name Type Required Description
type string true
geometries Geometry[ ] true

RegionProperties

Name Type Required Description
region_name string false
vegetation_type integer false
sprinkler_type integer false
shade_level integer false
newly_planted boolean false
local_region_id integer false
remote_region_id string false
images ImageInfo[ ] false
controller_serial string false
emitter_count integer false
plant_area number false
zone_id string false
project_id string true
created_at integer false
updated_at integer false
plant_center_coordinates number[ ] false
status string false
parcel_id string false
parcelExists boolean false
elevation number false
plantFactor number[ ] false
onlyVegetation boolean false
extendAreaRegionType boolean false
version integer false
controllerId string false
areaId string false

ImageInfo

Name Type Required Description
image_id string true
imageFormat string false
width integer false
height integer false
thumbnails ImageInfo[ ] false
updatedAt integer false
imageType integer false

HTTP Responses

Code Description
201 Created
404 Not Found
409 Conflict
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
type string true
geometry Geometry false
properties RegionProperties false

Geometry is any of: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

MultiPoint

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

LineString

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

MultiLineString

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

Polygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

MultiPolygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ][ ] true
properties Object for field properties false

GeometryCollection

Name Type Required Description
type string true
geometries Geometry[ ] true

RegionProperties

Name Type Required Description
region_name string false
vegetation_type integer false
sprinkler_type integer false
shade_level integer false
newly_planted boolean false
local_region_id integer false
remote_region_id string false
images ImageInfo[ ] false
controller_serial string false
emitter_count integer false
plant_area number false
zone_id string false
project_id string true
created_at integer false
updated_at integer false
plant_center_coordinates number[ ] false
status string false
parcel_id string false
parcelExists boolean false
elevation number false
plantFactor number[ ] false
onlyVegetation boolean false
extendAreaRegionType boolean false
version integer false
controllerId string false
areaId string false

ImageInfo

Name Type Required Description
image_id string true
imageFormat string false
width integer false
height integer false
thumbnails ImageInfo[ ] false
updatedAt integer false
imageType integer false

Create or update regions for project

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/regions?version=94" \
-X PATCH \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "[
    {
        \"type\": \"Feature\",
        \"geometry\": {
            \"type\": \"MultiPoint\",
            \"coordinates\": [
                [
                    884
                ]
            ],
            \"properties\": {
                \"example_property_name\": \"example string value\"
            }
        },
        \"properties\": {
            \"region_name\": \"example string value\",
            \"vegetation_type\": 373,
            \"sprinkler_type\": 910,
            \"shade_level\": 888,
            \"newly_planted\": false,
            \"local_region_id\": 248,
            \"remote_region_id\": \"example string value\",
            \"images\": [
                {
                    \"image_id\": \"example string value\",
                    \"imageFormat\": \"example string value\",
                    \"width\": 656,
                    \"height\": 335,
                    \"thumbnails\": [
                        {
                            \"image_id\": \"example string value\",
                            \"imageFormat\": \"example string value\",
                            \"width\": 455,
                            \"height\": 461,
                            \"thumbnails\": [],
                            \"updatedAt\": 247,
                            \"imageType\": 826
                        }
                    ],
                    \"updatedAt\": 439,
                    \"imageType\": 753
                }
            ],
            \"controller_serial\": \"example string value\",
            \"emitter_count\": 220,
            \"plant_area\": 325,
            \"zone_id\": \"example string value\",
            \"project_id\": \"example string value\",
            \"created_at\": 456,
            \"updated_at\": 236,
            \"plant_center_coordinates\": [
                920.8981687766026
            ],
            \"status\": \"DELETED\",
            \"parcel_id\": \"example string value\",
            \"parcelExists\": false,
            \"elevation\": 863.0336243021458,
            \"plantFactor\": [
                355.4981948600608
            ],
            \"onlyVegetation\": \"1\",
            \"extendAreaRegionType\": \"1\",
            \"version\": \"-1\",
            \"controllerId\": \"example string value\",
            \"areaId\": \"example string value\"
        }
    }
]"

On success, the above request returns response like

[
    {
        "type": "Feature",
        "geometry": {
            "type": "Polygon",
            "coordinates": [
                [
                    [
                        203
                    ]
                ]
            ],
            "properties": {
                "example_property_name": "example string value"
            }
        },
        "properties": {
            "region_name": "example string value",
            "vegetation_type": 465,
            "sprinkler_type": 422,
            "shade_level": 426,
            "newly_planted": false,
            "local_region_id": 463,
            "remote_region_id": "example string value",
            "images": [
                {
                    "image_id": "example string value",
                    "imageFormat": "example string value",
                    "width": 157,
                    "height": 195,
                    "thumbnails": [
                        {
                            "image_id": "example string value",
                            "imageFormat": "example string value",
                            "width": 359,
                            "height": 857,
                            "thumbnails": [],
                            "updatedAt": 339,
                            "imageType": 146
                        }
                    ],
                    "updatedAt": 583,
                    "imageType": 338
                }
            ],
            "controller_serial": "example string value",
            "emitter_count": 928,
            "plant_area": 829.701962801489,
            "zone_id": "example string value",
            "project_id": "example string value",
            "created_at": 1,
            "updated_at": 478,
            "plant_center_coordinates": [
                82.2228449779669
            ],
            "status": "DELETED",
            "parcel_id": "example string value",
            "parcelExists": true,
            "elevation": 509,
            "plantFactor": [
                959.5864494142991
            ],
            "onlyVegetation": "1",
            "extendAreaRegionType": "1",
            "version": "-1",
            "controllerId": "example string value",
            "areaId": "example string value"
        }
    }
]

HTTP Request

PATCH /api/v1/gardening/projects/{projectId}/regions

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
projectId string path true Project id
Regions GardeningRegion[ ] body true
version integer query false version of Project

GardeningRegion

Name Type Required Description
type string true
geometry Geometry false
properties RegionProperties false

Geometry is any of: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

MultiPoint

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

LineString

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

MultiLineString

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

Polygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

MultiPolygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ][ ] true
properties Object for field properties false

GeometryCollection

Name Type Required Description
type string true
geometries Geometry[ ] true

RegionProperties

Name Type Required Description
region_name string false
vegetation_type integer false
sprinkler_type integer false
shade_level integer false
newly_planted boolean false
local_region_id integer false
remote_region_id string false
images ImageInfo[ ] false
controller_serial string false
emitter_count integer false
plant_area number false
zone_id string false
project_id string true
created_at integer false
updated_at integer false
plant_center_coordinates number[ ] false
status string false
parcel_id string false
parcelExists boolean false
elevation number false
plantFactor number[ ] false
onlyVegetation boolean false
extendAreaRegionType boolean false
version integer false
controllerId string false
areaId string false

ImageInfo

Name Type Required Description
image_id string true
imageFormat string false
width integer false
height integer false
thumbnails ImageInfo[ ] false
updatedAt integer false
imageType integer false

HTTP Responses

Code Description
200 OK
404 Not Found
409 Conflict
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response is array of

Name Type Required Description
type string true
geometry Geometry false
properties RegionProperties false

Geometry is any of: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

MultiPoint

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

LineString

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

MultiLineString

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

Polygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

MultiPolygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ][ ] true
properties Object for field properties false

GeometryCollection

Name Type Required Description
type string true
geometries Geometry[ ] true

RegionProperties

Name Type Required Description
region_name string false
vegetation_type integer false
sprinkler_type integer false
shade_level integer false
newly_planted boolean false
local_region_id integer false
remote_region_id string false
images ImageInfo[ ] false
controller_serial string false
emitter_count integer false
plant_area number false
zone_id string false
project_id string true
created_at integer false
updated_at integer false
plant_center_coordinates number[ ] false
status string false
parcel_id string false
parcelExists boolean false
elevation number false
plantFactor number[ ] false
onlyVegetation boolean false
extendAreaRegionType boolean false
version integer false
controllerId string false
areaId string false

ImageInfo

Name Type Required Description
image_id string true
imageFormat string false
width integer false
height integer false
thumbnails ImageInfo[ ] false
updatedAt integer false
imageType integer false

Delete all regions for project

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/regions?version=340" \
-X DELETE \
-H "Authorization: example string value"

On success, the above request returns response like

no reponse

HTTP Request

DELETE /api/v1/gardening/projects/{projectId}/regions

Request parameters

Name Type Part Required Description
Authorization string header true
projectId string path true Project id
version integer query false version of Project

HTTP Responses

Code Description
204 No Content
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Get Region by id.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/regions/{regionId}" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "type": "Feature",
    "geometry": {
        "type": "MultiPoint",
        "coordinates": [
            [
                835.2642566129864
            ]
        ],
        "properties": {
            "example_property_name": "example string value"
        }
    },
    "properties": {
        "region_name": "example string value",
        "vegetation_type": 19,
        "sprinkler_type": 598,
        "shade_level": 30,
        "newly_planted": false,
        "local_region_id": 383,
        "remote_region_id": "example string value",
        "images": [
            {
                "image_id": "example string value",
                "imageFormat": "example string value",
                "width": 63,
                "height": 33,
                "thumbnails": [
                    {
                        "image_id": "example string value",
                        "imageFormat": "example string value",
                        "width": 159,
                        "height": 598,
                        "thumbnails": [],
                        "updatedAt": 614,
                        "imageType": 462
                    }
                ],
                "updatedAt": 709,
                "imageType": 799
            }
        ],
        "controller_serial": "example string value",
        "emitter_count": 609,
        "plant_area": 725,
        "zone_id": "example string value",
        "project_id": "example string value",
        "created_at": 608,
        "updated_at": 477,
        "plant_center_coordinates": [
            150
        ],
        "status": "ACTIVE",
        "parcel_id": "example string value",
        "parcelExists": false,
        "elevation": 543,
        "plantFactor": [
            325.333146529893
        ],
        "onlyVegetation": "1",
        "extendAreaRegionType": "1",
        "version": "-1",
        "controllerId": "example string value",
        "areaId": "example string value"
    }
}

Dependent on:

Headers example:

where: {access_token} access token value.

Path parameter description

Response body field description:

geolocation pair of longitude/latitude. Example:[ [76.37695312499999, 15.749962572748768], [ 76.37695312499999, 18.396230138028827], [79.27734374999999, 18.396230138028827]] * properties subentity - contains infomation about the region, subfields:

* region_name - name of region;

* (required) vegetation_type - type of vegetation, which

growth on region, possible values: 0 (TURF), 1 (SHRUBS), 2 (TREES), 3 (FLOWER_AND_VEGETABLES), 4 (CACTI_AND_SUCCULENTS);

* (required) sprinkler_type - type of emitter, which watering

the region, possible values: 0 (SPRAY), 1 (STREAM), 2 (BUBBLER), 3 (DRIP);

* shade_level - describes the shaded level of region, value

can be 0 - 100%;

* newly_planted - describe if plant is newly planted or not;

* user_id - id of owner user;

* local_region_id - id uses in mobile app;

* remote_region_id - id of region (regionId), uses for

get, update, delete methods;

* images - contains information about images on S3 Amazon

Service;

* controller_serial - serial number of controller;

* emitter_count - amount of emitters on region;

* plant_area - area of the region, square meters;

* zone_id - id of zone to which region related;

* project_id - id of project to which region related;

* created_at - date and time when region was created, epoch

millis in UTC;

* updated_at - date and time when region was updated, epoch

millis in UTC;

* plant_center_coordinates - array of geolocation pair of

longitude/latitude, which describe the center of region, example: [ 76.37695312499999, 18.396230138028827];

* status - status of region, can be: ACTIVE, DELETED;

* parcel_id - id of the parcel;

* parcelExists - describes if parcel exist for this region;

* elevation - elevation of the region;

* plantFactor - plant factor values per month.

HTTP Request

GET /api/v1/gardening/projects/{projectId}/regions/{regionId}

Request parameters

Name Type Part Required Description
Authorization string header true
projectId string path true Project id
regionId string path true Region id

HTTP Responses

Code Description
200 OK
404 Not Found
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
type string true
geometry Geometry false
properties RegionProperties false

Geometry is any of: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

MultiPoint

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

LineString

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

MultiLineString

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

Polygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

MultiPolygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ][ ] true
properties Object for field properties false

GeometryCollection

Name Type Required Description
type string true
geometries Geometry[ ] true

RegionProperties

Name Type Required Description
region_name string false
vegetation_type integer false
sprinkler_type integer false
shade_level integer false
newly_planted boolean false
local_region_id integer false
remote_region_id string false
images ImageInfo[ ] false
controller_serial string false
emitter_count integer false
plant_area number false
zone_id string false
project_id string true
created_at integer false
updated_at integer false
plant_center_coordinates number[ ] false
status string false
parcel_id string false
parcelExists boolean false
elevation number false
plantFactor number[ ] false
onlyVegetation boolean false
extendAreaRegionType boolean false
version integer false
controllerId string false
areaId string false

ImageInfo

Name Type Required Description
image_id string true
imageFormat string false
width integer false
height integer false
thumbnails ImageInfo[ ] false
updatedAt integer false
imageType integer false

Delete Region by id.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/regions/{regionId}?version=115" \
-X DELETE \
-H "Authorization: example string value"

On success, the above request returns response like

no reponse

Dependent on:

Headers example:

where: {access_token} access token value.

Path parameter description

HTTP Request

DELETE /api/v1/gardening/projects/{projectId}/regions/{regionId}

Request parameters

Name Type Part Required Description
Authorization string header true
projectId string path true Project id
regionId string path true id of Region
version integer query false version of Project

HTTP Responses

Code Description
204 No Content
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Update Area Region by id.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/regions/{regionId}?version=778" \
-X PUT \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"type\": \"Feature\",
    \"geometry\": {
        \"type\": \"Polygon\",
        \"coordinates\": [
            [
                [
                    322
                ]
            ]
        ],
        \"properties\": {
            \"example_property_name\": \"example string value\"
        }
    },
    \"properties\": {
        \"region_name\": \"example string value\",
        \"vegetation_type\": 96,
        \"sprinkler_type\": 734,
        \"shade_level\": 145,
        \"newly_planted\": true,
        \"local_region_id\": 66,
        \"remote_region_id\": \"example string value\",
        \"images\": [
            {
                \"image_id\": \"example string value\",
                \"imageFormat\": \"example string value\",
                \"width\": 976,
                \"height\": 957,
                \"thumbnails\": [
                    {
                        \"image_id\": \"example string value\",
                        \"imageFormat\": \"example string value\",
                        \"width\": 584,
                        \"height\": 140,
                        \"thumbnails\": [],
                        \"updatedAt\": 187,
                        \"imageType\": 356
                    }
                ],
                \"updatedAt\": 59,
                \"imageType\": 335
            }
        ],
        \"controller_serial\": \"example string value\",
        \"emitter_count\": 659,
        \"plant_area\": 398,
        \"zone_id\": \"example string value\",
        \"project_id\": \"example string value\",
        \"created_at\": 883,
        \"updated_at\": 583,
        \"plant_center_coordinates\": [
            235.48417363105537
        ],
        \"status\": \"DELETED\",
        \"parcel_id\": \"example string value\",
        \"parcelExists\": true,
        \"elevation\": 399.6875097042357,
        \"plantFactor\": [
            739.7861493471014
        ],
        \"onlyVegetation\": \"1\",
        \"extendAreaRegionType\": \"1\",
        \"version\": \"-1\",
        \"controllerId\": \"example string value\",
        \"areaId\": \"example string value\"
    }
}"

On success, the above request returns response like

{
    "type": "Feature",
    "geometry": {
        "type": "Polygon",
        "coordinates": [
            [
                [
                    822
                ]
            ]
        ],
        "properties": {
            "example_property_name": "example string value"
        }
    },
    "properties": {
        "region_name": "example string value",
        "vegetation_type": 369,
        "sprinkler_type": 653,
        "shade_level": 469,
        "newly_planted": true,
        "local_region_id": 731,
        "remote_region_id": "example string value",
        "images": [
            {
                "image_id": "example string value",
                "imageFormat": "example string value",
                "width": 341,
                "height": 282,
                "thumbnails": [
                    {
                        "image_id": "example string value",
                        "imageFormat": "example string value",
                        "width": 215,
                        "height": 455,
                        "thumbnails": [],
                        "updatedAt": 485,
                        "imageType": 289
                    }
                ],
                "updatedAt": 344,
                "imageType": 322
            }
        ],
        "controller_serial": "example string value",
        "emitter_count": 413,
        "plant_area": 718.0406696712788,
        "zone_id": "example string value",
        "project_id": "example string value",
        "created_at": 639,
        "updated_at": 614,
        "plant_center_coordinates": [
            304.95160226940715
        ],
        "status": "ACTIVE",
        "parcel_id": "example string value",
        "parcelExists": false,
        "elevation": 920.822777748491,
        "plantFactor": [
            731.3864318334435
        ],
        "onlyVegetation": "1",
        "extendAreaRegionType": "1",
        "version": "-1",
        "controllerId": "example string value",
        "areaId": "example string value"
    }
}

Dependent on:

Headers example:

where: {access_token} access token value.

Path parameter description

Request body fields description:

The same as for response body.

Response body field description:

geolocation pair of longitude/latitude. Example:[ [76.37695312499999, 15.749962572748768], [ 76.37695312499999, 18.396230138028827], [79.27734374999999, 18.396230138028827]] * properties subentity - contains infomation about the region, subfields:

* region_name - name of region;

* (required) vegetation_type - type of vegetation, which

growth on region, possible values: 0 (TURF), 1 (SHRUBS), 2 (TREES), 3 (FLOWER_AND_VEGETABLES), 4 (CACTI_AND_SUCCULENTS);

* (required) sprinkler_type - type of emitter, which watering

the region, possible values: 0 (SPRAY), 1 (STREAM), 2 (BUBBLER), 3 (DRIP);

* shade_level - describes the shaded level of region, value

can be 0 - 100%;

* newly_planted - describe if plant is newly planted or not;

* user_id - id of owner user;

* local_region_id - id uses in mobile app;

* remote_region_id - id of region (regionId), uses for

get, update, delete methods;

* images - contains information about images on S3 Amazon

Service;

* controller_serial - serial number of controller;

* emitter_count - amount of emitters on region;

* plant_area - area of the region, square meters;

* zone_id - id of zone to which region related;

* project_id - id of project to which region related;

* created_at - date and time when region was created, epoch

millis in UTC;

* updated_at - date and time when region was updated, epoch

millis in UTC;

* plant_center_coordinates - array of geolocation pair of

longitude/latitude, which describe the center of region, example: [ 76.37695312499999, 18.396230138028827];

* status - status of region, can be: ACTIVE, DELETED;

* parcel_id - id of the parcel;

* parcelExists - describes if parcel exist for this region;

* elevation - elevation of the region;

* plantFactor - plant factor values per month.

HTTP Request

PUT /api/v1/gardening/projects/{projectId}/regions/{regionId}

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
projectId string path true Project id
regionId string path true id of Region
region GardeningRegion body true
version integer query false version of Project

GardeningRegion

Name Type Required Description
type string true
geometry Geometry false
properties RegionProperties false

Geometry is any of: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

MultiPoint

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

LineString

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

MultiLineString

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

Polygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

MultiPolygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ][ ] true
properties Object for field properties false

GeometryCollection

Name Type Required Description
type string true
geometries Geometry[ ] true

RegionProperties

Name Type Required Description
region_name string false
vegetation_type integer false
sprinkler_type integer false
shade_level integer false
newly_planted boolean false
local_region_id integer false
remote_region_id string false
images ImageInfo[ ] false
controller_serial string false
emitter_count integer false
plant_area number false
zone_id string false
project_id string true
created_at integer false
updated_at integer false
plant_center_coordinates number[ ] false
status string false
parcel_id string false
parcelExists boolean false
elevation number false
plantFactor number[ ] false
onlyVegetation boolean false
extendAreaRegionType boolean false
version integer false
controllerId string false
areaId string false

ImageInfo

Name Type Required Description
image_id string true
imageFormat string false
width integer false
height integer false
thumbnails ImageInfo[ ] false
updatedAt integer false
imageType integer false

HTTP Responses

Code Description
200 OK
404 Not Found
409 Conflict
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
type string true
geometry Geometry false
properties RegionProperties false

Geometry is any of: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection

Point

Name Type Required Description
type string true
coordinates number[ ] true
properties Object for field properties false

Object for field properties

Name Type Required Description
* string false

MultiPoint

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

LineString

Name Type Required Description
type string true
coordinates number[ ][ ] true
properties Object for field properties false

MultiLineString

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

Polygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ] true
properties Object for field properties false

MultiPolygon

Name Type Required Description
type string true
coordinates number[ ][ ][ ][ ] true
properties Object for field properties false

GeometryCollection

Name Type Required Description
type string true
geometries Geometry[ ] true

RegionProperties

Name Type Required Description
region_name string false
vegetation_type integer false
sprinkler_type integer false
shade_level integer false
newly_planted boolean false
local_region_id integer false
remote_region_id string false
images ImageInfo[ ] false
controller_serial string false
emitter_count integer false
plant_area number false
zone_id string false
project_id string true
created_at integer false
updated_at integer false
plant_center_coordinates number[ ] false
status string false
parcel_id string false
parcelExists boolean false
elevation number false
plantFactor number[ ] false
onlyVegetation boolean false
extendAreaRegionType boolean false
version integer false
controllerId string false
areaId string false

ImageInfo

Name Type Required Description
image_id string true
imageFormat string false
width integer false
height integer false
thumbnails ImageInfo[ ] false
updatedAt integer false
imageType integer false

V1 | Reports | CCU Alerts Report

Create CCU alerts report

Request

curl "https://developer-api.etwater.com/api/v1/reports/ccu-alerts-report?startDate=example+string+value&endDate=example+string+value&interval=example+string+value" \
-X POST \
-H "Authorization: example string value" \
--data "{
    \"filters\": {
        \"projectControllers\": {
            \"projectControllers\": [
                {
                    \"projectId\": \"example string value\",
                    \"controllerIdList\": [
                        \"example string value\"
                    ]
                }
            ]
        },
        \"alertCodes\": {
            \"codes\": [
                309
            ]
        },
        \"period\": {
            \"startDate\": \"example string value\",
            \"endDate\": \"example string value\",
            \"interval\": \"MONTH\"
        }
    },
    \"meta\": {
        \"example_property_name\": \"example string value\"
    }
}"

On success, the above request returns response like

{
    "id": "example string value",
    "userId": "example string value",
    "data": {
        "total": {
            "totalAlertsCount": 12,
            "affectedProjectsCount": 104,
            "affectedControllersCount": 984,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "ccuAlertsStats": [
                        {
                            "alertCode": 262,
                            "alertCodeName": "example string value",
                            "totalAlertsCount": 634
                        }
                    ],
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "ccuAlertsStats": [
                                {
                                    "alertCode": 433,
                                    "alertCodeName": "example string value",
                                    "totalAlertsCount": 676
                                }
                            ],
                            "zones": [
                                {
                                    "zoneId": "example string value",
                                    "zoneNumber": 34,
                                    "name": "example string value",
                                    "ccuAlertsStats": [
                                        {
                                            "alertCode": 232,
                                            "alertCodeName": "example string value",
                                            "totalAlertsCount": 901
                                        }
                                    ],
                                    "ccuAlerts": [
                                        {
                                            "userId": "example string value",
                                            "userName": "example string value",
                                            "projectId": "example string value",
                                            "projectName": "example string value",
                                            "controllerId": "example string value",
                                            "controllerName": "example string value",
                                            "zoneId": "example string value",
                                            "zoneName": "example string value",
                                            "zoneNumber": 803,
                                            "alertCode": 762,
                                            "alertCodeName": "example string value",
                                            "date": "example string value"
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "totalAlertsCount": 610,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "ccuAlertsStats": [
                            {
                                "alertCode": 547,
                                "alertCodeName": "example string value",
                                "totalAlertsCount": 56
                            }
                        ],
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "ccuAlertsStats": [
                                    {
                                        "alertCode": 254,
                                        "alertCodeName": "example string value",
                                        "totalAlertsCount": 525
                                    }
                                ],
                                "zones": [
                                    {
                                        "zoneId": "example string value",
                                        "zoneNumber": 539,
                                        "name": "example string value",
                                        "ccuAlertsStats": [
                                            {
                                                "alertCode": 400,
                                                "alertCodeName": "example string value",
                                                "totalAlertsCount": 423
                                            }
                                        ],
                                        "ccuAlerts": [
                                            {
                                                "userId": "example string value",
                                                "userName": "example string value",
                                                "projectId": "example string value",
                                                "projectName": "example string value",
                                                "controllerId": "example string value",
                                                "controllerName": "example string value",
                                                "zoneId": "example string value",
                                                "zoneName": "example string value",
                                                "zoneNumber": 69,
                                                "alertCode": 791,
                                                "alertCodeName": "example string value",
                                                "date": "example string value"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "totalAlertsCount": 164,
                "affectedProjectsCount": 773,
                "affectedControllersCount": 884
            }
        ]
    },
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "alertCodes": {
            "codes": [
                501
            ]
        },
        "period": {
            "startDate": "example string value",
            "endDate": "example string value",
            "interval": "MONTH"
        }
    },
    "meta": {
        "example_property_name": "example string value"
    },
    "storedDataUrl": "example string value"
}

HTTP Request

POST /api/v1/reports/ccu-alerts-report

Request parameters

Name Type Part Required Description
Authorization string header true
startDate string query true
endDate string query true
interval string query false
CcuAlertsReportCreateRequest CcuAlertsReportCreateRequest body true

CcuAlertsReportCreateRequest

Name Type Required Description
filters ReportFilters true
meta Object for field meta false

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
alertCodes AlertCodesFilter false
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

AlertCodesFilter

Name Type Required Description
codes integer[ ] true

PeriodFilter

Name Type Required Description
startDate string true
endDate string true
interval string true

Object for field meta

Name Type Required Description
* string false

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string true
userId string true
data ReportData false
filters ReportFilters true
meta Object for field meta false
storedDataUrl string false

ReportData

Name Type Required Description
total Total true
buckets Bucket[ ] true
bucketsTotal BucketTotal[ ] true

Total

Name Type Required Description
totalAlertsCount integer true
affectedProjectsCount integer true
affectedControllersCount integer true
projects Project[ ] true

Project

Name Type Required Description
projectId string true
name string true
ccuAlertsStats CcuAlertsStatsItem[ ] true
controllers Controller[ ] true

CcuAlertsStatsItem

Name Type Required Description
alertCode integer true
alertCodeName string true
totalAlertsCount integer true

Controller

Name Type Required Description
controllerId string true
name string true
ccuAlertsStats CcuAlertsStatsItem[ ] true
zones Zone[ ] true

Zone

Name Type Required Description
zoneId string true
zoneNumber integer true
name string true
ccuAlertsStats CcuAlertsStatsItem[ ] true
ccuAlerts CcuAlert[ ] true

CcuAlert

Name Type Required Description
userId string true
userName string true
projectId string true
projectName string true
controllerId string true
controllerName string true
zoneId string true
zoneName string true
zoneNumber integer true
alertCode integer true
alertCodeName string true
date string true

Bucket

Name Type Required Description
dateStart string true
dateEnd string true
totalAlertsCount integer true
projects Project[ ] true

BucketTotal

Name Type Required Description
dateStart string true
dateEnd string true
totalAlertsCount integer true
affectedProjectsCount integer true
affectedControllersCount integer true

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
alertCodes AlertCodesFilter false
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

AlertCodesFilter

Name Type Required Description
codes integer[ ] true

PeriodFilter

Name Type Required Description
startDate string true
endDate string true
interval string true

Object for field meta

Name Type Required Description
* string false

Get CCU alerts report

Request

curl "https://developer-api.etwater.com/api/v1/reports/ccu-alerts-report/{id}" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "id": "example string value",
    "userId": "example string value",
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "alertCodes": {
            "codes": [
                597
            ]
        },
        "period": {
            "startDate": "example string value",
            "endDate": "example string value",
            "interval": "BILLING_PERIOD"
        }
    },
    "data": {
        "total": {
            "totalAlertsCount": 588,
            "affectedProjectsCount": 264,
            "affectedControllersCount": 388,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "ccuAlertsStats": [
                        {
                            "alertCode": 432,
                            "alertCodeName": "example string value",
                            "totalAlertsCount": 572
                        }
                    ],
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "ccuAlertsStats": [
                                {
                                    "alertCode": 55,
                                    "alertCodeName": "example string value",
                                    "totalAlertsCount": 621
                                }
                            ],
                            "zones": [
                                {
                                    "zoneId": "example string value",
                                    "zoneNumber": 811,
                                    "name": "example string value",
                                    "ccuAlertsStats": [
                                        {
                                            "alertCode": 486,
                                            "alertCodeName": "example string value",
                                            "totalAlertsCount": 914
                                        }
                                    ],
                                    "ccuAlerts": [
                                        {
                                            "userId": "example string value",
                                            "userName": "example string value",
                                            "projectId": "example string value",
                                            "projectName": "example string value",
                                            "controllerId": "example string value",
                                            "controllerName": "example string value",
                                            "zoneId": "example string value",
                                            "zoneName": "example string value",
                                            "zoneNumber": 634,
                                            "alertCode": 348,
                                            "alertCodeName": "example string value",
                                            "date": "example string value"
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "totalAlertsCount": 737,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "ccuAlertsStats": [
                            {
                                "alertCode": 771,
                                "alertCodeName": "example string value",
                                "totalAlertsCount": 124
                            }
                        ],
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "ccuAlertsStats": [
                                    {
                                        "alertCode": 20,
                                        "alertCodeName": "example string value",
                                        "totalAlertsCount": 504
                                    }
                                ],
                                "zones": [
                                    {
                                        "zoneId": "example string value",
                                        "zoneNumber": 46,
                                        "name": "example string value",
                                        "ccuAlertsStats": [
                                            {
                                                "alertCode": 543,
                                                "alertCodeName": "example string value",
                                                "totalAlertsCount": 538
                                            }
                                        ],
                                        "ccuAlerts": [
                                            {
                                                "userId": "example string value",
                                                "userName": "example string value",
                                                "projectId": "example string value",
                                                "projectName": "example string value",
                                                "controllerId": "example string value",
                                                "controllerName": "example string value",
                                                "zoneId": "example string value",
                                                "zoneName": "example string value",
                                                "zoneNumber": 644,
                                                "alertCode": 438,
                                                "alertCodeName": "example string value",
                                                "date": "example string value"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "totalAlertsCount": 168,
                "affectedProjectsCount": 52,
                "affectedControllersCount": 534
            }
        ]
    },
    "meta": {
        "example_property_name": "example string value"
    },
    "storedDataUrl": "example string value"
}

HTTP Request

GET /api/v1/reports/ccu-alerts-report/{id}

Request parameters

Name Type Part Required Description
Authorization string header true
id string path true

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string true
userId string true
filters ReportFilters true
data ReportData false
meta Object for field meta false
storedDataUrl string false

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
alertCodes AlertCodesFilter false
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

AlertCodesFilter

Name Type Required Description
codes integer[ ] true

PeriodFilter

Name Type Required Description
startDate string true
endDate string true
interval string true

ReportData

Name Type Required Description
total Total true
buckets Bucket[ ] true
bucketsTotal BucketTotal[ ] true

Total

Name Type Required Description
totalAlertsCount integer true
affectedProjectsCount integer true
affectedControllersCount integer true
projects Project[ ] true

Project

Name Type Required Description
projectId string true
name string true
ccuAlertsStats CcuAlertsStatsItem[ ] true
controllers Controller[ ] true

CcuAlertsStatsItem

Name Type Required Description
alertCode integer true
alertCodeName string true
totalAlertsCount integer true

Controller

Name Type Required Description
controllerId string true
name string true
ccuAlertsStats CcuAlertsStatsItem[ ] true
zones Zone[ ] true

Zone

Name Type Required Description
zoneId string true
zoneNumber integer true
name string true
ccuAlertsStats CcuAlertsStatsItem[ ] true
ccuAlerts CcuAlert[ ] true

CcuAlert

Name Type Required Description
userId string true
userName string true
projectId string true
projectName string true
controllerId string true
controllerName string true
zoneId string true
zoneName string true
zoneNumber integer true
alertCode integer true
alertCodeName string true
date string true

Bucket

Name Type Required Description
dateStart string true
dateEnd string true
totalAlertsCount integer true
projects Project[ ] true

BucketTotal

Name Type Required Description
dateStart string true
dateEnd string true
totalAlertsCount integer true
affectedProjectsCount integer true
affectedControllersCount integer true

Object for field meta

Name Type Required Description
* string false

V1 | Reports | Estimated Water Cost Report

Validate estimated water cost report

Request

curl "https://developer-api.etwater.com/api/v1/reports/estimated-water-cost-report/validate" \
-X POST \
-H "Authorization: example string value" \
--data "{
    \"projectControllers\": {
        \"projectControllers\": [
            {
                \"projectId\": \"example string value\",
                \"controllerIdList\": [
                    \"example string value\"
                ]
            }
        ]
    }
}"

On success, the above request returns response like

{
    "projectsFlowRates": [
        {
            "projectId": "example string value",
            "projectName": "example string value",
            "controllers": [
                {
                    "controllerId": "example string value",
                    "name": "example string value",
                    "zones": [
                        {
                            "zoneId": "example string value",
                            "number": 373,
                            "name": "example string value",
                            "flowRateGpm": 702
                        }
                    ]
                }
            ]
        }
    ]
}

HTTP Request

POST /api/v1/reports/estimated-water-cost-report/validate

Request parameters

Name Type Part Required Description
Authorization string header true
EstimatedWaterCostReportValidateRequest EstimatedWaterCostReportValidateRequest body true

EstimatedWaterCostReportValidateRequest

Name Type Required Description
projectControllers ProjectControllersFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
projectsFlowRates ProjectFlowRate[ ] true

ProjectFlowRate

Name Type Required Description
projectId string true
projectName string true
controllers Controller[ ] true

Controller

Name Type Required Description
controllerId string true
name string true
zones Zone[ ] true

Zone

Name Type Required Description
zoneId string true
number integer true
name string true
flowRateGpm number false

Create estimated water cost report

Request

curl "https://developer-api.etwater.com/api/v1/reports/estimated-water-cost-report?startDate=example+string+value&endDate=example+string+value&interval=BILLING_PERIOD&measureUnits=example+string+value" \
-X POST \
-H "Authorization: example string value" \
--data "{
    \"filters\": {
        \"projectControllers\": {
            \"projectControllers\": [
                {
                    \"projectId\": \"example string value\",
                    \"controllerIdList\": [
                        \"example string value\"
                    ]
                }
            ]
        },
        \"measureUnits\": {
            \"units\": \"GALLONS\"
        },
        \"period\": {
            \"startDate\": \"example string value\",
            \"endDate\": \"example string value\",
            \"interval\": \"DAY\"
        }
    },
    \"projectsFlowRates\": [
        {
            \"projectId\": \"example string value\",
            \"projectName\": \"example string value\",
            \"controllers\": [
                {
                    \"controllerId\": \"example string value\",
                    \"name\": \"example string value\",
                    \"zones\": [
                        {
                            \"zoneId\": \"example string value\",
                            \"number\": 951,
                            \"name\": \"example string value\",
                            \"flowRateGpm\": 918.5190917544621
                        }
                    ]
                }
            ]
        }
    ],
    \"meta\": {
        \"example_property_name\": \"example string value\"
    }
}"

On success, the above request returns response like

{
    "id": "example string value",
    "status": "DONE",
    "userId": "example string value",
    "data": {
        "total": {
            "dateStart": "example string value",
            "dateEnd": "example string value",
            "waterUsage": 979,
            "waterUsageCost": 743.1848751116473,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "waterUsage": 746,
                    "waterUsageCost": 777,
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "waterUsage": 540.3546898348046,
                            "waterUsageCost": 816,
                            "zones": [
                                {
                                    "zoneNumber": 223,
                                    "name": "example string value",
                                    "waterUsage": 590,
                                    "waterUsageCost": 781,
                                    "scheduledWaterUsage": 988.0343074854623,
                                    "scheduledWaterUsageCost": 409.71966945087524,
                                    "manualWaterUsage": 206.30352115552105,
                                    "manualWaterUsageCost": 31
                                }
                            ],
                            "scheduledWaterUsage": 831.216296568148,
                            "scheduledWaterUsageCost": 106,
                            "manualWaterUsage": 455,
                            "manualWaterUsageCost": 689.654046059425
                        }
                    ],
                    "scheduledWaterUsage": 964,
                    "scheduledWaterUsageCost": 904,
                    "manualWaterUsage": 919,
                    "manualWaterUsageCost": 891.3703783840734
                }
            ],
            "scheduledWaterUsage": 533.8600415428448,
            "scheduledWaterUsageCost": 433,
            "manualWaterUsage": 128,
            "manualWaterUsageCost": 603
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "waterUsage": 140,
                "waterUsageCost": 5.337237382930349,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "waterUsage": 329.700037990557,
                        "waterUsageCost": 29,
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "waterUsage": 930.843899459971,
                                "waterUsageCost": 649,
                                "zones": [
                                    {
                                        "zoneNumber": 561,
                                        "name": "example string value",
                                        "waterUsage": 159.26427215303494,
                                        "waterUsageCost": 466.10971329086914,
                                        "scheduledWaterUsage": 382,
                                        "scheduledWaterUsageCost": 714,
                                        "manualWaterUsage": 295.0775010022695,
                                        "manualWaterUsageCost": 106.43781121188673
                                    }
                                ],
                                "scheduledWaterUsage": 199,
                                "scheduledWaterUsageCost": 409,
                                "manualWaterUsage": 778,
                                "manualWaterUsageCost": 252
                            }
                        ],
                        "scheduledWaterUsage": 14,
                        "scheduledWaterUsageCost": 938.5328083012871,
                        "manualWaterUsage": 225,
                        "manualWaterUsageCost": 473.9217718476065
                    }
                ],
                "scheduledWaterUsage": 802.5957084272968,
                "scheduledWaterUsageCost": 79,
                "manualWaterUsage": 397.48027939232077,
                "manualWaterUsageCost": 198.3126975588094
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "waterUsage": 458,
                "waterUsageCost": 66.06497572086052,
                "scheduledWaterUsage": 589,
                "scheduledWaterUsageCost": 996,
                "manualWaterUsage": 349.16888053955927,
                "manualWaterUsageCost": 969
            }
        ],
        "projectsFlowRates": [
            {
                "projectId": "example string value",
                "projectName": "example string value",
                "controllers": [
                    {
                        "controllerId": "example string value",
                        "name": "example string value",
                        "zones": [
                            {
                                "zoneId": "example string value",
                                "number": 591,
                                "name": "example string value",
                                "flowRateGpm": 723.435802722087
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "measureUnits": {
            "units": "HCF"
        },
        "period": {
            "startDate": "example string value",
            "endDate": "example string value",
            "interval": "BILLING_PERIOD"
        }
    },
    "meta": {
        "example_property_name": "example string value"
    },
    "storedDataUrl": "example string value"
}

HTTP Request

POST /api/v1/reports/estimated-water-cost-report

Request parameters

Name Type Part Required Description
Authorization string header true
startDate string query true
endDate string query true
interval string query false
measureUnits string query false
EstimatedWaterCostReportCreateRequest EstimatedWaterCostReportCreateRequest body true

EstimatedWaterCostReportCreateRequest

Name Type Required Description
filters ReportFilters true
projectsFlowRates ProjectFlowRate[ ] false
meta Object for field meta false

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
measureUnits WateringMeasureUnitsFilter true
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

WateringMeasureUnitsFilter

Name Type Required Description
units string true

PeriodFilter

Name Type Required Description
startDate string true
endDate string true
interval string true

ProjectFlowRate

Name Type Required Description
projectId string true
projectName string true
controllers Controller[ ] true

Controller

Name Type Required Description
controllerId string true
name string true
zones Zone[ ] true

Zone

Name Type Required Description
zoneId string true
number integer true
name string true
flowRateGpm number false

Object for field meta

Name Type Required Description
* string false

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string false
status string true
userId string true
data ReportData false
filters ReportFilters true
meta Object for field meta false
storedDataUrl string false

ReportData

Name Type Required Description
total Bucket true
buckets Bucket[ ] true
bucketsTotal BucketTotal[ ] true
projectsFlowRates ProjectFlowRate[ ] true

Bucket

Name Type Required Description
dateStart string true
dateEnd string true
waterUsage number true
waterUsageCost number true
projects ReportProject[ ] true
scheduledWaterUsage number false
scheduledWaterUsageCost number false
manualWaterUsage number false
manualWaterUsageCost number false

ReportProject

Name Type Required Description
projectId string true
name string true
waterUsage number true
waterUsageCost number true
controllers ReportController[ ] true
scheduledWaterUsage number false
scheduledWaterUsageCost number false
manualWaterUsage number false
manualWaterUsageCost number false

ReportController

Name Type Required Description
controllerId string true
name string true
waterUsage number true
waterUsageCost number true
zones ReportZone[ ] true
scheduledWaterUsage number false
scheduledWaterUsageCost number false
manualWaterUsage number false
manualWaterUsageCost number false

ReportZone

Name Type Required Description
zoneNumber integer true
name string true
waterUsage number true
waterUsageCost number true
scheduledWaterUsage number false
scheduledWaterUsageCost number false
manualWaterUsage number false
manualWaterUsageCost number false

BucketTotal

Name Type Required Description
dateStart string true
dateEnd string true
waterUsage number true
waterUsageCost number true
scheduledWaterUsage number false
scheduledWaterUsageCost number false
manualWaterUsage number false
manualWaterUsageCost number false

ProjectFlowRate

Name Type Required Description
projectId string true
projectName string true
controllers Controller[ ] true

Controller

Name Type Required Description
controllerId string true
name string true
zones Zone[ ] true

Zone

Name Type Required Description
zoneId string true
number integer true
name string true
flowRateGpm number false

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
measureUnits WateringMeasureUnitsFilter true
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

WateringMeasureUnitsFilter

Name Type Required Description
units string true

PeriodFilter

Name Type Required Description
startDate string true
endDate string true
interval string true

Object for field meta

Name Type Required Description
* string false

Get estimated water cost report

Request

curl "https://developer-api.etwater.com/api/v1/reports/estimated-water-cost-report/{id}" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "id": "example string value",
    "status": "IN_PROGRESS",
    "userId": "example string value",
    "data": {
        "total": {
            "dateStart": "example string value",
            "dateEnd": "example string value",
            "waterUsage": 473,
            "waterUsageCost": 160.86177162866193,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "waterUsage": 828,
                    "waterUsageCost": 123.71753208512327,
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "waterUsage": 686.8256389567748,
                            "waterUsageCost": 564.4626182338515,
                            "zones": [
                                {
                                    "zoneNumber": 819,
                                    "name": "example string value",
                                    "waterUsage": 445.81785586002184,
                                    "waterUsageCost": 33.38452569832305,
                                    "scheduledWaterUsage": 995.6431589069045,
                                    "scheduledWaterUsageCost": 113.41496562278596,
                                    "manualWaterUsage": 865,
                                    "manualWaterUsageCost": 206
                                }
                            ],
                            "scheduledWaterUsage": 511.25598396698757,
                            "scheduledWaterUsageCost": 870.5187388092833,
                            "manualWaterUsage": 820,
                            "manualWaterUsageCost": 485
                        }
                    ],
                    "scheduledWaterUsage": 903.9404973871729,
                    "scheduledWaterUsageCost": 81.67271273288536,
                    "manualWaterUsage": 385.88149351341724,
                    "manualWaterUsageCost": 51
                }
            ],
            "scheduledWaterUsage": 364,
            "scheduledWaterUsageCost": 630,
            "manualWaterUsage": 664.8859910969092,
            "manualWaterUsageCost": 932.1247618329361
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "waterUsage": 904,
                "waterUsageCost": 676,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "waterUsage": 984.6562561507599,
                        "waterUsageCost": 919,
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "waterUsage": 855,
                                "waterUsageCost": 81,
                                "zones": [
                                    {
                                        "zoneNumber": 422,
                                        "name": "example string value",
                                        "waterUsage": 263,
                                        "waterUsageCost": 127,
                                        "scheduledWaterUsage": 854,
                                        "scheduledWaterUsageCost": 801.3138970366278,
                                        "manualWaterUsage": 6.160923282690777,
                                        "manualWaterUsageCost": 916
                                    }
                                ],
                                "scheduledWaterUsage": 998.2980056657912,
                                "scheduledWaterUsageCost": 496,
                                "manualWaterUsage": 34.37911161891143,
                                "manualWaterUsageCost": 952
                            }
                        ],
                        "scheduledWaterUsage": 3,
                        "scheduledWaterUsageCost": 285.21266732607626,
                        "manualWaterUsage": 534.8634852724446,
                        "manualWaterUsageCost": 460.2294319589759
                    }
                ],
                "scheduledWaterUsage": 329,
                "scheduledWaterUsageCost": 780.874427771603,
                "manualWaterUsage": 453,
                "manualWaterUsageCost": 983.4002843049357
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "waterUsage": 868.5989984630602,
                "waterUsageCost": 203,
                "scheduledWaterUsage": 940,
                "scheduledWaterUsageCost": 111.93142510574843,
                "manualWaterUsage": 605,
                "manualWaterUsageCost": 826.2501176568912
            }
        ],
        "projectsFlowRates": [
            {
                "projectId": "example string value",
                "projectName": "example string value",
                "controllers": [
                    {
                        "controllerId": "example string value",
                        "name": "example string value",
                        "zones": [
                            {
                                "zoneId": "example string value",
                                "number": 423,
                                "name": "example string value",
                                "flowRateGpm": 569.8462867037609
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "measureUnits": {
            "units": "GALLONS"
        },
        "period": {
            "startDate": "example string value",
            "endDate": "example string value",
            "interval": "MONTH"
        }
    },
    "meta": {
        "example_property_name": "example string value"
    },
    "storedDataUrl": "example string value"
}

HTTP Request

GET /api/v1/reports/estimated-water-cost-report/{id}

Request parameters

Name Type Part Required Description
Authorization string header true
id string path true

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string true
status string true
userId string true
data ReportData false
filters ReportFilters true
meta Object for field meta false
storedDataUrl string false

ReportData

Name Type Required Description
total Bucket true
buckets Bucket[ ] true
bucketsTotal BucketTotal[ ] true
projectsFlowRates ProjectFlowRate[ ] true

Bucket

Name Type Required Description
dateStart string true
dateEnd string true
waterUsage number true
waterUsageCost number true
projects ReportProject[ ] true
scheduledWaterUsage number false
scheduledWaterUsageCost number false
manualWaterUsage number false
manualWaterUsageCost number false

ReportProject

Name Type Required Description
projectId string true
name string true
waterUsage number true
waterUsageCost number true
controllers ReportController[ ] true
scheduledWaterUsage number false
scheduledWaterUsageCost number false
manualWaterUsage number false
manualWaterUsageCost number false

ReportController

Name Type Required Description
controllerId string true
name string true
waterUsage number true
waterUsageCost number true
zones ReportZone[ ] true
scheduledWaterUsage number false
scheduledWaterUsageCost number false
manualWaterUsage number false
manualWaterUsageCost number false

ReportZone

Name Type Required Description
zoneNumber integer true
name string true
waterUsage number true
waterUsageCost number true
scheduledWaterUsage number false
scheduledWaterUsageCost number false
manualWaterUsage number false
manualWaterUsageCost number false

BucketTotal

Name Type Required Description
dateStart string true
dateEnd string true
waterUsage number true
waterUsageCost number true
scheduledWaterUsage number false
scheduledWaterUsageCost number false
manualWaterUsage number false
manualWaterUsageCost number false

ProjectFlowRate

Name Type Required Description
projectId string true
projectName string true
controllers Controller[ ] true

Controller

Name Type Required Description
controllerId string true
name string true
zones Zone[ ] true

Zone

Name Type Required Description
zoneId string true
number integer true
name string true
flowRateGpm number false

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
measureUnits WateringMeasureUnitsFilter true
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

WateringMeasureUnitsFilter

Name Type Required Description
units string true

PeriodFilter

Name Type Required Description
startDate string true
endDate string true
interval string true

Object for field meta

Name Type Required Description
* string false

V1 | Reports | Estimated Water Usage Report

Validate estimated water usage report

Request

curl "https://developer-api.etwater.com/api/v1/reports/estimated-water-usage-report/validate" \
-X POST \
-H "Authorization: example string value" \
--data "{
    \"projectControllers\": {
        \"projectControllers\": [
            {
                \"projectId\": \"example string value\",
                \"controllerIdList\": [
                    \"example string value\"
                ]
            }
        ]
    }
}"

On success, the above request returns response like

{
    "projectsFlowRates": [
        {
            "projectId": "example string value",
            "projectName": "example string value",
            "controllers": [
                {
                    "controllerId": "example string value",
                    "name": "example string value",
                    "zones": [
                        {
                            "zoneId": "example string value",
                            "number": 410,
                            "name": "example string value",
                            "flowRateGpm": 312.7926067974384
                        }
                    ]
                }
            ]
        }
    ]
}

HTTP Request

POST /api/v1/reports/estimated-water-usage-report/validate

Request parameters

Name Type Part Required Description
Authorization string header true
EstimatedWaterUsageReportValidateRequest EstimatedWaterUsageReportValidateRequest body true

EstimatedWaterUsageReportValidateRequest

Name Type Required Description
projectControllers ProjectControllersFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
projectsFlowRates ProjectFlowRate[ ] true

ProjectFlowRate

Name Type Required Description
projectId string true
projectName string true
controllers Controller[ ] true

Controller

Name Type Required Description
controllerId string true
name string true
zones Zone[ ] true

Zone

Name Type Required Description
zoneId string true
number integer true
name string true
flowRateGpm number false

Create estimated water usage report

Request

curl "https://developer-api.etwater.com/api/v1/reports/estimated-water-usage-report?startDate=example+string+value&endDate=example+string+value&interval=MONTH&measureUnits=example+string+value" \
-X POST \
-H "Authorization: example string value" \
--data "{
    \"filters\": {
        \"projectControllers\": {
            \"projectControllers\": [
                {
                    \"projectId\": \"example string value\",
                    \"controllerIdList\": [
                        \"example string value\"
                    ]
                }
            ]
        },
        \"measureUnits\": {
            \"units\": \"HCF\"
        },
        \"period\": {
            \"startDate\": \"example string value\",
            \"endDate\": \"example string value\",
            \"interval\": \"DAY\"
        }
    },
    \"projectsFlowRates\": [
        {
            \"projectId\": \"example string value\",
            \"projectName\": \"example string value\",
            \"controllers\": [
                {
                    \"controllerId\": \"example string value\",
                    \"name\": \"example string value\",
                    \"zones\": [
                        {
                            \"zoneId\": \"example string value\",
                            \"number\": 157,
                            \"name\": \"example string value\",
                            \"flowRateGpm\": 539.7501622977434
                        }
                    ]
                }
            ]
        }
    ],
    \"meta\": {
        \"example_property_name\": \"example string value\"
    }
}"

On success, the above request returns response like

{
    "id": "example string value",
    "status": "UNPROCESSABLE",
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "measureUnits": {
            "units": "GALLONS"
        },
        "period": {
            "startDate": "example string value",
            "endDate": "example string value",
            "interval": "DAY"
        }
    },
    "userId": "example string value",
    "meta": {
        "example_property_name": "example string value"
    }
}

HTTP Request

POST /api/v1/reports/estimated-water-usage-report

Request parameters

Name Type Part Required Description
Authorization string header true
startDate string query true
endDate string query true
interval string query false
measureUnits string query false
EstimatedWaterUsageReportCreateRequest EstimatedWaterUsageReportCreateRequest body true

EstimatedWaterUsageReportCreateRequest

Name Type Required Description
filters ReportFilters true
projectsFlowRates ProjectFlowRate[ ] false
meta Object for field meta false

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
measureUnits WateringMeasureUnitsFilter true
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

WateringMeasureUnitsFilter

Name Type Required Description
units string true

PeriodFilter

Name Type Required Description
startDate string true
endDate string true
interval string true

ProjectFlowRate

Name Type Required Description
projectId string true
projectName string true
controllers Controller[ ] true

Controller

Name Type Required Description
controllerId string true
name string true
zones Zone[ ] true

Zone

Name Type Required Description
zoneId string true
number integer true
name string true
flowRateGpm number false

Object for field meta

Name Type Required Description
* string false

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string false
status string true
filters ReportFilters true
userId string true
meta Object for field meta false

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
measureUnits WateringMeasureUnitsFilter true
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

WateringMeasureUnitsFilter

Name Type Required Description
units string true

PeriodFilter

Name Type Required Description
startDate string true
endDate string true
interval string true

Object for field meta

Name Type Required Description
* string false

Get estimated water usage report

Request

curl "https://developer-api.etwater.com/api/v1/reports/estimated-water-usage-report/{id}" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "id": "example string value",
    "status": "UNPROCESSABLE",
    "data": {
        "total": {
            "dateStart": "example string value",
            "dateEnd": "example string value",
            "waterUsage": 271.68701275796025,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "waterUsage": 622,
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "waterUsage": 22,
                            "zones": [
                                {
                                    "zoneId": "example string value",
                                    "zoneNumber": 281,
                                    "name": "example string value",
                                    "waterUsage": 567,
                                    "scheduledWaterUsage": 63,
                                    "manualWaterUsage": 800
                                }
                            ],
                            "scheduledWaterUsage": 151,
                            "manualWaterUsage": 623
                        }
                    ],
                    "scheduledWaterUsage": 187,
                    "manualWaterUsage": 810.9972797385404
                }
            ],
            "scheduledWaterUsage": 638,
            "manualWaterUsage": 755.4161305331701
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "waterUsage": 377,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "waterUsage": 434.22371634944517,
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "waterUsage": 502,
                                "zones": [
                                    {
                                        "zoneId": "example string value",
                                        "zoneNumber": 435,
                                        "name": "example string value",
                                        "waterUsage": 295.7575010581676,
                                        "scheduledWaterUsage": 135.74038405704331,
                                        "manualWaterUsage": 871.136471569136
                                    }
                                ],
                                "scheduledWaterUsage": 469,
                                "manualWaterUsage": 48.401895933040365
                            }
                        ],
                        "scheduledWaterUsage": 403,
                        "manualWaterUsage": 605.6766270686298
                    }
                ],
                "scheduledWaterUsage": 623.2933679704058,
                "manualWaterUsage": 526.582139789398
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "waterUsage": 642.9963748170977,
                "scheduledWaterUsage": 753,
                "manualWaterUsage": 192.11306850989956
            }
        ],
        "projectsFlowRates": [
            {
                "projectId": "example string value",
                "projectName": "example string value",
                "controllers": [
                    {
                        "controllerId": "example string value",
                        "name": "example string value",
                        "zones": [
                            {
                                "zoneId": "example string value",
                                "number": 148,
                                "name": "example string value",
                                "flowRateGpm": 525.1090170466849
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "measureUnits": {
            "units": "HCF"
        },
        "period": {
            "startDate": "example string value",
            "endDate": "example string value",
            "interval": "DAY"
        }
    },
    "userId": "example string value",
    "meta": {
        "example_property_name": "example string value"
    },
    "storedDataUrl": "example string value"
}

HTTP Request

GET /api/v1/reports/estimated-water-usage-report/{id}

Request parameters

Name Type Part Required Description
Authorization string header true
id string path true

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string true
status string true
data ReportData false
filters ReportFilters true
userId string true
meta Object for field meta false
storedDataUrl string false

ReportData

Name Type Required Description
total Bucket true
buckets Bucket[ ] true
bucketsTotal BucketTotal[ ] true
projectsFlowRates ProjectFlowRate[ ] true

Bucket

Name Type Required Description
dateStart string true
dateEnd string true
waterUsage number true
projects ReportProject[ ] true
scheduledWaterUsage number false
manualWaterUsage number false

ReportProject

Name Type Required Description
projectId string true
name string true
waterUsage number true
controllers ReportController[ ] true
scheduledWaterUsage number false
manualWaterUsage number false

ReportController

Name Type Required Description
controllerId string true
name string true
waterUsage number true
zones ReportZone[ ] true
scheduledWaterUsage number false
manualWaterUsage number false

ReportZone

Name Type Required Description
zoneId string true
zoneNumber integer true
name string true
waterUsage number true
scheduledWaterUsage number false
manualWaterUsage number false

BucketTotal

Name Type Required Description
dateStart string true
dateEnd string true
waterUsage number true
scheduledWaterUsage number false
manualWaterUsage number false

ProjectFlowRate

Name Type Required Description
projectId string true
projectName string true
controllers Controller[ ] true

Controller

Name Type Required Description
controllerId string true
name string true
zones Zone[ ] true

Zone

Name Type Required Description
zoneId string true
number integer true
name string true
flowRateGpm number false

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
measureUnits WateringMeasureUnitsFilter true
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

WateringMeasureUnitsFilter

Name Type Required Description
units string true

PeriodFilter

Name Type Required Description
startDate string true
endDate string true
interval string true

Object for field meta

Name Type Required Description
* string false

V1 | Reports | Landscape Report

Create Landscape report

Request

curl "https://developer-api.etwater.com/api/v1/reports/landscape-report" \
-X POST \
-H "Authorization: example string value" \
--data "{
    \"filters\": {
        \"projectControllers\": {
            \"projectControllers\": [
                {
                    \"projectId\": \"example string value\",
                    \"controllerIdList\": [
                        \"example string value\"
                    ]
                }
            ]
        }
    },
    \"meta\": {
        \"example_property_name\": \"example string value\"
    }
}"

On success, the above request returns response like

{
    "id": "example string value",
    "status": "UNPROCESSABLE",
    "userId": "example string value",
    "data": {
        "projects": [
            {
                "id": "example string value",
                "name": "example string value",
                "controllers": [
                    {
                        "id": "example string value",
                        "name": "example string value",
                        "zones": [
                            {
                                "id": "example string value",
                                "number": 40,
                                "name": "example string value",
                                "vegetationTypes": [
                                    "example string value"
                                ],
                                "emitterTypes": [
                                    "example string value"
                                ],
                                "scheduleType": "FIXED",
                                "rootDepthMeters": 431,
                                "intervalAdjustmentCoefficient": 285.62541226187045,
                                "waterBudgetAdjustmentCoefficient": 991.670864164676,
                                "triggerDepletionPercent": 79,
                                "soilType": "example string value",
                                "slopeTypeId": 501,
                                "shadeLevel": 602
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        }
    },
    "meta": {
        "example_property_name": "example string value"
    },
    "storedDataUrl": "example string value"
}

HTTP Request

POST /api/v1/reports/landscape-report

Request parameters

Name Type Part Required Description
Authorization string header true
GetLandscapeReportRequest LandscapeReportCreateRequest body false

LandscapeReportCreateRequest

Name Type Required Description
filters ReportFilters true
meta Object for field meta false

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

Object for field meta

Name Type Required Description
* string false

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string false
status string true
userId string true
data ReportData false
filters ReportFilters true
meta Object for field meta false
storedDataUrl string false

ReportData

Name Type Required Description
projects Project[ ] true

Project

Name Type Required Description
id string true
name string true
controllers Controller[ ] true

Controller

Name Type Required Description
id string true
name string true
zones Zone[ ] true

Zone

Name Type Required Description
id string true
number integer true
name string true
vegetationTypes string[ ] true
emitterTypes string[ ] true
scheduleType string true
rootDepthMeters number true
intervalAdjustmentCoefficient number true
waterBudgetAdjustmentCoefficient number true
triggerDepletionPercent integer true
soilType string true
slopeTypeId integer true
shadeLevel integer true

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

Object for field meta

Name Type Required Description
* string false

Get Landscape report

Request

curl "https://developer-api.etwater.com/api/v1/reports/landscape-report/{id}" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "id": "example string value",
    "status": "DONE",
    "userId": "example string value",
    "data": {
        "projects": [
            {
                "id": "example string value",
                "name": "example string value",
                "controllers": [
                    {
                        "id": "example string value",
                        "name": "example string value",
                        "zones": [
                            {
                                "id": "example string value",
                                "number": 245,
                                "name": "example string value",
                                "vegetationTypes": [
                                    "example string value"
                                ],
                                "emitterTypes": [
                                    "example string value"
                                ],
                                "scheduleType": "FIXED",
                                "rootDepthMeters": 155,
                                "intervalAdjustmentCoefficient": 947.739722182853,
                                "waterBudgetAdjustmentCoefficient": 427.2292016200857,
                                "triggerDepletionPercent": 471,
                                "soilType": "example string value",
                                "slopeTypeId": 229,
                                "shadeLevel": 236
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        }
    },
    "meta": {
        "example_property_name": "example string value"
    },
    "storedDataUrl": "example string value"
}

HTTP Request

GET /api/v1/reports/landscape-report/{id}

Request parameters

Name Type Part Required Description
Authorization string header true
id string path true

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string true
status string true
userId string true
data ReportData false
filters ReportFilters true
meta Object for field meta false
storedDataUrl string false

ReportData

Name Type Required Description
projects Project[ ] true

Project

Name Type Required Description
id string true
name string true
controllers Controller[ ] true

Controller

Name Type Required Description
id string true
name string true
zones Zone[ ] true

Zone

Name Type Required Description
id string true
number integer true
name string true
vegetationTypes string[ ] true
emitterTypes string[ ] true
scheduleType string true
rootDepthMeters number true
intervalAdjustmentCoefficient number true
waterBudgetAdjustmentCoefficient number true
triggerDepletionPercent integer true
soilType string true
slopeTypeId integer true
shadeLevel integer true

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

Object for field meta

Name Type Required Description
* string false

V1 | Reports | Measured Water Cost Report

Create measured water cost report

Request

curl "https://developer-api.etwater.com/api/v1/reports/measured-water-cost-report?startDate=example+string+value&endDate=example+string+value&interval=BILLING_PERIOD&measureUnits=example+string+value" \
-X POST \
-H "Authorization: example string value" \
--data "{
    \"filters\": {
        \"projectControllers\": {
            \"projectControllers\": [
                {
                    \"projectId\": \"example string value\",
                    \"controllerIdList\": [
                        \"example string value\"
                    ]
                }
            ]
        },
        \"measureUnits\": {
            \"units\": \"GALLONS\"
        },
        \"period\": {
            \"startDate\": \"example string value\",
            \"endDate\": \"example string value\",
            \"interval\": \"BILLING_PERIOD\"
        }
    },
    \"meta\": {
        \"example_property_name\": \"example string value\"
    }
}"

On success, the above request returns response like

{
    "id": "example string value",
    "status": "DONE",
    "userId": "example string value",
    "data": {
        "total": {
            "dateStart": "example string value",
            "dateEnd": "example string value",
            "manualUsage": 501.7227011275118,
            "manualUsageCost": 188,
            "scheduledUsage": 402.29046829151474,
            "scheduledUsageCost": 154,
            "otherUsage": 301,
            "otherUsageCost": 766.5796371952536,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "manualUsage": 365.7745534394749,
                    "manualUsageCost": 328,
                    "scheduledUsage": 365,
                    "scheduledUsageCost": 536.456462245647,
                    "otherUsage": 566.9358054022006,
                    "otherUsageCost": 243.39502129861853,
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "manualUsage": 574.8328387620081,
                            "manualUsageCost": 696,
                            "scheduledUsage": 523,
                            "scheduledUsageCost": 947.3390453249864,
                            "otherUsage": 754,
                            "otherUsageCost": 977.1383535010452,
                            "zones": [
                                {
                                    "zoneNumber": 403,
                                    "name": "example string value",
                                    "manualUsage": 922,
                                    "manualUsageCost": 624.5179747345475,
                                    "scheduledUsage": 690,
                                    "scheduledUsageCost": 685.1798112900833,
                                    "totalWaterUsage": 306.61803451674893,
                                    "totalWaterUsageCost": 324.2589935307666
                                }
                            ],
                            "totalWaterUsage": 52,
                            "totalWaterUsageCost": 979.5151729972638
                        }
                    ],
                    "totalWaterUsage": 853.2472335981424,
                    "totalWaterUsageCost": 111.23786778712545
                }
            ],
            "totalWaterUsage": 711,
            "totalWaterUsageCost": 519
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 575,
                "manualUsageCost": 566.3376434549399,
                "scheduledUsage": 169,
                "scheduledUsageCost": 669.1208051839475,
                "otherUsage": 135.63309849036537,
                "otherUsageCost": 848.5756916220187,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "manualUsage": 97,
                        "manualUsageCost": 507,
                        "scheduledUsage": 282,
                        "scheduledUsageCost": 756.6382553226492,
                        "otherUsage": 358,
                        "otherUsageCost": 883,
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "manualUsage": 180.49577073217174,
                                "manualUsageCost": 858,
                                "scheduledUsage": 372,
                                "scheduledUsageCost": 276,
                                "otherUsage": 244.0446160007476,
                                "otherUsageCost": 6,
                                "zones": [
                                    {
                                        "zoneNumber": 501,
                                        "name": "example string value",
                                        "manualUsage": 667,
                                        "manualUsageCost": 125,
                                        "scheduledUsage": 974,
                                        "scheduledUsageCost": 896.458810612773,
                                        "totalWaterUsage": 437.49720530467914,
                                        "totalWaterUsageCost": 772.6113478525594
                                    }
                                ],
                                "totalWaterUsage": 441.2066207459227,
                                "totalWaterUsageCost": 539
                            }
                        ],
                        "totalWaterUsage": 480.61581490590044,
                        "totalWaterUsageCost": 452.09552554976915
                    }
                ],
                "totalWaterUsage": 245,
                "totalWaterUsageCost": 472
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 621,
                "manualUsageCost": 593.729110711128,
                "scheduledUsage": 132.28312653130067,
                "scheduledUsageCost": 141.51207690197606,
                "otherUsage": 559.2216651696813,
                "otherUsageCost": 135,
                "totalWaterUsage": 310.1225892594655,
                "totalWaterUsageCost": 705
            }
        ]
    },
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "measureUnits": {
            "units": "GALLONS"
        },
        "period": {
            "startDate": "example string value",
            "endDate": "example string value",
            "interval": "BILLING_PERIOD"
        }
    },
    "meta": {
        "example_property_name": "example string value"
    },
    "storedDataUrl": "example string value"
}

HTTP Request

POST /api/v1/reports/measured-water-cost-report

Request parameters

Name Type Part Required Description
Authorization string header true
startDate string query true
endDate string query true
interval string query false
measureUnits string query false
MeasuredWaterCostReportCreateRequest MeasuredWaterCostReportCreateRequest body true

MeasuredWaterCostReportCreateRequest

Name Type Required Description
filters ReportFilters true
meta Object for field meta false

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
measureUnits WateringMeasureUnitsFilter true
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

WateringMeasureUnitsFilter

Name Type Required Description
units string true

PeriodFilter

Name Type Required Description
startDate string true
endDate string true
interval string true

Object for field meta

Name Type Required Description
* string false

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string false
status string true
userId string true
data ReportData false
filters ReportFilters true
meta Object for field meta false
storedDataUrl string false

ReportData

Name Type Required Description
total Bucket true
buckets Bucket[ ] true
bucketsTotal BucketTotal[ ] true

Bucket

Name Type Required Description
dateStart string true
dateEnd string true
manualUsage number true
manualUsageCost number true
scheduledUsage number true
scheduledUsageCost number true
otherUsage number true
otherUsageCost number true
projects Project[ ] true
totalWaterUsage number true
totalWaterUsageCost number true

Project

Name Type Required Description
projectId string true
name string true
manualUsage number true
manualUsageCost number true
scheduledUsage number true
scheduledUsageCost number true
otherUsage number true
otherUsageCost number true
controllers Controller[ ] true
totalWaterUsage number true
totalWaterUsageCost number true

Controller

Name Type Required Description
controllerId string true
name string true
manualUsage number true
manualUsageCost number true
scheduledUsage number true
scheduledUsageCost number true
otherUsage number true
otherUsageCost number true
zones Zone[ ] true
totalWaterUsage number true
totalWaterUsageCost number true

Zone

Name Type Required Description
zoneNumber integer true
name string true
manualUsage number true
manualUsageCost number true
scheduledUsage number true
scheduledUsageCost number true
totalWaterUsage number true
totalWaterUsageCost number true

BucketTotal

Name Type Required Description
dateStart string true
dateEnd string true
manualUsage number true
manualUsageCost number true
scheduledUsage number true
scheduledUsageCost number true
otherUsage number true
otherUsageCost number true
totalWaterUsage number true
totalWaterUsageCost number true

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
measureUnits WateringMeasureUnitsFilter true
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

WateringMeasureUnitsFilter

Name Type Required Description
units string true

PeriodFilter

Name Type Required Description
startDate string true
endDate string true
interval string true

Object for field meta

Name Type Required Description
* string false

Get measured water cost report

Request

curl "https://developer-api.etwater.com/api/v1/reports/measured-water-cost-report/{id}" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "id": "example string value",
    "status": "DONE",
    "userId": "example string value",
    "data": {
        "total": {
            "dateStart": "example string value",
            "dateEnd": "example string value",
            "manualUsage": 94.33465781357822,
            "manualUsageCost": 380,
            "scheduledUsage": 830,
            "scheduledUsageCost": 774.3903835184827,
            "otherUsage": 939,
            "otherUsageCost": 618.9018057747286,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "manualUsage": 893,
                    "manualUsageCost": 545,
                    "scheduledUsage": 516,
                    "scheduledUsageCost": 629,
                    "otherUsage": 586.6119589594249,
                    "otherUsageCost": 863,
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "manualUsage": 781,
                            "manualUsageCost": 464.1416102946464,
                            "scheduledUsage": 994,
                            "scheduledUsageCost": 144.5535072798624,
                            "otherUsage": 454,
                            "otherUsageCost": 816.2635698990262,
                            "zones": [
                                {
                                    "zoneNumber": 85,
                                    "name": "example string value",
                                    "manualUsage": 755,
                                    "manualUsageCost": 423.2387228045793,
                                    "scheduledUsage": 847.9581102020843,
                                    "scheduledUsageCost": 105.67490994263204,
                                    "totalWaterUsage": 662.121353979279,
                                    "totalWaterUsageCost": 876
                                }
                            ],
                            "totalWaterUsage": 42.26871674986031,
                            "totalWaterUsageCost": 556
                        }
                    ],
                    "totalWaterUsage": 322.677256224061,
                    "totalWaterUsageCost": 762.648472451907
                }
            ],
            "totalWaterUsage": 312.99044951470125,
            "totalWaterUsageCost": 416
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 975.418598379669,
                "manualUsageCost": 389,
                "scheduledUsage": 868,
                "scheduledUsageCost": 159,
                "otherUsage": 565.6720113780684,
                "otherUsageCost": 921.8115657203884,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "manualUsage": 428,
                        "manualUsageCost": 617,
                        "scheduledUsage": 109,
                        "scheduledUsageCost": 950,
                        "otherUsage": 807,
                        "otherUsageCost": 7,
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "manualUsage": 400,
                                "manualUsageCost": 788.5534245467528,
                                "scheduledUsage": 59.994069421661116,
                                "scheduledUsageCost": 214.5141196504767,
                                "otherUsage": 451.72372434834193,
                                "otherUsageCost": 610,
                                "zones": [
                                    {
                                        "zoneNumber": 288,
                                        "name": "example string value",
                                        "manualUsage": 39,
                                        "manualUsageCost": 17.13210717641381,
                                        "scheduledUsage": 570.0926164025873,
                                        "scheduledUsageCost": 572.1056147348628,
                                        "totalWaterUsage": 30,
                                        "totalWaterUsageCost": 694.7084314630871
                                    }
                                ],
                                "totalWaterUsage": 535.1930887136576,
                                "totalWaterUsageCost": 706.8097748359711
                            }
                        ],
                        "totalWaterUsage": 858,
                        "totalWaterUsageCost": 352.71117899227477
                    }
                ],
                "totalWaterUsage": 295,
                "totalWaterUsageCost": 371.692226907095
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 782.2034753776171,
                "manualUsageCost": 253,
                "scheduledUsage": 210,
                "scheduledUsageCost": 344,
                "otherUsage": 251,
                "otherUsageCost": 376,
                "totalWaterUsage": 175,
                "totalWaterUsageCost": 354.9073461233207
            }
        ]
    },
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "measureUnits": {
            "units": "GALLONS"
        },
        "period": {
            "startDate": "example string value",
            "endDate": "example string value",
            "interval": "DAY"
        }
    },
    "meta": {
        "example_property_name": "example string value"
    },
    "storedDataUrl": "example string value"
}

HTTP Request

GET /api/v1/reports/measured-water-cost-report/{id}

Request parameters

Name Type Part Required Description
Authorization string header true
id string path true

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string true
status string true
userId string true
data ReportData false
filters ReportFilters true
meta Object for field meta false
storedDataUrl string false

ReportData

Name Type Required Description
total Bucket true
buckets Bucket[ ] true
bucketsTotal BucketTotal[ ] true

Bucket

Name Type Required Description
dateStart string true
dateEnd string true
manualUsage number true
manualUsageCost number true
scheduledUsage number true
scheduledUsageCost number true
otherUsage number true
otherUsageCost number true
projects Project[ ] true
totalWaterUsage number true
totalWaterUsageCost number true

Project

Name Type Required Description
projectId string true
name string true
manualUsage number true
manualUsageCost number true
scheduledUsage number true
scheduledUsageCost number true
otherUsage number true
otherUsageCost number true
controllers Controller[ ] true
totalWaterUsage number true
totalWaterUsageCost number true

Controller

Name Type Required Description
controllerId string true
name string true
manualUsage number true
manualUsageCost number true
scheduledUsage number true
scheduledUsageCost number true
otherUsage number true
otherUsageCost number true
zones Zone[ ] true
totalWaterUsage number true
totalWaterUsageCost number true

Zone

Name Type Required Description
zoneNumber integer true
name string true
manualUsage number true
manualUsageCost number true
scheduledUsage number true
scheduledUsageCost number true
totalWaterUsage number true
totalWaterUsageCost number true

BucketTotal

Name Type Required Description
dateStart string true
dateEnd string true
manualUsage number true
manualUsageCost number true
scheduledUsage number true
scheduledUsageCost number true
otherUsage number true
otherUsageCost number true
totalWaterUsage number true
totalWaterUsageCost number true

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
measureUnits WateringMeasureUnitsFilter true
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

WateringMeasureUnitsFilter

Name Type Required Description
units string true

PeriodFilter

Name Type Required Description
startDate string true
endDate string true
interval string true

Object for field meta

Name Type Required Description
* string false

V1 | Reports | Measured Water Usage Report

Create measured water usage report

Request

curl "https://developer-api.etwater.com/api/v1/reports/measured-water-usage-report?startDate=example+string+value&endDate=example+string+value&interval=DAY&measureUnits=example+string+value" \
-X POST \
-H "Authorization: example string value" \
--data "{
    \"filters\": {
        \"projectControllers\": {
            \"projectControllers\": [
                {
                    \"projectId\": \"example string value\",
                    \"controllerIdList\": [
                        \"example string value\"
                    ]
                }
            ]
        },
        \"measureUnits\": {
            \"units\": \"HCF\"
        },
        \"period\": {
            \"startDate\": \"example string value\",
            \"endDate\": \"example string value\",
            \"interval\": \"MONTH\"
        }
    },
    \"meta\": {
        \"example_property_name\": \"example string value\"
    }
}"

On success, the above request returns response like

{
    "id": "example string value",
    "status": "DONE",
    "userId": "example string value",
    "data": {
        "total": {
            "dateStart": "example string value",
            "dateEnd": "example string value",
            "manualUsage": 783,
            "scheduledUsage": 836.6981916300479,
            "otherUsage": 159.56368770430035,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "manualUsage": 763.7724144215567,
                    "scheduledUsage": 28.17763249770628,
                    "otherUsage": 563.8684470038248,
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "manualUsage": 333.4781575638234,
                            "scheduledUsage": 252,
                            "otherUsage": 21,
                            "zones": [
                                {
                                    "zoneNumber": 549,
                                    "name": "example string value",
                                    "manualUsage": 363,
                                    "scheduledUsage": 382,
                                    "totalWaterUsage": 675.6638058813586
                                }
                            ],
                            "totalWaterUsage": 610.439415374044
                        }
                    ],
                    "totalWaterUsage": 168.41964524631373
                }
            ],
            "totalWaterUsage": 582.7472161421307
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 755,
                "scheduledUsage": 921,
                "otherUsage": 105.04337824184606,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "manualUsage": 66.36254818474993,
                        "scheduledUsage": 241,
                        "otherUsage": 131,
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "manualUsage": 384,
                                "scheduledUsage": 951,
                                "otherUsage": 88,
                                "zones": [
                                    {
                                        "zoneNumber": 419,
                                        "name": "example string value",
                                        "manualUsage": 220,
                                        "scheduledUsage": 290.1012102561543,
                                        "totalWaterUsage": 421
                                    }
                                ],
                                "totalWaterUsage": 991
                            }
                        ],
                        "totalWaterUsage": 263
                    }
                ],
                "totalWaterUsage": 289
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 372.0980861094306,
                "scheduledUsage": 574,
                "otherUsage": 165,
                "totalWaterUsage": 525
            }
        ]
    },
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "measureUnits": {
            "units": "GALLONS"
        },
        "period": {
            "startDate": "example string value",
            "endDate": "example string value",
            "interval": "DAY"
        }
    },
    "meta": {
        "example_property_name": "example string value"
    },
    "storedDataUrl": "example string value"
}

HTTP Request

POST /api/v1/reports/measured-water-usage-report

Request parameters

Name Type Part Required Description
Authorization string header true
startDate string query true
endDate string query true
interval string query false
measureUnits string query false
MeasuredWaterUsageReportCreateRequest MeasuredWaterUsageReportCreateRequest body true

MeasuredWaterUsageReportCreateRequest

Name Type Required Description
filters ReportFilters true
meta Object for field meta false

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
measureUnits WateringMeasureUnitsFilter true
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

WateringMeasureUnitsFilter

Name Type Required Description
units string true

PeriodFilter

Name Type Required Description
startDate string true
endDate string true
interval string true

Object for field meta

Name Type Required Description
* string false

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string false
status string true
userId string true
data ReportData false
filters ReportFilters true
meta Object for field meta false
storedDataUrl string false

ReportData

Name Type Required Description
total Bucket true
buckets Bucket[ ] true
bucketsTotal BucketTotal[ ] true

Bucket

Name Type Required Description
dateStart string true
dateEnd string true
manualUsage number true
scheduledUsage number true
otherUsage number true
projects Project[ ] true
totalWaterUsage number true

Project

Name Type Required Description
projectId string true
name string true
manualUsage number true
scheduledUsage number true
otherUsage number true
controllers Controller[ ] true
totalWaterUsage number true

Controller

Name Type Required Description
controllerId string true
name string true
manualUsage number true
scheduledUsage number true
otherUsage number true
zones Zone[ ] true
totalWaterUsage number true

Zone

Name Type Required Description
zoneNumber integer true
name string true
manualUsage number true
scheduledUsage number true
totalWaterUsage number true

BucketTotal

Name Type Required Description
dateStart string true
dateEnd string true
manualUsage number true
scheduledUsage number true
otherUsage number true
totalWaterUsage number true

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
measureUnits WateringMeasureUnitsFilter true
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

WateringMeasureUnitsFilter

Name Type Required Description
units string true

PeriodFilter

Name Type Required Description
startDate string true
endDate string true
interval string true

Object for field meta

Name Type Required Description
* string false

Get measured water usage report

Request

curl "https://developer-api.etwater.com/api/v1/reports/measured-water-usage-report/{id}" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "id": "example string value",
    "status": "DONE",
    "userId": "example string value",
    "data": {
        "total": {
            "dateStart": "example string value",
            "dateEnd": "example string value",
            "manualUsage": 758.3673190131631,
            "scheduledUsage": 930,
            "otherUsage": 618,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "manualUsage": 423.27260804514987,
                    "scheduledUsage": 225,
                    "otherUsage": 997,
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "manualUsage": 80.34719157980157,
                            "scheduledUsage": 551.8223301283189,
                            "otherUsage": 769,
                            "zones": [
                                {
                                    "zoneNumber": 670,
                                    "name": "example string value",
                                    "manualUsage": 324,
                                    "scheduledUsage": 429,
                                    "totalWaterUsage": 464.5173295701469
                                }
                            ],
                            "totalWaterUsage": 769.3998076810501
                        }
                    ],
                    "totalWaterUsage": 792.1837232039234
                }
            ],
            "totalWaterUsage": 326.59830307895237
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 661.1256341734555,
                "scheduledUsage": 628,
                "otherUsage": 805,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "manualUsage": 435,
                        "scheduledUsage": 561.8731153951368,
                        "otherUsage": 439,
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "manualUsage": 379,
                                "scheduledUsage": 677,
                                "otherUsage": 589,
                                "zones": [
                                    {
                                        "zoneNumber": 561,
                                        "name": "example string value",
                                        "manualUsage": 977,
                                        "scheduledUsage": 625,
                                        "totalWaterUsage": 613
                                    }
                                ],
                                "totalWaterUsage": 44.12647105945575
                            }
                        ],
                        "totalWaterUsage": 643.3713550881349
                    }
                ],
                "totalWaterUsage": 76
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 857.7012107044931,
                "scheduledUsage": 696,
                "otherUsage": 762.1980080205007,
                "totalWaterUsage": 615
            }
        ]
    },
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "measureUnits": {
            "units": "HCF"
        },
        "period": {
            "startDate": "example string value",
            "endDate": "example string value",
            "interval": "DAY"
        }
    },
    "meta": {
        "example_property_name": "example string value"
    },
    "storedDataUrl": "example string value"
}

HTTP Request

GET /api/v1/reports/measured-water-usage-report/{id}

Request parameters

Name Type Part Required Description
Authorization string header true
id string path true

HTTP Responses

Code Description
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
504 Gateway Timeout

Successful response

Name Type Required Description
id string true
status string true
userId string true
data ReportData false
filters ReportFilters true
meta Object for field meta false
storedDataUrl string false

ReportData

Name Type Required Description
total Bucket true
buckets Bucket[ ] true
bucketsTotal BucketTotal[ ] true

Bucket

Name Type Required Description
dateStart string true
dateEnd string true
manualUsage number true
scheduledUsage number true
otherUsage number true
projects Project[ ] true
totalWaterUsage number true

Project

Name Type Required Description
projectId string true
name string true
manualUsage number true
scheduledUsage number true
otherUsage number true
controllers Controller[ ] true
totalWaterUsage number true

Controller

Name Type Required Description
controllerId string true
name string true
manualUsage number true
scheduledUsage number true
otherUsage number true
zones Zone[ ] true
totalWaterUsage number true

Zone

Name Type Required Description
zoneNumber integer true
name string true
manualUsage number true
scheduledUsage number true
totalWaterUsage number true

BucketTotal

Name Type Required Description
dateStart string true
dateEnd string true
manualUsage number true
scheduledUsage number true
otherUsage number true
totalWaterUsage number true

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
measureUnits WateringMeasureUnitsFilter true
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

Name Type Required Description
projectId string true
controllerIdList string[ ] false

Wateri