NAV
cURL

Copyright Agreement

Copyright (c) 2024 Orbit Irrigation Products, LLC. 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=nextSessionDateTime&sortDirection=asc&controllerId=example+string+value&projectId=example+string+value&hasMissedSessions=1&hasMissedSessionsDateFrom=example+string+value&hasMissedSessionsDateTo=example+string+value&unity=0&active=1" \
-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": 636,
            "lastScheduledSuccessfulSessionDateTime": 771,
            "lastSessionDateTime": 804,
            "nextSessionDateTime": 933,
            "nextSessionDeadline": 376,
            "missedDaysNumber": 91,
            "controllerTimezoneOffset": 13,
            "userId": "example string value",
            "missedSessionsNumber": 991,
            "lastSuccessfulSessionId": "example string value",
            "lastSessionId": "example string value"
        }
    ],
    "page": 616,
    "size": 784,
    "total": 371
}

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=0&configured=1&suspended=1&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": 314,
            "dialScheduleArray": [
                {
                    "secOfDay": 307,
                    "skipDays": 196,
                    "retries": 552,
                    "delayMinutes": 983
                }
            ],
            "extraMinutesToFillPipes": 447,
            "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": 79,
            "fertigationValveNumber": 141,
            "stationCount": 615,
            "flowLimits": {
                "overflowGroup0": 608,
                "underflowGroup0": 686,
                "overflowGroup1": 445,
                "underflowGroup1": 819,
                "leakLimitPPM": 752
            },
            "keystrokeTimeout": 615,
            "calibrationInfo": {
                "inchesOfRainPerTip": 597,
                "inchesOfRainStarted": 697,
                "inchesOfRainHeavy": 593
            },
            "shortCircuitThreshold": 777,
            "openCircuitThreshold": 279,
            "multiValveMode": false,
            "disableMSLWReset": true,
            "remoteControl": false,
            "allowableClockDriftSeconds": 301,
            "flowMeasurementEnabled": true,
            "requestAverageFlow": false,
            "icuTimeZoneOffsetMillis": 642,
            "adminSuspendStatus": 273,
            "wateringAdjustmentCoefficients": {
                "example_property_name": 982
            },
            "maxSimultaneousIrrigationValves": "1",
            "enableSMS": false,
            "icuModel": "example string value",
            "NOT_IN_USE": {
                "example_property_name": 482
            },
            "frequencyAdjustmentsCoefficients": {
                "example_property_name": 161
            },
            "timeZoneIdentifier": "example string value",
            "maxStationCount": 141,
            "ccuSuspendWatering": true,
            "ccuSuspendIsTimed": true
        },
        "userId": "example string value",
        "controllerStatus": "ACTIVE",
        "createdAt": 826,
        "updatedAt": 78,
        "ccuZones": {
            "example_property_name": {
                "name": "example string value",
                "number": 800,
                "projectId": "example string value",
                "areaRegionConfigStates": {
                    "example_property_name": false
                },
                "configured": false,
                "expectedFlowPPM": 342,
                "disableFlowSensing": false,
                "expectedFlowProcessState": 815,
                "startOfUpdatingFlow": 455,
                "updatePPM": false,
                "gpm": 199,
                "customGpm": 12.240604037531002,
                "expectedFlowProcessStateUpdatedAt": "example string value",
                "stationOverflowGroupNumber": 397
            }
        },
        "flowSensorSettings": {
            "flowSensorId": "example string value",
            "manufacturer": "example string value",
            "type": "example string value",
            "factorK": 517,
            "offset": 375
        },
        "configured": true,
        "activated": false,
        "projectId": "example string value",
        "name": "example string value",
        "firmwareVersion": "example string value",
        "unity": false,
        "multiValveSettings": {
            "multiValveMode": false,
            "maxSimultaneousIrrigationValves": 586,
            "masterValve": false,
            "boosterPump": true,
            "waterAloneStations": [
                651
            ]
        },
        "connectedAt": 202,
        "isPOTS": true,
        "modemTypeString": "example string value",
        "connectedSuccessfullyAt": 629,
        "connectedPlatform": "example string value",
        "modemSignalStrength": 288,
        "failedCallCount": 660,
        "rainSensorType": 256,
        "rainSensorEnabled": true,
        "icuFamily": "example string value",
        "iccid": "example string value",
        "nextConnectionAt": 578,
        "simNetworkType": "example string value",
        "modemTypeNumber": 508
    }
]

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
expectedFlowProcessStateUpdatedAt string false
stationOverflowGroupNumber integer 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\": 895,
        \"dialScheduleArray\": [
            {
                \"secOfDay\": 252,
                \"skipDays\": 388,
                \"retries\": 460,
                \"delayMinutes\": 368
            }
        ],
        \"extraMinutesToFillPipes\": 857,
        \"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\": 570,
        \"fertigationValveNumber\": 114,
        \"stationCount\": 136,
        \"flowLimits\": {
            \"overflowGroup0\": 469,
            \"underflowGroup0\": 332,
            \"overflowGroup1\": 124,
            \"underflowGroup1\": 682,
            \"leakLimitPPM\": 368
        },
        \"keystrokeTimeout\": 857,
        \"calibrationInfo\": {
            \"inchesOfRainPerTip\": 115,
            \"inchesOfRainStarted\": 306,
            \"inchesOfRainHeavy\": 60
        },
        \"shortCircuitThreshold\": 78,
        \"openCircuitThreshold\": 311,
        \"multiValveMode\": false,
        \"disableMSLWReset\": false,
        \"remoteControl\": true,
        \"allowableClockDriftSeconds\": 50,
        \"flowMeasurementEnabled\": true,
        \"requestAverageFlow\": false,
        \"icuTimeZoneOffsetMillis\": 379,
        \"adminSuspendStatus\": 296,
        \"wateringAdjustmentCoefficients\": {
            \"example_property_name\": 158.43548539953096
        },
        \"maxSimultaneousIrrigationValves\": \"1\",
        \"enableSMS\": false,
        \"icuModel\": \"example string value\",
        \"NOT_IN_USE\": {
            \"example_property_name\": 271.664647977643
        },
        \"frequencyAdjustmentsCoefficients\": {
            \"example_property_name\": 922
        },
        \"timeZoneIdentifier\": \"example string value\",
        \"maxStationCount\": 990,
        \"ccuSuspendWatering\": true,
        \"ccuSuspendIsTimed\": true
    },
    \"userId\": \"example string value\",
    \"controllerStatus\": \"DEACTIVATED\",
    \"createdAt\": 274,
    \"updatedAt\": 988,
    \"ccuZones\": {
        \"example_property_name\": {
            \"name\": \"example string value\",
            \"number\": 628,
            \"projectId\": \"example string value\",
            \"areaRegionConfigStates\": {
                \"example_property_name\": false
            },
            \"configured\": true,
            \"expectedFlowPPM\": 788,
            \"disableFlowSensing\": true,
            \"expectedFlowProcessState\": 477,
            \"startOfUpdatingFlow\": 207,
            \"updatePPM\": true,
            \"gpm\": 11.870673863157013,
            \"customGpm\": 932,
            \"expectedFlowProcessStateUpdatedAt\": \"example string value\",
            \"stationOverflowGroupNumber\": 714
        }
    },
    \"flowSensorSettings\": {
        \"flowSensorId\": \"example string value\",
        \"manufacturer\": \"example string value\",
        \"type\": \"example string value\",
        \"factorK\": 647.6889558358532,
        \"offset\": 680.8387477327319
    },
    \"configured\": true,
    \"activated\": true,
    \"projectId\": \"example string value\",
    \"name\": \"example string value\",
    \"firmwareVersion\": \"example string value\",
    \"unity\": true,
    \"multiValveSettings\": {
        \"multiValveMode\": true,
        \"maxSimultaneousIrrigationValves\": 894,
        \"masterValve\": true,
        \"boosterPump\": false,
        \"waterAloneStations\": [
            92
        ]
    },
    \"connectedAt\": 181,
    \"isPOTS\": true,
    \"modemTypeString\": \"example string value\",
    \"connectedSuccessfullyAt\": 758,
    \"connectedPlatform\": \"example string value\",
    \"modemSignalStrength\": 68,
    \"failedCallCount\": 277,
    \"rainSensorType\": 838,
    \"rainSensorEnabled\": true,
    \"icuFamily\": \"example string value\",
    \"iccid\": \"example string value\",
    \"nextConnectionAt\": 107,
    \"simNetworkType\": \"example string value\",
    \"modemTypeNumber\": 440
}"

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": 407,
        "dialScheduleArray": [
            {
                "secOfDay": 179,
                "skipDays": 871,
                "retries": 904,
                "delayMinutes": 160
            }
        ],
        "extraMinutesToFillPipes": 891,
        "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": 457,
        "fertigationValveNumber": 299,
        "stationCount": 283,
        "flowLimits": {
            "overflowGroup0": 120,
            "underflowGroup0": 488,
            "overflowGroup1": 39,
            "underflowGroup1": 640,
            "leakLimitPPM": 761
        },
        "keystrokeTimeout": 809,
        "calibrationInfo": {
            "inchesOfRainPerTip": 424,
            "inchesOfRainStarted": 200,
            "inchesOfRainHeavy": 524
        },
        "shortCircuitThreshold": 714,
        "openCircuitThreshold": 884,
        "multiValveMode": true,
        "disableMSLWReset": false,
        "remoteControl": false,
        "allowableClockDriftSeconds": 335,
        "flowMeasurementEnabled": false,
        "requestAverageFlow": false,
        "icuTimeZoneOffsetMillis": 395,
        "adminSuspendStatus": 963,
        "wateringAdjustmentCoefficients": {
            "example_property_name": 737.8311016307357
        },
        "maxSimultaneousIrrigationValves": "1",
        "enableSMS": true,
        "icuModel": "example string value",
        "NOT_IN_USE": {
            "example_property_name": 530.9215679443075
        },
        "frequencyAdjustmentsCoefficients": {
            "example_property_name": 846
        },
        "timeZoneIdentifier": "example string value",
        "maxStationCount": 387,
        "ccuSuspendWatering": false,
        "ccuSuspendIsTimed": false
    },
    "userId": "example string value",
    "controllerStatus": "DELETED",
    "createdAt": 774,
    "updatedAt": 87,
    "ccuZones": {
        "example_property_name": {
            "name": "example string value",
            "number": 648,
            "projectId": "example string value",
            "areaRegionConfigStates": {
                "example_property_name": true
            },
            "configured": false,
            "expectedFlowPPM": 636,
            "disableFlowSensing": true,
            "expectedFlowProcessState": 2,
            "startOfUpdatingFlow": 619,
            "updatePPM": true,
            "gpm": 935,
            "customGpm": 785.2765842272325,
            "expectedFlowProcessStateUpdatedAt": "example string value",
            "stationOverflowGroupNumber": 446
        }
    },
    "flowSensorSettings": {
        "flowSensorId": "example string value",
        "manufacturer": "example string value",
        "type": "example string value",
        "factorK": 185,
        "offset": 686.6301985860944
    },
    "configured": true,
    "activated": false,
    "projectId": "example string value",
    "name": "example string value",
    "firmwareVersion": "example string value",
    "unity": false,
    "multiValveSettings": {
        "multiValveMode": false,
        "maxSimultaneousIrrigationValves": 840,
        "masterValve": false,
        "boosterPump": false,
        "waterAloneStations": [
            571
        ]
    },
    "connectedAt": 957,
    "isPOTS": false,
    "modemTypeString": "example string value",
    "connectedSuccessfullyAt": 443,
    "connectedPlatform": "example string value",
    "modemSignalStrength": 595,
    "failedCallCount": 808,
    "rainSensorType": 203,
    "rainSensorEnabled": false,
    "icuFamily": "example string value",
    "iccid": "example string value",
    "nextConnectionAt": 512,
    "simNetworkType": "example string value",
    "modemTypeNumber": 819
}

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
expectedFlowProcessStateUpdatedAt string false
stationOverflowGroupNumber integer 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
expectedFlowProcessStateUpdatedAt string false
stationOverflowGroupNumber integer 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\": 325,
            \"dialScheduleArray\": [
                {
                    \"secOfDay\": 891,
                    \"skipDays\": 879,
                    \"retries\": 940,
                    \"delayMinutes\": 753
                }
            ],
            \"extraMinutesToFillPipes\": 107,
            \"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\": 867,
            \"fertigationValveNumber\": 371,
            \"stationCount\": 190,
            \"flowLimits\": {
                \"overflowGroup0\": 178,
                \"underflowGroup0\": 343,
                \"overflowGroup1\": 58,
                \"underflowGroup1\": 336,
                \"leakLimitPPM\": 188
            },
            \"keystrokeTimeout\": 606,
            \"calibrationInfo\": {
                \"inchesOfRainPerTip\": 992,
                \"inchesOfRainStarted\": 430,
                \"inchesOfRainHeavy\": 260
            },
            \"shortCircuitThreshold\": 732,
            \"openCircuitThreshold\": 997,
            \"multiValveMode\": false,
            \"disableMSLWReset\": false,
            \"remoteControl\": true,
            \"allowableClockDriftSeconds\": 382,
            \"flowMeasurementEnabled\": true,
            \"requestAverageFlow\": true,
            \"icuTimeZoneOffsetMillis\": 809,
            \"adminSuspendStatus\": 743,
            \"wateringAdjustmentCoefficients\": {
                \"example_property_name\": 468.93645844838414
            },
            \"maxSimultaneousIrrigationValves\": \"1\",
            \"enableSMS\": true,
            \"icuModel\": \"example string value\",
            \"NOT_IN_USE\": {
                \"example_property_name\": 952
            },
            \"frequencyAdjustmentsCoefficients\": {
                \"example_property_name\": 166.68836547373252
            },
            \"timeZoneIdentifier\": \"example string value\",
            \"maxStationCount\": 297,
            \"ccuSuspendWatering\": true,
            \"ccuSuspendIsTimed\": false
        },
        \"userId\": \"example string value\",
        \"controllerStatus\": \"DELETED\",
        \"createdAt\": 262,
        \"updatedAt\": 332,
        \"ccuZones\": {
            \"example_property_name\": {
                \"name\": \"example string value\",
                \"number\": 758,
                \"projectId\": \"example string value\",
                \"areaRegionConfigStates\": {
                    \"example_property_name\": true
                },
                \"configured\": true,
                \"expectedFlowPPM\": 456,
                \"disableFlowSensing\": true,
                \"expectedFlowProcessState\": 832,
                \"startOfUpdatingFlow\": 946,
                \"updatePPM\": true,
                \"gpm\": 37.231538927756034,
                \"customGpm\": 310.74469690711453,
                \"expectedFlowProcessStateUpdatedAt\": \"example string value\",
                \"stationOverflowGroupNumber\": 536
            }
        },
        \"flowSensorSettings\": {
            \"flowSensorId\": \"example string value\",
            \"manufacturer\": \"example string value\",
            \"type\": \"example string value\",
            \"factorK\": 279,
            \"offset\": 478
        },
        \"configured\": false,
        \"activated\": true,
        \"projectId\": \"example string value\",
        \"name\": \"example string value\",
        \"firmwareVersion\": \"example string value\",
        \"unity\": false,
        \"multiValveSettings\": {
            \"multiValveMode\": false,
            \"maxSimultaneousIrrigationValves\": 62,
            \"masterValve\": false,
            \"boosterPump\": true,
            \"waterAloneStations\": [
                365
            ]
        },
        \"connectedAt\": 705,
        \"isPOTS\": false,
        \"modemTypeString\": \"example string value\",
        \"connectedSuccessfullyAt\": 871,
        \"connectedPlatform\": \"example string value\",
        \"modemSignalStrength\": 544,
        \"failedCallCount\": 371,
        \"rainSensorType\": 685,
        \"rainSensorEnabled\": false,
        \"icuFamily\": \"example string value\",
        \"iccid\": \"example string value\",
        \"nextConnectionAt\": 56,
        \"simNetworkType\": \"example string value\",
        \"modemTypeNumber\": 105
    }
]"

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": 338,
            "dialScheduleArray": [
                {
                    "secOfDay": 728,
                    "skipDays": 712,
                    "retries": 217,
                    "delayMinutes": 880
                }
            ],
            "extraMinutesToFillPipes": 766,
            "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": 856,
            "fertigationValveNumber": 9,
            "stationCount": 196,
            "flowLimits": {
                "overflowGroup0": 974,
                "underflowGroup0": 831,
                "overflowGroup1": 99,
                "underflowGroup1": 488,
                "leakLimitPPM": 396
            },
            "keystrokeTimeout": 69,
            "calibrationInfo": {
                "inchesOfRainPerTip": 973,
                "inchesOfRainStarted": 972,
                "inchesOfRainHeavy": 728
            },
            "shortCircuitThreshold": 447,
            "openCircuitThreshold": 306,
            "multiValveMode": false,
            "disableMSLWReset": true,
            "remoteControl": true,
            "allowableClockDriftSeconds": 332,
            "flowMeasurementEnabled": false,
            "requestAverageFlow": false,
            "icuTimeZoneOffsetMillis": 828,
            "adminSuspendStatus": 702,
            "wateringAdjustmentCoefficients": {
                "example_property_name": 939.6972837577096
            },
            "maxSimultaneousIrrigationValves": "1",
            "enableSMS": true,
            "icuModel": "example string value",
            "NOT_IN_USE": {
                "example_property_name": 846
            },
            "frequencyAdjustmentsCoefficients": {
                "example_property_name": 416
            },
            "timeZoneIdentifier": "example string value",
            "maxStationCount": 69,
            "ccuSuspendWatering": true,
            "ccuSuspendIsTimed": true
        },
        "userId": "example string value",
        "controllerStatus": "DELETED",
        "createdAt": 456,
        "updatedAt": 151,
        "ccuZones": {
            "example_property_name": {
                "name": "example string value",
                "number": 697,
                "projectId": "example string value",
                "areaRegionConfigStates": {
                    "example_property_name": true
                },
                "configured": false,
                "expectedFlowPPM": 278,
                "disableFlowSensing": true,
                "expectedFlowProcessState": 318,
                "startOfUpdatingFlow": 431,
                "updatePPM": true,
                "gpm": 191,
                "customGpm": 740,
                "expectedFlowProcessStateUpdatedAt": "example string value",
                "stationOverflowGroupNumber": 894
            }
        },
        "flowSensorSettings": {
            "flowSensorId": "example string value",
            "manufacturer": "example string value",
            "type": "example string value",
            "factorK": 42.14908929641782,
            "offset": 85
        },
        "configured": true,
        "activated": false,
        "projectId": "example string value",
        "name": "example string value",
        "firmwareVersion": "example string value",
        "unity": false,
        "multiValveSettings": {
            "multiValveMode": true,
            "maxSimultaneousIrrigationValves": 93,
            "masterValve": false,
            "boosterPump": false,
            "waterAloneStations": [
                68
            ]
        },
        "connectedAt": 318,
        "isPOTS": false,
        "modemTypeString": "example string value",
        "connectedSuccessfullyAt": 533,
        "connectedPlatform": "example string value",
        "modemSignalStrength": 876,
        "failedCallCount": 659,
        "rainSensorType": 712,
        "rainSensorEnabled": true,
        "icuFamily": "example string value",
        "iccid": "example string value",
        "nextConnectionAt": 901,
        "simNetworkType": "example string value",
        "modemTypeNumber": 649
    }
]

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
expectedFlowProcessStateUpdatedAt string false
stationOverflowGroupNumber integer 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
expectedFlowProcessStateUpdatedAt string false
stationOverflowGroupNumber integer 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": 457,
        "dialScheduleArray": [
            {
                "secOfDay": 234,
                "skipDays": 383,
                "retries": 216,
                "delayMinutes": 521
            }
        ],
        "extraMinutesToFillPipes": 207,
        "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": 385,
        "fertigationValveNumber": 887,
        "stationCount": 655,
        "flowLimits": {
            "overflowGroup0": 151,
            "underflowGroup0": 290,
            "overflowGroup1": 228,
            "underflowGroup1": 212,
            "leakLimitPPM": 551
        },
        "keystrokeTimeout": 268,
        "calibrationInfo": {
            "inchesOfRainPerTip": 232,
            "inchesOfRainStarted": 695,
            "inchesOfRainHeavy": 563
        },
        "shortCircuitThreshold": 907,
        "openCircuitThreshold": 220,
        "multiValveMode": true,
        "disableMSLWReset": true,
        "remoteControl": false,
        "allowableClockDriftSeconds": 300,
        "flowMeasurementEnabled": true,
        "requestAverageFlow": false,
        "icuTimeZoneOffsetMillis": 596,
        "adminSuspendStatus": 625,
        "wateringAdjustmentCoefficients": {
            "example_property_name": 807.5193543022124
        },
        "maxSimultaneousIrrigationValves": "1",
        "enableSMS": false,
        "icuModel": "example string value",
        "NOT_IN_USE": {
            "example_property_name": 684
        },
        "frequencyAdjustmentsCoefficients": {
            "example_property_name": 950
        },
        "timeZoneIdentifier": "example string value",
        "maxStationCount": 180,
        "ccuSuspendWatering": true,
        "ccuSuspendIsTimed": true
    },
    "userId": "example string value",
    "controllerStatus": "DELETED",
    "createdAt": 91,
    "updatedAt": 996,
    "ccuZones": {
        "example_property_name": {
            "name": "example string value",
            "number": 190,
            "projectId": "example string value",
            "areaRegionConfigStates": {
                "example_property_name": true
            },
            "configured": true,
            "expectedFlowPPM": 36,
            "disableFlowSensing": true,
            "expectedFlowProcessState": 101,
            "startOfUpdatingFlow": 785,
            "updatePPM": true,
            "gpm": 946.3953319687375,
            "customGpm": 240,
            "expectedFlowProcessStateUpdatedAt": "example string value",
            "stationOverflowGroupNumber": 965
        }
    },
    "flowSensorSettings": {
        "flowSensorId": "example string value",
        "manufacturer": "example string value",
        "type": "example string value",
        "factorK": 323,
        "offset": 273.1110543353069
    },
    "configured": true,
    "activated": true,
    "projectId": "example string value",
    "name": "example string value",
    "firmwareVersion": "example string value",
    "unity": false,
    "multiValveSettings": {
        "multiValveMode": true,
        "maxSimultaneousIrrigationValves": 884,
        "masterValve": true,
        "boosterPump": false,
        "waterAloneStations": [
            805
        ]
    },
    "connectedAt": 374,
    "isPOTS": false,
    "modemTypeString": "example string value",
    "connectedSuccessfullyAt": 805,
    "connectedPlatform": "example string value",
    "modemSignalStrength": 819,
    "failedCallCount": 554,
    "rainSensorType": 882,
    "rainSensorEnabled": true,
    "icuFamily": "example string value",
    "iccid": "example string value",
    "nextConnectionAt": 852,
    "simNetworkType": "example string value",
    "modemTypeNumber": 412
}

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
expectedFlowProcessStateUpdatedAt string false
stationOverflowGroupNumber integer 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\": 471,
        \"dialScheduleArray\": [
            {
                \"secOfDay\": 893,
                \"skipDays\": 92,
                \"retries\": 873,
                \"delayMinutes\": 301
            }
        ],
        \"extraMinutesToFillPipes\": 602,
        \"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\": 620,
        \"fertigationValveNumber\": 907,
        \"stationCount\": 683,
        \"flowLimits\": {
            \"overflowGroup0\": 9,
            \"underflowGroup0\": 694,
            \"overflowGroup1\": 751,
            \"underflowGroup1\": 854,
            \"leakLimitPPM\": 454
        },
        \"keystrokeTimeout\": 114,
        \"calibrationInfo\": {
            \"inchesOfRainPerTip\": 904,
            \"inchesOfRainStarted\": 577,
            \"inchesOfRainHeavy\": 254
        },
        \"shortCircuitThreshold\": 120,
        \"openCircuitThreshold\": 320,
        \"multiValveMode\": false,
        \"disableMSLWReset\": false,
        \"remoteControl\": true,
        \"allowableClockDriftSeconds\": 904,
        \"flowMeasurementEnabled\": false,
        \"requestAverageFlow\": true,
        \"icuTimeZoneOffsetMillis\": 301,
        \"adminSuspendStatus\": 900,
        \"wateringAdjustmentCoefficients\": {
            \"example_property_name\": 177.21228356343335
        },
        \"maxSimultaneousIrrigationValves\": \"1\",
        \"enableSMS\": true,
        \"icuModel\": \"example string value\",
        \"NOT_IN_USE\": {
            \"example_property_name\": 363.1361785173119
        },
        \"frequencyAdjustmentsCoefficients\": {
            \"example_property_name\": 471
        },
        \"timeZoneIdentifier\": \"example string value\",
        \"maxStationCount\": 598,
        \"ccuSuspendWatering\": false,
        \"ccuSuspendIsTimed\": true
    },
    \"userId\": \"example string value\",
    \"controllerStatus\": \"DELETED\",
    \"createdAt\": 754,
    \"updatedAt\": 506,
    \"ccuZones\": {
        \"example_property_name\": {
            \"name\": \"example string value\",
            \"number\": 374,
            \"projectId\": \"example string value\",
            \"areaRegionConfigStates\": {
                \"example_property_name\": false
            },
            \"configured\": true,
            \"expectedFlowPPM\": 300,
            \"disableFlowSensing\": false,
            \"expectedFlowProcessState\": 221,
            \"startOfUpdatingFlow\": 243,
            \"updatePPM\": true,
            \"gpm\": 977,
            \"customGpm\": 603.6816633323588,
            \"expectedFlowProcessStateUpdatedAt\": \"example string value\",
            \"stationOverflowGroupNumber\": 513
        }
    },
    \"flowSensorSettings\": {
        \"flowSensorId\": \"example string value\",
        \"manufacturer\": \"example string value\",
        \"type\": \"example string value\",
        \"factorK\": 320,
        \"offset\": 75.1415086328711
    },
    \"configured\": true,
    \"activated\": false,
    \"projectId\": \"example string value\",
    \"name\": \"example string value\",
    \"firmwareVersion\": \"example string value\",
    \"unity\": false,
    \"multiValveSettings\": {
        \"multiValveMode\": false,
        \"maxSimultaneousIrrigationValves\": 140,
        \"masterValve\": false,
        \"boosterPump\": false,
        \"waterAloneStations\": [
            322
        ]
    },
    \"connectedAt\": 430,
    \"isPOTS\": false,
    \"modemTypeString\": \"example string value\",
    \"connectedSuccessfullyAt\": 441,
    \"connectedPlatform\": \"example string value\",
    \"modemSignalStrength\": 416,
    \"failedCallCount\": 455,
    \"rainSensorType\": 543,
    \"rainSensorEnabled\": false,
    \"icuFamily\": \"example string value\",
    \"iccid\": \"example string value\",
    \"nextConnectionAt\": 248,
    \"simNetworkType\": \"example string value\",
    \"modemTypeNumber\": 110
}"

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": 746,
        "dialScheduleArray": [
            {
                "secOfDay": 23,
                "skipDays": 578,
                "retries": 323,
                "delayMinutes": 105
            }
        ],
        "extraMinutesToFillPipes": 86,
        "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": 473,
        "fertigationValveNumber": 741,
        "stationCount": 621,
        "flowLimits": {
            "overflowGroup0": 369,
            "underflowGroup0": 428,
            "overflowGroup1": 155,
            "underflowGroup1": 643,
            "leakLimitPPM": 107
        },
        "keystrokeTimeout": 331,
        "calibrationInfo": {
            "inchesOfRainPerTip": 283,
            "inchesOfRainStarted": 809,
            "inchesOfRainHeavy": 868
        },
        "shortCircuitThreshold": 297,
        "openCircuitThreshold": 563,
        "multiValveMode": true,
        "disableMSLWReset": false,
        "remoteControl": true,
        "allowableClockDriftSeconds": 128,
        "flowMeasurementEnabled": false,
        "requestAverageFlow": true,
        "icuTimeZoneOffsetMillis": 368,
        "adminSuspendStatus": 963,
        "wateringAdjustmentCoefficients": {
            "example_property_name": 843
        },
        "maxSimultaneousIrrigationValves": "1",
        "enableSMS": false,
        "icuModel": "example string value",
        "NOT_IN_USE": {
            "example_property_name": 758
        },
        "frequencyAdjustmentsCoefficients": {
            "example_property_name": 618
        },
        "timeZoneIdentifier": "example string value",
        "maxStationCount": 220,
        "ccuSuspendWatering": true,
        "ccuSuspendIsTimed": false
    },
    "userId": "example string value",
    "controllerStatus": "DELETED",
    "createdAt": 140,
    "updatedAt": 857,
    "ccuZones": {
        "example_property_name": {
            "name": "example string value",
            "number": 810,
            "projectId": "example string value",
            "areaRegionConfigStates": {
                "example_property_name": false
            },
            "configured": true,
            "expectedFlowPPM": 140,
            "disableFlowSensing": false,
            "expectedFlowProcessState": 203,
            "startOfUpdatingFlow": 638,
            "updatePPM": true,
            "gpm": 911.4795098600348,
            "customGpm": 719.7220822422402,
            "expectedFlowProcessStateUpdatedAt": "example string value",
            "stationOverflowGroupNumber": 107
        }
    },
    "flowSensorSettings": {
        "flowSensorId": "example string value",
        "manufacturer": "example string value",
        "type": "example string value",
        "factorK": 242.07692884005462,
        "offset": 144
    },
    "configured": false,
    "activated": true,
    "projectId": "example string value",
    "name": "example string value",
    "firmwareVersion": "example string value",
    "unity": false,
    "multiValveSettings": {
        "multiValveMode": true,
        "maxSimultaneousIrrigationValves": 242,
        "masterValve": true,
        "boosterPump": false,
        "waterAloneStations": [
            343
        ]
    },
    "connectedAt": 250,
    "isPOTS": false,
    "modemTypeString": "example string value",
    "connectedSuccessfullyAt": 276,
    "connectedPlatform": "example string value",
    "modemSignalStrength": 750,
    "failedCallCount": 854,
    "rainSensorType": 10,
    "rainSensorEnabled": true,
    "icuFamily": "example string value",
    "iccid": "example string value",
    "nextConnectionAt": 998,
    "simNetworkType": "example string value",
    "modemTypeNumber": 3
}

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
expectedFlowProcessStateUpdatedAt string false
stationOverflowGroupNumber integer 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
expectedFlowProcessStateUpdatedAt string false
stationOverflowGroupNumber integer 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=302&lng=589" \
-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": 724,
        "slope": 934,
        "asa": 610.3258452426297,
        "albedoDry": 884,
        "createdAt": 480,
        "updatedAt": 823,
        "soilComponents": [
            {
                "componentKey": "example string value",
                "componentName": "example string value",
                "componentPercents": 984,
                "layers": [
                    {
                        "textureClass": 19,
                        "paw": 874,
                        "horizonName": "example string value",
                        "sandPercents": 694,
                        "siltPercents": 171.46726565969513,
                        "clayPercents": 250.83033472803902,
                        "horizonDepth": 659,
                        "horizonThickness": 966,
                        "soilRate": 81.80152582088557
                    }
                ]
            }
        ]
    },
    "landscapeDetails": {
        "id": "example string value",
        "elevationMeters": 971,
        "allowedSurfaceAccumulation": 168,
        "plantAvailableWater": 368.76316897979154,
        "soakRateMmPerMinute": 208,
        "slopeDegree": 920
    }
}

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": 909,
    "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": 160,
    "errorMessage": "example string value",
    "report": {
        "id": "example string value",
        "projectId": "example string value",
        "waterUsageReport": {
            "id": "example string value",
            "usageGallons": 650.5483778428977,
            "avgPerSqFtGallons": 738.4090222131503,
            "observedDays": 785,
            "monthlyWaterUsageItems": [
                {
                    "timestamp": 168,
                    "rainIn": 289.7325070992729,
                    "rainGallons": 229.3544175239999,
                    "etIn": 932.6942017919822,
                    "usageGallons": 28,
                    "usageByRegionType": {
                        "example_property_name": 10.306301531524538
                    }
                }
            ],
            "vegetationCoverageSqFt": {
                "example_property_name": 862.6812360541342
            },
            "dailyTempExtremes": [
                {
                    "timestamp": 142,
                    "minTemp": 529,
                    "maxTemp": 110
                }
            ],
            "monthlyTempExtremes": [
                {
                    "minTempTimestamp": 975,
                    "minTemp": 144.91150395242101,
                    "maxTempTimestamp": 397,
                    "maxTemp": 872.3613716998889
                }
            ],
            "monthlyRainExtremes": [
                {
                    "timestamp": 407,
                    "rainIn": 766
                }
            ],
            "cloudCoverage": [
                {
                    "startTimestamp": 416,
                    "endTimestamp": 316,
                    "value": 141.78705641151734
                }
            ],
            "tempCoverage": [
                {
                    "startTimestamp": 884,
                    "endTimestamp": 918,
                    "value": 217.29932688982194
                }
            ],
            "verbalWeather": {
                "maxTempTimestamp": 221,
                "maxTemp": 668.9612058312451,
                "maxTempMonthTempAvg": 568.7799596082326,
                "maxTempMonthTempAvgTimestamp": 461,
                "minTempTimestamp": 723,
                "minTemp": 784.8772913147124,
                "minTempMonthTempAvg": 882.8810052400831,
                "minTempMonthTempAvgTimestamp": 900,
                "frzDays": 721,
                "frzSpellDays": 715,
                "frzSpellStartTimestamp": 907,
                "frzSpellEndTimestamp": 240,
                "maxRainIn": 337.3459444089541,
                "maxRainTimestamp": 467,
                "maxTotalRainMonthIn": 875.2197459690365,
                "maxTotalRainMonthInTimestamp": 70
            },
            "generationTime": 538
        }
    }
}

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"

On success, the above request returns response like

{
    "status": 826,
    "errorMessage": "example string value",
    "report": {
        "id": "example string value",
        "projectId": "example string value",
        "waterUsageReport": {
            "id": "example string value",
            "usageGallons": 531,
            "avgPerSqFtGallons": 328.6330668854681,
            "observedDays": 648,
            "monthlyWaterUsageItems": [
                {
                    "timestamp": 764,
                    "rainIn": 779.195940950511,
                    "rainGallons": 149,
                    "etIn": 795,
                    "usageGallons": 253.3216016615376,
                    "usageByRegionType": {
                        "example_property_name": 905.3775905190863
                    }
                }
            ],
            "vegetationCoverageSqFt": {
                "example_property_name": 537.6379753172574
            },
            "dailyTempExtremes": [
                {
                    "timestamp": 14,
                    "minTemp": 289.10588672808643,
                    "maxTemp": 463
                }
            ],
            "monthlyTempExtremes": [
                {
                    "minTempTimestamp": 302,
                    "minTemp": 359.689224213217,
                    "maxTempTimestamp": 709,
                    "maxTemp": 419
                }
            ],
            "monthlyRainExtremes": [
                {
                    "timestamp": 589,
                    "rainIn": 889
                }
            ],
            "cloudCoverage": [
                {
                    "startTimestamp": 791,
                    "endTimestamp": 124,
                    "value": 184
                }
            ],
            "tempCoverage": [
                {
                    "startTimestamp": 648,
                    "endTimestamp": 858,
                    "value": 975
                }
            ],
            "verbalWeather": {
                "maxTempTimestamp": 858,
                "maxTemp": 163,
                "maxTempMonthTempAvg": 330,
                "maxTempMonthTempAvgTimestamp": 722,
                "minTempTimestamp": 727,
                "minTemp": 216.33069366977116,
                "minTempMonthTempAvg": 629,
                "minTempMonthTempAvgTimestamp": 901,
                "frzDays": 699,
                "frzSpellDays": 64,
                "frzSpellStartTimestamp": 463,
                "frzSpellEndTimestamp": 575,
                "maxRainIn": 994.3561879891698,
                "maxRainTimestamp": 787,
                "maxTotalRainMonthIn": 641.0051545319171,
                "maxTotalRainMonthInTimestamp": 798
            },
            "generationTime": 711
        }
    }
}

HTTP Request

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

Request parameters

Name Type Part Required Description
Authorization 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\": true,
    \"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": 863,
    "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": 711,
    "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=362.32877073918&lng=297.51236378099" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "weatherSummary": {
        "point": {
            "type": "Point",
            "coordinates": [
                510.46798588264176
            ],
            "properties": {
                "example_property_name": "example string value"
            }
        },
        "status": 234,
        "annualSunshineHours": 5,
        "annualRainMm": 118,
        "drySpell": {
            "startDateTimestamp": 551,
            "endDateTimestamp": 609,
            "daysCount": 800
        }
    }
}

HTTP Request

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

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 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"

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
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\": 0.758708455021823,
    \"mkt_val_land\": \"example string value\",
    \"mkt_val_bldg\": \"example string value\",
    \"mkt_val_tot\": 965.5234995137544,
    \"bldg_sqft\": 810,
    \"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\": 731,
    \"geom_as_wkt\": \"example string value\",
    \"external_id\": \"example string value\",
    \"project_id\": \"example string value\",
    \"is_custom\": true,
    \"centerCoordinates\": [
        527
    ],
    \"landscapeId\": \"example string value\",
    \"areaM2\": 404.70310645396967,
    \"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"

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": 287.9650859571831,
    "mkt_val_land": "example string value",
    "mkt_val_bldg": "example string value",
    "mkt_val_tot": 748.683517681753,
    "bldg_sqft": 322,
    "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": 852.2349381131282,
    "geom_as_wkt": "example string value",
    "external_id": "example string value",
    "project_id": "example string value",
    "is_custom": false,
    "centerCoordinates": [
        741
    ],
    "landscapeId": "example string value",
    "areaM2": 748.0363746863028,
    "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
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"

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
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\": 191.09878651383278,
    \"mkt_val_land\": \"example string value\",
    \"mkt_val_bldg\": \"example string value\",
    \"mkt_val_tot\": 221,
    \"bldg_sqft\": 137,
    \"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\": 352.39163569751736,
    \"geom_as_wkt\": \"example string value\",
    \"external_id\": \"example string value\",
    \"project_id\": \"example string value\",
    \"is_custom\": false,
    \"centerCoordinates\": [
        785.3058044730246
    ],
    \"landscapeId\": \"example string value\",
    \"areaM2\": 769,
    \"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": 64.29473080872313,
    "mkt_val_land": "example string value",
    "mkt_val_bldg": "example string value",
    "mkt_val_tot": 916,
    "bldg_sqft": 562,
    "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": 540.0552179385234,
    "geom_as_wkt": "example string value",
    "external_id": "example string value",
    "project_id": "example string value",
    "is_custom": false,
    "centerCoordinates": [
        351.7833814731722
    ],
    "landscapeId": "example string value",
    "areaM2": 797,
    "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=0" \
-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=354" \
-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\": [
            209.0722342064009
        ],
        \"properties\": {
            \"example_property_name\": \"example string value\"
        }
    },
    \"created_at\": 775,
    \"updated_at\": 887,
    \"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
}"

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\": [
                106
            ],
            \"properties\": {
                \"example_property_name\": \"example string value\"
            }
        },
        \"created_at\": 592,
        \"updated_at\": 112,
        \"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": [
                533
            ],
            "properties": {
                "example_property_name": "example string value"
            }
        },
        "created_at": 435,
        "updated_at": 835,
        "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
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
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": [
                        579
                    ],
                    "properties": {
                        "example_property_name": "example string value"
                    }
                },
                "created_at": 924,
                "updated_at": 693,
                "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
            }
        ],
        "page": 387,
        "size": 231,
        "total": 839
    }
]

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": [
            479.0887373867858
        ],
        "properties": {
            "example_property_name": "example string value"
        }
    },
    "created_at": 609,
    "updated_at": 299,
    "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

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=777" \
-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=505" \
-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\": [
            480.9272333425131
        ],
        \"properties\": {
            \"example_property_name\": \"example string value\"
        }
    },
    \"created_at\": 760,
    \"updated_at\": 756,
    \"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
}"

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": [
            563.9829023573468
        ],
        "properties": {
            "example_property_name": "example string value"
        }
    },
    "created_at": 531,
    "updated_at": 412,
    "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"

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

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": [
                [
                    [
                        307.03083812586533
                    ]
                ]
            ],
            "properties": {
                "example_property_name": "example string value"
            }
        },
        "properties": {
            "region_name": "example string value",
            "vegetation_type": 701,
            "sprinkler_type": 413,
            "shade_level": 853,
            "newly_planted": false,
            "local_region_id": 372,
            "remote_region_id": "example string value",
            "images": [
                {
                    "image_id": "example string value",
                    "imageFormat": "example string value",
                    "width": 882,
                    "height": 631,
                    "thumbnails": [
                        {
                            "image_id": "example string value",
                            "imageFormat": "example string value",
                            "width": 249,
                            "height": 491,
                            "thumbnails": [],
                            "updatedAt": 231,
                            "imageType": 804
                        }
                    ],
                    "updatedAt": 192,
                    "imageType": 773
                }
            ],
            "controller_serial": "example string value",
            "emitter_count": 104,
            "plant_area": 244.91326894839912,
            "zone_id": "example string value",
            "project_id": "example string value",
            "created_at": 902,
            "updated_at": 683,
            "plant_center_coordinates": [
                592.2113128901511
            ],
            "status": "ACTIVE",
            "parcel_id": "example string value",
            "parcelExists": false,
            "elevation": 166,
            "plantFactor": [
                749
            ],
            "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=521" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"type\": \"Feature\",
    \"geometry\": {
        \"type\": \"LineString\",
        \"coordinates\": [
            [
                130.4645953376147
            ]
        ],
        \"properties\": {
            \"example_property_name\": \"example string value\"
        }
    },
    \"properties\": {
        \"region_name\": \"example string value\",
        \"vegetation_type\": 57,
        \"sprinkler_type\": 304,
        \"shade_level\": 897,
        \"newly_planted\": false,
        \"local_region_id\": 425,
        \"remote_region_id\": \"example string value\",
        \"images\": [
            {
                \"image_id\": \"example string value\",
                \"imageFormat\": \"example string value\",
                \"width\": 895,
                \"height\": 821,
                \"thumbnails\": [
                    {
                        \"image_id\": \"example string value\",
                        \"imageFormat\": \"example string value\",
                        \"width\": 57,
                        \"height\": 148,
                        \"thumbnails\": [],
                        \"updatedAt\": 190,
                        \"imageType\": 354
                    }
                ],
                \"updatedAt\": 273,
                \"imageType\": 391
            }
        ],
        \"controller_serial\": \"example string value\",
        \"emitter_count\": 505,
        \"plant_area\": 249.28070290446314,
        \"zone_id\": \"example string value\",
        \"project_id\": \"example string value\",
        \"created_at\": 166,
        \"updated_at\": 506,
        \"plant_center_coordinates\": [
            919.7139110973635
        ],
        \"status\": \"ACTIVE\",
        \"parcel_id\": \"example string value\",
        \"parcelExists\": false,
        \"elevation\": 395.14586813521845,
        \"plantFactor\": [
            554
        ],
        \"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=715" \
-X PATCH \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "[
    {
        \"type\": \"Feature\",
        \"geometry\": {
            \"type\": \"Point\",
            \"coordinates\": [
                602.706006077447
            ],
            \"properties\": {
                \"example_property_name\": \"example string value\"
            }
        },
        \"properties\": {
            \"region_name\": \"example string value\",
            \"vegetation_type\": 180,
            \"sprinkler_type\": 159,
            \"shade_level\": 372,
            \"newly_planted\": true,
            \"local_region_id\": 260,
            \"remote_region_id\": \"example string value\",
            \"images\": [
                {
                    \"image_id\": \"example string value\",
                    \"imageFormat\": \"example string value\",
                    \"width\": 384,
                    \"height\": 59,
                    \"thumbnails\": [
                        {
                            \"image_id\": \"example string value\",
                            \"imageFormat\": \"example string value\",
                            \"width\": 841,
                            \"height\": 505,
                            \"thumbnails\": [],
                            \"updatedAt\": 711,
                            \"imageType\": 800
                        }
                    ],
                    \"updatedAt\": 885,
                    \"imageType\": 120
                }
            ],
            \"controller_serial\": \"example string value\",
            \"emitter_count\": 574,
            \"plant_area\": 757.3167512925886,
            \"zone_id\": \"example string value\",
            \"project_id\": \"example string value\",
            \"created_at\": 339,
            \"updated_at\": 581,
            \"plant_center_coordinates\": [
                766.65754000035
            ],
            \"status\": \"ACTIVE\",
            \"parcel_id\": \"example string value\",
            \"parcelExists\": true,
            \"elevation\": 907,
            \"plantFactor\": [
                959.8230481892001
            ],
            \"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": "MultiLineString",
            "coordinates": [
                [
                    [
                        476
                    ]
                ]
            ],
            "properties": {
                "example_property_name": "example string value"
            }
        },
        "properties": {
            "region_name": "example string value",
            "vegetation_type": 264,
            "sprinkler_type": 366,
            "shade_level": 586,
            "newly_planted": true,
            "local_region_id": 549,
            "remote_region_id": "example string value",
            "images": [
                {
                    "image_id": "example string value",
                    "imageFormat": "example string value",
                    "width": 452,
                    "height": 396,
                    "thumbnails": [
                        {
                            "image_id": "example string value",
                            "imageFormat": "example string value",
                            "width": 42,
                            "height": 383,
                            "thumbnails": [],
                            "updatedAt": 896,
                            "imageType": 343
                        }
                    ],
                    "updatedAt": 709,
                    "imageType": 417
                }
            ],
            "controller_serial": "example string value",
            "emitter_count": 182,
            "plant_area": 506,
            "zone_id": "example string value",
            "project_id": "example string value",
            "created_at": 593,
            "updated_at": 673,
            "plant_center_coordinates": [
                521.0635515493636
            ],
            "status": "ACTIVE",
            "parcel_id": "example string value",
            "parcelExists": true,
            "elevation": 944,
            "plantFactor": [
                778
            ],
            "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=515" \
-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": "Point",
        "coordinates": [
            751.754432801043
        ],
        "properties": {
            "example_property_name": "example string value"
        }
    },
    "properties": {
        "region_name": "example string value",
        "vegetation_type": 430,
        "sprinkler_type": 495,
        "shade_level": 53,
        "newly_planted": true,
        "local_region_id": 457,
        "remote_region_id": "example string value",
        "images": [
            {
                "image_id": "example string value",
                "imageFormat": "example string value",
                "width": 960,
                "height": 722,
                "thumbnails": [
                    {
                        "image_id": "example string value",
                        "imageFormat": "example string value",
                        "width": 184,
                        "height": 725,
                        "thumbnails": [],
                        "updatedAt": 490,
                        "imageType": 537
                    }
                ],
                "updatedAt": 432,
                "imageType": 980
            }
        ],
        "controller_serial": "example string value",
        "emitter_count": 725,
        "plant_area": 472.87452615465713,
        "zone_id": "example string value",
        "project_id": "example string value",
        "created_at": 581,
        "updated_at": 889,
        "plant_center_coordinates": [
            557.2745495276873
        ],
        "status": "DELETED",
        "parcel_id": "example string value",
        "parcelExists": false,
        "elevation": 477.3519111226089,
        "plantFactor": [
            80
        ],
        "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=730" \
-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=359" \
-X PUT \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"type\": \"Feature\",
    \"geometry\": {
        \"type\": \"MultiLineString\",
        \"coordinates\": [
            [
                [
                    651
                ]
            ]
        ],
        \"properties\": {
            \"example_property_name\": \"example string value\"
        }
    },
    \"properties\": {
        \"region_name\": \"example string value\",
        \"vegetation_type\": 869,
        \"sprinkler_type\": 330,
        \"shade_level\": 450,
        \"newly_planted\": false,
        \"local_region_id\": 138,
        \"remote_region_id\": \"example string value\",
        \"images\": [
            {
                \"image_id\": \"example string value\",
                \"imageFormat\": \"example string value\",
                \"width\": 375,
                \"height\": 762,
                \"thumbnails\": [
                    {
                        \"image_id\": \"example string value\",
                        \"imageFormat\": \"example string value\",
                        \"width\": 313,
                        \"height\": 356,
                        \"thumbnails\": [],
                        \"updatedAt\": 150,
                        \"imageType\": 835
                    }
                ],
                \"updatedAt\": 776,
                \"imageType\": 945
            }
        ],
        \"controller_serial\": \"example string value\",
        \"emitter_count\": 162,
        \"plant_area\": 767,
        \"zone_id\": \"example string value\",
        \"project_id\": \"example string value\",
        \"created_at\": 13,
        \"updated_at\": 131,
        \"plant_center_coordinates\": [
            506
        ],
        \"status\": \"DELETED\",
        \"parcel_id\": \"example string value\",
        \"parcelExists\": false,
        \"elevation\": 192,
        \"plantFactor\": [
            875.8449828605377
        ],
        \"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": "LineString",
        "coordinates": [
            [
                358
            ]
        ],
        "properties": {
            "example_property_name": "example string value"
        }
    },
    "properties": {
        "region_name": "example string value",
        "vegetation_type": 455,
        "sprinkler_type": 699,
        "shade_level": 487,
        "newly_planted": true,
        "local_region_id": 513,
        "remote_region_id": "example string value",
        "images": [
            {
                "image_id": "example string value",
                "imageFormat": "example string value",
                "width": 492,
                "height": 327,
                "thumbnails": [
                    {
                        "image_id": "example string value",
                        "imageFormat": "example string value",
                        "width": 629,
                        "height": 916,
                        "thumbnails": [],
                        "updatedAt": 310,
                        "imageType": 194
                    }
                ],
                "updatedAt": 860,
                "imageType": 813
            }
        ],
        "controller_serial": "example string value",
        "emitter_count": 712,
        "plant_area": 489.9840077804327,
        "zone_id": "example string value",
        "project_id": "example string value",
        "created_at": 807,
        "updated_at": 257,
        "plant_center_coordinates": [
            660
        ],
        "status": "ACTIVE",
        "parcel_id": "example string value",
        "parcelExists": true,
        "elevation": 591.7564786932229,
        "plantFactor": [
            901.8437801403197
        ],
        "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\": [
                207
            ]
        },
        \"period\": {
            \"startDate\": \"example string value\",
            \"endDate\": \"example string value\",
            \"interval\": \"DAY\"
        }
    },
    \"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": 178,
            "affectedProjectsCount": 914,
            "affectedControllersCount": 869,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "ccuAlertsStats": [
                        {
                            "alertCode": 889,
                            "alertCodeName": "example string value",
                            "totalAlertsCount": 15
                        }
                    ],
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "ccuAlertsStats": [
                                {
                                    "alertCode": 587,
                                    "alertCodeName": "example string value",
                                    "totalAlertsCount": 329
                                }
                            ],
                            "zones": [
                                {
                                    "zoneId": "example string value",
                                    "zoneNumber": 136,
                                    "name": "example string value",
                                    "ccuAlertsStats": [
                                        {
                                            "alertCode": 264,
                                            "alertCodeName": "example string value",
                                            "totalAlertsCount": 317
                                        }
                                    ],
                                    "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": 842,
                                            "alertCode": 318,
                                            "alertCodeName": "example string value",
                                            "date": "example string value"
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "totalAlertsCount": 337,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "ccuAlertsStats": [
                            {
                                "alertCode": 210,
                                "alertCodeName": "example string value",
                                "totalAlertsCount": 42
                            }
                        ],
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "ccuAlertsStats": [
                                    {
                                        "alertCode": 561,
                                        "alertCodeName": "example string value",
                                        "totalAlertsCount": 653
                                    }
                                ],
                                "zones": [
                                    {
                                        "zoneId": "example string value",
                                        "zoneNumber": 961,
                                        "name": "example string value",
                                        "ccuAlertsStats": [
                                            {
                                                "alertCode": 586,
                                                "alertCodeName": "example string value",
                                                "totalAlertsCount": 326
                                            }
                                        ],
                                        "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": 754,
                                                "alertCode": 696,
                                                "alertCodeName": "example string value",
                                                "date": "example string value"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "totalAlertsCount": 464,
                "affectedProjectsCount": 725,
                "affectedControllersCount": 858
            }
        ]
    },
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "alertCodes": {
            "codes": [
                983
            ]
        },
        "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": [
                714
            ]
        },
        "period": {
            "startDate": "example string value",
            "endDate": "example string value",
            "interval": "MONTH"
        }
    },
    "data": {
        "total": {
            "totalAlertsCount": 69,
            "affectedProjectsCount": 803,
            "affectedControllersCount": 290,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "ccuAlertsStats": [
                        {
                            "alertCode": 137,
                            "alertCodeName": "example string value",
                            "totalAlertsCount": 699
                        }
                    ],
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "ccuAlertsStats": [
                                {
                                    "alertCode": 559,
                                    "alertCodeName": "example string value",
                                    "totalAlertsCount": 511
                                }
                            ],
                            "zones": [
                                {
                                    "zoneId": "example string value",
                                    "zoneNumber": 720,
                                    "name": "example string value",
                                    "ccuAlertsStats": [
                                        {
                                            "alertCode": 434,
                                            "alertCodeName": "example string value",
                                            "totalAlertsCount": 450
                                        }
                                    ],
                                    "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": 276,
                                            "alertCode": 209,
                                            "alertCodeName": "example string value",
                                            "date": "example string value"
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "totalAlertsCount": 492,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "ccuAlertsStats": [
                            {
                                "alertCode": 505,
                                "alertCodeName": "example string value",
                                "totalAlertsCount": 146
                            }
                        ],
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "ccuAlertsStats": [
                                    {
                                        "alertCode": 227,
                                        "alertCodeName": "example string value",
                                        "totalAlertsCount": 814
                                    }
                                ],
                                "zones": [
                                    {
                                        "zoneId": "example string value",
                                        "zoneNumber": 172,
                                        "name": "example string value",
                                        "ccuAlertsStats": [
                                            {
                                                "alertCode": 185,
                                                "alertCodeName": "example string value",
                                                "totalAlertsCount": 579
                                            }
                                        ],
                                        "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": 724,
                                                "alertCode": 751,
                                                "alertCodeName": "example string value",
                                                "date": "example string value"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "totalAlertsCount": 998,
                "affectedProjectsCount": 525,
                "affectedControllersCount": 622
            }
        ]
    },
    "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": 738,
                            "name": "example string value",
                            "flowRateGpm": 149.98868301044624
                        }
                    ]
                }
            ]
        }
    ]
}

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=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\": \"GALLONS\"
        },
        \"period\": {
            \"startDate\": \"example string value\",
            \"endDate\": \"example string value\",
            \"interval\": \"MONTH\"
        }
    },
    \"projectsFlowRates\": [
        {
            \"projectId\": \"example string value\",
            \"projectName\": \"example string value\",
            \"controllers\": [
                {
                    \"controllerId\": \"example string value\",
                    \"name\": \"example string value\",
                    \"zones\": [
                        {
                            \"zoneId\": \"example string value\",
                            \"number\": 3,
                            \"name\": \"example string value\",
                            \"flowRateGpm\": 189
                        }
                    ]
                }
            ]
        }
    ],
    \"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": {
        "total": {
            "dateStart": "example string value",
            "dateEnd": "example string value",
            "waterUsage": 811,
            "waterUsageCost": 179.43353307407048,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "waterUsage": 853,
                    "waterUsageCost": 914.40806207918,
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "waterUsage": 775.9417848549513,
                            "waterUsageCost": 199.79657661160294,
                            "zones": [
                                {
                                    "zoneNumber": 691,
                                    "name": "example string value",
                                    "waterUsage": 929,
                                    "waterUsageCost": 778,
                                    "scheduledWaterUsage": 782.2532913564952,
                                    "scheduledWaterUsageCost": 370.08604703940733,
                                    "manualWaterUsage": 70,
                                    "manualWaterUsageCost": 393.6335101694025
                                }
                            ],
                            "scheduledWaterUsage": 563.7763745914104,
                            "scheduledWaterUsageCost": 191.686658743623,
                            "manualWaterUsage": 12.586857663740803,
                            "manualWaterUsageCost": 847
                        }
                    ],
                    "scheduledWaterUsage": 123.63898201083717,
                    "scheduledWaterUsageCost": 374,
                    "manualWaterUsage": 779,
                    "manualWaterUsageCost": 220
                }
            ],
            "scheduledWaterUsage": 918.469578455421,
            "scheduledWaterUsageCost": 84,
            "manualWaterUsage": 150.23549140907613,
            "manualWaterUsageCost": 559
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "waterUsage": 188,
                "waterUsageCost": 708.4077278656921,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "waterUsage": 605,
                        "waterUsageCost": 429,
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "waterUsage": 387,
                                "waterUsageCost": 447.4027061124345,
                                "zones": [
                                    {
                                        "zoneNumber": 837,
                                        "name": "example string value",
                                        "waterUsage": 478.4682427898367,
                                        "waterUsageCost": 782,
                                        "scheduledWaterUsage": 603,
                                        "scheduledWaterUsageCost": 673.5758374787755,
                                        "manualWaterUsage": 190.9820922608404,
                                        "manualWaterUsageCost": 326
                                    }
                                ],
                                "scheduledWaterUsage": 829,
                                "scheduledWaterUsageCost": 658,
                                "manualWaterUsage": 776.1061744653183,
                                "manualWaterUsageCost": 435
                            }
                        ],
                        "scheduledWaterUsage": 190.86312185547462,
                        "scheduledWaterUsageCost": 75.88106816442733,
                        "manualWaterUsage": 244.62457105732736,
                        "manualWaterUsageCost": 788.295486843351
                    }
                ],
                "scheduledWaterUsage": 199,
                "scheduledWaterUsageCost": 124,
                "manualWaterUsage": 605,
                "manualWaterUsageCost": 308.8519895956162
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "waterUsage": 581,
                "waterUsageCost": 735,
                "scheduledWaterUsage": 584,
                "scheduledWaterUsageCost": 687.0839538458195,
                "manualWaterUsage": 735.1932338137149,
                "manualWaterUsageCost": 69
            }
        ],
        "projectsFlowRates": [
            {
                "projectId": "example string value",
                "projectName": "example string value",
                "controllers": [
                    {
                        "controllerId": "example string value",
                        "name": "example string value",
                        "zones": [
                            {
                                "zoneId": "example string value",
                                "number": 683,
                                "name": "example string value",
                                "flowRateGpm": 135
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "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/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": 849,
            "waterUsageCost": 521.9395978012772,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "waterUsage": 413.13874275104087,
                    "waterUsageCost": 418.7820630235514,
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "waterUsage": 28.00636972673534,
                            "waterUsageCost": 165.71893364457364,
                            "zones": [
                                {
                                    "zoneNumber": 966,
                                    "name": "example string value",
                                    "waterUsage": 659,
                                    "waterUsageCost": 945.7939979367862,
                                    "scheduledWaterUsage": 454,
                                    "scheduledWaterUsageCost": 422,
                                    "manualWaterUsage": 35.0994845084378,
                                    "manualWaterUsageCost": 157
                                }
                            ],
                            "scheduledWaterUsage": 533.4032701949603,
                            "scheduledWaterUsageCost": 351,
                            "manualWaterUsage": 444.10945775178703,
                            "manualWaterUsageCost": 171.06809055948074
                        }
                    ],
                    "scheduledWaterUsage": 417.22216895652105,
                    "scheduledWaterUsageCost": 831.028506081099,
                    "manualWaterUsage": 658.9281026548372,
                    "manualWaterUsageCost": 262
                }
            ],
            "scheduledWaterUsage": 389.57880502081423,
            "scheduledWaterUsageCost": 158.8689951034584,
            "manualWaterUsage": 976.9380874824421,
            "manualWaterUsageCost": 524.6973445288359
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "waterUsage": 521.3738416886766,
                "waterUsageCost": 34,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "waterUsage": 605,
                        "waterUsageCost": 765.8023241748114,
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "waterUsage": 207.5323947740404,
                                "waterUsageCost": 244.8319984808713,
                                "zones": [
                                    {
                                        "zoneNumber": 464,
                                        "name": "example string value",
                                        "waterUsage": 885.0988507667086,
                                        "waterUsageCost": 990.8398804212175,
                                        "scheduledWaterUsage": 149.83821155030196,
                                        "scheduledWaterUsageCost": 525.0581626431357,
                                        "manualWaterUsage": 546.8150105079706,
                                        "manualWaterUsageCost": 207.88509315246952
                                    }
                                ],
                                "scheduledWaterUsage": 239,
                                "scheduledWaterUsageCost": 108.61911024368327,
                                "manualWaterUsage": 96.4584057668496,
                                "manualWaterUsageCost": 9
                            }
                        ],
                        "scheduledWaterUsage": 200.66516809196452,
                        "scheduledWaterUsageCost": 504.0619175434401,
                        "manualWaterUsage": 653.6918713961223,
                        "manualWaterUsageCost": 315
                    }
                ],
                "scheduledWaterUsage": 298,
                "scheduledWaterUsageCost": 413,
                "manualWaterUsage": 599.3446184319187,
                "manualWaterUsageCost": 281.42065614528053
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "waterUsage": 711.2580382783235,
                "waterUsageCost": 899,
                "scheduledWaterUsage": 298,
                "scheduledWaterUsageCost": 785,
                "manualWaterUsage": 646.073977763799,
                "manualWaterUsageCost": 519.683760832848
            }
        ],
        "projectsFlowRates": [
            {
                "projectId": "example string value",
                "projectName": "example string value",
                "controllers": [
                    {
                        "controllerId": "example string value",
                        "name": "example string value",
                        "zones": [
                            {
                                "zoneId": "example string value",
                                "number": 437,
                                "name": "example string value",
                                "flowRateGpm": 611.4445038193113
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "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

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": 628,
                            "name": "example string value",
                            "flowRateGpm": 490
                        }
                    ]
                }
            ]
        }
    ]
}

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=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\": \"HCF\"
        },
        \"period\": {
            \"startDate\": \"example string value\",
            \"endDate\": \"example string value\",
            \"interval\": \"MONTH\"
        }
    },
    \"projectsFlowRates\": [
        {
            \"projectId\": \"example string value\",
            \"projectName\": \"example string value\",
            \"controllers\": [
                {
                    \"controllerId\": \"example string value\",
                    \"name\": \"example string value\",
                    \"zones\": [
                        {
                            \"zoneId\": \"example string value\",
                            \"number\": 102,
                            \"name\": \"example string value\",
                            \"flowRateGpm\": 475
                        }
                    ]
                }
            ]
        }
    ],
    \"meta\": {
        \"example_property_name\": \"example string value\"
    }
}"

On success, the above request returns response like

{
    "id": "example string value",
    "status": "IN_PROGRESS",
    "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": "DONE",
    "data": {
        "total": {
            "dateStart": "example string value",
            "dateEnd": "example string value",
            "waterUsage": 948.2368053627372,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "waterUsage": 39.127161278914265,
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "waterUsage": 526.4183909289625,
                            "zones": [
                                {
                                    "zoneId": "example string value",
                                    "zoneNumber": 492,
                                    "name": "example string value",
                                    "waterUsage": 635,
                                    "scheduledWaterUsage": 509.41541349022435,
                                    "manualWaterUsage": 752
                                }
                            ],
                            "scheduledWaterUsage": 686,
                            "manualWaterUsage": 270
                        }
                    ],
                    "scheduledWaterUsage": 13,
                    "manualWaterUsage": 44
                }
            ],
            "scheduledWaterUsage": 869.6224954303459,
            "manualWaterUsage": 826
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "waterUsage": 44,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "waterUsage": 277,
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "waterUsage": 464.7796328481192,
                                "zones": [
                                    {
                                        "zoneId": "example string value",
                                        "zoneNumber": 971,
                                        "name": "example string value",
                                        "waterUsage": 475.34097939512736,
                                        "scheduledWaterUsage": 613,
                                        "manualWaterUsage": 170.40783780180283
                                    }
                                ],
                                "scheduledWaterUsage": 968.5783251042377,
                                "manualWaterUsage": 444.37883815000714
                            }
                        ],
                        "scheduledWaterUsage": 966.1085475078359,
                        "manualWaterUsage": 159
                    }
                ],
                "scheduledWaterUsage": 624,
                "manualWaterUsage": 753.8259354204991
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "waterUsage": 432.5629959034561,
                "scheduledWaterUsage": 777.9483696343137,
                "manualWaterUsage": 136
            }
        ],
        "projectsFlowRates": [
            {
                "projectId": "example string value",
                "projectName": "example string value",
                "controllers": [
                    {
                        "controllerId": "example string value",
                        "name": "example string value",
                        "zones": [
                            {
                                "zoneId": "example string value",
                                "number": 31,
                                "name": "example string value",
                                "flowRateGpm": 133.0238469564467
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "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"
    },
    "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\"
                    ]
                }
            ]
        },
        \"scheduleTypes\": [
            \"ESTABLISHMENT\"
        ]
    },
    \"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": {
        "projects": [
            {
                "id": "example string value",
                "name": "example string value",
                "controllers": [
                    {
                        "id": "example string value",
                        "name": "example string value",
                        "zones": [
                            {
                                "id": "example string value",
                                "number": 146,
                                "name": "example string value",
                                "vegetationTypes": [
                                    "example string value"
                                ],
                                "emitterTypes": [
                                    "example string value"
                                ],
                                "scheduleType": "ONE_TIME",
                                "rootDepthMeters": 959,
                                "intervalAdjustmentCoefficient": 686.4892955340861,
                                "waterBudgetAdjustmentCoefficient": 644,
                                "triggerDepletionPercent": 24,
                                "soilType": "example string value",
                                "slopeTypeId": 659,
                                "shadeLevel": 566
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "scheduleTypes": [
            "MANUAL"
        ]
    },
    "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
scheduleTypes string[ ] false

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
scheduleTypes string[ ] false

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": "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": 272,
                                "name": "example string value",
                                "vegetationTypes": [
                                    "example string value"
                                ],
                                "emitterTypes": [
                                    "example string value"
                                ],
                                "scheduleType": "MANUAL",
                                "rootDepthMeters": 791,
                                "intervalAdjustmentCoefficient": 889.5976617418219,
                                "waterBudgetAdjustmentCoefficient": 420,
                                "triggerDepletionPercent": 58,
                                "soilType": "example string value",
                                "slopeTypeId": 690,
                                "shadeLevel": 503
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "scheduleTypes": [
            "ESTABLISHMENT"
        ]
    },
    "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
scheduleTypes string[ ] false

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\": \"DAY\"
        }
    },
    \"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": 577,
            "manualUsageCost": 750,
            "scheduledUsage": 764,
            "scheduledUsageCost": 351.04702336296765,
            "otherUsage": 696.799175206944,
            "otherUsageCost": 760.7792600806705,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "manualUsage": 333.4746609132153,
                    "manualUsageCost": 33.37451351497998,
                    "scheduledUsage": 23,
                    "scheduledUsageCost": 533.5358458261638,
                    "otherUsage": 649.073540535324,
                    "otherUsageCost": 185.61968076304515,
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "manualUsage": 506,
                            "manualUsageCost": 590.5206760347451,
                            "scheduledUsage": 631.9869880713462,
                            "scheduledUsageCost": 926,
                            "otherUsage": 840.0236423313728,
                            "otherUsageCost": 906,
                            "zones": [
                                {
                                    "zoneNumber": 561,
                                    "name": "example string value",
                                    "manualUsage": 66,
                                    "manualUsageCost": 498,
                                    "scheduledUsage": 64,
                                    "scheduledUsageCost": 315,
                                    "totalWaterUsage": 280,
                                    "totalWaterUsageCost": 624.3538621926466
                                }
                            ],
                            "totalWaterUsage": 151.71213827641313,
                            "totalWaterUsageCost": 852
                        }
                    ],
                    "totalWaterUsage": 36.285509372262986,
                    "totalWaterUsageCost": 999
                }
            ],
            "totalWaterUsage": 818.9731714404063,
            "totalWaterUsageCost": 370
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 780,
                "manualUsageCost": 754.5167201918161,
                "scheduledUsage": 826.3694629195936,
                "scheduledUsageCost": 915.1191599271815,
                "otherUsage": 250.2476015362179,
                "otherUsageCost": 565.3960502545331,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "manualUsage": 983,
                        "manualUsageCost": 17.918272417931945,
                        "scheduledUsage": 695,
                        "scheduledUsageCost": 359,
                        "otherUsage": 527,
                        "otherUsageCost": 837.2392863208611,
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "manualUsage": 355,
                                "manualUsageCost": 804.2680378091839,
                                "scheduledUsage": 41.56107410861229,
                                "scheduledUsageCost": 280,
                                "otherUsage": 807,
                                "otherUsageCost": 106.52670548601388,
                                "zones": [
                                    {
                                        "zoneNumber": 821,
                                        "name": "example string value",
                                        "manualUsage": 748,
                                        "manualUsageCost": 275,
                                        "scheduledUsage": 416.6428076180829,
                                        "scheduledUsageCost": 186.78876067827863,
                                        "totalWaterUsage": 59,
                                        "totalWaterUsageCost": 263.0228005643109
                                    }
                                ],
                                "totalWaterUsage": 548.8235859893372,
                                "totalWaterUsageCost": 268.1513085347373
                            }
                        ],
                        "totalWaterUsage": 669,
                        "totalWaterUsageCost": 783
                    }
                ],
                "totalWaterUsage": 412,
                "totalWaterUsageCost": 700
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 510,
                "manualUsageCost": 3.884178122451612,
                "scheduledUsage": 763,
                "scheduledUsageCost": 773,
                "otherUsage": 75,
                "otherUsageCost": 997.522054704615,
                "totalWaterUsage": 244,
                "totalWaterUsageCost": 653.2056078562539
            }
        ]
    },
    "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

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": 870,
            "manualUsageCost": 253.10360000147654,
            "scheduledUsage": 649,
            "scheduledUsageCost": 859.7741349878601,
            "otherUsage": 570,
            "otherUsageCost": 24.90050533083291,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "manualUsage": 953.5119673020728,
                    "manualUsageCost": 762,
                    "scheduledUsage": 35.85949355543568,
                    "scheduledUsageCost": 925,
                    "otherUsage": 833.6871973395754,
                    "otherUsageCost": 850,
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "manualUsage": 494.04957494421376,
                            "manualUsageCost": 98,
                            "scheduledUsage": 145.45407758348344,
                            "scheduledUsageCost": 988.6711579694744,
                            "otherUsage": 688.0601820014698,
                            "otherUsageCost": 104,
                            "zones": [
                                {
                                    "zoneNumber": 11,
                                    "name": "example string value",
                                    "manualUsage": 46,
                                    "manualUsageCost": 976,
                                    "scheduledUsage": 277.09350282190996,
                                    "scheduledUsageCost": 452.28664458370145,
                                    "totalWaterUsage": 710,
                                    "totalWaterUsageCost": 454.42237400190083
                                }
                            ],
                            "totalWaterUsage": 275,
                            "totalWaterUsageCost": 774
                        }
                    ],
                    "totalWaterUsage": 243,
                    "totalWaterUsageCost": 395.7202841507831
                }
            ],
            "totalWaterUsage": 541,
            "totalWaterUsageCost": 781.4356101590375
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 233,
                "manualUsageCost": 402.53102611868223,
                "scheduledUsage": 394.0896901274518,
                "scheduledUsageCost": 647.7103702014825,
                "otherUsage": 20.008148169148782,
                "otherUsageCost": 613,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "manualUsage": 805,
                        "manualUsageCost": 637,
                        "scheduledUsage": 532,
                        "scheduledUsageCost": 920.4603293540237,
                        "otherUsage": 337,
                        "otherUsageCost": 276.6136882252124,
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "manualUsage": 328,
                                "manualUsageCost": 118,
                                "scheduledUsage": 220.62691730476305,
                                "scheduledUsageCost": 645,
                                "otherUsage": 990.1466905093504,
                                "otherUsageCost": 226.90774278105596,
                                "zones": [
                                    {
                                        "zoneNumber": 177,
                                        "name": "example string value",
                                        "manualUsage": 280,
                                        "manualUsageCost": 290,
                                        "scheduledUsage": 198.28576417560026,
                                        "scheduledUsageCost": 516.3197845762222,
                                        "totalWaterUsage": 751,
                                        "totalWaterUsageCost": 386.1531924391879
                                    }
                                ],
                                "totalWaterUsage": 271.26507566835033,
                                "totalWaterUsageCost": 69
                            }
                        ],
                        "totalWaterUsage": 131,
                        "totalWaterUsageCost": 678.8055690372389
                    }
                ],
                "totalWaterUsage": 693,
                "totalWaterUsageCost": 235
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 349,
                "manualUsageCost": 76.69190786624881,
                "scheduledUsage": 776,
                "scheduledUsageCost": 47,
                "otherUsage": 324.78920338898394,
                "otherUsageCost": 999.0809839214575,
                "totalWaterUsage": 587.6725723909551,
                "totalWaterUsageCost": 805.2865726897896
            }
        ]
    },
    "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"
    },
    "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=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\": \"BILLING_PERIOD\"
        }
    },
    \"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": {
        "total": {
            "dateStart": "example string value",
            "dateEnd": "example string value",
            "manualUsage": 168,
            "scheduledUsage": 929,
            "otherUsage": 966,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "manualUsage": 316,
                    "scheduledUsage": 635.2141688741809,
                    "otherUsage": 651.5892686562562,
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "manualUsage": 548,
                            "scheduledUsage": 319.61362265032415,
                            "otherUsage": 969.1372662638953,
                            "zones": [
                                {
                                    "zoneNumber": 997,
                                    "name": "example string value",
                                    "manualUsage": 126.76081998588556,
                                    "scheduledUsage": 845.4992523628749,
                                    "totalWaterUsage": 772.9516247161439
                                }
                            ],
                            "totalWaterUsage": 634
                        }
                    ],
                    "totalWaterUsage": 253
                }
            ],
            "totalWaterUsage": 375.0090549583589
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 249.25170384778255,
                "scheduledUsage": 619.6357382552865,
                "otherUsage": 378.3051014776831,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "manualUsage": 25.840650324635508,
                        "scheduledUsage": 453,
                        "otherUsage": 856,
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "manualUsage": 98.26612430543923,
                                "scheduledUsage": 756.8893645689308,
                                "otherUsage": 325.21486018095857,
                                "zones": [
                                    {
                                        "zoneNumber": 489,
                                        "name": "example string value",
                                        "manualUsage": 562,
                                        "scheduledUsage": 165.7874626879522,
                                        "totalWaterUsage": 422
                                    }
                                ],
                                "totalWaterUsage": 953
                            }
                        ],
                        "totalWaterUsage": 588.0830383804082
                    }
                ],
                "totalWaterUsage": 103.3391994905375
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 478.31930661495744,
                "scheduledUsage": 233,
                "otherUsage": 904.3318759204503,
                "totalWaterUsage": 52.87763013172785
            }
        ]
    },
    "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"
    },
    "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": "UNPROCESSABLE",
    "userId": "example string value",
    "data": {
        "total": {
            "dateStart": "example string value",
            "dateEnd": "example string value",
            "manualUsage": 884.2695215178046,
            "scheduledUsage": 604,
            "otherUsage": 39,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "manualUsage": 133.23616428917094,
                    "scheduledUsage": 2.432461363464809,
                    "otherUsage": 282.5321682181825,
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "manualUsage": 493,
                            "scheduledUsage": 129.90671961098292,
                            "otherUsage": 48,
                            "zones": [
                                {
                                    "zoneNumber": 96,
                                    "name": "example string value",
                                    "manualUsage": 433.597953260689,
                                    "scheduledUsage": 563.6798169294744,
                                    "totalWaterUsage": 881.9054010705581
                                }
                            ],
                            "totalWaterUsage": 728
                        }
                    ],
                    "totalWaterUsage": 381
                }
            ],
            "totalWaterUsage": 777.2015397330754
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 33.32000273900107,
                "scheduledUsage": 414,
                "otherUsage": 122.21865734188755,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "manualUsage": 814.9720666999799,
                        "scheduledUsage": 738.9655028185647,
                        "otherUsage": 716,
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "manualUsage": 984.710072625759,
                                "scheduledUsage": 422,
                                "otherUsage": 845,
                                "zones": [
                                    {
                                        "zoneNumber": 349,
                                        "name": "example string value",
                                        "manualUsage": 820.238189222402,
                                        "scheduledUsage": 953.2992350651414,
                                        "totalWaterUsage": 266
                                    }
                                ],
                                "totalWaterUsage": 889
                            }
                        ],
                        "totalWaterUsage": 493
                    }
                ],
                "totalWaterUsage": 181
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "manualUsage": 321.16837069446615,
                "scheduledUsage": 791.3337027613696,
                "otherUsage": 531.1287383228208,
                "totalWaterUsage": 522.8944576917655
            }
        ]
    },
    "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

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

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 | Over/Under Report

Create Over/Under report

Request

curl "https://developer-api.etwater.com/api/v1/reports/over-under-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\"
                    ]
                }
            ]
        },
        \"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",
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "period": {
            "startDate": "example string value",
            "endDate": "example string value",
            "interval": "MONTH"
        }
    },
    "meta": {
        "example_property_name": "example string value"
    }
}

HTTP Request

POST /api/v1/reports/over-under-report

Request parameters

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

OverUnderReportCreateRequest

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

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

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

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
filters ReportFilters true
meta Object for field meta false

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

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

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 Over/Under report

Request

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

On success, the above request returns response like

{
    "id": "example string value",
    "status": "UNPROCESSABLE",
    "userId": "example string value",
    "data": {
        "total": {
            "dateStart": "example string value",
            "dateEnd": "example string value",
            "rainMm": 296.4718189539722,
            "etcMm": 959.514011610073,
            "etoMm": 735.0170592474831,
            "realEffectiveWateringMm": 595,
            "projects": [
                {
                    "id": "example string value",
                    "name": "example string value",
                    "controllers": [
                        {
                            "id": "example string value",
                            "name": "example string value",
                            "zones": [
                                {
                                    "id": "example string value",
                                    "number": 951,
                                    "name": "example string value",
                                    "rainMm": 968,
                                    "etcMm": 650,
                                    "etoMm": 516,
                                    "realEffectiveWateringMm": 995.7080073634665
                                }
                            ],
                            "rainMm": 371,
                            "etcMm": 320,
                            "etoMm": 779.8048340621427,
                            "realEffectiveWateringMm": 610.9217510609524
                        }
                    ],
                    "rainMm": 149,
                    "etcMm": 44,
                    "etoMm": 860,
                    "realEffectiveWateringMm": 242
                }
            ],
            "avgRealEffectiveWateringMm": 376,
            "avgEtcMmByStation": 744.8655547317423,
            "avgRealEffectiveWateringMmByStation": 943.1485705744236
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "rainMm": 592,
                "etcMm": 249.96616283895733,
                "etoMm": 673,
                "realEffectiveWateringMm": 440,
                "projects": [
                    {
                        "id": "example string value",
                        "name": "example string value",
                        "controllers": [
                            {
                                "id": "example string value",
                                "name": "example string value",
                                "zones": [
                                    {
                                        "id": "example string value",
                                        "number": 115,
                                        "name": "example string value",
                                        "rainMm": 907.2690517209792,
                                        "etcMm": 68,
                                        "etoMm": 256,
                                        "realEffectiveWateringMm": 160
                                    }
                                ],
                                "rainMm": 350,
                                "etcMm": 974,
                                "etoMm": 867,
                                "realEffectiveWateringMm": 805
                            }
                        ],
                        "rainMm": 938,
                        "etcMm": 118.04710473774333,
                        "etoMm": 400,
                        "realEffectiveWateringMm": 211.36801280610638
                    }
                ],
                "avgRealEffectiveWateringMm": 418,
                "avgEtcMmByStation": 904.7789247263125,
                "avgRealEffectiveWateringMmByStation": 55
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "rainMm": 89,
                "etcMm": 34.12169173086141,
                "etoMm": 864.563332807535,
                "realEffectiveWateringMm": 270,
                "avgRealEffectiveWateringMm": 515.5550951676234,
                "avgEtcMmByStation": 283,
                "avgRealEffectiveWateringMmByStation": 972
            }
        ],
        "landscapeReport": [
            {
                "id": "example string value",
                "name": "example string value",
                "controllers": [
                    {
                        "id": "example string value",
                        "name": "example string value",
                        "zones": [
                            {
                                "id": "example string value",
                                "number": 30,
                                "name": "example string value",
                                "vegetationTypes": [
                                    "example string value"
                                ],
                                "emitterTypes": [
                                    "example string value"
                                ],
                                "scheduleType": "ESTABLISHMENT",
                                "rootDepthMeters": 832.9745036703415,
                                "intervalAdjustmentCoefficient": 537,
                                "waterBudgetAdjustmentCoefficient": 676,
                                "triggerDepletionPercent": 168,
                                "soilType": "example string value",
                                "slopeTypeId": 349,
                                "shadeLevel": 211
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "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/over-under-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
landscapeReport Project[ ] true

Bucket

Name Type Required Description
dateStart string true
dateEnd string true
rainMm number true
etcMm number true
etoMm number true
realEffectiveWateringMm number true
projects Project[ ] true
avgRealEffectiveWateringMm number true
avgEtcMmByStation number false
avgRealEffectiveWateringMmByStation number false

Project

Name Type Required Description
id string true
name string true
controllers Controller[ ] true
rainMm number true
etcMm number true
etoMm number true
realEffectiveWateringMm number true

Controller

Name Type Required Description
id string true
name string true
zones Zone[ ] true
rainMm number true
etcMm number true
etoMm number true
realEffectiveWateringMm number true

Zone

Name Type Required Description
id string true
number integer true
name string true
rainMm number true
etcMm number true
etoMm number true
realEffectiveWateringMm number true

BucketTotal

Name Type Required Description
dateStart string true
dateEnd string true
rainMm number true
etcMm number true
etoMm number true
realEffectiveWateringMm number true
avgRealEffectiveWateringMm number true
avgEtcMmByStation number false
avgRealEffectiveWateringMmByStation number false

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

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

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 | Runtime Report

Create runtime report

Request

curl "https://developer-api.etwater.com/api/v1/reports/runtime-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\"
                    ]
                }
            ]
        },
        \"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": "IN_PROGRESS",
    "userId": "example string value",
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "period": {
            "startDate": "example string value",
            "endDate": "example string value",
            "interval": "DAY"
        }
    },
    "meta": {
        "example_property_name": "example string value"
    }
}

HTTP Request

POST /api/v1/reports/runtime-report

Request parameters

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

RuntimeReportCreateRequest

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

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

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

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
status string true
userId string true
filters ReportFilters true
meta Object for field meta false

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

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

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 runtime report

Request

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

On success, the above request returns response like

{
    "id": "example string value",
    "status": "UNPROCESSABLE",
    "userId": "example string value",
    "data": {
        "total": {
            "dateStart": "example string value",
            "dateEnd": "example string value",
            "runtimeMinutes": 715,
            "avgRainMm": 291.01650709799327,
            "avgEtoMm": 122.04809026888016,
            "projects": [
                {
                    "projectId": "example string value",
                    "name": "example string value",
                    "runtimeMinutes": 26,
                    "avgRainMm": 608,
                    "etoMm": 592.2418043912583,
                    "controllers": [
                        {
                            "controllerId": "example string value",
                            "name": "example string value",
                            "runtimeMinutes": 362,
                            "zones": [
                                {
                                    "zoneNumber": 674,
                                    "name": "example string value",
                                    "runtimeMinutes": 286,
                                    "emitterType": "example string value",
                                    "emitterPrecipitationRate": 87,
                                    "plantTypes": [
                                        "example string value"
                                    ],
                                    "wateringMm": 507.0681877001506,
                                    "emitterCount": 215,
                                    "emitterTypeId": 902,
                                    "emitterPrecipitationRateMm": 584.660166215459,
                                    "scheduledRuntimeMinutes": 344,
                                    "scheduledWateringMm": 227,
                                    "manualRuntimeMinutes": 681,
                                    "manualWateringMm": 680
                                }
                            ],
                            "wateringMm": 209.64960065188333,
                            "scheduledRuntimeMinutes": 601,
                            "scheduledWateringMm": 8,
                            "manualRuntimeMinutes": 476,
                            "manualWateringMm": 342
                        }
                    ],
                    "wateringMm": 424,
                    "scheduledRuntimeMinutes": 682,
                    "scheduledWateringMm": 351.8672321698941,
                    "manualRuntimeMinutes": 872,
                    "manualWateringMm": 147
                }
            ],
            "minEtoMm": 562,
            "maxEtoMm": 59,
            "wateringMm": 86.30811659912958,
            "scheduledRuntimeMinutes": 587,
            "scheduledWateringMm": 233,
            "manualRuntimeMinutes": 117,
            "manualWateringMm": 224.50034004845674
        },
        "buckets": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "runtimeMinutes": 709,
                "avgRainMm": 544.4166131990108,
                "avgEtoMm": 165,
                "projects": [
                    {
                        "projectId": "example string value",
                        "name": "example string value",
                        "runtimeMinutes": 71,
                        "avgRainMm": 849,
                        "etoMm": 97.034704916661,
                        "controllers": [
                            {
                                "controllerId": "example string value",
                                "name": "example string value",
                                "runtimeMinutes": 961,
                                "zones": [
                                    {
                                        "zoneNumber": 223,
                                        "name": "example string value",
                                        "runtimeMinutes": 704,
                                        "emitterType": "example string value",
                                        "emitterPrecipitationRate": 821.6646368716213,
                                        "plantTypes": [
                                            "example string value"
                                        ],
                                        "wateringMm": 791,
                                        "emitterCount": 353,
                                        "emitterTypeId": 32,
                                        "emitterPrecipitationRateMm": 840,
                                        "scheduledRuntimeMinutes": 122,
                                        "scheduledWateringMm": 346,
                                        "manualRuntimeMinutes": 951,
                                        "manualWateringMm": 731.0765905916115
                                    }
                                ],
                                "wateringMm": 100.74959187803304,
                                "scheduledRuntimeMinutes": 156,
                                "scheduledWateringMm": 671,
                                "manualRuntimeMinutes": 127,
                                "manualWateringMm": 368
                            }
                        ],
                        "wateringMm": 395,
                        "scheduledRuntimeMinutes": 374,
                        "scheduledWateringMm": 246,
                        "manualRuntimeMinutes": 351,
                        "manualWateringMm": 761.7380706415223
                    }
                ],
                "minEtoMm": 910,
                "maxEtoMm": 884,
                "wateringMm": 322.9997834763489,
                "scheduledRuntimeMinutes": 428,
                "scheduledWateringMm": 772,
                "manualRuntimeMinutes": 105,
                "manualWateringMm": 609.4906165308741
            }
        ],
        "bucketsTotal": [
            {
                "dateStart": "example string value",
                "dateEnd": "example string value",
                "runtimeMinutes": 25,
                "avgRainMm": 237,
                "etoMm": 529.8812606045424,
                "minEtoMm": 188.0781404618538,
                "maxEtoMm": 406,
                "wateringMm": 352.02308388055445,
                "scheduledRuntimeMinutes": 642,
                "scheduledWateringMm": 663.9976830519724,
                "manualRuntimeMinutes": 714,
                "manualWateringMm": 568.347827796055
            }
        ]
    },
    "filters": {
        "projectControllers": {
            "projectControllers": [
                {
                    "projectId": "example string value",
                    "controllerIdList": [
                        "example string value"
                    ]
                }
            ]
        },
        "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/runtime-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
runtimeMinutes integer true
avgRainMm number true
avgEtoMm number true
projects Project[ ] true
minEtoMm number true
maxEtoMm number true
wateringMm number false
scheduledRuntimeMinutes integer false
scheduledWateringMm number false
manualRuntimeMinutes integer false
manualWateringMm number false

Project

Name Type Required Description
projectId string true
name string true
runtimeMinutes integer true
avgRainMm number true
etoMm number true
controllers Controller[ ] true
wateringMm number false
scheduledRuntimeMinutes integer false
scheduledWateringMm number false
manualRuntimeMinutes integer false
manualWateringMm number false

Controller

Name Type Required Description
controllerId string true
name string true
runtimeMinutes integer true
zones Zone[ ] true
wateringMm number false
scheduledRuntimeMinutes integer false
scheduledWateringMm number false
manualRuntimeMinutes integer false
manualWateringMm number false

Zone

Name Type Required Description
zoneNumber integer true
name string true
runtimeMinutes integer true
emitterType string false
emitterPrecipitationRate number false
plantTypes string[ ] false
wateringMm number false
emitterCount integer false
emitterTypeId integer false
emitterPrecipitationRateMm number false
scheduledRuntimeMinutes integer false
scheduledWateringMm number false
manualRuntimeMinutes integer false
manualWateringMm number false

BucketTotal

Name Type Required Description
dateStart string true
dateEnd string true
runtimeMinutes integer true
avgRainMm number true
etoMm number true
minEtoMm number true
maxEtoMm number true
wateringMm number false
scheduledRuntimeMinutes integer false
scheduledWateringMm number false
manualRuntimeMinutes integer false
manualWateringMm number false

ReportFilters

Name Type Required Description
projectControllers ProjectControllersFilter false
period PeriodFilter true

ProjectControllersFilter

Name Type Required Description
projectControllers ProjectControllersValue[ ] true

ProjectControllersValue

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

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 | Time Restrictions Report

Create Time restrictions report

Request

curl "https://developer-api.etwater.com/api/v1/reports/time-restrictions-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",
    "userId": "example string value",
    "data": {
        "projects": [
            {
                "id": "example string value",
                "name": "example string value",
                "controllers": [
                    {
                        "id": "example string value",
                        "name": "example string value",
                        "timeRestrictions": [
                            {
                                "id": "example string value",
                                "name": "example string value",
                                "repeatPattern": {
                                    "dailyRepeatPattern": {
                                        "repeatCount": 111,
                                        "applyUntilDateTime": "example string value",
                                        "interval": 939
                                    },
                                    "weeklyRepeatPattern": {
                                        "repeatCount": 355,
                                        "applyUntilDateTime": "example string value",
                                        "interval": 314,
                                        "daysOfWeek": [
                                            "example string value"
                                        ]
                                    },
                                    "monthlyRepeatPattern": {
                                        "repeatCount": 768,
                                        "applyUntilDateTime": "example string value",
                                        "interval": 200,
                                        "daysOfMonth": [
                                            943
                                        ],
                                        "positionInMonth": 69,
                                        "daysOfWeek": [
                                            "example string value"
                                        ]
                                    },
                                    "yearlyRepeatPattern": {
                                        "repeatCount": 948,
                                        "applyUntilDateTime": "example string value",
                                        "interval": 288,
                                        "daysOfWeek": [
                                            "example string value"
                                        ],
                                        "daysOfYear": [
                                            637
                                        ],
                                        "numbersOfWeek": [
                                            181
                                        ]
                                    },
                                    "oddDaysRepeatPattern": {
                                        "repeatCount": 929,
                                        "applyUntilDateTime": "example string value"
                                    },
                                    "evenDaysRepeatPattern": {
                                        "repeatCount": 819,
                                        "applyUntilDateTime": "example string value"
                                    },
                                    "weeklySameDayRepeatPattern": {
                                        "repeatCount": 152,
                                        "applyUntilDateTime": "example string value"
                                    },
                                    "weeklyWorkdaysRepeatPattern": {
                                        "repeatCount": 858,
                                        "applyUntilDateTime": "example string value"
                                    },
                                    "monthlySameDateRepeatPattern": {
                                        "repeatCount": 812,
                                        "applyUntilDateTime": "example string value"
                                    },
                                    "monthlySameDayRepeatPattern": {
                                        "repeatCount": 334,
                                        "applyUntilDateTime": "example string value"
                                    },
                                    "annuallySameDateRepeatPattern": {
                                        "repeatCount": 455,
                                        "applyUntilDateTime": "example string value"
                                    }
                                },
                                "startDateTime": "example string value",
                                "endDateTime": "example string value",
                                "areaRegionTypeIds": [
                                    129
                                ],
                                "emitterTypeIds": [
                                    177
                                ],
                                "stationNumbers": [
                                    691
                                ],
                                "allStations": true,
                                "effect": "example string value"
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "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/time-restrictions-report

Request parameters

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

TimeRestrictionsReportCreateRequest

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 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
timeRestrictions TimeRestriction[ ] true

TimeRestriction

Name Type Required Description
id string true
name string true
repeatPattern RepeatPattern false
startDateTime string true
endDateTime string true
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
stationNumbers integer[ ] false
allStations boolean false
effect string true

RepeatPattern

Name Type Required Description
dailyRepeatPattern DailyRepeatPattern false
weeklyRepeatPattern WeeklyRepeatPattern false
monthlyRepeatPattern MonthlyRepeatPattern false
yearlyRepeatPattern YearlyRepeatPattern false
oddDaysRepeatPattern OddDaysRepeatPattern false
evenDaysRepeatPattern EvenDaysRepeatPattern false
weeklySameDayRepeatPattern WeeklySameDayRepeatPattern false
weeklyWorkdaysRepeatPattern WeeklyWorkdaysRepeatPattern false
monthlySameDateRepeatPattern MonthlySameDateRepeatPattern false
monthlySameDayRepeatPattern MonthlySameDayRepeatPattern false
annuallySameDateRepeatPattern AnnuallySameDateRepeatPattern false

DailyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false

WeeklyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false

MonthlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek string[ ] false

YearlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false
daysOfYear integer[ ] false
numbersOfWeek integer[ ] false

OddDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

EvenDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklyWorkdaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

AnnuallySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string 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

Get Time restrictions report

Request

curl "https://developer-api.etwater.com/api/v1/reports/time-restrictions-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",
    "data": {
        "projects": [
            {
                "id": "example string value",
                "name": "example string value",
                "controllers": [
                    {
                        "id": "example string value",
                        "name": "example string value",
                        "timeRestrictions": [
                            {
                                "id": "example string value",
                                "name": "example string value",
                                "repeatPattern": {
                                    "dailyRepeatPattern": {
                                        "repeatCount": 975,
                                        "applyUntilDateTime": "example string value",
                                        "interval": 594
                                    },
                                    "weeklyRepeatPattern": {
                                        "repeatCount": 455,
                                        "applyUntilDateTime": "example string value",
                                        "interval": 963,
                                        "daysOfWeek": [
                                            "example string value"
                                        ]
                                    },
                                    "monthlyRepeatPattern": {
                                        "repeatCount": 705,
                                        "applyUntilDateTime": "example string value",
                                        "interval": 878,
                                        "daysOfMonth": [
                                            407
                                        ],
                                        "positionInMonth": 672,
                                        "daysOfWeek": [
                                            "example string value"
                                        ]
                                    },
                                    "yearlyRepeatPattern": {
                                        "repeatCount": 336,
                                        "applyUntilDateTime": "example string value",
                                        "interval": 632,
                                        "daysOfWeek": [
                                            "example string value"
                                        ],
                                        "daysOfYear": [
                                            401
                                        ],
                                        "numbersOfWeek": [
                                            570
                                        ]
                                    },
                                    "oddDaysRepeatPattern": {
                                        "repeatCount": 13,
                                        "applyUntilDateTime": "example string value"
                                    },
                                    "evenDaysRepeatPattern": {
                                        "repeatCount": 27,
                                        "applyUntilDateTime": "example string value"
                                    },
                                    "weeklySameDayRepeatPattern": {
                                        "repeatCount": 579,
                                        "applyUntilDateTime": "example string value"
                                    },
                                    "weeklyWorkdaysRepeatPattern": {
                                        "repeatCount": 14,
                                        "applyUntilDateTime": "example string value"
                                    },
                                    "monthlySameDateRepeatPattern": {
                                        "repeatCount": 944,
                                        "applyUntilDateTime": "example string value"
                                    },
                                    "monthlySameDayRepeatPattern": {
                                        "repeatCount": 536,
                                        "applyUntilDateTime": "example string value"
                                    },
                                    "annuallySameDateRepeatPattern": {
                                        "repeatCount": 96,
                                        "applyUntilDateTime": "example string value"
                                    }
                                },
                                "startDateTime": "example string value",
                                "endDateTime": "example string value",
                                "areaRegionTypeIds": [
                                    704
                                ],
                                "emitterTypeIds": [
                                    789
                                ],
                                "stationNumbers": [
                                    280
                                ],
                                "allStations": false,
                                "effect": "example string value"
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "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/time-restrictions-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
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
timeRestrictions TimeRestriction[ ] true

TimeRestriction

Name Type Required Description
id string true
name string true
repeatPattern RepeatPattern false
startDateTime string true
endDateTime string true
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
stationNumbers integer[ ] false
allStations boolean false
effect string true

RepeatPattern

Name Type Required Description
dailyRepeatPattern DailyRepeatPattern false
weeklyRepeatPattern WeeklyRepeatPattern false
monthlyRepeatPattern MonthlyRepeatPattern false
yearlyRepeatPattern YearlyRepeatPattern false
oddDaysRepeatPattern OddDaysRepeatPattern false
evenDaysRepeatPattern EvenDaysRepeatPattern false
weeklySameDayRepeatPattern WeeklySameDayRepeatPattern false
weeklyWorkdaysRepeatPattern WeeklyWorkdaysRepeatPattern false
monthlySameDateRepeatPattern MonthlySameDateRepeatPattern false
monthlySameDayRepeatPattern MonthlySameDayRepeatPattern false
annuallySameDateRepeatPattern AnnuallySameDateRepeatPattern false

DailyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false

WeeklyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false

MonthlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek string[ ] false

YearlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false
daysOfYear integer[ ] false
numbersOfWeek integer[ ] false

OddDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

EvenDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklyWorkdaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

AnnuallySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string 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

V1 | Restrictions | Time Restrictions

Get all Time Restrictions

Request

curl "https://developer-api.etwater.com/api/v1/restrictions/time?controllerId=example+string+value&active=0&stationGroupId=example+string+value&projectId=example+string+value" \
-X GET \
-H "Authorization: example string value" \
-H "Unity-Api-Gateway-Replace-UserId: example string value"

On success, the above request returns response like

[
    {
        "id": "example string value",
        "controller": {
            "id": "example string value",
            "name": "example string value"
        },
        "project": {
            "id": "example string value",
            "name": "example string value"
        },
        "zoneNumbers": [
            147
        ],
        "startTime": 953,
        "endTime": 704,
        "count": 749,
        "applyUntil": 180,
        "dailyRecurrence": {
            "interval": "1"
        },
        "weeklyRecurrence": {
            "interval": "1",
            "dayOfWeekList": [
                2
            ]
        },
        "monthlyRecurrence": {
            "interval": "1",
            "daysOfMonth": null,
            "positionInMonth": 560,
            "daysOfWeek": [
                3
            ]
        },
        "yearlyRecurrence": {
            "interval": "1",
            "dayOfWeekList": [
                4
            ],
            "daysOfYear": null,
            "numberOfWeekList": null
        },
        "wateringManuallyAllowed": "1",
        "metadata": {
            "example_property_name": "example string value"
        },
        "areaRegionTypeIds": [
            768
        ],
        "emitterTypeIds": [
            113
        ],
        "municipalRestrictionId": "example string value",
        "modified": false,
        "basicMunicipalRestriction": {
            "id": "example string value",
            "controllerId": "example string value",
            "zoneNumbers": [
                448
            ],
            "startTime": 89,
            "endTime": 889,
            "count": 127,
            "applyUntil": 981,
            "dailyRecurrence": {
                "interval": "1"
            },
            "weeklyRecurrence": {
                "interval": "1",
                "dayOfWeekList": [
                    1
                ]
            },
            "monthlyRecurrence": {
                "interval": "1",
                "daysOfMonth": null,
                "positionInMonth": 519,
                "daysOfWeek": [
                    6
                ]
            },
            "yearlyRecurrence": {
                "interval": "1",
                "dayOfWeekList": [
                    0
                ],
                "daysOfYear": null,
                "numberOfWeekList": null
            },
            "wateringManuallyAllowed": "1",
            "metadata": {
                "example_property_name": "example string value"
            },
            "areaRegionTypeIds": [
                889
            ],
            "emitterTypeIds": [
                440
            ],
            "municipalRestrictionId": "example string value",
            "modified": false,
            "basicMunicipalRestriction": {
                "id": "example string value",
                "controllerId": "example string value",
                "zoneNumbers": [
                    245
                ],
                "startTime": 217,
                "endTime": 932,
                "count": 608,
                "applyUntil": 862,
                "dailyRecurrence": {
                    "interval": "1"
                },
                "weeklyRecurrence": {
                    "interval": "1",
                    "dayOfWeekList": [
                        1
                    ]
                },
                "monthlyRecurrence": {
                    "interval": "1",
                    "daysOfMonth": null,
                    "positionInMonth": 190,
                    "daysOfWeek": [
                        5
                    ]
                },
                "yearlyRecurrence": {
                    "interval": "1",
                    "dayOfWeekList": [
                        2
                    ],
                    "daysOfYear": null,
                    "numberOfWeekList": null
                },
                "wateringManuallyAllowed": "1",
                "metadata": {
                    "example_property_name": "example string value"
                },
                "areaRegionTypeIds": [
                    784
                ],
                "emitterTypeIds": [
                    411
                ],
                "municipalRestrictionId": "example string value",
                "modified": false,
                "basicMunicipalRestriction": null,
                "name": "example string value",
                "weatherRestrictionId": "example string value",
                "userId": "example string value",
                "allZones": true
            },
            "name": "example string value",
            "weatherRestrictionId": "example string value",
            "userId": "example string value",
            "allZones": false
        },
        "name": "example string value",
        "weatherRestrictionId": "example string value",
        "userId": "example string value",
        "allZones": true
    }
]

HTTP Request

GET /api/v1/restrictions/time

Request parameters

Name Type Part Required Description
Authorization string header true
Unity-Api-Gateway-Replace-UserId string header false
controllerId string query false
active boolean query false
stationGroupId string query false
projectId 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
id string false
controller Controller false
project Project false
zoneNumbers integer[ ] false
startTime integer false
endTime integer false
count integer false
applyUntil integer false
dailyRecurrence DailyRecurrence false
weeklyRecurrence WeeklyRecurrence false
monthlyRecurrence MonthlyRecurrence false
yearlyRecurrence YearlyRecurrence false
wateringManuallyAllowed boolean false
metadata Object for field metadata false
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction TimeRestriction false
name string false
weatherRestrictionId string false
userId string false
allZones boolean false

Controller

Name Type Required Description
id string true
name string true

Project

Name Type Required Description
id string true
name string true

DailyRecurrence

Name Type Required Description
interval integer false

WeeklyRecurrence

Name Type Required Description
interval integer false
dayOfWeekList integer[ ] false

MonthlyRecurrence

Name Type Required Description
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek integer[ ] false

YearlyRecurrence

Name Type Required Description
interval integer false
dayOfWeekList integer[ ] false
daysOfYear integer[ ] false
numberOfWeekList integer[ ] false

Object for field metadata

Name Type Required Description
* string false

TimeRestriction

Name Type Required Description
id string false
controllerId string false
zoneNumbers integer[ ] false
startTime integer false
endTime integer false
count integer false
applyUntil integer false
dailyRecurrence DailyRecurrence false
weeklyRecurrence WeeklyRecurrence false
monthlyRecurrence MonthlyRecurrence false
yearlyRecurrence YearlyRecurrence false
wateringManuallyAllowed boolean false
metadata Object for field metadata false
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction TimeRestriction false
name string false
weatherRestrictionId string false
userId string false
allZones boolean false

Create a Time Restriction

Request

curl "https://developer-api.etwater.com/api/v1/restrictions/time" \
-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\",
    \"controllerId\": \"example string value\",
    \"zoneNumbers\": [
        266
    ],
    \"startTime\": 398,
    \"endTime\": 359,
    \"count\": 144,
    \"applyUntil\": 672,
    \"dailyRecurrence\": {
        \"interval\": \"1\"
    },
    \"weeklyRecurrence\": {
        \"interval\": \"1\",
        \"dayOfWeekList\": [
            1
        ]
    },
    \"monthlyRecurrence\": {
        \"interval\": \"1\",
        \"daysOfMonth\": null,
        \"positionInMonth\": 713,
        \"daysOfWeek\": [
            3
        ]
    },
    \"yearlyRecurrence\": {
        \"interval\": \"1\",
        \"dayOfWeekList\": [
            5
        ],
        \"daysOfYear\": null,
        \"numberOfWeekList\": null
    },
    \"wateringManuallyAllowed\": \"1\",
    \"metadata\": {
        \"example_property_name\": \"example string value\"
    },
    \"areaRegionTypeIds\": [
        176
    ],
    \"emitterTypeIds\": [
        801
    ],
    \"municipalRestrictionId\": \"example string value\",
    \"modified\": true,
    \"basicMunicipalRestriction\": {
        \"id\": \"example string value\",
        \"controllerId\": \"example string value\",
        \"zoneNumbers\": [
            722
        ],
        \"startTime\": 596,
        \"endTime\": 159,
        \"count\": 343,
        \"applyUntil\": 962,
        \"dailyRecurrence\": {
            \"interval\": \"1\"
        },
        \"weeklyRecurrence\": {
            \"interval\": \"1\",
            \"dayOfWeekList\": [
                0
            ]
        },
        \"monthlyRecurrence\": {
            \"interval\": \"1\",
            \"daysOfMonth\": null,
            \"positionInMonth\": 45,
            \"daysOfWeek\": [
                5
            ]
        },
        \"yearlyRecurrence\": {
            \"interval\": \"1\",
            \"dayOfWeekList\": [
                6
            ],
            \"daysOfYear\": null,
            \"numberOfWeekList\": null
        },
        \"wateringManuallyAllowed\": \"1\",
        \"metadata\": {
            \"example_property_name\": \"example string value\"
        },
        \"areaRegionTypeIds\": [
            496
        ],
        \"emitterTypeIds\": [
            270
        ],
        \"municipalRestrictionId\": \"example string value\",
        \"modified\": true,
        \"basicMunicipalRestriction\": null,
        \"name\": \"example string value\",
        \"weatherRestrictionId\": \"example string value\",
        \"userId\": \"example string value\",
        \"allZones\": false
    },
    \"name\": \"example string value\",
    \"weatherRestrictionId\": \"example string value\",
    \"userId\": \"example string value\",
    \"allZones\": false
}"

On success, the above request returns response like

no reponse

HTTP Request

POST /api/v1/restrictions/time

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
Unity-Api-Gateway-Replace-UserId string header false
TimeRestriction TimeRestriction body true

TimeRestriction

Name Type Required Description
id string false
controllerId string false
zoneNumbers integer[ ] false
startTime integer false
endTime integer false
count integer false
applyUntil integer false
dailyRecurrence DailyRecurrence false
weeklyRecurrence WeeklyRecurrence false
monthlyRecurrence MonthlyRecurrence false
yearlyRecurrence YearlyRecurrence false
wateringManuallyAllowed boolean false
metadata Object for field metadata false
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction TimeRestriction false
name string false
weatherRestrictionId string false
userId string false
allZones boolean false

DailyRecurrence

Name Type Required Description
interval integer false

WeeklyRecurrence

Name Type Required Description
interval integer false
dayOfWeekList integer[ ] false

MonthlyRecurrence

Name Type Required Description
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek integer[ ] false

YearlyRecurrence

Name Type Required Description
interval integer false
dayOfWeekList integer[ ] false
daysOfYear integer[ ] false
numberOfWeekList integer[ ] false

Object for field metadata

Name Type Required Description
* string false

HTTP Responses

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

Successful response

Name Type Required Description
id string false
controllerId string false
zoneNumbers integer[ ] false
startTime integer false
endTime integer false
count integer false
applyUntil integer false
dailyRecurrence DailyRecurrence false
weeklyRecurrence WeeklyRecurrence false
monthlyRecurrence MonthlyRecurrence false
yearlyRecurrence YearlyRecurrence false
wateringManuallyAllowed boolean false
metadata Object for field metadata false
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction TimeRestriction false
name string false
weatherRestrictionId string false
userId string false
allZones boolean false

DailyRecurrence

Name Type Required Description
interval integer false

WeeklyRecurrence

Name Type Required Description
interval integer false
dayOfWeekList integer[ ] false

MonthlyRecurrence

Name Type Required Description
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek integer[ ] false

YearlyRecurrence

Name Type Required Description
interval integer false
dayOfWeekList integer[ ] false
daysOfYear integer[ ] false
numberOfWeekList integer[ ] false

Object for field metadata

Name Type Required Description
* string false

TimeRestriction

Name Type Required Description
id string false
controllerId string false
zoneNumbers integer[ ] false
startTime integer false
endTime integer false
count integer false
applyUntil integer false
dailyRecurrence DailyRecurrence false
weeklyRecurrence WeeklyRecurrence false
monthlyRecurrence MonthlyRecurrence false
yearlyRecurrence YearlyRecurrence false
wateringManuallyAllowed boolean false
metadata Object for field metadata false
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction TimeRestriction false
name string false
weatherRestrictionId string false
userId string false
allZones boolean false

Get a Time Restriction by id

Request

curl "https://developer-api.etwater.com/api/v1/restrictions/time/{id}" \
-X GET \
-H "Authorization: example string value" \
-H "Unity-Api-Gateway-Replace-UserId: example string value"

On success, the above request returns response like

{
    "id": "example string value",
    "controllerId": "example string value",
    "zoneNumbers": [
        712
    ],
    "startTime": 641,
    "endTime": 196,
    "count": 418,
    "applyUntil": 204,
    "dailyRecurrence": {
        "interval": "1"
    },
    "weeklyRecurrence": {
        "interval": "1",
        "dayOfWeekList": [
            5
        ]
    },
    "monthlyRecurrence": {
        "interval": "1",
        "daysOfMonth": null,
        "positionInMonth": 699,
        "daysOfWeek": [
            4
        ]
    },
    "yearlyRecurrence": {
        "interval": "1",
        "dayOfWeekList": [
            1
        ],
        "daysOfYear": null,
        "numberOfWeekList": null
    },
    "wateringManuallyAllowed": "1",
    "metadata": {
        "example_property_name": "example string value"
    },
    "areaRegionTypeIds": [
        849
    ],
    "emitterTypeIds": [
        837
    ],
    "municipalRestrictionId": "example string value",
    "modified": false,
    "basicMunicipalRestriction": {
        "id": "example string value",
        "controllerId": "example string value",
        "zoneNumbers": [
            16
        ],
        "startTime": 757,
        "endTime": 827,
        "count": 190,
        "applyUntil": 975,
        "dailyRecurrence": {
            "interval": "1"
        },
        "weeklyRecurrence": {
            "interval": "1",
            "dayOfWeekList": [
                4
            ]
        },
        "monthlyRecurrence": {
            "interval": "1",
            "daysOfMonth": null,
            "positionInMonth": 87,
            "daysOfWeek": [
                6
            ]
        },
        "yearlyRecurrence": {
            "interval": "1",
            "dayOfWeekList": [
                0
            ],
            "daysOfYear": null,
            "numberOfWeekList": null
        },
        "wateringManuallyAllowed": "1",
        "metadata": {
            "example_property_name": "example string value"
        },
        "areaRegionTypeIds": [
            459
        ],
        "emitterTypeIds": [
            357
        ],
        "municipalRestrictionId": "example string value",
        "modified": false,
        "basicMunicipalRestriction": null,
        "name": "example string value",
        "weatherRestrictionId": "example string value",
        "userId": "example string value",
        "allZones": true
    },
    "name": "example string value",
    "weatherRestrictionId": "example string value",
    "userId": "example string value",
    "allZones": true
}

HTTP Request

GET /api/v1/restrictions/time/{id}

Request parameters

Name Type Part Required Description
Authorization string header true
Unity-Api-Gateway-Replace-UserId string header false
id 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
controllerId string false
zoneNumbers integer[ ] false
startTime integer false
endTime integer false
count integer false
applyUntil integer false
dailyRecurrence DailyRecurrence false
weeklyRecurrence WeeklyRecurrence false
monthlyRecurrence MonthlyRecurrence false
yearlyRecurrence YearlyRecurrence false
wateringManuallyAllowed boolean false
metadata Object for field metadata false
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction TimeRestriction false
name string false
weatherRestrictionId string false
userId string false
allZones boolean false

DailyRecurrence

Name Type Required Description
interval integer false

WeeklyRecurrence

Name Type Required Description
interval integer false
dayOfWeekList integer[ ] false

MonthlyRecurrence

Name Type Required Description
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek integer[ ] false

YearlyRecurrence

Name Type Required Description
interval integer false
dayOfWeekList integer[ ] false
daysOfYear integer[ ] false
numberOfWeekList integer[ ] false

Object for field metadata

Name Type Required Description
* string false

TimeRestriction

Name Type Required Description
id string false
controllerId string false
zoneNumbers integer[ ] false
startTime integer false
endTime integer false
count integer false
applyUntil integer false
dailyRecurrence DailyRecurrence false
weeklyRecurrence WeeklyRecurrence false
monthlyRecurrence MonthlyRecurrence false
yearlyRecurrence YearlyRecurrence false
wateringManuallyAllowed boolean false
metadata Object for field metadata false
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction TimeRestriction false
name string false
weatherRestrictionId string false
userId string false
allZones boolean false

Delete a Time Restriction by id

Request

curl "https://developer-api.etwater.com/api/v1/restrictions/time/{id}" \
-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/restrictions/time/{id}

Request parameters

Name Type Part Required Description
Authorization string header true
Unity-Api-Gateway-Replace-UserId string header false
id string path true

HTTP Responses

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

Update a Schedule Restriction by id

Request

curl "https://developer-api.etwater.com/api/v1/restrictions/time/{id}" \
-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\",
    \"controllerId\": \"example string value\",
    \"zoneNumbers\": [
        230
    ],
    \"startTime\": 26,
    \"endTime\": 506,
    \"count\": 500,
    \"applyUntil\": 82,
    \"dailyRecurrence\": {
        \"interval\": \"1\"
    },
    \"weeklyRecurrence\": {
        \"interval\": \"1\",
        \"dayOfWeekList\": [
            4
        ]
    },
    \"monthlyRecurrence\": {
        \"interval\": \"1\",
        \"daysOfMonth\": null,
        \"positionInMonth\": 487,
        \"daysOfWeek\": [
            2
        ]
    },
    \"yearlyRecurrence\": {
        \"interval\": \"1\",
        \"dayOfWeekList\": [
            2
        ],
        \"daysOfYear\": null,
        \"numberOfWeekList\": null
    },
    \"wateringManuallyAllowed\": \"1\",
    \"metadata\": {
        \"example_property_name\": \"example string value\"
    },
    \"areaRegionTypeIds\": [
        503
    ],
    \"emitterTypeIds\": [
        113
    ],
    \"municipalRestrictionId\": \"example string value\",
    \"modified\": true,
    \"basicMunicipalRestriction\": {
        \"id\": \"example string value\",
        \"controllerId\": \"example string value\",
        \"zoneNumbers\": [
            586
        ],
        \"startTime\": 1,
        \"endTime\": 156,
        \"count\": 25,
        \"applyUntil\": 591,
        \"dailyRecurrence\": {
            \"interval\": \"1\"
        },
        \"weeklyRecurrence\": {
            \"interval\": \"1\",
            \"dayOfWeekList\": [
                4
            ]
        },
        \"monthlyRecurrence\": {
            \"interval\": \"1\",
            \"daysOfMonth\": null,
            \"positionInMonth\": 956,
            \"daysOfWeek\": [
                3
            ]
        },
        \"yearlyRecurrence\": {
            \"interval\": \"1\",
            \"dayOfWeekList\": [
                5
            ],
            \"daysOfYear\": null,
            \"numberOfWeekList\": null
        },
        \"wateringManuallyAllowed\": \"1\",
        \"metadata\": {
            \"example_property_name\": \"example string value\"
        },
        \"areaRegionTypeIds\": [
            734
        ],
        \"emitterTypeIds\": [
            928
        ],
        \"municipalRestrictionId\": \"example string value\",
        \"modified\": true,
        \"basicMunicipalRestriction\": null,
        \"name\": \"example string value\",
        \"weatherRestrictionId\": \"example string value\",
        \"userId\": \"example string value\",
        \"allZones\": false
    },
    \"name\": \"example string value\",
    \"weatherRestrictionId\": \"example string value\",
    \"userId\": \"example string value\",
    \"allZones\": false
}"

On success, the above request returns response like

{
    "id": "example string value",
    "controllerId": "example string value",
    "zoneNumbers": [
        126
    ],
    "startTime": 114,
    "endTime": 164,
    "count": 729,
    "applyUntil": 958,
    "dailyRecurrence": {
        "interval": "1"
    },
    "weeklyRecurrence": {
        "interval": "1",
        "dayOfWeekList": [
            6
        ]
    },
    "monthlyRecurrence": {
        "interval": "1",
        "daysOfMonth": null,
        "positionInMonth": 814,
        "daysOfWeek": [
            0
        ]
    },
    "yearlyRecurrence": {
        "interval": "1",
        "dayOfWeekList": [
            1
        ],
        "daysOfYear": null,
        "numberOfWeekList": null
    },
    "wateringManuallyAllowed": "1",
    "metadata": {
        "example_property_name": "example string value"
    },
    "areaRegionTypeIds": [
        991
    ],
    "emitterTypeIds": [
        301
    ],
    "municipalRestrictionId": "example string value",
    "modified": false,
    "basicMunicipalRestriction": {
        "id": "example string value",
        "controllerId": "example string value",
        "zoneNumbers": [
            485
        ],
        "startTime": 847,
        "endTime": 585,
        "count": 746,
        "applyUntil": 773,
        "dailyRecurrence": {
            "interval": "1"
        },
        "weeklyRecurrence": {
            "interval": "1",
            "dayOfWeekList": [
                4
            ]
        },
        "monthlyRecurrence": {
            "interval": "1",
            "daysOfMonth": null,
            "positionInMonth": 348,
            "daysOfWeek": [
                1
            ]
        },
        "yearlyRecurrence": {
            "interval": "1",
            "dayOfWeekList": [
                0
            ],
            "daysOfYear": null,
            "numberOfWeekList": null
        },
        "wateringManuallyAllowed": "1",
        "metadata": {
            "example_property_name": "example string value"
        },
        "areaRegionTypeIds": [
            539
        ],
        "emitterTypeIds": [
            75
        ],
        "municipalRestrictionId": "example string value",
        "modified": true,
        "basicMunicipalRestriction": null,
        "name": "example string value",
        "weatherRestrictionId": "example string value",
        "userId": "example string value",
        "allZones": false
    },
    "name": "example string value",
    "weatherRestrictionId": "example string value",
    "userId": "example string value",
    "allZones": true
}

HTTP Request

PUT /api/v1/restrictions/time/{id}

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
Unity-Api-Gateway-Replace-UserId string header false
id string path true
TimeRestriction TimeRestriction body true

TimeRestriction

Name Type Required Description
id string false
controllerId string false
zoneNumbers integer[ ] false
startTime integer false
endTime integer false
count integer false
applyUntil integer false
dailyRecurrence DailyRecurrence false
weeklyRecurrence WeeklyRecurrence false
monthlyRecurrence MonthlyRecurrence false
yearlyRecurrence YearlyRecurrence false
wateringManuallyAllowed boolean false
metadata Object for field metadata false
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction TimeRestriction false
name string false
weatherRestrictionId string false
userId string false
allZones boolean false

DailyRecurrence

Name Type Required Description
interval integer false

WeeklyRecurrence

Name Type Required Description
interval integer false
dayOfWeekList integer[ ] false

MonthlyRecurrence

Name Type Required Description
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek integer[ ] false

YearlyRecurrence

Name Type Required Description
interval integer false
dayOfWeekList integer[ ] false
daysOfYear integer[ ] false
numberOfWeekList integer[ ] false

Object for field metadata

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
controllerId string false
zoneNumbers integer[ ] false
startTime integer false
endTime integer false
count integer false
applyUntil integer false
dailyRecurrence DailyRecurrence false
weeklyRecurrence WeeklyRecurrence false
monthlyRecurrence MonthlyRecurrence false
yearlyRecurrence YearlyRecurrence false
wateringManuallyAllowed boolean false
metadata Object for field metadata false
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction TimeRestriction false
name string false
weatherRestrictionId string false
userId string false
allZones boolean false

DailyRecurrence

Name Type Required Description
interval integer false

WeeklyRecurrence

Name Type Required Description
interval integer false
dayOfWeekList integer[ ] false

MonthlyRecurrence

Name Type Required Description
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek integer[ ] false

YearlyRecurrence

Name Type Required Description
interval integer false
dayOfWeekList integer[ ] false
daysOfYear integer[ ] false
numberOfWeekList integer[ ] false

Object for field metadata

Name Type Required Description
* string false

TimeRestriction

Name Type Required Description
id string false
controllerId string false
zoneNumbers integer[ ] false
startTime integer false
endTime integer false
count integer false
applyUntil integer false
dailyRecurrence DailyRecurrence false
weeklyRecurrence WeeklyRecurrence false
monthlyRecurrence MonthlyRecurrence false
yearlyRecurrence YearlyRecurrence false
wateringManuallyAllowed boolean false
metadata Object for field metadata false
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction TimeRestriction false
name string false
weatherRestrictionId string false
userId string false
allZones boolean false

Copy Time Restriction

Request

curl "https://developer-api.etwater.com/api/v1/restrictions/time/{id}/rpc-copy" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"sourceId\": \"example string value\",
    \"destinationName\": \"example string value\",
    \"destinationControllerId\": \"example string value\"
}"

On success, the above request returns response like

no reponse

HTTP Request

POST /api/v1/restrictions/time/{id}/rpc-copy

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
id string path true
TimeRestriction CopyTimeRestrictionRequest body true

CopyTimeRestrictionRequest

Name Type Required Description
sourceId string true
destinationName string false
destinationControllerId string true

HTTP Responses

Code Description
201 Created
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
controllerId string false
zoneNumbers integer[ ] false
startTime integer false
endTime integer false
count integer false
applyUntil integer false
dailyRecurrence DailyRecurrence false
weeklyRecurrence WeeklyRecurrence false
monthlyRecurrence MonthlyRecurrence false
yearlyRecurrence YearlyRecurrence false
wateringManuallyAllowed boolean false
metadata Object for field metadata false
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction TimeRestriction false
name string false
weatherRestrictionId string false
userId string false
allZones boolean false

DailyRecurrence

Name Type Required Description
interval integer false

WeeklyRecurrence

Name Type Required Description
interval integer false
dayOfWeekList integer[ ] false

MonthlyRecurrence

Name Type Required Description
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek integer[ ] false

YearlyRecurrence

Name Type Required Description
interval integer false
dayOfWeekList integer[ ] false
daysOfYear integer[ ] false
numberOfWeekList integer[ ] false

Object for field metadata

Name Type Required Description
* string false

TimeRestriction

Name Type Required Description
id string false
controllerId string false
zoneNumbers integer[ ] false
startTime integer false
endTime integer false
count integer false
applyUntil integer false
dailyRecurrence DailyRecurrence false
weeklyRecurrence WeeklyRecurrence false
monthlyRecurrence MonthlyRecurrence false
yearlyRecurrence YearlyRecurrence false
wateringManuallyAllowed boolean false
metadata Object for field metadata false
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction TimeRestriction false
name string false
weatherRestrictionId string false
userId string false
allZones boolean false

V1 | Restrictions | Weather Restrictions

The Unity API will automatically pick the best time during the day or night when to irrigate based on the weather, the soil and the plant needs. Use the Restrictions Weather API to set and manage when to disallow irrigation based on weather conditions, such as with high winds, low temperatures, after it rained or when rain is forecast. Each can be set per zone to its own threshold.

Get all Weather Restrictions

Request

curl "https://developer-api.etwater.com/api/v1/restrictions/weather?controllerId=example+string+value" \
-X GET \
-H "Authorization: example string value" \
-H "Unity-Api-Gateway-Replace-UserId: example string value"

On success, the above request returns response like

[
    {
        "id": "example string value",
        "userId": "example string value",
        "controllerId": "example string value",
        "zoneNumbers": [
            972
        ],
        "wateringInRain": true,
        "rainProbability": 778,
        "minWateringTemperature": 949,
        "wateringAfterRain": 579,
        "highWind": false,
        "createdAt": 20,
        "updatedAt": 299,
        "municipalRestrictionId": "example string value",
        "modified": false,
        "basicMunicipalRestriction": {
            "id": "example string value",
            "userId": "example string value",
            "controllerId": "example string value",
            "zoneNumbers": [
                649
            ],
            "wateringInRain": false,
            "rainProbability": 362,
            "minWateringTemperature": 614,
            "wateringAfterRain": 753,
            "highWind": true,
            "createdAt": 71,
            "updatedAt": 615,
            "municipalRestrictionId": "example string value",
            "modified": true,
            "basicMunicipalRestriction": null,
            "name": "example string value",
            "areaId": "example string value",
            "denyWateringRainAmount": 179,
            "allZones": false,
            "forbiddenWateringBeforeRainHours": 393,
            "rainSensitivityLevel": "example string value"
        },
        "name": "example string value",
        "areaId": "example string value",
        "denyWateringRainAmount": 639,
        "allZones": false,
        "forbiddenWateringBeforeRainHours": 618,
        "rainSensitivityLevel": "example string value"
    }
]

HTTP Request

GET /api/v1/restrictions/weather

Request parameters

Name Type Part Required Description
Authorization string header true
Unity-Api-Gateway-Replace-UserId string header false
controllerId string query 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
userId string false
controllerId string true
zoneNumbers integer[ ] false
wateringInRain boolean false
rainProbability integer false
minWateringTemperature number false
wateringAfterRain integer false
highWind boolean false
createdAt integer false
updatedAt integer false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction WeatherConstraint false
name string false
areaId string false
denyWateringRainAmount number false
allZones boolean false
forbiddenWateringBeforeRainHours integer false
rainSensitivityLevel string false

WeatherConstraint

Name Type Required Description
id string false
userId string false
controllerId string true
zoneNumbers integer[ ] false
wateringInRain boolean false
rainProbability integer false
minWateringTemperature number false
wateringAfterRain integer false
highWind boolean false
createdAt integer false
updatedAt integer false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction WeatherConstraint false
name string false
areaId string false
denyWateringRainAmount number false
allZones boolean false
forbiddenWateringBeforeRainHours integer false
rainSensitivityLevel string false

Create a Time Restriction

Request

curl "https://developer-api.etwater.com/api/v1/restrictions/weather" \
-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\",
    \"userId\": \"example string value\",
    \"controllerId\": \"example string value\",
    \"zoneNumbers\": [
        839
    ],
    \"wateringInRain\": true,
    \"rainProbability\": 740,
    \"minWateringTemperature\": 843,
    \"wateringAfterRain\": 890,
    \"highWind\": true,
    \"createdAt\": 956,
    \"updatedAt\": 811,
    \"municipalRestrictionId\": \"example string value\",
    \"modified\": true,
    \"basicMunicipalRestriction\": {
        \"id\": \"example string value\",
        \"userId\": \"example string value\",
        \"controllerId\": \"example string value\",
        \"zoneNumbers\": [
            56
        ],
        \"wateringInRain\": false,
        \"rainProbability\": 554,
        \"minWateringTemperature\": 441.92338056951917,
        \"wateringAfterRain\": 794,
        \"highWind\": true,
        \"createdAt\": 653,
        \"updatedAt\": 196,
        \"municipalRestrictionId\": \"example string value\",
        \"modified\": true,
        \"basicMunicipalRestriction\": null,
        \"name\": \"example string value\",
        \"areaId\": \"example string value\",
        \"denyWateringRainAmount\": 378,
        \"allZones\": true,
        \"forbiddenWateringBeforeRainHours\": 917,
        \"rainSensitivityLevel\": \"example string value\"
    },
    \"name\": \"example string value\",
    \"areaId\": \"example string value\",
    \"denyWateringRainAmount\": 787,
    \"allZones\": false,
    \"forbiddenWateringBeforeRainHours\": 752,
    \"rainSensitivityLevel\": \"example string value\"
}"

On success, the above request returns response like

no reponse

HTTP Request

POST /api/v1/restrictions/weather

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
Unity-Api-Gateway-Replace-UserId string header false
WeatherConstraint WeatherConstraint body true

WeatherConstraint

Name Type Required Description
id string false
userId string false
controllerId string true
zoneNumbers integer[ ] false
wateringInRain boolean false
rainProbability integer false
minWateringTemperature number false
wateringAfterRain integer false
highWind boolean false
createdAt integer false
updatedAt integer false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction WeatherConstraint false
name string false
areaId string false
denyWateringRainAmount number false
allZones boolean false
forbiddenWateringBeforeRainHours integer false
rainSensitivityLevel string false

HTTP Responses

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

Successful response

Name Type Required Description
id string false
userId string false
controllerId string true
zoneNumbers integer[ ] false
wateringInRain boolean false
rainProbability integer false
minWateringTemperature number false
wateringAfterRain integer false
highWind boolean false
createdAt integer false
updatedAt integer false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction WeatherConstraint false
name string false
areaId string false
denyWateringRainAmount number false
allZones boolean false
forbiddenWateringBeforeRainHours integer false
rainSensitivityLevel string false

WeatherConstraint

Name Type Required Description
id string false
userId string false
controllerId string true
zoneNumbers integer[ ] false
wateringInRain boolean false
rainProbability integer false
minWateringTemperature number false
wateringAfterRain integer false
highWind boolean false
createdAt integer false
updatedAt integer false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction WeatherConstraint false
name string false
areaId string false
denyWateringRainAmount number false
allZones boolean false
forbiddenWateringBeforeRainHours integer false
rainSensitivityLevel string false

Get a Time Restriction by id

Request

curl "https://developer-api.etwater.com/api/v1/restrictions/weather/{id}" \
-X GET \
-H "Authorization: example string value" \
-H "Unity-Api-Gateway-Replace-UserId: example string value"

On success, the above request returns response like

{
    "id": "example string value",
    "userId": "example string value",
    "controllerId": "example string value",
    "zoneNumbers": [
        780
    ],
    "wateringInRain": true,
    "rainProbability": 688,
    "minWateringTemperature": 767,
    "wateringAfterRain": 344,
    "highWind": false,
    "createdAt": 427,
    "updatedAt": 93,
    "municipalRestrictionId": "example string value",
    "modified": false,
    "basicMunicipalRestriction": {
        "id": "example string value",
        "userId": "example string value",
        "controllerId": "example string value",
        "zoneNumbers": [
            925
        ],
        "wateringInRain": false,
        "rainProbability": 202,
        "minWateringTemperature": 703.39987878846,
        "wateringAfterRain": 675,
        "highWind": true,
        "createdAt": 219,
        "updatedAt": 731,
        "municipalRestrictionId": "example string value",
        "modified": true,
        "basicMunicipalRestriction": null,
        "name": "example string value",
        "areaId": "example string value",
        "denyWateringRainAmount": 536.5462673532526,
        "allZones": false,
        "forbiddenWateringBeforeRainHours": 760,
        "rainSensitivityLevel": "example string value"
    },
    "name": "example string value",
    "areaId": "example string value",
    "denyWateringRainAmount": 46,
    "allZones": false,
    "forbiddenWateringBeforeRainHours": 126,
    "rainSensitivityLevel": "example string value"
}

HTTP Request

GET /api/v1/restrictions/weather/{id}

Request parameters

Name Type Part Required Description
Authorization string header true
Unity-Api-Gateway-Replace-UserId string header false
id 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
userId string false
controllerId string true
zoneNumbers integer[ ] false
wateringInRain boolean false
rainProbability integer false
minWateringTemperature number false
wateringAfterRain integer false
highWind boolean false
createdAt integer false
updatedAt integer false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction WeatherConstraint false
name string false
areaId string false
denyWateringRainAmount number false
allZones boolean false
forbiddenWateringBeforeRainHours integer false
rainSensitivityLevel string false

WeatherConstraint

Name Type Required Description
id string false
userId string false
controllerId string true
zoneNumbers integer[ ] false
wateringInRain boolean false
rainProbability integer false
minWateringTemperature number false
wateringAfterRain integer false
highWind boolean false
createdAt integer false
updatedAt integer false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction WeatherConstraint false
name string false
areaId string false
denyWateringRainAmount number false
allZones boolean false
forbiddenWateringBeforeRainHours integer false
rainSensitivityLevel string false

Delete a Time Restriction by id

Request

curl "https://developer-api.etwater.com/api/v1/restrictions/weather/{id}" \
-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/restrictions/weather/{id}

Request parameters

Name Type Part Required Description
Authorization string header true
Unity-Api-Gateway-Replace-UserId string header false
id string path true

HTTP Responses

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

Update a Schedule Restriction by id

Request

curl "https://developer-api.etwater.com/api/v1/restrictions/weather/{id}" \
-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\",
    \"userId\": \"example string value\",
    \"controllerId\": \"example string value\",
    \"zoneNumbers\": [
        57
    ],
    \"wateringInRain\": true,
    \"rainProbability\": 404,
    \"minWateringTemperature\": 228,
    \"wateringAfterRain\": 137,
    \"highWind\": true,
    \"createdAt\": 34,
    \"updatedAt\": 378,
    \"municipalRestrictionId\": \"example string value\",
    \"modified\": true,
    \"basicMunicipalRestriction\": {
        \"id\": \"example string value\",
        \"userId\": \"example string value\",
        \"controllerId\": \"example string value\",
        \"zoneNumbers\": [
            289
        ],
        \"wateringInRain\": true,
        \"rainProbability\": 189,
        \"minWateringTemperature\": 563,
        \"wateringAfterRain\": 263,
        \"highWind\": true,
        \"createdAt\": 836,
        \"updatedAt\": 387,
        \"municipalRestrictionId\": \"example string value\",
        \"modified\": false,
        \"basicMunicipalRestriction\": null,
        \"name\": \"example string value\",
        \"areaId\": \"example string value\",
        \"denyWateringRainAmount\": 491,
        \"allZones\": false,
        \"forbiddenWateringBeforeRainHours\": 179,
        \"rainSensitivityLevel\": \"example string value\"
    },
    \"name\": \"example string value\",
    \"areaId\": \"example string value\",
    \"denyWateringRainAmount\": 922,
    \"allZones\": false,
    \"forbiddenWateringBeforeRainHours\": 252,
    \"rainSensitivityLevel\": \"example string value\"
}"

On success, the above request returns response like

{
    "id": "example string value",
    "userId": "example string value",
    "controllerId": "example string value",
    "zoneNumbers": [
        156
    ],
    "wateringInRain": false,
    "rainProbability": 659,
    "minWateringTemperature": 675.6954233514589,
    "wateringAfterRain": 372,
    "highWind": true,
    "createdAt": 764,
    "updatedAt": 727,
    "municipalRestrictionId": "example string value",
    "modified": true,
    "basicMunicipalRestriction": {
        "id": "example string value",
        "userId": "example string value",
        "controllerId": "example string value",
        "zoneNumbers": [
            88
        ],
        "wateringInRain": true,
        "rainProbability": 391,
        "minWateringTemperature": 608.8800372597203,
        "wateringAfterRain": 597,
        "highWind": false,
        "createdAt": 179,
        "updatedAt": 903,
        "municipalRestrictionId": "example string value",
        "modified": false,
        "basicMunicipalRestriction": null,
        "name": "example string value",
        "areaId": "example string value",
        "denyWateringRainAmount": 479,
        "allZones": false,
        "forbiddenWateringBeforeRainHours": 344,
        "rainSensitivityLevel": "example string value"
    },
    "name": "example string value",
    "areaId": "example string value",
    "denyWateringRainAmount": 434,
    "allZones": true,
    "forbiddenWateringBeforeRainHours": 419,
    "rainSensitivityLevel": "example string value"
}

HTTP Request

PUT /api/v1/restrictions/weather/{id}

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
Unity-Api-Gateway-Replace-UserId string header false
id string path true
WeatherConstraint WeatherConstraint body true

WeatherConstraint

Name Type Required Description
id string false
userId string false
controllerId string true
zoneNumbers integer[ ] false
wateringInRain boolean false
rainProbability integer false
minWateringTemperature number false
wateringAfterRain integer false
highWind boolean false
createdAt integer false
updatedAt integer false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction WeatherConstraint false
name string false
areaId string false
denyWateringRainAmount number false
allZones boolean false
forbiddenWateringBeforeRainHours integer false
rainSensitivityLevel 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
userId string false
controllerId string true
zoneNumbers integer[ ] false
wateringInRain boolean false
rainProbability integer false
minWateringTemperature number false
wateringAfterRain integer false
highWind boolean false
createdAt integer false
updatedAt integer false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction WeatherConstraint false
name string false
areaId string false
denyWateringRainAmount number false
allZones boolean false
forbiddenWateringBeforeRainHours integer false
rainSensitivityLevel string false

WeatherConstraint

Name Type Required Description
id string false
userId string false
controllerId string true
zoneNumbers integer[ ] false
wateringInRain boolean false
rainProbability integer false
minWateringTemperature number false
wateringAfterRain integer false
highWind boolean false
createdAt integer false
updatedAt integer false
municipalRestrictionId string false
modified boolean false
basicMunicipalRestriction WeatherConstraint false
name string false
areaId string false
denyWateringRainAmount number false
allZones boolean false
forbiddenWateringBeforeRainHours integer false
rainSensitivityLevel string false

V1 | Stations | Zones

Get all Zones.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/zones?controllerId=example+string+value&flagged=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

[]

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}/zones

Request parameters

Name Type Part Required Description
Authorization string header true
Unity-Api-Gateway-Replace-UserId string header false
projectId string path true Project id
controllerId string query false
flagged boolean 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

Create a Zone.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/zones?version=501" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"id\": \"example string value\",
    \"number\": 411,
    \"status\": 255,
    \"name\": \"example string value\",
    \"created_at\": 151,
    \"updated_at\": 706,
    \"weight\": 320,
    \"project_id\": \"example string value\",
    \"local_id\": \"example string value\",
    \"version\": \"-1\",
    \"controllerId\": \"example string value\",
    \"configured\": true,
    \"areaRegionStates\": {
        \"example_property_name\": true
    },
    \"ignoreRain\": false,
    \"flagged\": true,
    \"description\": \"example string value\"
}"

On success, the above request returns response like

no reponse

Zone has "Many to One" relation with Project, so for Zone creation project id is required.

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}/zones

Request parameters

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

GardeningZone

Name Type Required Description
id string false
number integer false
status integer false
name string false
created_at integer false
updated_at integer false
weight integer false
project_id string false
local_id string false
version integer false
controllerId string false
configured boolean false
areaRegionStates Object for field areaRegionStates false
ignoreRain boolean false
flagged boolean false
description string false

Object for field areaRegionStates

Name Type Required Description
* boolean 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
id string false
number integer false
status integer false
name string false
created_at integer false
updated_at integer false
weight integer false
project_id string false
local_id string false
version integer false
controllerId string false
configured boolean false
areaRegionStates Object for field areaRegionStates false
ignoreRain boolean false
flagged boolean false
description string false

Object for field areaRegionStates

Name Type Required Description
* boolean false

Create or update zones for project

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/zones?version=614" \
-X PATCH \
-H "Authorization: example string value" \
--data "[
    {
        \"id\": \"example string value\",
        \"number\": 593,
        \"status\": 251,
        \"name\": \"example string value\",
        \"created_at\": 899,
        \"updated_at\": 720,
        \"weight\": 954,
        \"project_id\": \"example string value\",
        \"local_id\": \"example string value\",
        \"version\": \"-1\",
        \"controllerId\": \"example string value\",
        \"configured\": false,
        \"areaRegionStates\": {
            \"example_property_name\": false
        },
        \"ignoreRain\": false,
        \"flagged\": true,
        \"description\": \"example string value\"
    }
]"

On success, the above request returns response like

[
    {
        "id": "example string value",
        "number": 603,
        "status": 416,
        "name": "example string value",
        "created_at": 434,
        "updated_at": 963,
        "weight": 136,
        "project_id": "example string value",
        "local_id": "example string value",
        "version": "-1",
        "controllerId": "example string value",
        "configured": true,
        "areaRegionStates": {
            "example_property_name": true
        },
        "ignoreRain": true,
        "flagged": false,
        "description": "example string value"
    }
]

HTTP Request

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

Request parameters

Name Type Part Required Description
Authorization string header true
projectId string path true Project id
Zones GardeningZone[ ] body true
version integer query false version of Project

GardeningZone

Name Type Required Description
id string false
number integer false
status integer false
name string false
created_at integer false
updated_at integer false
weight integer false
project_id string false
local_id string false
version integer false
controllerId string false
configured boolean false
areaRegionStates Object for field areaRegionStates false
ignoreRain boolean false
flagged boolean false
description string false

Object for field areaRegionStates

Name Type Required Description
* boolean 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
id string false
number integer false
status integer false
name string false
created_at integer false
updated_at integer false
weight integer false
project_id string false
local_id string false
version integer false
controllerId string false
configured boolean false
areaRegionStates Object for field areaRegionStates false
ignoreRain boolean false
flagged boolean false
description string false

Object for field areaRegionStates

Name Type Required Description
* boolean false

Get Zone by id.

Request

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

On success, the above request returns response like

{
    "id": "example string value",
    "number": 330,
    "status": 693,
    "name": "example string value",
    "created_at": 615,
    "updated_at": 345,
    "weight": 948,
    "project_id": "example string value",
    "local_id": "example string value",
    "version": "-1",
    "controllerId": "example string value",
    "configured": true,
    "areaRegionStates": {
        "example_property_name": true
    },
    "ignoreRain": false,
    "flagged": true,
    "description": "example string value"
}

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}/zones/{zoneId}

Request parameters

Name Type Part Required Description
Authorization string header true
projectId string path true Project id
zoneId string path true Zone 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
number integer false
status integer false
name string false
created_at integer false
updated_at integer false
weight integer false
project_id string false
local_id string false
version integer false
controllerId string false
configured boolean false
areaRegionStates Object for field areaRegionStates false
ignoreRain boolean false
flagged boolean false
description string false

Object for field areaRegionStates

Name Type Required Description
* boolean false

Delete Zone by id.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/zones/{zoneId}?version=553" \
-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}/zones/{zoneId}

Request parameters

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

HTTP Responses

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

Update/Merge Zone by id.

Request

curl "https://developer-api.etwater.com/api/v1/gardening/projects/{projectId}/zones/{zoneId}?version=647" \
-X PUT \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"id\": \"example string value\",
    \"number\": 309,
    \"status\": 254,
    \"name\": \"example string value\",
    \"created_at\": 252,
    \"updated_at\": 978,
    \"weight\": 800,
    \"project_id\": \"example string value\",
    \"local_id\": \"example string value\",
    \"version\": \"-1\",
    \"controllerId\": \"example string value\",
    \"configured\": false,
    \"areaRegionStates\": {
        \"example_property_name\": false
    },
    \"ignoreRain\": false,
    \"flagged\": true,
    \"description\": \"example string value\"
}"

On success, the above request returns response like

{
    "id": "example string value",
    "number": 639,
    "status": 668,
    "name": "example string value",
    "created_at": 967,
    "updated_at": 646,
    "weight": 712,
    "project_id": "example string value",
    "local_id": "example string value",
    "version": "-1",
    "controllerId": "example string value",
    "configured": true,
    "areaRegionStates": {
        "example_property_name": true
    },
    "ignoreRain": true,
    "flagged": true,
    "description": "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 fields description:

HTTP Request

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

Request parameters

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

GardeningZone

Name Type Required Description
id string false
number integer false
status integer false
name string false
created_at integer false
updated_at integer false
weight integer false
project_id string false
local_id string false
version integer false
controllerId string false
configured boolean false
areaRegionStates Object for field areaRegionStates false
ignoreRain boolean false
flagged boolean false
description string false

Object for field areaRegionStates

Name Type Required Description
* boolean 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
number integer false
status integer false
name string false
created_at integer false
updated_at integer false
weight integer false
project_id string false
local_id string false
version integer false
controllerId string false
configured boolean false
areaRegionStates Object for field areaRegionStates false
ignoreRain boolean false
flagged boolean false
description string false

Object for field areaRegionStates

Name Type Required Description
* boolean false

V2 | Atmosphere API extended

Get daily atmosphere data

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/extended/daily?longitude=258&latitude=253&startTimestamp=753&endTimestamp=817&keys%5B0%5D=RELATIVE_HUMIDITY" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "cluster": {
        "id": "example string value",
        "location": {
            "type": "example string value",
            "coordinates": [
                963.7393881397971
            ]
        }
    },
    "hourly": [
        {
            "time": 274,
            "etMm": 672,
            "rainMm": 245,
            "ghWm2": 998,
            "temperatureC": 743.125953591953,
            "dewPointC": 231.68008971571928,
            "windKmH": 713,
            "relativeHumidityPercent": 952.9499946874333,
            "precipitationProbabilityPercent": 211,
            "cloudCoverPercent": 224.33421864376135,
            "pressureKilopascals": 916.9796113469542,
            "windGustKmH": 976.087308477651,
            "timeEpoch": 666
        }
    ],
    "daily": [
        {
            "time": 356,
            "sunrise": 987,
            "sunset": 277,
            "etMm": 910,
            "rainMm": 119.53091580398889,
            "ghWm2": 93,
            "dewPointC": 791,
            "minTemperatureC": 166,
            "maxTemperatureC": 504.10358677809296,
            "minWindKmH": 871,
            "maxWindKmH": 731,
            "avgPressureKilopascals": 479.10698572132134,
            "avgCloudCoverPercent": 310,
            "avgRelativeHumidityPercent": 393.7866549909984,
            "maxPrecipitationProbabilityPercent": 825,
            "avgTemperatureC": 10,
            "minRelativeHumidityPercent": 431,
            "maxRelativeHumidityPercent": 667.5708576420186
        }
    ],
    "monthly": [
        {
            "time": 393,
            "etMm": 708.8026370428515,
            "rainMm": 274.74426071846125,
            "ghWm2": 702,
            "minTemperatureC": 370,
            "maxTemperatureC": 862,
            "minWindKmH": 885.5769782725614,
            "maxWindKmH": 253.56192619240002,
            "avgPressureKilopascals": 455.04691612676106,
            "avgCloudCoverPercent": 767,
            "avgRelativeHumidityPercent": 811.6982610950704,
            "maxPrecipitationProbabilityPercent": 838,
            "avgWindKmH": 829,
            "avgTemperatureC": 59,
            "avgDewPointC": 350.5305486500871,
            "minRelativeHumidityPercent": 480.55773390483006,
            "maxRelativeHumidityPercent": 390.0256419507906
        }
    ],
    "status": 524
}

HTTP Request

GET /api/v2/atmosphere/extended/daily

Request parameters

Name Type Part Required Description
Authorization string header true
longitude number query false
latitude number query false
startTimestamp integer query false
endTimestamp integer query false
keys array query false names of sections to show

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
cluster WeatherCluster true
hourly WeatherHourly[ ] false
daily WeatherDaily[ ] false
monthly WeatherMonthly[ ] false
status integer true

WeatherCluster

Name Type Required Description
id string false
location Location false

Location

Name Type Required Description
type string false
coordinates number[ ] false

WeatherHourly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
temperatureC number false
dewPointC number false
windKmH number false
relativeHumidityPercent number false
precipitationProbabilityPercent number false
cloudCoverPercent number false
pressureKilopascals number false
windGustKmH number false
timeEpoch integer false

WeatherDaily

Name Type Required Description
time integer false
sunrise integer false
sunset integer false
etMm number false
rainMm number false
ghWm2 integer false
dewPointC number false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgTemperatureC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

WeatherMonthly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgWindKmH number false
avgTemperatureC number false
avgDewPointC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

Get hourly atmosphere data

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/extended/hourly?longitude=176.0907038935&latitude=721.38983184536&startTimestamp=103&endTimestamp=564&keys%5B0%5D=PRESSURE" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "cluster": {
        "id": "example string value",
        "location": {
            "type": "example string value",
            "coordinates": [
                152
            ]
        }
    },
    "hourly": [
        {
            "time": 172,
            "etMm": 334,
            "rainMm": 262,
            "ghWm2": 66,
            "temperatureC": 761.8682150551435,
            "dewPointC": 279,
            "windKmH": 557.805869522414,
            "relativeHumidityPercent": 69,
            "precipitationProbabilityPercent": 201,
            "cloudCoverPercent": 824.216531973433,
            "pressureKilopascals": 808.9333888184901,
            "windGustKmH": 676.894027123644,
            "timeEpoch": 770
        }
    ],
    "daily": [
        {
            "time": 808,
            "sunrise": 9,
            "sunset": 228,
            "etMm": 485,
            "rainMm": 553,
            "ghWm2": 639,
            "dewPointC": 766.4544003859415,
            "minTemperatureC": 64.62153935088848,
            "maxTemperatureC": 275,
            "minWindKmH": 748.4833382761494,
            "maxWindKmH": 669.6746012520392,
            "avgPressureKilopascals": 423,
            "avgCloudCoverPercent": 200,
            "avgRelativeHumidityPercent": 198,
            "maxPrecipitationProbabilityPercent": 456,
            "avgTemperatureC": 860.975990472816,
            "minRelativeHumidityPercent": 29.394924654343598,
            "maxRelativeHumidityPercent": 669
        }
    ],
    "monthly": [
        {
            "time": 589,
            "etMm": 552.9038051855302,
            "rainMm": 861,
            "ghWm2": 552,
            "minTemperatureC": 966.2095983355351,
            "maxTemperatureC": 260.30217821723886,
            "minWindKmH": 262.45457970651546,
            "maxWindKmH": 907.7862784768391,
            "avgPressureKilopascals": 862,
            "avgCloudCoverPercent": 379,
            "avgRelativeHumidityPercent": 178,
            "maxPrecipitationProbabilityPercent": 393,
            "avgWindKmH": 127,
            "avgTemperatureC": 62.349016807204585,
            "avgDewPointC": 684.2987340336194,
            "minRelativeHumidityPercent": 130,
            "maxRelativeHumidityPercent": 119
        }
    ],
    "status": 124
}

HTTP Request

GET /api/v2/atmosphere/extended/hourly

Request parameters

Name Type Part Required Description
Authorization string header true
longitude number query false
latitude number query false
startTimestamp integer query false
endTimestamp integer query false
keys array query false names of sections to show

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
cluster WeatherCluster true
hourly WeatherHourly[ ] false
daily WeatherDaily[ ] false
monthly WeatherMonthly[ ] false
status integer true

WeatherCluster

Name Type Required Description
id string false
location Location false

Location

Name Type Required Description
type string false
coordinates number[ ] false

WeatherHourly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
temperatureC number false
dewPointC number false
windKmH number false
relativeHumidityPercent number false
precipitationProbabilityPercent number false
cloudCoverPercent number false
pressureKilopascals number false
windGustKmH number false
timeEpoch integer false

WeatherDaily

Name Type Required Description
time integer false
sunrise integer false
sunset integer false
etMm number false
rainMm number false
ghWm2 integer false
dewPointC number false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgTemperatureC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

WeatherMonthly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgWindKmH number false
avgTemperatureC number false
avgDewPointC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

Get monthly atmosphere data

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/extended/monthly?longitude=466&latitude=182&startTimestamp=454&endTimestamp=11&keys%5B0%5D=SUNRISE" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "cluster": {
        "id": "example string value",
        "location": {
            "type": "example string value",
            "coordinates": [
                280
            ]
        }
    },
    "hourly": [
        {
            "time": 232,
            "etMm": 80.62176130740984,
            "rainMm": 821,
            "ghWm2": 546,
            "temperatureC": 556,
            "dewPointC": 741,
            "windKmH": 556,
            "relativeHumidityPercent": 748,
            "precipitationProbabilityPercent": 715,
            "cloudCoverPercent": 458,
            "pressureKilopascals": 524.721838778221,
            "windGustKmH": 40,
            "timeEpoch": 919
        }
    ],
    "daily": [
        {
            "time": 690,
            "sunrise": 344,
            "sunset": 733,
            "etMm": 399,
            "rainMm": 6.221029444700586,
            "ghWm2": 937,
            "dewPointC": 578.2757501948046,
            "minTemperatureC": 427,
            "maxTemperatureC": 860.6288856177725,
            "minWindKmH": 274,
            "maxWindKmH": 367,
            "avgPressureKilopascals": 14.857281472001821,
            "avgCloudCoverPercent": 826,
            "avgRelativeHumidityPercent": 187,
            "maxPrecipitationProbabilityPercent": 158,
            "avgTemperatureC": 988,
            "minRelativeHumidityPercent": 145,
            "maxRelativeHumidityPercent": 543
        }
    ],
    "monthly": [
        {
            "time": 143,
            "etMm": 561.0654449840381,
            "rainMm": 917,
            "ghWm2": 648,
            "minTemperatureC": 566,
            "maxTemperatureC": 137,
            "minWindKmH": 444.3575588261511,
            "maxWindKmH": 700.6097369364508,
            "avgPressureKilopascals": 359.65881420283523,
            "avgCloudCoverPercent": 35,
            "avgRelativeHumidityPercent": 998,
            "maxPrecipitationProbabilityPercent": 934.0822333163034,
            "avgWindKmH": 629,
            "avgTemperatureC": 288.75514598971006,
            "avgDewPointC": 934.1971827364514,
            "minRelativeHumidityPercent": 144,
            "maxRelativeHumidityPercent": 922.8222099704772
        }
    ],
    "status": 638
}

HTTP Request

GET /api/v2/atmosphere/extended/monthly

Request parameters

Name Type Part Required Description
Authorization string header true
longitude number query false
latitude number query false
startTimestamp integer query false
endTimestamp integer query false
keys array query false names of sections to show

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
cluster WeatherCluster true
hourly WeatherHourly[ ] false
daily WeatherDaily[ ] false
monthly WeatherMonthly[ ] false
status integer true

WeatherCluster

Name Type Required Description
id string false
location Location false

Location

Name Type Required Description
type string false
coordinates number[ ] false

WeatherHourly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
temperatureC number false
dewPointC number false
windKmH number false
relativeHumidityPercent number false
precipitationProbabilityPercent number false
cloudCoverPercent number false
pressureKilopascals number false
windGustKmH number false
timeEpoch integer false

WeatherDaily

Name Type Required Description
time integer false
sunrise integer false
sunset integer false
etMm number false
rainMm number false
ghWm2 integer false
dewPointC number false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgTemperatureC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

WeatherMonthly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgWindKmH number false
avgTemperatureC number false
avgDewPointC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

Get daily atmosphere data

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/extended/cluster/{clusterId}/daily?startTimestamp=757&endTimestamp=267&keys%5B0%5D=DEWPOINT" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "cluster": {
        "id": "example string value",
        "location": {
            "type": "example string value",
            "coordinates": [
                527.4967223068219
            ]
        }
    },
    "hourly": [
        {
            "time": 896,
            "etMm": 391,
            "rainMm": 788.0482844952719,
            "ghWm2": 179,
            "temperatureC": 182,
            "dewPointC": 383.649428553716,
            "windKmH": 773,
            "relativeHumidityPercent": 854,
            "precipitationProbabilityPercent": 832,
            "cloudCoverPercent": 858,
            "pressureKilopascals": 188,
            "windGustKmH": 316.49732930422635,
            "timeEpoch": 706
        }
    ],
    "daily": [
        {
            "time": 668,
            "sunrise": 924,
            "sunset": 256,
            "etMm": 254,
            "rainMm": 986.642782104501,
            "ghWm2": 894,
            "dewPointC": 417.264494307928,
            "minTemperatureC": 77.2344796346661,
            "maxTemperatureC": 679,
            "minWindKmH": 900,
            "maxWindKmH": 62.3790417157016,
            "avgPressureKilopascals": 316,
            "avgCloudCoverPercent": 695.0525635364711,
            "avgRelativeHumidityPercent": 610.3802209768352,
            "maxPrecipitationProbabilityPercent": 361.7121974759326,
            "avgTemperatureC": 474.09652940654036,
            "minRelativeHumidityPercent": 536,
            "maxRelativeHumidityPercent": 144
        }
    ],
    "monthly": [
        {
            "time": 497,
            "etMm": 508.9555175551006,
            "rainMm": 247,
            "ghWm2": 2,
            "minTemperatureC": 109.62661128008115,
            "maxTemperatureC": 337,
            "minWindKmH": 71,
            "maxWindKmH": 621,
            "avgPressureKilopascals": 674,
            "avgCloudCoverPercent": 438,
            "avgRelativeHumidityPercent": 1,
            "maxPrecipitationProbabilityPercent": 168,
            "avgWindKmH": 870,
            "avgTemperatureC": 633.3167229934207,
            "avgDewPointC": 769.1330913310559,
            "minRelativeHumidityPercent": 156.53242224665937,
            "maxRelativeHumidityPercent": 538
        }
    ],
    "status": 388
}

HTTP Request

GET /api/v2/atmosphere/extended/cluster/{clusterId}/daily

Request parameters

Name Type Part Required Description
Authorization string header true
startTimestamp integer query false
endTimestamp integer query false
keys array query false names of sections to show
clusterId 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
cluster WeatherCluster true
hourly WeatherHourly[ ] false
daily WeatherDaily[ ] false
monthly WeatherMonthly[ ] false
status integer true

WeatherCluster

Name Type Required Description
id string false
location Location false

Location

Name Type Required Description
type string false
coordinates number[ ] false

WeatherHourly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
temperatureC number false
dewPointC number false
windKmH number false
relativeHumidityPercent number false
precipitationProbabilityPercent number false
cloudCoverPercent number false
pressureKilopascals number false
windGustKmH number false
timeEpoch integer false

WeatherDaily

Name Type Required Description
time integer false
sunrise integer false
sunset integer false
etMm number false
rainMm number false
ghWm2 integer false
dewPointC number false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgTemperatureC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

WeatherMonthly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgWindKmH number false
avgTemperatureC number false
avgDewPointC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

Get hourly atmosphere data

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/extended/cluster/{clusterId}/hourly?startTimestamp=445&endTimestamp=80&keys%5B0%5D=ET" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "cluster": {
        "id": "example string value",
        "location": {
            "type": "example string value",
            "coordinates": [
                447.9675993546693
            ]
        }
    },
    "hourly": [
        {
            "time": 15,
            "etMm": 576,
            "rainMm": 416.34502281264633,
            "ghWm2": 932,
            "temperatureC": 174.92692599768142,
            "dewPointC": 64.69189797746571,
            "windKmH": 459.95811487546104,
            "relativeHumidityPercent": 439,
            "precipitationProbabilityPercent": 14.5215471342772,
            "cloudCoverPercent": 507,
            "pressureKilopascals": 159,
            "windGustKmH": 374.0265538795043,
            "timeEpoch": 531
        }
    ],
    "daily": [
        {
            "time": 113,
            "sunrise": 69,
            "sunset": 898,
            "etMm": 351,
            "rainMm": 232.5962731766497,
            "ghWm2": 306,
            "dewPointC": 627.2883562498206,
            "minTemperatureC": 62.31643867786808,
            "maxTemperatureC": 501.47212273509814,
            "minWindKmH": 652,
            "maxWindKmH": 576,
            "avgPressureKilopascals": 359.24014465847995,
            "avgCloudCoverPercent": 43,
            "avgRelativeHumidityPercent": 284.21917850348126,
            "maxPrecipitationProbabilityPercent": 324.51431282074856,
            "avgTemperatureC": 901,
            "minRelativeHumidityPercent": 469,
            "maxRelativeHumidityPercent": 214
        }
    ],
    "monthly": [
        {
            "time": 537,
            "etMm": 348.0075562130695,
            "rainMm": 995,
            "ghWm2": 865,
            "minTemperatureC": 377,
            "maxTemperatureC": 760.3139443138214,
            "minWindKmH": 303.6271432897202,
            "maxWindKmH": 884.2384730857976,
            "avgPressureKilopascals": 964,
            "avgCloudCoverPercent": 441.16970451603163,
            "avgRelativeHumidityPercent": 347.8143137636661,
            "maxPrecipitationProbabilityPercent": 672,
            "avgWindKmH": 777,
            "avgTemperatureC": 140.90191067238428,
            "avgDewPointC": 987.4762506165897,
            "minRelativeHumidityPercent": 523,
            "maxRelativeHumidityPercent": 232.54408511917296
        }
    ],
    "status": 925
}

HTTP Request

GET /api/v2/atmosphere/extended/cluster/{clusterId}/hourly

Request parameters

Name Type Part Required Description
Authorization string header true
startTimestamp integer query false
endTimestamp integer query false
keys array query false names of sections to show
clusterId 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
cluster WeatherCluster true
hourly WeatherHourly[ ] false
daily WeatherDaily[ ] false
monthly WeatherMonthly[ ] false
status integer true

WeatherCluster

Name Type Required Description
id string false
location Location false

Location

Name Type Required Description
type string false
coordinates number[ ] false

WeatherHourly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
temperatureC number false
dewPointC number false
windKmH number false
relativeHumidityPercent number false
precipitationProbabilityPercent number false
cloudCoverPercent number false
pressureKilopascals number false
windGustKmH number false
timeEpoch integer false

WeatherDaily

Name Type Required Description
time integer false
sunrise integer false
sunset integer false
etMm number false
rainMm number false
ghWm2 integer false
dewPointC number false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgTemperatureC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

WeatherMonthly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgWindKmH number false
avgTemperatureC number false
avgDewPointC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

Get monthly atmosphere data

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/extended/cluster/{clusterId}/monthly?startTimestamp=218&endTimestamp=994&keys%5B0%5D=CLOUD_COVER" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "cluster": {
        "id": "example string value",
        "location": {
            "type": "example string value",
            "coordinates": [
                946.4761460882036
            ]
        }
    },
    "hourly": [
        {
            "time": 553,
            "etMm": 644.413600510179,
            "rainMm": 773,
            "ghWm2": 459,
            "temperatureC": 497.8157028080037,
            "dewPointC": 772,
            "windKmH": 507,
            "relativeHumidityPercent": 395,
            "precipitationProbabilityPercent": 415.4881706533433,
            "cloudCoverPercent": 622.3471707768492,
            "pressureKilopascals": 826.0462194802454,
            "windGustKmH": 72,
            "timeEpoch": 338
        }
    ],
    "daily": [
        {
            "time": 538,
            "sunrise": 858,
            "sunset": 658,
            "etMm": 622.0826807534708,
            "rainMm": 264,
            "ghWm2": 414,
            "dewPointC": 886,
            "minTemperatureC": 221.17115800323484,
            "maxTemperatureC": 540,
            "minWindKmH": 387,
            "maxWindKmH": 216.80885842852706,
            "avgPressureKilopascals": 706,
            "avgCloudCoverPercent": 203.36417956434386,
            "avgRelativeHumidityPercent": 936,
            "maxPrecipitationProbabilityPercent": 483,
            "avgTemperatureC": 812.0460630450613,
            "minRelativeHumidityPercent": 93.79106578127997,
            "maxRelativeHumidityPercent": 496
        }
    ],
    "monthly": [
        {
            "time": 405,
            "etMm": 900.4435147626529,
            "rainMm": 482,
            "ghWm2": 992,
            "minTemperatureC": 544,
            "maxTemperatureC": 386.5141167242611,
            "minWindKmH": 68,
            "maxWindKmH": 368,
            "avgPressureKilopascals": 577,
            "avgCloudCoverPercent": 812.5583780056603,
            "avgRelativeHumidityPercent": 119,
            "maxPrecipitationProbabilityPercent": 13,
            "avgWindKmH": 222,
            "avgTemperatureC": 809,
            "avgDewPointC": 576.7186254154511,
            "minRelativeHumidityPercent": 121.286647450778,
            "maxRelativeHumidityPercent": 548
        }
    ],
    "status": 97
}

HTTP Request

GET /api/v2/atmosphere/extended/cluster/{clusterId}/monthly

Request parameters

Name Type Part Required Description
Authorization string header true
startTimestamp integer query false
endTimestamp integer query false
keys array query false names of sections to show
clusterId 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
cluster WeatherCluster true
hourly WeatherHourly[ ] false
daily WeatherDaily[ ] false
monthly WeatherMonthly[ ] false
status integer true

WeatherCluster

Name Type Required Description
id string false
location Location false

Location

Name Type Required Description
type string false
coordinates number[ ] false

WeatherHourly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
temperatureC number false
dewPointC number false
windKmH number false
relativeHumidityPercent number false
precipitationProbabilityPercent number false
cloudCoverPercent number false
pressureKilopascals number false
windGustKmH number false
timeEpoch integer false

WeatherDaily

Name Type Required Description
time integer false
sunrise integer false
sunset integer false
etMm number false
rainMm number false
ghWm2 integer false
dewPointC number false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgTemperatureC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

WeatherMonthly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgWindKmH number false
avgTemperatureC number false
avgDewPointC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

Get atmosphere data bulk

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/extended/bulk" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "[
    {
        \"longitude\": 962.1546855020125,
        \"latitude\": 265.37514304061193,
        \"startTimestamp\": 518,
        \"endTimestamp\": 353,
        \"interval\": \"MONTH\",
        \"keys\": [
            \"WIND\"
        ],
        \"loadMissingWeather\": \"1\",
        \"calcMissingEt\": true
    }
]"

On success, the above request returns response like

[
    {
        "cluster": {
            "id": "example string value",
            "location": {
                "type": "example string value",
                "coordinates": [
                    838
                ]
            }
        },
        "hourly": [
            {
                "time": 764,
                "etMm": 590.4292187608914,
                "rainMm": 629,
                "ghWm2": 620,
                "temperatureC": 186.11892181733572,
                "dewPointC": 668,
                "windKmH": 440.62872717186286,
                "relativeHumidityPercent": 900,
                "precipitationProbabilityPercent": 107.38704498269922,
                "cloudCoverPercent": 266,
                "pressureKilopascals": 725.1594493748431,
                "windGustKmH": 990.7141551332148,
                "timeEpoch": 444
            }
        ],
        "daily": [
            {
                "time": 764,
                "sunrise": 163,
                "sunset": 691,
                "etMm": 571,
                "rainMm": 585,
                "ghWm2": 875,
                "dewPointC": 85.70095714447133,
                "minTemperatureC": 762.614525278385,
                "maxTemperatureC": 692.394491607507,
                "minWindKmH": 299,
                "maxWindKmH": 455,
                "avgPressureKilopascals": 378.9070860384531,
                "avgCloudCoverPercent": 876,
                "avgRelativeHumidityPercent": 739,
                "maxPrecipitationProbabilityPercent": 280.95917416781145,
                "avgTemperatureC": 839.6729393115608,
                "minRelativeHumidityPercent": 837.578647228693,
                "maxRelativeHumidityPercent": 405
            }
        ],
        "monthly": [
            {
                "time": 583,
                "etMm": 791,
                "rainMm": 893.9262646687805,
                "ghWm2": 385,
                "minTemperatureC": 398,
                "maxTemperatureC": 6,
                "minWindKmH": 475,
                "maxWindKmH": 793,
                "avgPressureKilopascals": 214.01199708413893,
                "avgCloudCoverPercent": 732,
                "avgRelativeHumidityPercent": 243,
                "maxPrecipitationProbabilityPercent": 514,
                "avgWindKmH": 210,
                "avgTemperatureC": 99,
                "avgDewPointC": 337,
                "minRelativeHumidityPercent": 900.5868155046305,
                "maxRelativeHumidityPercent": 655.8745767250073
            }
        ],
        "status": 827
    }
]

HTTP Request

POST /api/v2/atmosphere/extended/bulk

Request parameters

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

GetWeatherByCoordinatesRequest

Name Type Required Description
longitude number true
latitude number true
startTimestamp integer true
endTimestamp integer true
interval string true
keys string[ ] true
loadMissingWeather boolean false
calcMissingEt boolean 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
cluster WeatherCluster true
hourly WeatherHourly[ ] false
daily WeatherDaily[ ] false
monthly WeatherMonthly[ ] false
status integer true

WeatherCluster

Name Type Required Description
id string false
location Location false

Location

Name Type Required Description
type string false
coordinates number[ ] false

WeatherHourly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
temperatureC number false
dewPointC number false
windKmH number false
relativeHumidityPercent number false
precipitationProbabilityPercent number false
cloudCoverPercent number false
pressureKilopascals number false
windGustKmH number false
timeEpoch integer false

WeatherDaily

Name Type Required Description
time integer false
sunrise integer false
sunset integer false
etMm number false
rainMm number false
ghWm2 integer false
dewPointC number false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgTemperatureC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

WeatherMonthly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgWindKmH number false
avgTemperatureC number false
avgDewPointC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

V2 | Atmosphere Weather Cluster API

Get wether cluster by coordinates

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/weather-clusters/coordinates/{longitude}/{latitude}" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "id": "example string value",
    "location": {
        "type": "example string value",
        "coordinates": [
            971.8501814509975
        ]
    }
}

HTTP Request

GET /api/v2/atmosphere/weather-clusters/coordinates/{longitude}/{latitude}

Request parameters

Name Type Part Required Description
Authorization string header true
longitude number path true
latitude number 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 false
location Location false

Location

Name Type Required Description
type string false
coordinates number[ ] false

Get wether cluster by coordinates bulk

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/weather-clusters/bulk/get-by-coordinates" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "[
    {
        \"longitude\": -14,
        \"latitude\": -21
    }
]"

On success, the above request returns response like

[
    {
        "id": "example string value",
        "location": {
            "type": "example string value",
            "coordinates": [
                195.78965622735657
            ]
        }
    }
]

HTTP Request

POST /api/v2/atmosphere/weather-clusters/bulk/get-by-coordinates

Request parameters

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

GetWeatherClusterByCoordinatesRequest

Name Type Required Description
longitude number true
latitude number 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
location Location false

Location

Name Type Required Description
type string false
coordinates number[ ] false

Activate weather cluster bulk

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/weather-clusters/bulk/activate" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "[
    {
        \"clusterId\": \"example string value\"
    }
]"

On success, the above request returns response like

no reponse

HTTP Request

POST /api/v2/atmosphere/weather-clusters/bulk/activate

Request parameters

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

ActivateWeatherClusterRequest

Name Type Required Description
clusterId string true

HTTP Responses

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

V2 | Controllers | Time Restrictions

Get Time Restrictions

Request

curl "https://developer-api.etwater.com/api/v2/controllers/time-restrictions?controllerId=example+string+value&siteId=example+string+value&stationGroupId=example+string+value&active=0" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

[
    {
        "id": "example string value",
        "controllerId": "example string value",
        "name": "example string value",
        "repeatPattern": {
            "dailyRepeatPattern": {
                "repeatCount": 745,
                "applyUntilDateTime": "example string value",
                "interval": 94
            },
            "weeklyRepeatPattern": {
                "repeatCount": 142,
                "applyUntilDateTime": "example string value",
                "interval": 532,
                "daysOfWeek": [
                    "Fri"
                ]
            },
            "monthlyRepeatPattern": {
                "repeatCount": 695,
                "applyUntilDateTime": "example string value",
                "interval": 834,
                "daysOfMonth": null,
                "positionInMonth": 428,
                "daysOfWeek": [
                    "Sat"
                ]
            },
            "yearlyRepeatPattern": {
                "repeatCount": 455,
                "applyUntilDateTime": "example string value",
                "interval": 473,
                "daysOfWeek": [
                    "Mon"
                ],
                "daysOfYear": null,
                "numbersOfWeek": null
            },
            "oddDaysRepeatPattern": {
                "repeatCount": 573,
                "applyUntilDateTime": "example string value"
            },
            "evenDaysRepeatPattern": {
                "repeatCount": 313,
                "applyUntilDateTime": "example string value"
            },
            "weeklySameDayRepeatPattern": {
                "repeatCount": 152,
                "applyUntilDateTime": "example string value"
            },
            "weeklyWorkdaysRepeatPattern": {
                "repeatCount": 4,
                "applyUntilDateTime": "example string value"
            },
            "monthlySameDateRepeatPattern": {
                "repeatCount": 804,
                "applyUntilDateTime": "example string value"
            },
            "monthlySameDayRepeatPattern": {
                "repeatCount": 749,
                "applyUntilDateTime": "example string value"
            },
            "annuallySameDateRepeatPattern": {
                "repeatCount": 519,
                "applyUntilDateTime": "example string value"
            }
        },
        "createdAt": "example string value",
        "updatedAt": "example string value",
        "startDateTime": "example string value",
        "endDateTime": "example string value",
        "areaRegionTypeIds": [
            195
        ],
        "emitterTypeIds": [
            806
        ],
        "stationNumbers": [
            161
        ],
        "allStations": true,
        "effect": "ALLOW"
    }
]

HTTP Request

GET /api/v2/controllers/time-restrictions

Request parameters

Name Type Part Required Description
Authorization string header true
controllerId string query false
siteId string query false
stationGroupId string 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 is array of

Name Type Required Description
id string true
controllerId string true
name string true
repeatPattern RepeatPattern false
createdAt string true
updatedAt string true
startDateTime string true
endDateTime string true
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
stationNumbers integer[ ] false
allStations boolean false
effect string true

RepeatPattern

Name Type Required Description
dailyRepeatPattern DailyRepeatPattern false
weeklyRepeatPattern WeeklyRepeatPattern false
monthlyRepeatPattern MonthlyRepeatPattern false
yearlyRepeatPattern YearlyRepeatPattern false
oddDaysRepeatPattern OddDaysRepeatPattern false
evenDaysRepeatPattern EvenDaysRepeatPattern false
weeklySameDayRepeatPattern WeeklySameDayRepeatPattern false
weeklyWorkdaysRepeatPattern WeeklyWorkdaysRepeatPattern false
monthlySameDateRepeatPattern MonthlySameDateRepeatPattern false
monthlySameDayRepeatPattern MonthlySameDayRepeatPattern false
annuallySameDateRepeatPattern AnnuallySameDateRepeatPattern false

DailyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false

WeeklyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false

MonthlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek string[ ] false

YearlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false
daysOfYear integer[ ] false
numbersOfWeek integer[ ] false

OddDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

EvenDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklyWorkdaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

AnnuallySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

Get a Time Restriction by id

Request

curl "https://developer-api.etwater.com/api/v2/controllers/time-restrictions/{id}" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "id": "example string value",
    "controllerId": "example string value",
    "name": "example string value",
    "repeatPattern": {
        "dailyRepeatPattern": {
            "repeatCount": 2,
            "applyUntilDateTime": "example string value",
            "interval": 250
        },
        "weeklyRepeatPattern": {
            "repeatCount": 861,
            "applyUntilDateTime": "example string value",
            "interval": 246,
            "daysOfWeek": [
                "Fri"
            ]
        },
        "monthlyRepeatPattern": {
            "repeatCount": 229,
            "applyUntilDateTime": "example string value",
            "interval": 378,
            "daysOfMonth": null,
            "positionInMonth": 440,
            "daysOfWeek": [
                "Thu"
            ]
        },
        "yearlyRepeatPattern": {
            "repeatCount": 909,
            "applyUntilDateTime": "example string value",
            "interval": 751,
            "daysOfWeek": [
                "Tue"
            ],
            "daysOfYear": null,
            "numbersOfWeek": null
        },
        "oddDaysRepeatPattern": {
            "repeatCount": 375,
            "applyUntilDateTime": "example string value"
        },
        "evenDaysRepeatPattern": {
            "repeatCount": 67,
            "applyUntilDateTime": "example string value"
        },
        "weeklySameDayRepeatPattern": {
            "repeatCount": 51,
            "applyUntilDateTime": "example string value"
        },
        "weeklyWorkdaysRepeatPattern": {
            "repeatCount": 452,
            "applyUntilDateTime": "example string value"
        },
        "monthlySameDateRepeatPattern": {
            "repeatCount": 610,
            "applyUntilDateTime": "example string value"
        },
        "monthlySameDayRepeatPattern": {
            "repeatCount": 839,
            "applyUntilDateTime": "example string value"
        },
        "annuallySameDateRepeatPattern": {
            "repeatCount": 315,
            "applyUntilDateTime": "example string value"
        }
    },
    "createdAt": "example string value",
    "updatedAt": "example string value",
    "startDateTime": "example string value",
    "endDateTime": "example string value",
    "areaRegionTypeIds": [
        432
    ],
    "emitterTypeIds": [
        605
    ],
    "stationNumbers": [
        194
    ],
    "allStations": false,
    "effect": "DENY"
}

HTTP Request

GET /api/v2/controllers/time-restrictions/{id}

Request parameters

Name Type Part Required Description
Authorization string header true
id 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 true
controllerId string true
name string true
repeatPattern RepeatPattern false
createdAt string true
updatedAt string true
startDateTime string true
endDateTime string true
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
stationNumbers integer[ ] false
allStations boolean false
effect string true

RepeatPattern

Name Type Required Description
dailyRepeatPattern DailyRepeatPattern false
weeklyRepeatPattern WeeklyRepeatPattern false
monthlyRepeatPattern MonthlyRepeatPattern false
yearlyRepeatPattern YearlyRepeatPattern false
oddDaysRepeatPattern OddDaysRepeatPattern false
evenDaysRepeatPattern EvenDaysRepeatPattern false
weeklySameDayRepeatPattern WeeklySameDayRepeatPattern false
weeklyWorkdaysRepeatPattern WeeklyWorkdaysRepeatPattern false
monthlySameDateRepeatPattern MonthlySameDateRepeatPattern false
monthlySameDayRepeatPattern MonthlySameDayRepeatPattern false
annuallySameDateRepeatPattern AnnuallySameDateRepeatPattern false

DailyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false

WeeklyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false

MonthlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek string[ ] false

YearlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false
daysOfYear integer[ ] false
numbersOfWeek integer[ ] false

OddDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

EvenDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklyWorkdaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

AnnuallySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

Delete a Time Restriction by id

Request

curl "https://developer-api.etwater.com/api/v2/controllers/time-restrictions/{id}" \
-X DELETE \
-H "Authorization: example string value"

On success, the above request returns response like

no reponse

HTTP Request

DELETE /api/v2/controllers/time-restrictions/{id}

Request parameters

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

HTTP Responses

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

Update a Time Restriction by id

Request

curl "https://developer-api.etwater.com/api/v2/controllers/time-restrictions/{id}" \
-X PUT \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"id\": \"example string value\",
    \"controllerId\": \"example string value\",
    \"name\": \"example string value\",
    \"repeatPattern\": {
        \"dailyRepeatPattern\": {
            \"repeatCount\": 213,
            \"applyUntilDateTime\": \"example string value\",
            \"interval\": 129
        },
        \"weeklyRepeatPattern\": {
            \"repeatCount\": 723,
            \"applyUntilDateTime\": \"example string value\",
            \"interval\": 498,
            \"daysOfWeek\": [
                \"Thu\"
            ]
        },
        \"monthlyRepeatPattern\": {
            \"repeatCount\": 947,
            \"applyUntilDateTime\": \"example string value\",
            \"interval\": 999,
            \"daysOfMonth\": null,
            \"positionInMonth\": 317,
            \"daysOfWeek\": [
                \"Thu\"
            ]
        },
        \"yearlyRepeatPattern\": {
            \"repeatCount\": 493,
            \"applyUntilDateTime\": \"example string value\",
            \"interval\": 688,
            \"daysOfWeek\": [
                \"Mon\"
            ],
            \"daysOfYear\": null,
            \"numbersOfWeek\": null
        },
        \"oddDaysRepeatPattern\": {
            \"repeatCount\": 889,
            \"applyUntilDateTime\": \"example string value\"
        },
        \"evenDaysRepeatPattern\": {
            \"repeatCount\": 806,
            \"applyUntilDateTime\": \"example string value\"
        },
        \"weeklySameDayRepeatPattern\": {
            \"repeatCount\": 701,
            \"applyUntilDateTime\": \"example string value\"
        },
        \"weeklyWorkdaysRepeatPattern\": {
            \"repeatCount\": 245,
            \"applyUntilDateTime\": \"example string value\"
        },
        \"monthlySameDateRepeatPattern\": {
            \"repeatCount\": 674,
            \"applyUntilDateTime\": \"example string value\"
        },
        \"monthlySameDayRepeatPattern\": {
            \"repeatCount\": 284,
            \"applyUntilDateTime\": \"example string value\"
        },
        \"annuallySameDateRepeatPattern\": {
            \"repeatCount\": 656,
            \"applyUntilDateTime\": \"example string value\"
        }
    },
    \"startDateTime\": \"example string value\",
    \"endDateTime\": \"example string value\",
    \"areaRegionTypeIds\": [
        622
    ],
    \"emitterTypeIds\": [
        460
    ],
    \"stationNumbers\": [
        390
    ],
    \"allStations\": true,
    \"effect\": \"ALLOW\"
}"

On success, the above request returns response like

{
    "id": "example string value",
    "controllerId": "example string value",
    "name": "example string value",
    "repeatPattern": {
        "dailyRepeatPattern": {
            "repeatCount": 584,
            "applyUntilDateTime": "example string value",
            "interval": 265
        },
        "weeklyRepeatPattern": {
            "repeatCount": 803,
            "applyUntilDateTime": "example string value",
            "interval": 750,
            "daysOfWeek": [
                "Fri"
            ]
        },
        "monthlyRepeatPattern": {
            "repeatCount": 323,
            "applyUntilDateTime": "example string value",
            "interval": 618,
            "daysOfMonth": null,
            "positionInMonth": 110,
            "daysOfWeek": [
                "Tue"
            ]
        },
        "yearlyRepeatPattern": {
            "repeatCount": 521,
            "applyUntilDateTime": "example string value",
            "interval": 779,
            "daysOfWeek": [
                "Fri"
            ],
            "daysOfYear": null,
            "numbersOfWeek": null
        },
        "oddDaysRepeatPattern": {
            "repeatCount": 852,
            "applyUntilDateTime": "example string value"
        },
        "evenDaysRepeatPattern": {
            "repeatCount": 312,
            "applyUntilDateTime": "example string value"
        },
        "weeklySameDayRepeatPattern": {
            "repeatCount": 348,
            "applyUntilDateTime": "example string value"
        },
        "weeklyWorkdaysRepeatPattern": {
            "repeatCount": 927,
            "applyUntilDateTime": "example string value"
        },
        "monthlySameDateRepeatPattern": {
            "repeatCount": 638,
            "applyUntilDateTime": "example string value"
        },
        "monthlySameDayRepeatPattern": {
            "repeatCount": 958,
            "applyUntilDateTime": "example string value"
        },
        "annuallySameDateRepeatPattern": {
            "repeatCount": 63,
            "applyUntilDateTime": "example string value"
        }
    },
    "createdAt": "example string value",
    "updatedAt": "example string value",
    "startDateTime": "example string value",
    "endDateTime": "example string value",
    "areaRegionTypeIds": [
        646
    ],
    "emitterTypeIds": [
        174
    ],
    "stationNumbers": [
        552
    ],
    "allStations": false,
    "effect": "ALLOW"
}

HTTP Request

PUT /api/v2/controllers/time-restrictions/{id}

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
id string path true
UpdateTimeRestrictionRequest UpdateTimeRestrictionRequest body true

UpdateTimeRestrictionRequest

Name Type Required Description
id string true
controllerId string true
name string true
repeatPattern RepeatPattern false
startDateTime string true
endDateTime string true
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
stationNumbers integer[ ] false
allStations boolean false
effect string true

RepeatPattern

Name Type Required Description
dailyRepeatPattern DailyRepeatPattern false
weeklyRepeatPattern WeeklyRepeatPattern false
monthlyRepeatPattern MonthlyRepeatPattern false
yearlyRepeatPattern YearlyRepeatPattern false
oddDaysRepeatPattern OddDaysRepeatPattern false
evenDaysRepeatPattern EvenDaysRepeatPattern false
weeklySameDayRepeatPattern WeeklySameDayRepeatPattern false
weeklyWorkdaysRepeatPattern WeeklyWorkdaysRepeatPattern false
monthlySameDateRepeatPattern MonthlySameDateRepeatPattern false
monthlySameDayRepeatPattern MonthlySameDayRepeatPattern false
annuallySameDateRepeatPattern AnnuallySameDateRepeatPattern false

DailyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false

WeeklyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false

MonthlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek string[ ] false

YearlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false
daysOfYear integer[ ] false
numbersOfWeek integer[ ] false

OddDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

EvenDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklyWorkdaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

AnnuallySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string 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

Name Type Required Description
id string true
controllerId string true
name string true
repeatPattern RepeatPattern false
createdAt string true
updatedAt string true
startDateTime string true
endDateTime string true
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
stationNumbers integer[ ] false
allStations boolean false
effect string true

RepeatPattern

Name Type Required Description
dailyRepeatPattern DailyRepeatPattern false
weeklyRepeatPattern WeeklyRepeatPattern false
monthlyRepeatPattern MonthlyRepeatPattern false
yearlyRepeatPattern YearlyRepeatPattern false
oddDaysRepeatPattern OddDaysRepeatPattern false
evenDaysRepeatPattern EvenDaysRepeatPattern false
weeklySameDayRepeatPattern WeeklySameDayRepeatPattern false
weeklyWorkdaysRepeatPattern WeeklyWorkdaysRepeatPattern false
monthlySameDateRepeatPattern MonthlySameDateRepeatPattern false
monthlySameDayRepeatPattern MonthlySameDayRepeatPattern false
annuallySameDateRepeatPattern AnnuallySameDateRepeatPattern false

DailyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false

WeeklyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false

MonthlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek string[ ] false

YearlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false
daysOfYear integer[ ] false
numbersOfWeek integer[ ] false

OddDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

EvenDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklyWorkdaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

AnnuallySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

Copy Time Restriction

Request

curl "https://developer-api.etwater.com/api/v2/controllers/time-restrictions/{id}/rpc/copy" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"sourceId\": \"example string value\",
    \"destinationName\": \"example string value\",
    \"destinationControllerId\": \"example string value\"
}"

On success, the above request returns response like

no reponse

HTTP Request

POST /api/v2/controllers/time-restrictions/{id}/rpc/copy

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
id string path true
TimeRestriction CopyTimeRestrictionRequest body true

CopyTimeRestrictionRequest

Name Type Required Description
sourceId string true
destinationName string false
destinationControllerId string true

HTTP Responses

Code Description
201 Created
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 true
controllerId string true
name string true
repeatPattern RepeatPattern false
createdAt string true
updatedAt string true
startDateTime string true
endDateTime string true
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
stationNumbers integer[ ] false
allStations boolean false
effect string true

RepeatPattern

Name Type Required Description
dailyRepeatPattern DailyRepeatPattern false
weeklyRepeatPattern WeeklyRepeatPattern false
monthlyRepeatPattern MonthlyRepeatPattern false
yearlyRepeatPattern YearlyRepeatPattern false
oddDaysRepeatPattern OddDaysRepeatPattern false
evenDaysRepeatPattern EvenDaysRepeatPattern false
weeklySameDayRepeatPattern WeeklySameDayRepeatPattern false
weeklyWorkdaysRepeatPattern WeeklyWorkdaysRepeatPattern false
monthlySameDateRepeatPattern MonthlySameDateRepeatPattern false
monthlySameDayRepeatPattern MonthlySameDayRepeatPattern false
annuallySameDateRepeatPattern AnnuallySameDateRepeatPattern false

DailyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false

WeeklyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false

MonthlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek string[ ] false

YearlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false
daysOfYear integer[ ] false
numbersOfWeek integer[ ] false

OddDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

EvenDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklyWorkdaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

AnnuallySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

Get Time Restrictions

Request

curl "https://developer-api.etwater.com/api/v2/controllers/{controllerId}/time-restrictions?active=0" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

[
    {
        "id": "example string value",
        "controllerId": "example string value",
        "name": "example string value",
        "repeatPattern": {
            "dailyRepeatPattern": {
                "repeatCount": 601,
                "applyUntilDateTime": "example string value",
                "interval": 30
            },
            "weeklyRepeatPattern": {
                "repeatCount": 497,
                "applyUntilDateTime": "example string value",
                "interval": 814,
                "daysOfWeek": [
                    "Thu"
                ]
            },
            "monthlyRepeatPattern": {
                "repeatCount": 235,
                "applyUntilDateTime": "example string value",
                "interval": 1,
                "daysOfMonth": null,
                "positionInMonth": 520,
                "daysOfWeek": [
                    "Tue"
                ]
            },
            "yearlyRepeatPattern": {
                "repeatCount": 183,
                "applyUntilDateTime": "example string value",
                "interval": 689,
                "daysOfWeek": [
                    "Wed"
                ],
                "daysOfYear": null,
                "numbersOfWeek": null
            },
            "oddDaysRepeatPattern": {
                "repeatCount": 941,
                "applyUntilDateTime": "example string value"
            },
            "evenDaysRepeatPattern": {
                "repeatCount": 115,
                "applyUntilDateTime": "example string value"
            },
            "weeklySameDayRepeatPattern": {
                "repeatCount": 932,
                "applyUntilDateTime": "example string value"
            },
            "weeklyWorkdaysRepeatPattern": {
                "repeatCount": 940,
                "applyUntilDateTime": "example string value"
            },
            "monthlySameDateRepeatPattern": {
                "repeatCount": 806,
                "applyUntilDateTime": "example string value"
            },
            "monthlySameDayRepeatPattern": {
                "repeatCount": 213,
                "applyUntilDateTime": "example string value"
            },
            "annuallySameDateRepeatPattern": {
                "repeatCount": 390,
                "applyUntilDateTime": "example string value"
            }
        },
        "createdAt": "example string value",
        "updatedAt": "example string value",
        "startDateTime": "example string value",
        "endDateTime": "example string value",
        "areaRegionTypeIds": [
            419
        ],
        "emitterTypeIds": [
            522
        ],
        "stationNumbers": [
            437
        ],
        "allStations": true,
        "effect": "ALLOW"
    }
]

HTTP Request

GET /api/v2/controllers/{controllerId}/time-restrictions

Request parameters

Name Type Part Required Description
Authorization string header true
controllerId string path true
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 is array of

Name Type Required Description
id string true
controllerId string true
name string true
repeatPattern RepeatPattern false
createdAt string true
updatedAt string true
startDateTime string true
endDateTime string true
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
stationNumbers integer[ ] false
allStations boolean false
effect string true

RepeatPattern

Name Type Required Description
dailyRepeatPattern DailyRepeatPattern false
weeklyRepeatPattern WeeklyRepeatPattern false
monthlyRepeatPattern MonthlyRepeatPattern false
yearlyRepeatPattern YearlyRepeatPattern false
oddDaysRepeatPattern OddDaysRepeatPattern false
evenDaysRepeatPattern EvenDaysRepeatPattern false
weeklySameDayRepeatPattern WeeklySameDayRepeatPattern false
weeklyWorkdaysRepeatPattern WeeklyWorkdaysRepeatPattern false
monthlySameDateRepeatPattern MonthlySameDateRepeatPattern false
monthlySameDayRepeatPattern MonthlySameDayRepeatPattern false
annuallySameDateRepeatPattern AnnuallySameDateRepeatPattern false

DailyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false

WeeklyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false

MonthlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek string[ ] false

YearlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false
daysOfYear integer[ ] false
numbersOfWeek integer[ ] false

OddDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

EvenDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklyWorkdaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

AnnuallySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

Create a Time Restriction

Request

curl "https://developer-api.etwater.com/api/v2/controllers/{controllerId}/time-restrictions" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"controllerId\": \"example string value\",
    \"name\": \"example string value\",
    \"repeatPattern\": {
        \"dailyRepeatPattern\": {
            \"repeatCount\": 83,
            \"applyUntilDateTime\": \"example string value\",
            \"interval\": 600
        },
        \"weeklyRepeatPattern\": {
            \"repeatCount\": 289,
            \"applyUntilDateTime\": \"example string value\",
            \"interval\": 598,
            \"daysOfWeek\": [
                \"Sun\"
            ]
        },
        \"monthlyRepeatPattern\": {
            \"repeatCount\": 638,
            \"applyUntilDateTime\": \"example string value\",
            \"interval\": 268,
            \"daysOfMonth\": null,
            \"positionInMonth\": 37,
            \"daysOfWeek\": [
                \"Sat\"
            ]
        },
        \"yearlyRepeatPattern\": {
            \"repeatCount\": 302,
            \"applyUntilDateTime\": \"example string value\",
            \"interval\": 226,
            \"daysOfWeek\": [
                \"Thu\"
            ],
            \"daysOfYear\": null,
            \"numbersOfWeek\": null
        },
        \"oddDaysRepeatPattern\": {
            \"repeatCount\": 962,
            \"applyUntilDateTime\": \"example string value\"
        },
        \"evenDaysRepeatPattern\": {
            \"repeatCount\": 217,
            \"applyUntilDateTime\": \"example string value\"
        },
        \"weeklySameDayRepeatPattern\": {
            \"repeatCount\": 355,
            \"applyUntilDateTime\": \"example string value\"
        },
        \"weeklyWorkdaysRepeatPattern\": {
            \"repeatCount\": 343,
            \"applyUntilDateTime\": \"example string value\"
        },
        \"monthlySameDateRepeatPattern\": {
            \"repeatCount\": 178,
            \"applyUntilDateTime\": \"example string value\"
        },
        \"monthlySameDayRepeatPattern\": {
            \"repeatCount\": 287,
            \"applyUntilDateTime\": \"example string value\"
        },
        \"annuallySameDateRepeatPattern\": {
            \"repeatCount\": 746,
            \"applyUntilDateTime\": \"example string value\"
        }
    },
    \"startDateTime\": \"example string value\",
    \"endDateTime\": \"example string value\",
    \"areaRegionTypeIds\": [
        311
    ],
    \"emitterTypeIds\": [
        156
    ],
    \"stationNumbers\": [
        551
    ],
    \"allStations\": false,
    \"effect\": \"ALLOW\"
}"

On success, the above request returns response like

no reponse

HTTP Request

POST /api/v2/controllers/{controllerId}/time-restrictions

Request parameters

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

CreateTimeRestrictionRequest

Name Type Required Description
controllerId string true
name string true
repeatPattern RepeatPattern false
startDateTime string true
endDateTime string true
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
stationNumbers integer[ ] false
allStations boolean false
effect string true

RepeatPattern

Name Type Required Description
dailyRepeatPattern DailyRepeatPattern false
weeklyRepeatPattern WeeklyRepeatPattern false
monthlyRepeatPattern MonthlyRepeatPattern false
yearlyRepeatPattern YearlyRepeatPattern false
oddDaysRepeatPattern OddDaysRepeatPattern false
evenDaysRepeatPattern EvenDaysRepeatPattern false
weeklySameDayRepeatPattern WeeklySameDayRepeatPattern false
weeklyWorkdaysRepeatPattern WeeklyWorkdaysRepeatPattern false
monthlySameDateRepeatPattern MonthlySameDateRepeatPattern false
monthlySameDayRepeatPattern MonthlySameDayRepeatPattern false
annuallySameDateRepeatPattern AnnuallySameDateRepeatPattern false

DailyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false

WeeklyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false

MonthlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek string[ ] false

YearlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false
daysOfYear integer[ ] false
numbersOfWeek integer[ ] false

OddDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

EvenDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklyWorkdaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

AnnuallySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

HTTP Responses

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

Successful response

Name Type Required Description
id string true
controllerId string true
name string true
repeatPattern RepeatPattern false
createdAt string true
updatedAt string true
startDateTime string true
endDateTime string true
areaRegionTypeIds integer[ ] false
emitterTypeIds integer[ ] false
stationNumbers integer[ ] false
allStations boolean false
effect string true

RepeatPattern

Name Type Required Description
dailyRepeatPattern DailyRepeatPattern false
weeklyRepeatPattern WeeklyRepeatPattern false
monthlyRepeatPattern MonthlyRepeatPattern false
yearlyRepeatPattern YearlyRepeatPattern false
oddDaysRepeatPattern OddDaysRepeatPattern false
evenDaysRepeatPattern EvenDaysRepeatPattern false
weeklySameDayRepeatPattern WeeklySameDayRepeatPattern false
weeklyWorkdaysRepeatPattern WeeklyWorkdaysRepeatPattern false
monthlySameDateRepeatPattern MonthlySameDateRepeatPattern false
monthlySameDayRepeatPattern MonthlySameDayRepeatPattern false
annuallySameDateRepeatPattern AnnuallySameDateRepeatPattern false

DailyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false

WeeklyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false

MonthlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfMonth integer[ ] false
positionInMonth integer false
daysOfWeek string[ ] false

YearlyRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false
interval integer false
daysOfWeek string[ ] false
daysOfYear integer[ ] false
numbersOfWeek integer[ ] false

OddDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

EvenDaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

WeeklyWorkdaysRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

MonthlySameDayRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

AnnuallySameDateRepeatPattern

Name Type Required Description
repeatCount integer false
applyUntilDateTime string false

V2 | Sites | Manager Invitation

Invite site manager

Request

curl "https://developer-api.etwater.com/api/v2/sites/{siteId}/managers/rpc/invite" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"siteManagerInvitationRequest\": {
        \"siteId\": \"example string value\",
        \"email\": \"example string value\",
        \"firstName\": \"example string value\",
        \"lastName\": \"example string value\",
        \"address1\": \"example string value\",
        \"address2\": \"example string value\",
        \"city\": \"example string value\",
        \"state\": \"example string value\",
        \"postcode\": \"example string value\",
        \"phone1\": \"example string value\",
        \"phone2\": \"example string value\",
        \"accessType\": \"example string value\"
    },
    \"oAuthClientId\": \"example string value\"
}"

On success, the above request returns response like

no reponse

HTTP Request

POST /api/v2/sites/{siteId}/managers/rpc/invite

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
siteId string path true
SiteManagerInvitationRequestContainer SiteManagerInvitationRequestContainer body true

SiteManagerInvitationRequestContainer

Name Type Required Description
siteManagerInvitationRequest SiteManagerInvitationRequest true
oAuthClientId string true

SiteManagerInvitationRequest

Name Type Required Description
siteId string true
email string true
firstName string true
lastName string true
address1 string true
address2 string false
city string true
state string true
postcode string true
phone1 string true
phone2 string false
accessType string true

HTTP Responses

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

Successful response

Name Type Required Description
userId string true
firstName string true
lastName string true
email string true
accessType string true
siteId string true

V2 | Sites | Site Managers

Find site managers

Request

curl "https://developer-api.etwater.com/api/v2/sites/{siteId}/managers?page=1&size=50" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "managers": [
        {
            "userId": "example string value",
            "firstName": "example string value",
            "lastName": "example string value",
            "email": "example string value",
            "accessType": "example string value",
            "siteId": "example string value"
        }
    ],
    "page": 74,
    "size": 963,
    "total": 573
}

HTTP Request

GET /api/v2/sites/{siteId}/managers

Request parameters

Name Type Part Required Description
Authorization string header true
siteId string path true
page integer query false
size integer 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
managers SiteManager[ ] true
page integer true
size integer true
total integer true

SiteManager

Name Type Required Description
userId string true
firstName string true
lastName string true
email string true
accessType string true
siteId string true

Get site manager

Request

curl "https://developer-api.etwater.com/api/v2/sites/{siteId}/managers/{userId}" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "userId": "example string value",
    "firstName": "example string value",
    "lastName": "example string value",
    "email": "example string value",
    "accessType": "example string value",
    "siteId": "example string value"
}

HTTP Request

GET /api/v2/sites/{siteId}/managers/{userId}

Request parameters

Name Type Part Required Description
Authorization string header true
siteId string path true
userId 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
userId string true
firstName string true
lastName string true
email string true
accessType string true
siteId string true

Delete manager for site

Request

curl "https://developer-api.etwater.com/api/v2/sites/{siteId}/managers/{userId}" \
-X DELETE \
-H "Authorization: example string value"

On success, the above request returns response like

no reponse

HTTP Request

DELETE /api/v2/sites/{siteId}/managers/{userId}

Request parameters

Name Type Part Required Description
Authorization string header true
siteId string path true
userId string path true

HTTP Responses

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

Set managerfor site

Request

curl "https://developer-api.etwater.com/api/v2/sites/{siteId}/managers/{userId}" \
-X PUT \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "{
    \"accessType\": \"manager\"
}"

On success, the above request returns response like

no reponse

HTTP Request

PUT /api/v2/sites/{siteId}/managers/{userId}

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
siteId string path true
userId string path true
SetSiteManagerRequest SetSiteManagerRequest body true

SetSiteManagerRequest

Name Type Required Description
accessType string false

HTTP Responses

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

Successful response

Name Type Required Description
userId string true
firstName string true
lastName string true
email string true
accessType string true
siteId string true

V2 | Sites | Water Usage Report

Get water usage report

Request

curl "https://developer-api.etwater.com/api/v2/sites/{siteId}/water-usage/monthly?startDate=example+string+value&endDate=example+string+value" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "siteId": "example string value",
    "groupInterval": "MONTHLY",
    "items": [
        {
            "realWateringMm": 240.37209164368554,
            "effectiveWateringMm": 494.3354751422701,
            "rainMm": 313,
            "effectiveRainMm": 995,
            "etcMm": 894,
            "etoMm": 828,
            "date": "example string value"
        }
    ],
    "processingStatus": "UNPROCESSABLE"
}

HTTP Request

GET /api/v2/sites/{siteId}/water-usage/monthly

Request parameters

Name Type Part Required Description
Authorization string header true
siteId string path true
startDate string query true
endDate string query 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
siteId string true
groupInterval string true
items SiteWaterUsageReportItem[ ] false
processingStatus string true

SiteWaterUsageReportItem

Name Type Required Description
realWateringMm number true
effectiveWateringMm number true
rainMm number true
effectiveRainMm number true
etcMm number true
etoMm number true
date string true

Get water usage report

Request

curl "https://developer-api.etwater.com/api/v2/sites/{siteId}/water-usage/daily?startDate=example+string+value&endDate=example+string+value" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "siteId": "example string value",
    "groupInterval": "MONTHLY",
    "items": [
        {
            "realWateringMm": 665.4384278997027,
            "effectiveWateringMm": 405.79415224762363,
            "rainMm": 695.8329946248946,
            "effectiveRainMm": 666.5648960818373,
            "etcMm": 259.9709836114063,
            "etoMm": 710,
            "date": "example string value"
        }
    ],
    "processingStatus": "DONE"
}

HTTP Request

GET /api/v2/sites/{siteId}/water-usage/daily

Request parameters

Name Type Part Required Description
Authorization string header true
siteId string path true
startDate string query true
endDate string query 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
siteId string true
groupInterval string true
items SiteWaterUsageReportItem[ ] false
processingStatus string true

SiteWaterUsageReportItem

Name Type Required Description
realWateringMm number true
effectiveWateringMm number true
rainMm number true
effectiveRainMm number true
etcMm number true
etoMm number true
date string true

V2 | Users | Notification Preferences

Get all user notification preferences

Request

curl "https://developer-api.etwater.com/api/v2/users/{userId}/notification-preferences?userEditable=1&userVisible=0&platform%5B0%5D=UNITY&group%5B0%5D=GENERAL" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

[
    {
        "userId": "example string value",
        "notificationKey": "example string value",
        "notificationConfig": {
            "name": "example string value",
            "description": "example string value",
            "level": "USER",
            "platform": "LEGACY",
            "userEditable": false,
            "group": "COMMUNICATION_ISSUES",
            "userVisible": true
        },
        "notificationConfigParameters": {
            "notifyOnceInPeriod": false,
            "notificationTimePeriodHours": 843,
            "notifyByEmail": false,
            "notifyByText": true
        }
    }
]

HTTP Request

GET /api/v2/users/{userId}/notification-preferences

Request parameters

Name Type Part Required Description
Authorization string header true
userId string path true
userEditable boolean query false
userVisible boolean query false
platform array query false Comma separated status
group array query false Comma separated status

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

Name Type Required Description
userId string true
notificationKey string true
notificationConfig NotificationConfig true
notificationConfigParameters NotificationConfigParameters true

NotificationConfig

Name Type Required Description
name string true
description string true
level string true
platform string true
userEditable boolean true
group string true
userVisible boolean true

NotificationConfigParameters

Name Type Required Description
notifyOnceInPeriod boolean true
notificationTimePeriodHours integer true
notifyByEmail boolean true
notifyByText boolean false

Set user notification preferences

Request

curl "https://developer-api.etwater.com/api/v2/users/{userId}/notification-preferences" \
-X PUT \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "[
    {
        \"userId\": \"example string value\",
        \"notificationKey\": \"example string value\",
        \"notificationConfigParameters\": {
            \"notifyOnceInPeriod\": true,
            \"notificationTimePeriodHours\": 375,
            \"notifyByEmail\": false,
            \"notifyByText\": true
        }
    }
]"

On success, the above request returns response like

[
    {
        "userId": "example string value",
        "notificationKey": "example string value",
        "notificationName": "example string value",
        "notificationConfigParameters": {
            "notifyOnceInPeriod": false,
            "notificationTimePeriodHours": 945,
            "notifyByEmail": false,
            "notifyByText": false
        }
    }
]

HTTP Request

PUT /api/v2/users/{userId}/notification-preferences

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
userId string path true
SetUserNotificationConfigRequests SetUserNotificationConfigRequest[ ] body true

SetUserNotificationConfigRequest

Name Type Required Description
userId string true
notificationKey string true
notificationConfigParameters NotificationConfigParameters true

NotificationConfigParameters

Name Type Required Description
notifyOnceInPeriod boolean true
notificationTimePeriodHours integer true
notifyByEmail boolean true
notifyByText boolean 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
userId string true
notificationKey string true
notificationName string true
notificationConfigParameters NotificationConfigParameters true

NotificationConfigParameters

Name Type Required Description
notifyOnceInPeriod boolean true
notificationTimePeriodHours integer true
notifyByEmail boolean true
notifyByText boolean false

Get all user site notification preferences

Request

curl "https://developer-api.etwater.com/api/v2/users/{userId}/site/{siteId}/notification-preferences?userEditable=1&userVisible=0&platform%5B0%5D=LEGACY&group%5B0%5D=HARDWARE_FAILURES" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

[
    {
        "userId": "example string value",
        "notificationKey": "example string value",
        "notificationConfig": {
            "name": "example string value",
            "description": "example string value",
            "level": "SITE",
            "platform": "LEGACY",
            "userEditable": true,
            "group": "SCHEDULING_ISSUES",
            "userVisible": true
        },
        "siteId": "example string value",
        "notificationConfigParameters": {
            "notifyOnceInPeriod": true,
            "notificationTimePeriodHours": 434,
            "notifyByEmail": false,
            "notifyByText": true
        }
    }
]

HTTP Request

GET /api/v2/users/{userId}/site/{siteId}/notification-preferences

Request parameters

Name Type Part Required Description
Authorization string header true
userId string path true
siteId string path true
userEditable boolean query false
userVisible boolean query false
platform array query false Comma separated status
group array query false Comma separated status

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

Name Type Required Description
userId string true
notificationKey string true
notificationConfig NotificationConfig true
siteId string true
notificationConfigParameters NotificationConfigParameters true

NotificationConfig

Name Type Required Description
name string true
description string true
level string true
platform string true
userEditable boolean true
group string true
userVisible boolean true

NotificationConfigParameters

Name Type Required Description
notifyOnceInPeriod boolean true
notificationTimePeriodHours integer true
notifyByEmail boolean true
notifyByText boolean false

Set user site notification preferences

Request

curl "https://developer-api.etwater.com/api/v2/users/{userId}/site/{siteId}/notification-preferences" \
-X PUT \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "[
    {
        \"userId\": \"example string value\",
        \"notificationKey\": \"example string value\",
        \"siteId\": \"example string value\",
        \"notificationConfigParameters\": {
            \"notifyOnceInPeriod\": true,
            \"notificationTimePeriodHours\": 853,
            \"notifyByEmail\": false,
            \"notifyByText\": true
        }
    }
]"

On success, the above request returns response like

[
    {
        "userId": "example string value",
        "notificationKey": "example string value",
        "notificationName": "example string value",
        "siteId": "example string value",
        "notificationConfigParameters": {
            "notifyOnceInPeriod": true,
            "notificationTimePeriodHours": 546,
            "notifyByEmail": false,
            "notifyByText": false
        }
    }
]

HTTP Request

PUT /api/v2/users/{userId}/site/{siteId}/notification-preferences

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
userId string path true
siteId string path true
SetUserSiteNotificationConfigRequests SetUserSiteNotificationConfigRequest[ ] body true

SetUserSiteNotificationConfigRequest

Name Type Required Description
userId string true
notificationKey string true
siteId string true
notificationConfigParameters NotificationConfigParameters true

NotificationConfigParameters

Name Type Required Description
notifyOnceInPeriod boolean true
notificationTimePeriodHours integer true
notifyByEmail boolean true
notifyByText boolean 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
userId string true
notificationKey string true
notificationName string true
siteId string true
notificationConfigParameters NotificationConfigParameters true

NotificationConfigParameters

Name Type Required Description
notifyOnceInPeriod boolean true
notificationTimePeriodHours integer true
notifyByEmail boolean true
notifyByText boolean false

Get all user controller notification preferences

Request

curl "https://developer-api.etwater.com/api/v2/users/{userId}/controller/{controllerId}/notification-preferences?userEditable=0&userVisible=0&platform%5B0%5D=LEGACY&group%5B0%5D=GENERAL" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

[
    {
        "userId": "example string value",
        "notificationKey": "example string value",
        "notificationConfig": {
            "name": "example string value",
            "description": "example string value",
            "level": "USER",
            "platform": "UNITY",
            "userEditable": false,
            "group": "SCHEDULING_ISSUES",
            "userVisible": true
        },
        "controllerId": "example string value",
        "notificationConfigParameters": {
            "notifyOnceInPeriod": true,
            "notificationTimePeriodHours": 947,
            "notifyByEmail": false,
            "notifyByText": true
        }
    }
]

HTTP Request

GET /api/v2/users/{userId}/controller/{controllerId}/notification-preferences

Request parameters

Name Type Part Required Description
Authorization string header true
userId string path true
controllerId string path true
userEditable boolean query false
userVisible boolean query false
platform array query false Comma separated status
group array query false Comma separated status

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

Name Type Required Description
userId string true
notificationKey string true
notificationConfig NotificationConfig true
controllerId string true
notificationConfigParameters NotificationConfigParameters true

NotificationConfig

Name Type Required Description
name string true
description string true
level string true
platform string true
userEditable boolean true
group string true
userVisible boolean true

NotificationConfigParameters

Name Type Required Description
notifyOnceInPeriod boolean true
notificationTimePeriodHours integer true
notifyByEmail boolean true
notifyByText boolean false

Set user controller notification preferences

Request

curl "https://developer-api.etwater.com/api/v2/users/{userId}/controller/{controllerId}/notification-preferences" \
-X PUT \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "[
    {
        \"userId\": \"example string value\",
        \"notificationKey\": \"example string value\",
        \"controllerId\": \"example string value\",
        \"notificationConfigParameters\": {
            \"notifyOnceInPeriod\": false,
            \"notificationTimePeriodHours\": 835,
            \"notifyByEmail\": false,
            \"notifyByText\": false
        }
    }
]"

On success, the above request returns response like

[
    {
        "userId": "example string value",
        "notificationKey": "example string value",
        "notificationName": "example string value",
        "controllerId": "example string value",
        "notificationConfigParameters": {
            "notifyOnceInPeriod": true,
            "notificationTimePeriodHours": 223,
            "notifyByEmail": true,
            "notifyByText": true
        }
    }
]

HTTP Request

PUT /api/v2/users/{userId}/controller/{controllerId}/notification-preferences

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
userId string path true
controllerId string path true
SetUserControllerNotificationConfigRequests SetUserControllerNotificationConfigRequest[ ] body true

SetUserControllerNotificationConfigRequest

Name Type Required Description
userId string true
notificationKey string true
controllerId string true
notificationConfigParameters NotificationConfigParameters true

NotificationConfigParameters

Name Type Required Description
notifyOnceInPeriod boolean true
notificationTimePeriodHours integer true
notifyByEmail boolean true
notifyByText boolean 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
userId string true
notificationKey string true
notificationName string true
controllerId string true
notificationConfigParameters NotificationConfigParameters true

NotificationConfigParameters

Name Type Required Description
notifyOnceInPeriod boolean true
notificationTimePeriodHours integer true
notifyByEmail boolean true
notifyByText boolean false

Find user site notification preferences in bulk

Request

curl "https://developer-api.etwater.com/api/v2/users/{userId}/site-notification-preferences/rpc/find-bulk" \
-X POST \
-H "Authorization: example string value" \
-H "Content-Type: example string value" \
--data "[
    {
        \"userId\": \"example string value\",
        \"siteId\": \"example string value\",
        \"notificationConfigFilters\": {
            \"platforms\": [
                \"LEGACY\"
            ],
            \"userEditable\": false,
            \"groups\": [
                \"HARDWARE_FAILURES\"
            ],
            \"userVisible\": true
        }
    }
]"

On success, the above request returns response like

[
    {
        "userId": "example string value",
        "notificationKey": "example string value",
        "notificationConfig": {
            "name": "example string value",
            "description": "example string value",
            "level": "CONTROLLER",
            "platform": "LEGACY",
            "userEditable": true,
            "group": "GENERAL",
            "userVisible": false
        },
        "siteId": "example string value",
        "notificationConfigParameters": {
            "notifyOnceInPeriod": true,
            "notificationTimePeriodHours": 376,
            "notifyByEmail": false,
            "notifyByText": false
        }
    }
]

HTTP Request

POST /api/v2/users/{userId}/site-notification-preferences/rpc/find-bulk

Request parameters

Name Type Part Required Description
Authorization string header true
Content-Type string header true
userId string path true
FindUserSiteNotificationConfigsRequest FindUserSiteNotificationConfigsRequest[ ] body true

FindUserSiteNotificationConfigsRequest

Name Type Required Description
userId string true
siteId string true
notificationConfigFilters NotificationConfigFilters true

NotificationConfigFilters

Name Type Required Description
platforms string[ ] false
userEditable boolean false
groups string[ ] false
userVisible boolean 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
userId string true
notificationKey string true
notificationConfig NotificationConfig true
siteId string true
notificationConfigParameters NotificationConfigParameters true

NotificationConfig

Name Type Required Description
name string true
description string true
level string true
platform string true
userEditable boolean true
group string true
userVisible boolean true

NotificationConfigParameters

Name Type Required Description
notifyOnceInPeriod boolean true
notificationTimePeriodHours integer true
notifyByEmail boolean true
notifyByText boolean false

V2 | Weather | Weather

Get daily atmosphere data

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/daily?longitude=335.53409219512&latitude=885&startTimestamp=130&endTimestamp=492&keys%5B0%5D=SUNRISE" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "cluster": {
        "id": "example string value",
        "location": {
            "type": "example string value",
            "coordinates": [
                213.5155495319122
            ]
        }
    },
    "hourly": [
        {
            "time": 183,
            "etMm": 881.7222886168036,
            "rainMm": 627,
            "ghWm2": 820,
            "temperatureC": 751,
            "dewPointC": 260,
            "windKmH": 682.5168969493903,
            "relativeHumidityPercent": 580.981460204805,
            "precipitationProbabilityPercent": 665.3280782817528,
            "cloudCoverPercent": 705.2819736792156,
            "pressureKilopascals": 147,
            "windGustKmH": 612
        }
    ],
    "daily": [
        {
            "time": 215,
            "sunrise": 247,
            "sunset": 754,
            "etMm": 260,
            "rainMm": 140,
            "ghWm2": 930,
            "dewPointC": 537.3140571347037,
            "minTemperatureC": 154.633907207583,
            "maxTemperatureC": 987,
            "minWindKmH": 427,
            "maxWindKmH": 645,
            "avgPressureKilopascals": 653,
            "avgCloudCoverPercent": 674,
            "avgRelativeHumidityPercent": 658,
            "maxPrecipitationProbabilityPercent": 449,
            "avgTemperatureC": 516.9723855876235,
            "minRelativeHumidityPercent": 589.3126547286811,
            "maxRelativeHumidityPercent": 227.62632380594795
        }
    ],
    "monthly": [
        {
            "time": 682,
            "etMm": 804,
            "rainMm": 353,
            "ghWm2": 137,
            "minTemperatureC": 943.9752488136176,
            "maxTemperatureC": 811,
            "minWindKmH": 345,
            "maxWindKmH": 144.78407574108994,
            "avgPressureKilopascals": 675.2021362423907,
            "avgCloudCoverPercent": 465,
            "avgRelativeHumidityPercent": 265.94563865379695,
            "maxPrecipitationProbabilityPercent": 860,
            "avgWindKmH": 498,
            "avgTemperatureC": 430.5243005186898,
            "avgDewPointC": 69.23414909710836,
            "minRelativeHumidityPercent": 248,
            "maxRelativeHumidityPercent": 889.2304230896898
        }
    ],
    "status": 149
}

HTTP Request

GET /api/v2/atmosphere/daily

Request parameters

Name Type Part Required Description
Authorization string header true
longitude number query false
latitude number query false
startTimestamp integer query false
endTimestamp integer query false
keys array query false names of sections to show

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
cluster WeatherCluster false
hourly WeatherHourly[ ] false
daily WeatherDaily[ ] false
monthly WeatherMonthly[ ] false
status integer false

WeatherCluster

Name Type Required Description
id string false
location Location false

Location

Name Type Required Description
type string false
coordinates number[ ] false

WeatherHourly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
temperatureC number false
dewPointC number false
windKmH number false
relativeHumidityPercent number false
precipitationProbabilityPercent number false
cloudCoverPercent number false
pressureKilopascals number false
windGustKmH number false

WeatherDaily

Name Type Required Description
time integer false
sunrise integer false
sunset integer false
etMm number false
rainMm number false
ghWm2 integer false
dewPointC number false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgTemperatureC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

WeatherMonthly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgWindKmH number false
avgTemperatureC number false
avgDewPointC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

Get hourly atmosphere data

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/hourly?longitude=81.328881476693&latitude=52.999132337514&startTimestamp=10&endTimestamp=390&keys%5B0%5D=ET" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "cluster": {
        "id": "example string value",
        "location": {
            "type": "example string value",
            "coordinates": [
                956.096298040867
            ]
        }
    },
    "hourly": [
        {
            "time": 28,
            "etMm": 511,
            "rainMm": 131,
            "ghWm2": 552,
            "temperatureC": 142,
            "dewPointC": 698.6110483755409,
            "windKmH": 277.88644343516154,
            "relativeHumidityPercent": 468.45348759947973,
            "precipitationProbabilityPercent": 835.7043172399068,
            "cloudCoverPercent": 716.9515135311296,
            "pressureKilopascals": 281,
            "windGustKmH": 229.03686306860152
        }
    ],
    "daily": [
        {
            "time": 850,
            "sunrise": 3,
            "sunset": 591,
            "etMm": 772.4974010011634,
            "rainMm": 437,
            "ghWm2": 199,
            "dewPointC": 32.604372144026854,
            "minTemperatureC": 887.3160960559342,
            "maxTemperatureC": 645,
            "minWindKmH": 667,
            "maxWindKmH": 435,
            "avgPressureKilopascals": 101.01661183918668,
            "avgCloudCoverPercent": 4.508735148473054,
            "avgRelativeHumidityPercent": 51.5111605876643,
            "maxPrecipitationProbabilityPercent": 17,
            "avgTemperatureC": 165,
            "minRelativeHumidityPercent": 130.42023737468767,
            "maxRelativeHumidityPercent": 159.59214240293585
        }
    ],
    "monthly": [
        {
            "time": 825,
            "etMm": 96.41065406445911,
            "rainMm": 449.5086672015063,
            "ghWm2": 284,
            "minTemperatureC": 601,
            "maxTemperatureC": 118,
            "minWindKmH": 669,
            "maxWindKmH": 536,
            "avgPressureKilopascals": 855,
            "avgCloudCoverPercent": 693,
            "avgRelativeHumidityPercent": 661,
            "maxPrecipitationProbabilityPercent": 466.51272357744756,
            "avgWindKmH": 668,
            "avgTemperatureC": 591.0304196137145,
            "avgDewPointC": 241.1346310941198,
            "minRelativeHumidityPercent": 60.785768581920195,
            "maxRelativeHumidityPercent": 456.2140654102965
        }
    ],
    "status": 43
}

HTTP Request

GET /api/v2/atmosphere/hourly

Request parameters

Name Type Part Required Description
Authorization string header true
longitude number query false
latitude number query false
startTimestamp integer query false
endTimestamp integer query false
keys array query false names of sections to show

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
cluster WeatherCluster false
hourly WeatherHourly[ ] false
daily WeatherDaily[ ] false
monthly WeatherMonthly[ ] false
status integer false

WeatherCluster

Name Type Required Description
id string false
location Location false

Location

Name Type Required Description
type string false
coordinates number[ ] false

WeatherHourly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
temperatureC number false
dewPointC number false
windKmH number false
relativeHumidityPercent number false
precipitationProbabilityPercent number false
cloudCoverPercent number false
pressureKilopascals number false
windGustKmH number false

WeatherDaily

Name Type Required Description
time integer false
sunrise integer false
sunset integer false
etMm number false
rainMm number false
ghWm2 integer false
dewPointC number false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgTemperatureC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

WeatherMonthly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgWindKmH number false
avgTemperatureC number false
avgDewPointC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

Get monthly atmosphere data

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/monthly?longitude=830&latitude=178&startTimestamp=929&endTimestamp=503&keys%5B0%5D=PRESSURE" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "cluster": {
        "id": "example string value",
        "location": {
            "type": "example string value",
            "coordinates": [
                420
            ]
        }
    },
    "hourly": [
        {
            "time": 564,
            "etMm": 283.1252092882642,
            "rainMm": 351.65242122097516,
            "ghWm2": 831,
            "temperatureC": 800.3837139347493,
            "dewPointC": 511,
            "windKmH": 8.946532387727189,
            "relativeHumidityPercent": 727.4350662377826,
            "precipitationProbabilityPercent": 721,
            "cloudCoverPercent": 568,
            "pressureKilopascals": 705.2554584598428,
            "windGustKmH": 765.2696397925121
        }
    ],
    "daily": [
        {
            "time": 946,
            "sunrise": 299,
            "sunset": 501,
            "etMm": 868.7020548939249,
            "rainMm": 175.87416766950588,
            "ghWm2": 902,
            "dewPointC": 498,
            "minTemperatureC": 572,
            "maxTemperatureC": 944.5272306653331,
            "minWindKmH": 982.6227151707851,
            "maxWindKmH": 457,
            "avgPressureKilopascals": 576.1684778035471,
            "avgCloudCoverPercent": 680,
            "avgRelativeHumidityPercent": 579,
            "maxPrecipitationProbabilityPercent": 566.0159581182598,
            "avgTemperatureC": 107.08877821783013,
            "minRelativeHumidityPercent": 572.0040232744087,
            "maxRelativeHumidityPercent": 306.4880051214658
        }
    ],
    "monthly": [
        {
            "time": 493,
            "etMm": 453.23108204325246,
            "rainMm": 442.5740360480612,
            "ghWm2": 701,
            "minTemperatureC": 858,
            "maxTemperatureC": 625,
            "minWindKmH": 330.79038110132814,
            "maxWindKmH": 421,
            "avgPressureKilopascals": 955.2321955353171,
            "avgCloudCoverPercent": 847,
            "avgRelativeHumidityPercent": 54,
            "maxPrecipitationProbabilityPercent": 840.2444123477882,
            "avgWindKmH": 158.54817310280546,
            "avgTemperatureC": 760,
            "avgDewPointC": 2.433649265409284,
            "minRelativeHumidityPercent": 276,
            "maxRelativeHumidityPercent": 32.49249376007006
        }
    ],
    "status": 840
}

HTTP Request

GET /api/v2/atmosphere/monthly

Request parameters

Name Type Part Required Description
Authorization string header true
longitude number query false
latitude number query false
startTimestamp integer query false
endTimestamp integer query false
keys array query false names of sections to show

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
cluster WeatherCluster false
hourly WeatherHourly[ ] false
daily WeatherDaily[ ] false
monthly WeatherMonthly[ ] false
status integer false

WeatherCluster

Name Type Required Description
id string false
location Location false

Location

Name Type Required Description
type string false
coordinates number[ ] false

WeatherHourly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
temperatureC number false
dewPointC number false
windKmH number false
relativeHumidityPercent number false
precipitationProbabilityPercent number false
cloudCoverPercent number false
pressureKilopascals number false
windGustKmH number false

WeatherDaily

Name Type Required Description
time integer false
sunrise integer false
sunset integer false
etMm number false
rainMm number false
ghWm2 integer false
dewPointC number false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgTemperatureC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

WeatherMonthly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgWindKmH number false
avgTemperatureC number false
avgDewPointC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

Get daily atmosphere data

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/cluster/{clusterId}/daily?startTimestamp=809&endTimestamp=557&keys%5B0%5D=DEWPOINT" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "cluster": {
        "id": "example string value",
        "location": {
            "type": "example string value",
            "coordinates": [
                424
            ]
        }
    },
    "hourly": [
        {
            "time": 591,
            "etMm": 963,
            "rainMm": 732,
            "ghWm2": 806,
            "temperatureC": 807.2094287756875,
            "dewPointC": 879,
            "windKmH": 924.611951655062,
            "relativeHumidityPercent": 799,
            "precipitationProbabilityPercent": 257,
            "cloudCoverPercent": 899.9762422870734,
            "pressureKilopascals": 644.8599326633197,
            "windGustKmH": 740
        }
    ],
    "daily": [
        {
            "time": 733,
            "sunrise": 432,
            "sunset": 425,
            "etMm": 955.5632713975214,
            "rainMm": 935.5242191513647,
            "ghWm2": 218,
            "dewPointC": 734.1193946702962,
            "minTemperatureC": 893,
            "maxTemperatureC": 695.93934980032,
            "minWindKmH": 777.421814751542,
            "maxWindKmH": 433.23192393092063,
            "avgPressureKilopascals": 222,
            "avgCloudCoverPercent": 693,
            "avgRelativeHumidityPercent": 334,
            "maxPrecipitationProbabilityPercent": 603,
            "avgTemperatureC": 650,
            "minRelativeHumidityPercent": 661.555317072922,
            "maxRelativeHumidityPercent": 968.8913919818082
        }
    ],
    "monthly": [
        {
            "time": 543,
            "etMm": 405.6592180419989,
            "rainMm": 827.9722145888825,
            "ghWm2": 601,
            "minTemperatureC": 219,
            "maxTemperatureC": 195,
            "minWindKmH": 493,
            "maxWindKmH": 643,
            "avgPressureKilopascals": 734.6277035468387,
            "avgCloudCoverPercent": 544.0120545886513,
            "avgRelativeHumidityPercent": 134,
            "maxPrecipitationProbabilityPercent": 238,
            "avgWindKmH": 18.228139736795864,
            "avgTemperatureC": 872.081458043345,
            "avgDewPointC": 257.4396991438417,
            "minRelativeHumidityPercent": 104,
            "maxRelativeHumidityPercent": 16.693638645435513
        }
    ],
    "status": 218
}

HTTP Request

GET /api/v2/atmosphere/cluster/{clusterId}/daily

Request parameters

Name Type Part Required Description
Authorization string header true
startTimestamp integer query false
endTimestamp integer query false
keys array query false names of sections to show
clusterId 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
cluster WeatherCluster false
hourly WeatherHourly[ ] false
daily WeatherDaily[ ] false
monthly WeatherMonthly[ ] false
status integer false

WeatherCluster

Name Type Required Description
id string false
location Location false

Location

Name Type Required Description
type string false
coordinates number[ ] false

WeatherHourly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
temperatureC number false
dewPointC number false
windKmH number false
relativeHumidityPercent number false
precipitationProbabilityPercent number false
cloudCoverPercent number false
pressureKilopascals number false
windGustKmH number false

WeatherDaily

Name Type Required Description
time integer false
sunrise integer false
sunset integer false
etMm number false
rainMm number false
ghWm2 integer false
dewPointC number false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgTemperatureC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

WeatherMonthly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgWindKmH number false
avgTemperatureC number false
avgDewPointC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

Get hourly atmosphere data

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/cluster/{clusterId}/hourly?startTimestamp=918&endTimestamp=148&keys%5B0%5D=DEWPOINT" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "cluster": {
        "id": "example string value",
        "location": {
            "type": "example string value",
            "coordinates": [
                365
            ]
        }
    },
    "hourly": [
        {
            "time": 984,
            "etMm": 563,
            "rainMm": 252,
            "ghWm2": 444,
            "temperatureC": 891.547425599558,
            "dewPointC": 498,
            "windKmH": 443.6212361062045,
            "relativeHumidityPercent": 669.4332699614732,
            "precipitationProbabilityPercent": 21,
            "cloudCoverPercent": 144.05769582095448,
            "pressureKilopascals": 884,
            "windGustKmH": 700.9443457708435
        }
    ],
    "daily": [
        {
            "time": 140,
            "sunrise": 189,
            "sunset": 550,
            "etMm": 756.1622731183479,
            "rainMm": 828.6952692217637,
            "ghWm2": 250,
            "dewPointC": 734,
            "minTemperatureC": 468.1485995967633,
            "maxTemperatureC": 552,
            "minWindKmH": 553.6735242016956,
            "maxWindKmH": 548.8162560150103,
            "avgPressureKilopascals": 399,
            "avgCloudCoverPercent": 726.1922972864435,
            "avgRelativeHumidityPercent": 641,
            "maxPrecipitationProbabilityPercent": 668.7708379089696,
            "avgTemperatureC": 154,
            "minRelativeHumidityPercent": 737,
            "maxRelativeHumidityPercent": 84.62024577177141
        }
    ],
    "monthly": [
        {
            "time": 734,
            "etMm": 148.30607648394354,
            "rainMm": 296.63083157345227,
            "ghWm2": 192,
            "minTemperatureC": 938.2863691720582,
            "maxTemperatureC": 969,
            "minWindKmH": 495,
            "maxWindKmH": 323,
            "avgPressureKilopascals": 727,
            "avgCloudCoverPercent": 215.80516510447728,
            "avgRelativeHumidityPercent": 299,
            "maxPrecipitationProbabilityPercent": 641.1773705115437,
            "avgWindKmH": 996.042476499473,
            "avgTemperatureC": 389.0482831695342,
            "avgDewPointC": 584,
            "minRelativeHumidityPercent": 902.4134361662033,
            "maxRelativeHumidityPercent": 760
        }
    ],
    "status": 9
}

HTTP Request

GET /api/v2/atmosphere/cluster/{clusterId}/hourly

Request parameters

Name Type Part Required Description
Authorization string header true
startTimestamp integer query false
endTimestamp integer query false
keys array query false names of sections to show
clusterId 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
cluster WeatherCluster false
hourly WeatherHourly[ ] false
daily WeatherDaily[ ] false
monthly WeatherMonthly[ ] false
status integer false

WeatherCluster

Name Type Required Description
id string false
location Location false

Location

Name Type Required Description
type string false
coordinates number[ ] false

WeatherHourly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
temperatureC number false
dewPointC number false
windKmH number false
relativeHumidityPercent number false
precipitationProbabilityPercent number false
cloudCoverPercent number false
pressureKilopascals number false
windGustKmH number false

WeatherDaily

Name Type Required Description
time integer false
sunrise integer false
sunset integer false
etMm number false
rainMm number false
ghWm2 integer false
dewPointC number false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgTemperatureC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

WeatherMonthly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgWindKmH number false
avgTemperatureC number false
avgDewPointC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

Get monthly atmosphere data

Request

curl "https://developer-api.etwater.com/api/v2/atmosphere/cluster/{clusterId}/monthly?startTimestamp=210&endTimestamp=757&keys%5B0%5D=DEWPOINT" \
-X GET \
-H "Authorization: example string value"

On success, the above request returns response like

{
    "cluster": {
        "id": "example string value",
        "location": {
            "type": "example string value",
            "coordinates": [
                535.7116514517514
            ]
        }
    },
    "hourly": [
        {
            "time": 932,
            "etMm": 693,
            "rainMm": 539,
            "ghWm2": 861,
            "temperatureC": 397,
            "dewPointC": 194,
            "windKmH": 104.16256967194498,
            "relativeHumidityPercent": 297,
            "precipitationProbabilityPercent": 847.3559230786543,
            "cloudCoverPercent": 717,
            "pressureKilopascals": 29.870163197568694,
            "windGustKmH": 621.4585712279465
        }
    ],
    "daily": [
        {
            "time": 327,
            "sunrise": 549,
            "sunset": 12,
            "etMm": 579.6537774520245,
            "rainMm": 993.1736234543722,
            "ghWm2": 833,
            "dewPointC": 973,
            "minTemperatureC": 144,
            "maxTemperatureC": 393.5606011159535,
            "minWindKmH": 302.9545411946972,
            "maxWindKmH": 112,
            "avgPressureKilopascals": 520,
            "avgCloudCoverPercent": 99,
            "avgRelativeHumidityPercent": 325.39997032163666,
            "maxPrecipitationProbabilityPercent": 847,
            "avgTemperatureC": 509,
            "minRelativeHumidityPercent": 997.951149008214,
            "maxRelativeHumidityPercent": 610.2373071993875
        }
    ],
    "monthly": [
        {
            "time": 622,
            "etMm": 653.5559434693101,
            "rainMm": 231,
            "ghWm2": 628,
            "minTemperatureC": 129.374899030372,
            "maxTemperatureC": 604,
            "minWindKmH": 104.01663514972508,
            "maxWindKmH": 141.29435324170365,
            "avgPressureKilopascals": 139,
            "avgCloudCoverPercent": 130,
            "avgRelativeHumidityPercent": 181.37226448458262,
            "maxPrecipitationProbabilityPercent": 925.1580186771033,
            "avgWindKmH": 937,
            "avgTemperatureC": 958.2308581835734,
            "avgDewPointC": 256,
            "minRelativeHumidityPercent": 581.1679617414102,
            "maxRelativeHumidityPercent": 987
        }
    ],
    "status": 468
}

HTTP Request

GET /api/v2/atmosphere/cluster/{clusterId}/monthly

Request parameters

Name Type Part Required Description
Authorization string header true
startTimestamp integer query false
endTimestamp integer query false
keys array query false names of sections to show
clusterId 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
cluster WeatherCluster false
hourly WeatherHourly[ ] false
daily WeatherDaily[ ] false
monthly WeatherMonthly[ ] false
status integer false

WeatherCluster

Name Type Required Description
id string false
location Location false

Location

Name Type Required Description
type string false
coordinates number[ ] false

WeatherHourly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
temperatureC number false
dewPointC number false
windKmH number false
relativeHumidityPercent number false
precipitationProbabilityPercent number false
cloudCoverPercent number false
pressureKilopascals number false
windGustKmH number false

WeatherDaily

Name Type Required Description
time integer false
sunrise integer false
sunset integer false
etMm number false
rainMm number false
ghWm2 integer false
dewPointC number false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgTemperatureC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false

WeatherMonthly

Name Type Required Description
time integer false
etMm number false
rainMm number false
ghWm2 integer false
minTemperatureC number false
maxTemperatureC number false
minWindKmH number false
maxWindKmH number false
avgPressureKilopascals number false
avgCloudCoverPercent number false
avgRelativeHumidityPercent number false
maxPrecipitationProbabilityPercent number false
avgWindKmH number false
avgTemperatureC number false
avgDewPointC number false
minRelativeHumidityPercent number false
maxRelativeHumidityPercent number false