Retrieve a list of metrics#

Deprecated

This endpoint is deprecated and may be removed in a future release.

This endpoint was deprecated on 2026-02-12.

It is scheduled for sunset on 2027-01-31.

Description#

Returns a paginated list of Metrics.

GET /prototype/platform/programs/{programId}/metrics

Required OAuth Scopes

file:read

Parameters#

Parameter

In

Type

Required

Description

X-Version

header

string

false

Version of the API (2022-01-01)

programId

path

string

true

The unique identifier of the program

$maxpagesize

query

integer

false

The maximum number of results to retrieve

$next

query

string

false

Pagination cursor for next set of results.

$orderBy

query

string

false

One or more comma-separated expressions to indicate the order in which to sort the results.

$filter

query

string

false

The properties to filter the results by.

Filter Options#

Available logical operators: and, or

Name

Predicates Supported

code

eq, ne, in, gt, ge, lt, le

dataType

eq, ne, in

description

eq, ne, in, contains

id

eq, ne, in

index

eq, ne, in, gt, ge, lt, le

name

eq, ne, in, contains

requireNotes

eq, ne

requireSupportingAttachments

eq, ne

strCode

eq, ne, in

topic

eq, ne, in

unit

eq, ne, in, contains

Sorting Options#

Name

Orders Supported

code

asc, desc

dataType

asc, desc

description

asc, desc

id

asc, desc

index

asc, desc

name

asc, desc

requireNotes

asc, desc

requireSupportingAttachments

asc, desc

strCode

asc, desc

topic

asc, desc

unit

asc, desc

Code Samples#

curl -X GET https://api.app.wdesk.com/prototype/platform/programs/{programId}/metrics \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer {access-token}' \
    -H 'X-Version: 2022-01-01'
http GET https://api.app.wdesk.com/prototype/platform/programs/{programId}/metrics \
    X-Version:2022-01-01 \
    Accept:application/json \
    Authorization:"Bearer {access-token}"
wget --method=GET "https://api.app.wdesk.com/prototype/platform/programs/{programId}/metrics" \
    --output-document -  \ 
    --header 'Accept: application/json' \ 
    --header 'Authorization: Bearer {access-token}' \
    --header 'X-Version: 2022-01-01'
import requests

headers = {
  'X-Version': '2022-01-01',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.app.wdesk.com/prototype/platform/programs/{programId}/metrics', headers = headers)

print(r.json())

Returns#

200 - OK#

Returns a JSON object with data and @nextLink properties. data contains a list of Metric objects, and @nextLink provides the URL to the next set of results. If there are no additional results, @nextLink doesn’t appear. If the request returns no results at all, data contains an empty array.

400 - Bad Request#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

401 - Unauthorized#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

403 - Forbidden#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

404 - Not Found#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

409 - Conflict#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

429 - Too Many Requests#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

500 - Internal Server Error#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

503 - Service Unavailable#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

Example Responses#

{
  "@nextLink": "<opaque_url>",
  "data": [
    {
      "code": 12,
      "dataType": "text",
      "description": "Covers all direct greenhouse gas emissions from sources owned or controlled by the reporting entity.",
      "id": "ae82b647-8e43-44c3-a4e7-2aa3294c87ac",
      "index": 0,
      "name": "Scope 1 Consolidated GHG Emissions",
      "requireNotes": false,
      "requireSupportingAttachments": false,
      "strCode": "M12",
      "topic": "cc507098-c403-4b8b-98b4-31a6c5a639f4",
      "unit": "Metric Ton"
    },
    {
      "code": 13,
      "dataType": "text",
      "description": "Aggregate energy use across all operations, often broken down by source (renewable vs. non-renewable).",
      "id": "94c873247-8e43-44c3-bae6-294c87aca4e7",
      "index": 1,
      "name": "Total Energy Consumption",
      "requireNotes": false,
      "requireSupportingAttachments": false,
      "strCode": "M13",
      "topic": "cc507098-c403-4b8b-98b4-31a6c5a639f4",
      "unit": "Megawatt hours"
    }
  ]
}
{
  "code": "400BadRequest",
  "message": "The request was unacceptable, often due to a missing or invalid parameter"
}
{
  "code": "401Unauthorized",
  "message": "No valid API token provided"
}
{
  "code": "403Forbidden",
  "message": "The API token does not have permissions to perform the request"
}
{
  "code": "404NotFound",
  "message": "The requested resource could not be found"
}
{
  "code": "409Conflict",
  "message": "The request conflicts with another request"
}
{
  "code": "429TooManyRequests",
  "message": "Too many requests have been made against the API in too short a time"
}
{
  "code": "500InternalServerError",
  "message": "The server encountered an unexpected condition that prevented it from fulfilling the request"
}
{
  "code": "503ServiceUnavailable",
  "message": "The server cannot handle the request due to a temporary overload or scheduled maintenance"
}