You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Description

The API devices returns all devices defined in Oceans 2.0 which meet a filter criteria.

Devices are instruments with one or more sensors that observe a property. Devices are uniquely identified by a device code and can be deployed at multiple locations during their lifespan.

The primary purpose of this service is to find devices that have the data you want to access; the service provides the deviceCode that can be used to request a data product via the dataProductDelivery web service.

For a list of available device codes, along with names, ids and device links, see the Available Devices page.

 

See the External Web Services for method and token usage and error messages.

URL

http://data.oceannetworks.ca/api/devices

Method

Description

Example

get

Retrieve a list of all devices

method=get

 get

The get method retrieves a list of devices with deviceId, deviceCode, and deviceName

Parameters

Parameter
Type
Description
Example
Required   
tokenstringAll Web Services require a token. Once logged in at http://data.oceannetworks.ca/login, your token can be retrieved or generated at http://data.oceannetworks.ca/Profile . Click on the "Web Services" tab, then click "Generate Token".token=5ba514e8-1203-428c-8835-879c8173e387
Optional   
deviceCodestring

Return a single Device matching a specific Device Code

  • Device Code must be valid and match exactly, including case
  • Run the service without this parameter to get a list of all devices
deviceCode=FSINXIC1622
deviceNamestring

Return all of the Devices where the Device Name contains a keyword

  • Not case sensitive
  • Contains
deviceName=meter
locationCodestring

Return all Devices that are deployed at a specific Location

  • Location Code must be valid and match exactly, including case
  • Specific Location Codes can be obtained using the locations service
locationCode=BACAX
deviceCategoryCodestring

Return all Devices belonging to a specific Device Category

  • Device Category Code must be valid and match exactly, including case
  • Specific Device Category Codes can be obtained using the deviceCateogries service
deviceCategoryCode=CTD
propertyCodestring

Return all Devices that have a sensor for a specific Property

  • Property Code must be valid and match exactly, including case
  • Specific Property Codes can be obtained using the properties service
propertyCode=pressure
dataProductCodestring

Return all Devices that have the ability to return a specific Data Product

  • Data Product Code must be valid and match exactly, including case
  • Specific Data Product Codes can be obtained from the dataProducts service
dataProductCode=jpgfile
deploymentBegindatetime

Return all of the Devices that have a Deployment Beginning on or after a specific date/time

  • When the depolymentBegin filter is included, the deploymentEnd filter must also be included

Date Time format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'

deploymentBegin=2010-07-27T00:00:00.000Z

deploymentEnddatetime

Return all of the Devices that have a Deployment Ending on or before a specific date/time

  • When the deploymentEnd filter is included, the deploymentBegin filter must also be included

Date Time format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'

deploymentEnd=2016-08-01T00:00:00.000Z

Response

Example for request: http://data.oceannetworks.ca/api/devices?method=get&token=[YOUR_TOKEN_HERE]&deviceCategoryCode=ADCP2MHZ

Success (HTTP 200)

Returns a list of devices with values for Device Code, Device Id, Device Name and Device Link URL, ordered by Device Code

 

[{"deviceCode":"BC_POD1_AD2M","deviceId":11302,"deviceLink":"http://qaweb2.neptune.uvic.ca/DeviceListing?DeviceId=11302","deviceName":"Nortek Aquadopp HR-Profiler 2965",
    "dataRating" : [{"samplePeriod":1.0,"dateFrom","2008-11-01 00:00:00"},{"samplePeriod":10.0,"dateFrom","2010-05-27 19:27:04"}],
    "cvTerm": [{  "device": [{  "vocabulary""SeaVoX Device Catalogue""uri""http://vocab.nerc.ac.uk/collection/L22/current/TOOL0888/"}]    }]
},
 {"deviceCode":"NortekADCP1504","deviceId":22666,"deviceLink":"http://qaweb2.neptune.uvic.ca/DeviceListing?DeviceId=22666","deviceName":"Nortek Aquadopp Profiler AQD 1504 on Crawler",
    "dataRating" : [{"samplePeriod":60.0,"dateFrom","2010-08-01 00:00:00"}],
    "cvTerm": [{  "device": [{  "vocabulary""SeaVoX Device Catalogue""uri""http://vocab.nerc.ac.uk/collection/L22/current/TOOL0888/"}]    }]
},
 {"deviceCode":"NORTEKADCP9917","deviceId":23081,"deviceLink":"http://qaweb2.neptune.uvic.ca/DeviceListing?DeviceId=23081","deviceName":"Nortek Aquadopp Profiler AQD 9917",
    "dataRating" : [{"samplePeriod":60.0,"dateFrom","2012-05-23 18:28:16"},{"samplePeriod":60.0,"dateFrom","2012-05-01 00:00:00"}],
    "cvTerm": [{  "device": [{  "vocabulary""SeaVoX Device Catalogue""uri""http://vocab.nerc.ac.uk/collection/L22/current/TOOL0888/"}]    }]
},
 {"deviceCode":"NORTEKAQDPRO2751","deviceId":23164,"deviceLink":"http://qaweb2.neptune.uvic.ca/DeviceListing?DeviceId=23164","deviceName":"Nortek Aquadopp Profiler AQD 2751",
    "dataRating" : [{"samplePeriod":300.0,"dateFrom","2013-05-14 00:00:00"}],
    "cvTerm": [{  "device": [{  "vocabulary""SeaVoX Device Catalogue""uri""http://vocab.nerc.ac.uk/collection/L22/current/TOOL0888/"}]    }]
},
 {"deviceCode":"NORTEKAQDPRO2786","deviceId":23163,"deviceLink":"http://qaweb2.neptune.uvic.ca/DeviceListing?DeviceId=23163","deviceName":"Nortek Aquadopp Profiler AQD 2786",
    "dataRating" : [{"samplePeriod":300.0,"dateFrom","2013-05-14 00:00:00"}],
    "cvTerm": [{  "device": [{  "vocabulary""SeaVoX Device Catalogue""uri""http://vocab.nerc.ac.uk/collection/L22/current/TOOL0888/"}]    }]
},
 {"deviceCode":"NORTEKAQDPRO2958","deviceId":20002,"deviceLink":"http://qaweb2.neptune.uvic.ca/DeviceListing?DeviceId=20002","deviceName":"Nortek Aquadopp Profiler AQD 2958",
    "dataRating" : [{"samplePeriod":1.0,"dateFrom","2008-03-01 00:00:00"},{"samplePeriod":1.0,"dateFrom","2008-11-01 00:00:00"},{"samplePeriod":10.0,"dateFrom","2010-10-28 23:21:06"},{"samplePeriod":60.0,"dateFrom","2011-02-21 23:48:02"}],
    "cvTerm": [{  "device": [{  "vocabulary""SeaVoX Device Catalogue""uri""http://vocab.nerc.ac.uk/collection/L22/current/TOOL0888/"}]    }]
},
 {"deviceCode":"NORTEKAQDPRO8398","deviceId":520,"deviceLink":"http://qaweb2.neptune.uvic.ca/DeviceListing?DeviceId=520","deviceName":"Nortek Aquadopp Profiler AQD 8398",
    "dataRating" : [{"samplePeriod":1200.0,"dateFrom","2013-02-06 00:00:00"},{"samplePeriod":600.0,"dateFrom","2014-04-17 17:00:00"}],
    "cvTerm": [{  "device": [{  "vocabulary""SeaVoX Device Catalogue""uri""http://vocab.nerc.ac.uk/collection/L22/current/TOOL0888/"}]    }]
},
 {"deviceCode":"NORTEKAQDPRO8455","deviceId":23117,"deviceLink":"http://qaweb2.neptune.uvic.ca/DeviceListing?DeviceId=23117","deviceName":"Nortek Aquadopp Profiler AQD 8455",
    "dataRating" : [{"samplePeriod":900.0,"dateFrom","2013-04-18 00:00:00"},{"samplePeriod":600.0,"dateFrom","2014-05-13 00:00:00"}],
    "cvTerm": [{  "device": [{  "vocabulary""SeaVoX Device Catalogue""uri""http://vocab.nerc.ac.uk/collection/L22/current/TOOL0888/"}]    }]
},
 {"deviceCode":"NTAquadoppHRCP2973","deviceId":11203,"deviceLink":"http://qaweb2.neptune.uvic.ca/DeviceListing?DeviceId=11203","deviceName":"Nortek Aquadopp HR-Profiler 2973",
    "dataRating" : [{"samplePeriod":120.0,"dateFrom","2008-11-01 00:00:00"},{"samplePeriod":1.0,"dateFrom","2010-05-13 23:17:54"},{"samplePeriod":10.0,"dateFrom","2010-05-27 19:22:39"}],
    "cvTerm": [{  "device": [{  "vocabulary""SeaVoX Device Catalogue""uri""http://vocab.nerc.ac.uk/collection/L22/current/TOOL0888/"}]    }]
},
 {"deviceCode":"NTAquadoppHRCP2978","deviceId":12003,"deviceLink":"http://qaweb2.neptune.uvic.ca/DeviceListing?DeviceId=12003","deviceName":"Nortek Aquadopp HR-Profiler 2978",
    "dataRating" : [{"samplePeriod":1.0,"dateFrom","2008-11-01 00:00:00"},{"samplePeriod":120.0,"dateFrom","2008-03-01 00:00:00"},{"samplePeriod":1.0,"dateFrom","2010-05-13 23:18:34"},{"samplePeriod":10.0,"dateFrom","2010-05-27 19:32:41"}],
    "cvTerm": [{  "device": [{  "vocabulary""SeaVoX Device Catalogue""uri""http://vocab.nerc.ac.uk/collection/L22/current/TOOL0888/"}]    }]
}]

 

 

 

Property
Type
Description
Example
deviceCodestringReturns the device code
"deviceCode":"BC_POD1_AD2M"
deviceIdintegerReturns the device id
"deviceId":11302
deviceNamestringReturns the device name "deviceName":"Nortek Aquadopp HR-Profiler 2965"
deviceLinkurlReturns a URL link to the Device Listing page for the specific device"deviceLink":"http://data.oceannetworks.ca/DeviceListing?DeviceId=11302"
dataRatinglist

Returns a list of data ratings and date from for each device

Each data rating is made up of:

  1. Key : "samplePeriod", Value : sample period in seconds
  2. Key : "dateFrom", Value : "dateFrom of sample period"
"dataRating" : [
  {
    "samplePeriod" 1.0,
    "dateFrom" "2013-08-01 00:00:00"
  }
]
cvTermlist

The list of controlled vocabulary terms associated with the device and any device groups the device belongs to.

Each vocabulary term is made up of:

  1. Key : "vocabulary" Value : "title of the vocabulary term belongs to"
  2. Key : "uri" Value : "URL of the vocabulary term"
"cvTerm": [
    {
      "device": [
        {
          "vocabulary""SeaVoX Device Catalogue",
        }
      ]
    }
]

 

Bad Request (HTTP 400)

errorCode
errorMessage
Description
23

Invalid Time Range, Start Time is greater than End Time or start time is not provided

Occurs when the deploymentEnd is before the deploymentBegin date/time

  • The name of both of the datetime filters is included in the "parameter" property
127Invalid parameter value

Occurs when an invalid code is used in the filter. Most filters require an exact match, otherwise this error will occur

  • The name of the filter parameter is included in the "parameter" property
128Missing parameter

Occurs when multiple parameters are needed, but not all are present. Occurs when deploymentBegin is used without deploymentEnd

  • The names of the required filter parameters is included in the "parameter" property separated by /
129Invalid parameter name

Occurs when a filter parameter is used, but is not supported

 

 URL Examples

  • Return a list of All Devices (no filters)

http://data.oceannetworks.ca/api/devices?method=get&token=[YOUR_TOKEN_HERE]

 

  • Return the Device with a Device Code of 'NORTEKADCP9917'

http://data.oceannetworks.ca/api/devices?method=get&token=[YOUR_TOKEN_HERE]&deviceCode=NORTEKADCP9917

 

  • Return a list of all Devices that have a Device Name which contains 'JASCO'

http://data.oceannetworks.ca/api/devices?method=get&token=[YOUR_TOKEN_HERE]&deviceName=JASCO

 

  • Return a list of all Devices that have been deployed at a location with Location Code 'BACAX' ('Barkely Canyon Axis (POD1)')

http://data.oceannetworks.ca/api/devices?method=get&token=[YOUR_TOKEN_HERE]&locationCode=BACAX

 

  • Return a list of all Devices with a Device Category of 'ADCP2MHZ'

http://data.oceannetworks.ca/api/devices?method=get&token=[YOUR_TOKEN_HERE]&deviceCategoryCode=ADCP2MHZ

 

  • Return a list of all Devices with a Property Code of 'oxygen'

http://data.oceannetworks.ca/api/devices?method=get&token=[YOUR_TOKEN_HERE]&propertyCode=oxygen

 

  • Return a list of all Devices with a Device Category of 'CTD' and Property Code of 'pressure'

http://data.oceannetworks.ca/api/devices?method=get&token=[YOUR_TOKEN_HERE]&deviceCategoryCode=CTD&propertyCode=pressure

 

  • Return a list of all Devices that support the Data Product Code of 'IBPP' ('Ice Buoy Profile Plots')

http://data.oceannetworks.ca/api/devices?method=get&token=[YOUR_TOKEN_HERE]&dataProductCode=IBPP

 

  • Return a list of all of the Devices that were Deployed Between 1 July 2010 and 30 June 2012

http://data.oceannetworks.ca/api/devices?method=get&token=[YOUR_TOKEN_HERE]&deploymentBegin=2010-07-01T00:00:00.000Z&deploymentEnd=2012-06-30T23:59:59.999Z

 

  • Return a list of all of the Devices Deployed Between 1 July 2010 and 30 June 2011, at a location with a Location Code of 'BACAX' ('Barkely Canyon Axis (POD1)')

http://data.oceannetworks.ca/api/devices?method=get&token=[YOUR_TOKEN_HERE]&locationCode=BACAX&deploymentBegin=2010-07-01T00:00:00.000Z&deploymentEnd=2011-06-30T23:59:59.999Z

 

  • Return a list of all of the Devices which have a Property Code of 'seawatertemperature',  at a location with Location Code 'BACAX' ('Barkely Canyon Axis (POD1)'), Deployed Between 1 July 2010 and 30 June 2011

http://data.oceannetworks.ca/api/devices?method=get&token=[YOUR_TOKEN_HERE]&locationCode=BACAX&deploymentBegin=2010-07-01T00:00:00.000Z&deploymentEnd=2011-06-30T23:59:59.999Z&propertyCode=seawatertemperature

 

API Proxy

The http://data.oceannetworks.ca/apiproxy/devices url used in the above examples can be used in a browser for sharing or testing purposes; however, it can not be used from code, as it redirects to a login screen to capture your user id. In order to use the devices endpoint from code, you must use the http://data.oceannetworks.ca/api/devices url along with a valid token. Attempting to use the apiproxy url from code will result html returned in the payload which may cause errors or unexpected behavior.

 

Code Examples

How-to article

Provide step-by-step guidance for completing a task.

  • No labels