# Recent Measurements

## 1. Get Measurements by Site ID

<mark style="color:blue;">`GET`</mark> `https://api.airqo.net/api/v2/devices/measurements/sites/{SITE_ID}/recent`

Retrieve recent measurements for a specific site by providing the site ID

#### Path Parameters

| Name                                      | Type   | Description           |
| ----------------------------------------- | ------ | --------------------- |
| Site ID<mark style="color:red;">\*</mark> | string | This is the Site's ID |

#### Query Parameters

| Name                                    | Type   | Description                                                                                                                                           |
| --------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| startTime                               | string | The date in this format: YYYY-MM-DD or the UTC time format in case you would like to access data at specific times, eg: 2021-05-24T12:45:24.000Z      |
| endTime                                 | string | The date in this format: YYYY-MM-DD. or the UTC time format in case you would like to access data at specific times, example: 2021-05-24T12:45:24.000 |
| token<mark style="color:red;">\*</mark> | string | the security token                                                                                                                                    |

{% tabs %}
{% tab title="200 " %}

```
{
    "success": true,
    "isCache": false,
    "message": "successfully returned the measurements",
    "meta": {
        "total": 38,
        "skip": 0,
        "limit": 1000,
        "page": 1,
        "pages": 1
    },
    "measurements": [
        {
      "device": "aq_##",
      "device_id": "5f2036bc70223655545#####",
      "is_reading_primary": false,
      "health_tips": [
        {
          "_id": "64283ce9e82a77001e5#####",
          "title": "For Everyone",
          "description": "Today is a great day for outdoor activity.",
          "image": "https://firebasestorage.googleapis.com/v0/b/airqo-#####"
        },
        {
          "_id": "64283d37b2e9e5001e#####",
          "title": "For pregnant women",
          "description": "Reduce the intensity of your outdoor activities to keep you and your baby healthy.",
          "image": "https://firebasestorage.googleapis.com/#####"
        },
        {
          "_id": "64283d749c7eaf001e#####",
          "title": "For elderly people",
          "description": "Reduce the intensity of your outdoor activities.",
          "image": "https://firebasestorage.googleapis.com/v0/b/#####"
        }
      ],
      "site_id": "60d058c8048305120d#####",
      "time": "2024-05-30T13:00:00.000Z",
      "pm2_5": {
        "value": 20.9907
      },
      "pm10": {
        "value": 24.5982934194934
      },
      "frequency": "hourly",
      "no2": {

      },
      "siteDetails": {
        "_id": "60d058c8048305120d2#####",
        "description": "Nakasero II, Kampala",
        "country": "Uganda",
        "district": "Kampala",
        "sub_county": "Central",
        "parish": "Nakasero ii",
        "county": "Kampala",
        "name": "Nakasero II, Kampala",
        "city": "Kampala",
        "formatted_name": "31 Buganda Rd, Kampala, Uganda",
        "region": "Central Region",
        "street": "Buganda Road",
        "town": "Kampala",
        "village": "Kampala Central Division",
        "search_name": "Nakasero II",
        "location_name": "Kampala, Uganda",
        "approximate_latitude": 0.320055590723009,
        "approximate_longitude": 32.5718209000665,
        "data_provider": "AirQo"
      },
      "timeDifferenceHours": 1.49036444444444,
      "aqi_color": "ffff00",
      "aqi_category": "Moderate",
      "aqi_color_name": "Yellow"
    },
    {measurement object two},
    {measurement object three}
    ]

```

{% endtab %}

{% tab title="401: Unauthorized In case of bad requests" %}

```
{"success":false, "message":"Invalid authentication", "error":"Unauthorized."}
```

{% endtab %}
{% endtabs %}

## 2. Get measurements by Device ID

<mark style="color:blue;">`GET`</mark> `https://api.airqo.net/api/v2/devices/measurements/devices/{DEVICE_ID}/recent`

Retrieve recent measurements for a specific device by providing the device ID.

#### Path Parameters

| Name                                        | Type   | Description             |
| ------------------------------------------- | ------ | ----------------------- |
| Device ID<mark style="color:red;">\*</mark> | string | This is the Device's ID |

#### Query Parameters

| Name                                    | Type   | Description                                                                                                                                           |
| --------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| token<mark style="color:red;">\*</mark> | String | the token for your clients                                                                                                                            |
| startTime                               | String | The date in this format: YYYY-MM-DD or the UTC time format in case you would like to access data at specific times, eg: 2021-05-24T12:45:24.000Z      |
| endTime                                 | String | The date in this format: YYYY-MM-DD. or the UTC time format in case you would like to access data at specific times, example: 2021-05-24T12:45:24.000 |

{% tabs %}
{% tab title="200 " %}

```
{
    "success": true,
    "isCache": false,
    "message": "successfully returned the measurements",
    "meta": {
        "total": 38,
        "skip": 0,
        "limit": 1000,
        "page": 1,
        "pages": 1
    },
    "measurements": [
        {
      "device": "aq_##",
      "device_id": "5f2036bc70223655545#####",
      "is_reading_primary": false,
      "health_tips": [
        {
          "_id": "64283ce9e82a77001e5#####",
          "title": "For Everyone",
          "description": "Today is a great day for outdoor activity.",
          "image": "https://firebasestorage.googleapis.com/v0/b/airqo-#####"
        },
        {
          "_id": "64283d37b2e9e5001e#####",
          "title": "For pregnant women",
          "description": "Reduce the intensity of your outdoor activities to keep you and your baby healthy.",
          "image": "https://firebasestorage.googleapis.com/#####"
        },
        {
          "_id": "64283d749c7eaf001e#####",
          "title": "For elderly people",
          "description": "Reduce the intensity of your outdoor activities.",
          "image": "https://firebasestorage.googleapis.com/v0/b/#####"
        }
      ],
      "site_id": "60d058c8048305120d#####",
      "time": "2024-05-30T13:00:00.000Z",
      "pm2_5": {
        "value": 20.9907
      },
      "pm10": {
        "value": 24.5982934194934
      },
      "frequency": "hourly",
      "no2": {

      },
      "siteDetails": {
        "_id": "60d058c8048305120d2#####",
        "description": "Nakasero II, Kampala",
        "country": "Uganda",
        "district": "Kampala",
        "sub_county": "Central",
        "parish": "Nakasero ii",
        "county": "Kampala",
        "name": "Nakasero II, Kampala",
        "city": "Kampala",
        "formatted_name": "31 Buganda Rd, Kampala, Uganda",
        "region": "Central Region",
        "street": "Buganda Road",
        "town": "Kampala",
        "village": "Kampala Central Division",
        "search_name": "Nakasero II",
        "location_name": "Kampala, Uganda",
        "approximate_latitude": 0.320055590723009,
        "approximate_longitude": 32.5718209000665,
        "data_provider": "AirQo"
      },
      "timeDifferenceHours": 1.49036444444444,
      "aqi_color": "ffff00",
      "aqi_category": "Moderate",
      "aqi_color_name": "Yellow"
    },
    {measurement object two},
    {measurement object three}
    ]
```

{% endtab %}

{% tab title="401: Unauthorized This is when a user provides an incorrect username or password." %}

```
{"success":false, "message":"Invalid authentication", "error":"Unauthorized."}
```

{% endtab %}
{% endtabs %}

## 3. Get Measurements by Grid ID

<mark style="color:blue;">`GET`</mark> `https://api.airqo.net/api/v2/devices/measurements/grids/{GRID_ID}/recent`

Retrieve recent measurements for a specific Grid by providing the Grid ID

#### Path Parameters

| Name                                      | Type   | Description         |
| ----------------------------------------- | ------ | ------------------- |
| Grid ID<mark style="color:red;">\*</mark> | string | This is the Grid ID |

#### Query Parameters

| Name                                    | Type   | Description                                                                                                                                           |
| --------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| startTime                               | string | The date in this format: YYYY-MM-DD or the UTC time format in case you would like to access data at specific times, eg: 2021-05-24T12:45:24.000Z      |
| endTime                                 | string | The date in this format: YYYY-MM-DD. or the UTC time format in case you would like to access data at specific times, example: 2021-05-24T12:45:24.000 |
| token<mark style="color:red;">\*</mark> | string | the security token                                                                                                                                    |

{% tabs %}
{% tab title="200 " %}

```
{
    "success": true,
    "isCache": false,
    "message": "successfully returned the measurements",
    "meta": {
        "total": 38,
        "skip": 0,
        "limit": 1000,
        "page": 1,
        "pages": 1
    },
    "measurements": [
        {
      "device": "aq_##",
      "device_id": "5f2036bc70223655545#####",
      "is_reading_primary": false,
      "health_tips": [
        {
          "_id": "64283ce9e82a77001e5#####",
          "title": "For Everyone",
          "description": "Today is a great day for outdoor activity.",
          "image": "https://firebasestorage.googleapis.com/v0/b/airqo-#####"
        },
        {
          "_id": "64283d37b2e9e5001e#####",
          "title": "For pregnant women",
          "description": "Reduce the intensity of your outdoor activities to keep you and your baby healthy.",
          "image": "https://firebasestorage.googleapis.com/#####"
        },
        {
          "_id": "64283d749c7eaf001e#####",
          "title": "For elderly people",
          "description": "Reduce the intensity of your outdoor activities.",
          "image": "https://firebasestorage.googleapis.com/v0/b/#####"
        }
      ],
      "site_id": "60d058c8048305120d#####",
      "time": "2024-05-30T13:00:00.000Z",
      "pm2_5": {
        "value": 20.9907
      },
      "pm10": {
        "value": 24.5982934194934
      },
      "frequency": "hourly",
      "no2": {

      },
      "siteDetails": {
        "_id": "60d058c8048305120d2#####",
        "description": "Nakasero II, Kampala",
        "country": "Uganda",
        "district": "Kampala",
        "sub_county": "Central",
        "parish": "Nakasero ii",
        "county": "Kampala",
        "name": "Nakasero II, Kampala",
        "city": "Kampala",
        "formatted_name": "31 Buganda Rd, Kampala, Uganda",
        "region": "Central Region",
        "street": "Buganda Road",
        "town": "Kampala",
        "village": "Kampala Central Division",
        "search_name": "Nakasero II",
        "location_name": "Kampala, Uganda",
        "approximate_latitude": 0.320055590723009,
        "approximate_longitude": 32.5718209000665,
        "data_provider": "AirQo"
      },
      "timeDifferenceHours": 1.49036444444444,
      "aqi_color": "ffff00",
      "aqi_category": "Moderate",
      "aqi_color_name": "Yellow"
    },
    {measurement object two},
    {measurement object three}
    ]
```

{% endtab %}

{% tab title="401: Unauthorized In case of bad requests" %}

```
{"success":false, "message":"Invalid authentication", "error":"Unauthorized."}
```

{% endtab %}
{% endtabs %}

## 4. Get Measurements by Cohort ID

<mark style="color:blue;">`GET`</mark> `https://api.airqo.net/api/v2/devices/measurements/cohorts/{COHORT_ID}/recent`

Retrieve recent measurements for a specific Cohort by providing the Cohort ID

#### Path Parameters

| Name                                        | Type   | Description           |
| ------------------------------------------- | ------ | --------------------- |
| Cohort ID<mark style="color:red;">\*</mark> | string | This is the Cohort ID |

#### Query Parameters

| Name                                    | Type   | Description                                                                                                                                           |
| --------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| startTime                               | string | The date in this format: YYYY-MM-DD or the UTC time format in case you would like to access data at specific times, eg: 2021-05-24T12:45:24.000Z      |
| endTime                                 | string | The date in this format: YYYY-MM-DD. or the UTC time format in case you would like to access data at specific times, example: 2021-05-24T12:45:24.000 |
| token<mark style="color:red;">\*</mark> | string | the security token                                                                                                                                    |

{% tabs %}
{% tab title="200 " %}

```
{
    "success": true,
    "isCache": false,
    "message": "successfully returned the measurements",
    "meta": {
        "total": 38,
        "skip": 0,
        "limit": 1000,
        "page": 1,
        "pages": 1
    },
    "measurements": [
        {
      "device": "aq_##",
      "device_id": "5f2036bc70223655545#####",
      "is_reading_primary": false,
      "health_tips": [
        {
          "_id": "64283ce9e82a77001e5#####",
          "title": "For Everyone",
          "description": "Today is a great day for outdoor activity.",
          "image": "https://firebasestorage.googleapis.com/v0/b/airqo-#####"
        },
        {
          "_id": "64283d37b2e9e5001e#####",
          "title": "For pregnant women",
          "description": "Reduce the intensity of your outdoor activities to keep you and your baby healthy.",
          "image": "https://firebasestorage.googleapis.com/#####"
        },
        {
          "_id": "64283d749c7eaf001e#####",
          "title": "For elderly people",
          "description": "Reduce the intensity of your outdoor activities.",
          "image": "https://firebasestorage.googleapis.com/v0/b/#####"
        }
      ],
      "site_id": "60d058c8048305120d#####",
      "time": "2024-05-30T13:00:00.000Z",
      "pm2_5": {
        "value": 20.9907
      },
      "pm10": {
        "value": 24.5982934194934
      },
      "frequency": "hourly",
      "no2": {

      },
      "siteDetails": {
        "_id": "60d058c8048305120d2#####",
        "description": "Nakasero II, Kampala",
        "country": "Uganda",
        "district": "Kampala",
        "sub_county": "Central",
        "parish": "Nakasero ii",
        "county": "Kampala",
        "name": "Nakasero II, Kampala",
        "city": "Kampala",
        "formatted_name": "31 Buganda Rd, Kampala, Uganda",
        "region": "Central Region",
        "street": "Buganda Road",
        "town": "Kampala",
        "village": "Kampala Central Division",
        "search_name": "Nakasero II",
        "location_name": "Kampala, Uganda",
        "approximate_latitude": 0.320055590723009,
        "approximate_longitude": 32.5718209000665,
        "data_provider": "AirQo"
      },
      "timeDifferenceHours": 1.49036444444444,
      "aqi_color": "ffff00",
      "aqi_category": "Moderate",
      "aqi_color_name": "Yellow"
    },
    {measurement object two},
    {measurement object three}
    ]
```

{% endtab %}

{% tab title="401: Unauthorized In case of bad requests" %}

```
{"success":false, "message":"Invalid authentication", "error":"Unauthorized."}
```

{% endtab %}
{% endtabs %}

## Usage Instructions

Follow the guidelines in each section to craft your API requests based on the entity ID of interest. We've designed these endpoints to provide you with accurate and up-to-date air quality measurements, ensuring a seamless experience.
