type: spec.insomnia.rest/5.0 name: Wildeye API v1.0 meta: id: wrk_232c8f7ea1d24757bb100ae8f33ca55c created: 1752110975251 modified: 1752110975251 description: "" collection: - name: Sites meta: id: fld_97115cb9e26d4a3baced8c2aaa9d6b19 created: 1709873201054 modified: 1752109857136 sortKey: -1752025981660 description: "" children: - url: "{{url}}/api/v1/sites" name: Sites meta: id: req_24616bc92a6c43ddb8a3961e3c52f9c6 created: 1709871341599 modified: 1752020265615 isPrivate: false description: "" sortKey: -1709873220993 method: GET headers: - name: User-Agent value: insomnia/8.6.1 authentication: type: bearer token: "{{token}}" prefix: Bearer scripts: preRequest: "" afterResponse: "" settings: renderRequestBody: true encodeUrl: true followRedirects: global cookies: send: true store: true rebuildPath: true scripts: afterResponse: "" preRequest: "" - name: Measurements meta: id: fld_dea036acc2494b42901f27b3b0a2dd1f created: 1709873210909 modified: 1752109876121 sortKey: -1741487788934.75 description: "" children: - url: "{{url}}/api/v1/measurements" name: Measurements - By Category meta: id: req_4928287827be4fd1bc9b08c434b1b4e5 created: 1709871871170 modified: 1729040453475 isPrivate: false description: "" sortKey: -1709873226985 method: GET parameters: - name: query value: categories=['Wind Speed']&start=2024-10-07 id: pair_6165f2f4e1894ee1900002f8c67ac313 - name: page value: "1" id: pair_ae1eb067038741ed8fb2eef971c36513 - name: "" value: "" id: pair_f0191b222d424f75b336cee758a0ef8b headers: - name: User-Agent value: insomnia/8.6.1 authentication: type: bearer token: "{{token}}" prefix: Bearer scripts: preRequest: "" afterResponse: "" settings: renderRequestBody: true encodeUrl: true followRedirects: global cookies: send: true store: true rebuildPath: true - url: "{{url}}/api/v1/measurements" name: Measurements - By Device Ids meta: id: req_18447e9b799f4a1e991363bd037afd26 created: 1709871879532 modified: 1709873231042 isPrivate: false description: "" sortKey: -1709873227085 method: GET parameters: - name: query value: deviceids=['op74525','op70449'] id: pair_b91ff155736c49018c2ba80236794dfd headers: - name: User-Agent value: insomnia/8.6.1 authentication: type: bearer token: "{{token}}" prefix: Bearer scripts: preRequest: "" afterResponse: "" settings: renderRequestBody: true encodeUrl: true followRedirects: global cookies: send: true store: true rebuildPath: true - url: "{{url}}/api/v1/measurements" name: Measurements - By Input Ids meta: id: req_e93f20775f5941cbb41b626cbb322006 created: 1709871886400 modified: 1752022901159 isPrivate: false description: "" sortKey: -1709873226885 method: GET parameters: - name: query value: ids=[2e372abc-8a00-4c92-a23b-af0614b45ff0] id: pair_9f69da498a864d5a827a7a5b68a2ba71 - name: page value: "1" id: pair_cc7fc28d602b4e8781c53241388df62a - name: end value: 2025-03-08T18:00:00 id: pair_8c73999b60a344a390011365d825e3db - name: start value: 2025-03-07T18:00:00 id: pair_4b45056251c446949fac9d12a3bdeff0 headers: - name: User-Agent value: insomnia/8.6.1 authentication: type: bearer token: "{{token}}" prefix: Bearer scripts: preRequest: "" afterResponse: "" settings: renderRequestBody: true encodeUrl: true followRedirects: global cookies: send: true store: true rebuildPath: true - url: "{{url}}/api/v1/measurements/latest" name: Latest Measurements - By Input Ids meta: id: req_b2a3e2467e7d4ddbac84b9bd52d8b09a created: 1732739009499 modified: 1732739084403 isPrivate: false description: "" sortKey: -1709873223939 method: GET parameters: - name: query value: ids=[9e33b4a4-6b98-40dc-88f0-761057e76940] id: pair_9f69da498a864d5a827a7a5b68a2ba71 - name: page value: "1" id: pair_cc7fc28d602b4e8781c53241388df62a - name: count value: "10" disabled: false id: pair_371dd664a55f4856b0e15e11b44c0e58 headers: - name: User-Agent value: insomnia/8.6.1 authentication: type: bearer token: "{{token}}" prefix: Bearer scripts: preRequest: "" afterResponse: "" settings: renderRequestBody: true encodeUrl: true followRedirects: global cookies: send: true store: true rebuildPath: true scripts: afterResponse: "" preRequest: "" - name: Ping meta: id: fld_6c5497c7fc6248d6bc8b93c6af1279be created: 1709873216003 modified: 1752109862709 sortKey: -1752025981760 description: "" children: - url: "{{url}}/api/v1/ping" name: Ping meta: id: req_670364e4725e4e839539c86ada87bf83 created: 1709873237989 modified: 1752021603787 isPrivate: false description: "" sortKey: -1709873257981 method: GET headers: - name: User-Agent value: insomnia/8.6.1 authentication: type: bearer disabled: true token: "{{token}}" prefix: Bearer scripts: preRequest: "" afterResponse: "" settings: renderRequestBody: true encodeUrl: true followRedirects: global cookies: send: true store: true rebuildPath: true - url: "{{url}}/api/v1/ping/auth" name: Auth Ping meta: id: req_024d2721effd475187f086085c8be24c created: 1709873272991 modified: 1752020463846 isPrivate: false description: "" sortKey: -1709873242533 method: GET headers: - name: User-Agent value: insomnia/8.6.1 authentication: type: bearer disabled: false token: "{{token}}" prefix: Bearer scripts: preRequest: "" afterResponse: "" settings: renderRequestBody: true encodeUrl: true followRedirects: global cookies: send: true store: true rebuildPath: true scripts: afterResponse: "" preRequest: "" - name: Categories meta: id: fld_ec9818f3e93448ccaf43624aee8aba09 created: 1736542488138 modified: 1752109860253 sortKey: -1752025981610 description: "" children: - url: "{{url}}/api/v1/categories" name: Categories meta: id: req_615050068e184822bf5dfcd0494be95a created: 1736542497244 modified: 1736542514795 isPrivate: false description: "" sortKey: -1736542502416 method: GET headers: - name: User-Agent value: insomnia/8.6.1 authentication: type: bearer disabled: false token: "{{token}}" prefix: Bearer scripts: preRequest: "" afterResponse: "" settings: renderRequestBody: true encodeUrl: true followRedirects: global cookies: send: true store: true rebuildPath: true scripts: afterResponse: "" preRequest: "" - name: Meter Readings meta: id: fld_3afa563ce3cd4e74b8d25e88f20a0952 created: 1752025981560 modified: 1752109873204 sortKey: -1730949596259.5 description: "" children: - url: "{{url}}/api/v1/meterreadings" name: Meter Readings - By Input Ids meta: id: req_c817e63675d54770a5e17dadd4db4218 created: 1752022937793 modified: 1752025987811 isPrivate: false description: "" sortKey: -1752025987778 method: GET parameters: - name: query value: ids=[2e372abc-8a00-4c92-a23b-af0614b45ff0] id: pair_9f69da498a864d5a827a7a5b68a2ba71 - name: page value: "1" id: pair_cc7fc28d602b4e8781c53241388df62a - name: end value: 2025-03-08T18:00:00 disabled: true id: pair_8c73999b60a344a390011365d825e3db - name: start value: 2024-01-01T18:00:00 id: pair_4b45056251c446949fac9d12a3bdeff0 headers: - name: User-Agent value: insomnia/8.6.1 authentication: type: bearer token: "{{token}}" prefix: Bearer scripts: preRequest: "" afterResponse: "" settings: renderRequestBody: true encodeUrl: true followRedirects: global cookies: send: true store: true rebuildPath: true - url: "{{url}}/api/v1/meterreadings" name: Meter Readings - By Category meta: id: req_f966946f62b4461583a2f3170603f7d9 created: 1752025999165 modified: 1752026038911 isPrivate: false description: "" sortKey: -1752025987878 method: GET parameters: - name: query value: categories=['Flow Meter - Irrigation']&start=2024-01-01 id: pair_6165f2f4e1894ee1900002f8c67ac313 - name: page value: "1" id: pair_ae1eb067038741ed8fb2eef971c36513 - name: "" value: "" id: pair_f0191b222d424f75b336cee758a0ef8b headers: - name: User-Agent value: insomnia/8.6.1 authentication: type: bearer token: "{{token}}" prefix: Bearer scripts: preRequest: "" afterResponse: "" settings: renderRequestBody: true encodeUrl: true followRedirects: global cookies: send: true store: true rebuildPath: true - url: "{{url}}/api/v1/meterreadings/latest" name: Latest Meter Readings - By Category meta: id: req_10ff1ebb014a48f985f265c477d4e280 created: 1752026158978 modified: 1752026242948 isPrivate: false description: "" sortKey: -1752025987828 method: GET parameters: - name: query value: categories=['Flow Meter - Irrigation'] id: pair_9f69da498a864d5a827a7a5b68a2ba71 - name: page value: "1" id: pair_cc7fc28d602b4e8781c53241388df62a - name: count value: "1" disabled: false id: pair_371dd664a55f4856b0e15e11b44c0e58 headers: - name: User-Agent value: insomnia/8.6.1 authentication: type: bearer token: "{{token}}" prefix: Bearer scripts: preRequest: "" afterResponse: "" settings: renderRequestBody: true encodeUrl: true followRedirects: global cookies: send: true store: true rebuildPath: true scripts: afterResponse: "" preRequest: "" cookieJar: name: Default Jar meta: id: jar_59753ee88c7a46768ca8b33567ada317 created: 1709871268392 modified: 1709871268392 environments: name: Base Environment meta: id: env_a3f8d0cc60cb4147a3d21fc21f1e44cd created: 1709871268329 modified: 1752111193966 isPrivate: false data: url: https://api.mywildeye.com subEnvironments: - name: Production meta: id: env_e71904a174174931b7e9a4fc601dc83c created: 1709873409540 modified: 1733193786994 isPrivate: false sortKey: 1709873409540 data: token: xxxxxx - put your token here - xxxxxx color: "#e30d0d" spec: contents: openapi: 3.0.1 info: title: APEye 1.0 description: Wildeye API for extracting time series information recorded by our Wildeyes. The API supports multiple measurement types and sensors. contact: name: Wildeye Support url: https://www.mywildeye.com email: support@mywildeye.com version: "1.0" servers: - url: https://api.mywildeye.com description: Production paths: /api/v{version}/Categories: get: tags: - Categories summary: List of Categories available for the current user description: "Sample request:\r \ \r \ GET /api/v1/categories\r \ \r Sample response:\r \r \ [\r \ \t\"Flow Meter - Irrigation\",\r \ \t\"Level - Other\",\r \ \t\"Flow Meter - Other\",\r \ \t\"Flow Meter - Water\"\r \ ]" parameters: - name: version in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: type: array items: type: string /api/v{version}/Measurements: get: tags: - Measurements summary: Returns a list of Measurements description: "Sample request(s):\r \ \r \ Fetch all measurements for a specific measurement category, from a defined start date. Starting with first page of results.\r \ GET /api/v1/measurements?query=categories=['Flow Meter - Irrigation']&start=2024-03-07&page=1\r \ \r \ Fetch all measurements for a specific input id. Will default to from 1 day ago.\r \ GET /api/v1/measurements?query=ids=['029c99f0-f53a-4e05-bb86-1db8dc19f6\ 34','b9c613cc-946a-4a52-866e-03bd660a1881','6d43525d-afff-4ed2-8564\ -60a24efb1f0b']\r \ \r \ Fetch all mesaurements for all inputs connected to a list of specified devices.\r \ GET /api/v1/measurements?query=deviceids=['op74525','op70449']\r \r Sample response:\r \r \ [\r \ \t{\r \ \t\t\"id\": \"d18bca39-4ff9-40e8-8596-2b690a55b064\",\r \ \t\t\"measurements\": [\r \ \t\t\t{\r \ \t\t\t\t\"time\": \"2024-03-07T04:31:00\",\r \ \t\t\t\t\"value\": -10.4368385486663\r \ \r \ },\r \ \t\t\t{\r \ \t\t\t\t\"time\": \"2024-03-07T04:32:00\",\r \ \t\t\t\t\"value\": -10.4366682034269\r \ \t\t\t},\r \ \t\t\t{\r \ \"time\": \"2024-03-07T04:33:00\",\r \ \t\t\t\t\"value\": -10.4364978581875\r \ \r \ }\r \ ]\r \ }\r \ ]" parameters: - name: page in: query description: Page number (start at 1 and increment page until an empty array is returned) required: true schema: type: integer format: int32 - name: query in: query description: Query string required: true schema: type: string - name: start in: query description: Start date and time (If not supplied it will default to 1 day ago). schema: type: string format: date-time - name: end in: query description: End date schema: type: string format: date-time - name: version in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/InputMeasurements" /api/v{version}/Measurements/latest: get: tags: - Measurements summary: Returns the latest measurements for the specified inputs. description: "Sample request:\r \ \r \ Fetch the latest measurements for a specific input id.\r \ GET /api/v1/measurements/latest?query=ids=\\['029c99f0-f53a-4e05-bb86-1\ db8dc19f634'\\]&page=1\r \ \r Sample response:\r \ \r \ \\[\r \ \t{\r \ \t\t\"id\": \"029c99f0-f53a-4e05-bb86-1db8dc19f634\",\r \ \t\t\"measurements\": [\r \ \t\t\t{\r \ \t\t\t\t\"time\": \"2024-03-07T04:31:00\",\r \ \t\t\t\t\"value\": -10.4368385486663\r \ }\r \ ]\r \ }\r \ \\]" parameters: - name: page in: query description: Page number (start at 1 and increment page until an empty array is returned) required: true schema: type: integer format: int32 - name: query in: query description: Query string required: true schema: type: string - name: count in: query description: Optional Count of Measurements to be returned schema: type: integer format: int32 default: 1 - name: version in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/InputMeasurements" /api/v{version}/MeterReadings: get: tags: - MeterReadings summary: Returns a list of Meter Readings description: "Sample request(s):\r \ \r \ Fetch all meter readings for a specific measurement category, from a defined start date. Starting with first page of results.\r \ GET /api/v1/meter-readings?query=categories=['Flow Meter - Irrigation']&start=2024-03-07&page=1\r \ \r \ Fetch all meter readings for a specific input id. Will default to from 1 day ago.\r \ GET /api/v1/meter-readings?query=ids=['029c99f0-f53a-4e05-bb86-1db8dc19\ f634','b9c613cc-946a-4a52-866e-03bd660a1881','6d43525d-afff-4ed2-85\ 64-60a24efb1f0b']\r \ \r \ Fetch all meter readings for all inputs connected to a list of specified devices.\r \ GET /api/v1/meter-readings?query=deviceids=['op74525','op70449']\r \r Sample response:\r \r \ [\r \ \t{\r \ \t\t\"id\": \"d18bca39-4ff9-40e8-8596-2b690a55b064\",\r \ \t\t\"measurements\": [\r \ \t\t\t{\r \ \t\t\t\t\"time\": \"2024-03-07T04:31:00\",\r \ \t\t\t\t\"value\": -10.4368385486663\r \ \r \ },\r \ \t\t\t{\r \ \t\t\t\t\"time\": \"2024-03-07T04:32:00\",\r \ \t\t\t\t\"value\": -10.4366682034269\r \ \t\t\t},\r \ \t\t\t{\r \ \"time\": \"2024-03-07T04:33:00\",\r \ \t\t\t\t\"value\": -10.4364978581875\r \ \r \ }\r \ ]\r \ }\r \ ]" parameters: - name: page in: query description: Page number (start at 1 and increment page until an empty array is returned) required: true schema: type: integer format: int32 - name: query in: query description: Query string required: true schema: type: string - name: start in: query description: Start date and time (If not supplied it will default to 1 day ago). schema: type: string format: date-time - name: end in: query description: End date schema: type: string format: date-time - name: version in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/InputMeasurements" /api/v{version}/MeterReadings/latest: get: tags: - MeterReadings summary: Returns the latest meter readings for the specified inputs. description: "Sample request:\r \ \r \ Fetch the latest meter readings for a specific input id.\r \ GET /api/v1/meter-readings/latest?query=ids=\\['029c99f0-f53a-4e05-bb86\ -1db8dc19f634'\\]&page=1\r \ \r Sample response:\r \ \r \ \\[\r \ \t{\r \ \t\t\"id\": \"029c99f0-f53a-4e05-bb86-1db8dc19f634\",\r \ \t\t\"measurements\": [\r \ \t\t\t{\r \ \t\t\t\t\"time\": \"2024-03-07T04:31:00\",\r \ \t\t\t\t\"value\": -10.4368385486663\r \ }\r \ ]\r \ }\r \ \\]" parameters: - name: page in: query description: Page number (start at 1 and increment page until an empty array is returned) required: true schema: type: integer format: int32 - name: query in: query description: Query string required: true schema: type: string - name: count in: query description: Optional Count of Measurements to be returned schema: type: integer format: int32 default: 1 - name: version in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/InputMeasurements" /api/v{version}/Ping: get: tags: - Ping summary: Used to determine that the service is alive and responding. parameters: - name: version in: path required: true schema: type: string responses: "200": description: OK content: text/plain: schema: type: string /api/v{version}/Ping/auth: get: tags: - Ping summary: Used to determine the authentication header is correct and you are authenticated parameters: - name: version in: path required: true schema: type: string responses: "200": description: OK content: text/plain: schema: type: string /api/v{version}/Sites: get: tags: - Sites summary: List of Sites and Inputs description: "Sample request:\r \ \r \ GET /api/v1/sites\r \ \r Sample response:\r \r \ [\r \ \t{\r \ \t\t\"id\": \"81df4df6-b270-451c-9158-46b9f4d3e405\",\r \ \t\t\"name\": \"Test Logger\",\r \ \t\t\"projectReference\": null,\r \ \t\t\"deviceId\": \"op69417\",\r \ \t\t\"gps\": null,\r \ \t\t\"client\": {\r \ \t\t\t\"id\": \"c0be8a4f-0a49-4701-aa93-8285698717c8\",\r \ \t\t\t\"name\": \"Staff\"\r \ \t\t},\r \ \t\t\"inputs\": [\r \ \t\t\t{\r \ \t\t\t\t\"id\": \"609e4580-ed91-435c-aacf-dc689700c497\",\r \ \t\t\t\t\"name\": \"Level\",\r \ \t\t\t\t\"logical\": \"\",\r \ \t\t\t\t\"scada\": null,\r \ \t\t\t\t\"loggingInterval\": 300,\r \ \t\t\t\t\"unit\": \"meter\",\r \ \t\t\t\t\"category\": \"Level - Other\",\r \ \t\t\t\t\"sensor\": \"Water level\",\r \ \t\t\t\t\"sensorType\": \"ACC-SEN-SUBM-ABS-S3-D5M-CxxM EasyLevel sensor\"\r \ \r \ },\r \ \t\t\t{\r \ \t\t\t\t\"id\": \"79bbe4fe-381e-41a2-a4ac-0859d2f24938\",\r \ \t\t\t\t\"name\": \"Barometric pressure\",\r \ \t\t\t\t\"logical\": \"\",\r \ \t\t\t\t\"scada\": null,\r \ \t\t\t\t\"loggingInterval\": 300,\r \ \t\t\t\t\"unit\": \"hectopascal\",\r \ \t\t\t\t\"category\": \"Pressure - Air\",\r \ \t\t\t\t\"sensor\": \"Water level\",\r \ \t\t\t\t\"sensorType\": \"ACC-SEN-SUBM-ABS-S3-D5M-CxxM EasyLevel sensor\"\r \ \t\t\t}\r \ \t\t]\r \ \t}\r \ ]" parameters: - name: version in: path required: true schema: type: string responses: "200": description: Returns the available list of Sites and Inputs for each site. content: application/json: schema: type: array items: $ref: "#/components/schemas/Site" components: schemas: Client: type: object properties: id: type: string description: Id of Client format: uuid name: type: string description: Name of Client nullable: true additionalProperties: false description: Wildeye's Client details CustomField: type: object properties: name: type: string description: Name of Custom Field nullable: true value: type: string description: Value of Custom Field nullable: true additionalProperties: false description: Custom Field details Gps: type: object properties: latitude: type: number description: Latitude format: double longitude: type: number description: Longitude format: double additionalProperties: false description: Global Positioning System co-ordinates for the site of the Wildeye. Input: type: object properties: id: type: string description: Id of Input format: uuid name: type: string description: Name of Input nullable: true logical: type: string description: Logical Name of Input nullable: true scada: type: string description: Scada ID Tag for Input nullable: true loggingInterval: type: number description: Logging interval of input in seconds format: double unit: type: string description: Unit of measurement nullable: true category: type: string description: Category of measurement nullable: true sensor: type: string description: Sensor name for Input nullable: true sensorType: type: string description: Sensor type for Input nullable: true hasMeterReadings: type: boolean description: Indicates if this input has meter readings available customFields: type: array items: $ref: "#/components/schemas/CustomField" nullable: true additionalProperties: false description: An Input holds the time series data for a particular measurement at a site. InputMeasurements: type: object properties: id: type: string format: uuid measurements: type: array items: $ref: "#/components/schemas/Measurement" nullable: true additionalProperties: false Measurement: type: object properties: time: type: string description: Date and time of reading format: date-time value: type: number description: Reading value format: double additionalProperties: false description: Measurement at a particular time Site: type: object properties: id: type: string description: Id of Site format: uuid name: type: string description: Name of Site nullable: true projectReference: type: string description: Project Reference of Site nullable: true lastUpload: type: string format: date-time nullable: true deviceId: type: string description: OP Number of the Site nullable: true gps: $ref: "#/components/schemas/Gps" displayTimezone: $ref: "#/components/schemas/TimeZone" client: $ref: "#/components/schemas/Client" inputs: type: array items: $ref: "#/components/schemas/Input" description: List of Inputs available for this Site nullable: true customFields: type: array items: $ref: "#/components/schemas/CustomField" nullable: true additionalProperties: false description: Site details TimeZone: type: object properties: offset: type: string description: Offset of the timezone nullable: true followsDST: type: boolean description: Does the timezone follow Daylight Saving Time additionalProperties: false description: Timezone details securitySchemes: Bearer: type: apiKey description: 'JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"' name: Authorization in: header tags: - name: Categories description: Returns a list of Categories - name: Measurements description: Returns a list of Measurements - name: MeterReadings description: Returns a list of Meter Readings - name: Ping description: The Ping endpoint is for seeing if the server is alive and whether you can authenticate with it - name: Sites description: Returns a list of Sites and Inputs meta: id: spc_ef819c4b1e5f4e06bb54eaf1fdcf21b6 created: 1752110975255 modified: 1752111089897