Get Metrics V3
This page documents the deprecated version 3 of the Get Metrics end point.
Support for this version is not required for Data Holders going live on, or after, 1st November 2023.
Other Data Holders MAY retire this version from the earlier of 13th May 2024 or from the time the ACCC announce that they no longer call this version.
Get Metrics
Code samples
GET https://data.holder.com.au/cds-au/v1/admin/metrics HTTP/1.1
Host: data.holder.com.au
Accept: application/json
x-v: string
x-min-v: string
var headers = {
'Accept':'application/json',
'x-v':'string',
'x-min-v':'string'
};
$.ajax({
url: 'https://data.holder.com.au/cds-au/v1/admin/metrics',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
GET /admin/metrics
This end point allows the ACCC to obtain operational statistics from the Data Holder on the operation of their CDR compliant implementation. The statistics obtainable from this end point are determined by the non-functional requirements for the CDR regime.
This end point is not required to be implemented by the Australian Energy Market Operator, the Australian Energy Regulator or the Department of State administered by the Minister of Victoria administering the National Electricity (Victoria) Act 2005 (Vic).
NOTE: This version must be implemented by October 1st 2022
If the Data Holder supports private_key_jwt client authentication they MUST validate the scope.
Endpoint Version
Version | 3 |
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
period | query | string | optional | The period of metrics to be requested. Values can be CURRENT (meaning metrics for current period, dependent on the metric type), HISTORIC (meaning metrics for previous period, depending on the metric type) or ALL. If absent the default is ALL. |
x-v | header | string | mandatory | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between x-min-v and x-v. If the value of x-min-v is equal to or higher than the value of x-v then the x-min-v header should be treated as absent. If all versions requested are not supported then the data holder should respond with a 406 Not Acceptable. See HTTP Headers |
x-min-v | header | string | optional | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between x-min-v and x-v. If all versions requested are not supported then the data holder should respond with a 406 Not Acceptable. |
Enumerated Values
Parameter | Value |
---|---|
period | CURRENT |
period | HISTORIC |
period | ALL |
Example responses
200 Response
{
"data": {
"requestTime": "string",
"availability": {
"currentMonth": 0,
"previousMonths": [
0
]
},
"performance": {
"currentDay": 0,
"previousDays": [
0
]
},
"invocations": {
"unauthenticated": {
"currentDay": 0,
"previousDays": [
0
]
},
"highPriority": {
"currentDay": 0,
"previousDays": [
0
]
},
"lowPriority": {
"currentDay": 0,
"previousDays": [
0
]
},
"unattended": {
"currentDay": 0,
"previousDays": [
0
]
},
"largePayload": {
"currentDay": 0,
"previousDays": [
0
]
},
"secondary": {
"currentDay": 0,
"previousDays": [
0
]
},
"largeSecondary": {
"currentDay": 0,
"previousDays": [
0
]
}
},
"averageResponse": {
"unauthenticated": {
"currentDay": 0,
"previousDays": [
0
]
},
"highPriority": {
"currentDay": 0,
"previousDays": [
0
]
},
"lowPriority": {
"currentDay": 0,
"previousDays": [
0
]
},
"unattended": {
"currentDay": 0,
"previousDays": [
0
]
},
"largePayload": {
"currentDay": 0,
"previousDays": [
0
]
},
"secondary": {
"primary": {
"currentDay": 0,
"previousDays": [
0
]
},
"secondary": {
"currentDay": 0,
"previousDays": [
0
]
}
},
"largeSecondary": {
"primary": {
"currentDay": 0,
"previousDays": [
0
]
},
"secondary": {
"currentDay": 0,
"previousDays": [
0
]
}
}
},
"sessionCount": {
"currentDay": 0,
"previousDays": [
0
]
},
"averageTps": {
"currentDay": 0,
"previousDays": [
0
]
},
"peakTps": {
"currentDay": 0,
"previousDays": [
0
]
},
"errors": {
"currentDay": 0,
"previousDays": [
0
]
},
"rejections": {
"authenticated": {
"currentDay": 0,
"previousDays": [
0
]
},
"unauthenticated": {
"currentDay": 0,
"previousDays": [
0
]
}
},
"customerCount": 0,
"recipientCount": 0,
"secondaryHolder": {
"errors": {
"currentDay": 0,
"previousDays": [
0
]
},
"rejections": {
"currentDay": 0,
"previousDays": [
0
]
}
}
},
"links": {
"self": "string"
},
"meta": {}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | ResponseMetricsListV3 |
400 | Bad Request | The following error codes MUST be supported: |
ResponseErrorListV2 |
406 | Not Acceptable | The following error codes MUST be supported: |
ResponseErrorListV2 |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | x-v | string | The version of the API end point that the data holder has responded with. |
Schemas
ResponseMetricsListV3
{
"data": {
"requestTime": "string",
"availability": {
"currentMonth": 0,
"previousMonths": [
0
]
},
"performance": {
"currentDay": 0,
"previousDays": [
0
]
},
"invocations": {
"unauthenticated": {
"currentDay": 0,
"previousDays": [
0
]
},
"highPriority": {
"currentDay": 0,
"previousDays": [
0
]
},
"lowPriority": {
"currentDay": 0,
"previousDays": [
0
]
},
"unattended": {
"currentDay": 0,
"previousDays": [
0
]
},
"largePayload": {
"currentDay": 0,
"previousDays": [
0
]
},
"secondary": {
"currentDay": 0,
"previousDays": [
0
]
},
"largeSecondary": {
"currentDay": 0,
"previousDays": [
0
]
}
},
"averageResponse": {
"unauthenticated": {
"currentDay": 0,
"previousDays": [
0
]
},
"highPriority": {
"currentDay": 0,
"previousDays": [
0
]
},
"lowPriority": {
"currentDay": 0,
"previousDays": [
0
]
},
"unattended": {
"currentDay": 0,
"previousDays": [
0
]
},
"largePayload": {
"currentDay": 0,
"previousDays": [
0
]
},
"secondary": {
"primary": {
"currentDay": 0,
"previousDays": [
0
]
},
"secondary": {
"currentDay": 0,
"previousDays": [
0
]
}
},
"largeSecondary": {
"primary": {
"currentDay": 0,
"previousDays": [
0
]
},
"secondary": {
"currentDay": 0,
"previousDays": [
0
]
}
}
},
"sessionCount": {
"currentDay": 0,
"previousDays": [
0
]
},
"averageTps": {
"currentDay": 0,
"previousDays": [
0
]
},
"peakTps": {
"currentDay": 0,
"previousDays": [
0
]
},
"errors": {
"currentDay": 0,
"previousDays": [
0
]
},
"rejections": {
"authenticated": {
"currentDay": 0,
"previousDays": [
0
]
},
"unauthenticated": {
"currentDay": 0,
"previousDays": [
0
]
}
},
"customerCount": 0,
"recipientCount": 0,
"secondaryHolder": {
"errors": {
"currentDay": 0,
"previousDays": [
0
]
},
"rejections": {
"currentDay": 0,
"previousDays": [
0
]
}
}
},
"links": {
"self": "string"
},
"meta": {}
}
Properties
Name | Type | Required | Description |
---|---|---|---|
data | object | mandatory | none |
» requestTime | DateTimeString | mandatory | The date and time that the metrics in this payload were requested. |
» availability | AvailabilityMetrics | mandatory | Percentage availability of the CDR platform over time |
» performance | PerformanceMetrics | mandatory | Percentage of calls within the performance thresholds |
» invocations | InvocationMetricsV2 | mandatory | Number of API calls in each performance tier over time |
» averageResponse | AverageResponseMetricsV2 | mandatory | Average response time in seconds, at millisecond resolution, within each performance tier |
» sessionCount | SessionCountMetrics | mandatory | Session counts over time. Note that a session is defined as the provisioning of an Access Token. |
» averageTps | AverageTPSMetrics | mandatory | Transactions per second over time |
» peakTps | PeakTPSMetrics | mandatory | Maximum record transactions per second over time |
» errors | ErrorMetrics | mandatory | Number of calls resulting in error due to server execution over time |
» rejections | RejectionMetricsV2 | mandatory | Number of calls rejected due to traffic thresholds over time |
» customerCount | integer | mandatory | Number of customers with active authorisations at the time of the call |
» recipientCount | integer | mandatory | Number of Data Recipient Software Products with active authorisations at the time of the call |
» secondaryHolder | SecondaryHolderMetrics | conditional | Errors and rejections received by the primary data holder from the secondary data holder. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster |
links | Links | mandatory | none |
meta | Meta | optional | none |
AvailabilityMetrics
{
"currentMonth": 0,
"previousMonths": [
0
]
}
Percentage availability of the CDR platform over time
Properties
Name | Type | Required | Description |
---|---|---|---|
currentMonth | number | conditional | Percentage availability of the CDR platform so far for the current calendar month. 0.0 means 0%. 1.0 means 100%. |
previousMonths | [number] | conditional | Percentage availability of the CDR platform for previous calendar months. The first element indicates the last month and so on. A maximum of twelve entries is required if available. 0.0 means 0%. 1.0 means 100%. |
PerformanceMetrics
{
"currentDay": 0,
"previousDays": [
0
]
}
Percentage of calls within Primary Data Holder performance thresholds. Note that Secondary Data Holder performance MUST be excluded from this metric.
Properties
Name | Type | Required | Description |
---|---|---|---|
currentDay | number | conditional | Percentage of calls within the performance threshold for the current day. 0.0 means 0%. 1.0 means 100% |
previousDays | [number] | conditional | Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100% |
InvocationMetricsV2
{
"unauthenticated": {
"currentDay": 0,
"previousDays": [
0
]
},
"highPriority": {
"currentDay": 0,
"previousDays": [
0
]
},
"lowPriority": {
"currentDay": 0,
"previousDays": [
0
]
},
"unattended": {
"currentDay": 0,
"previousDays": [
0
]
},
"largePayload": {
"currentDay": 0,
"previousDays": [
0
]
},
"secondary": {
"currentDay": 0,
"previousDays": [
0
]
},
"largeSecondary": {
"currentDay": 0,
"previousDays": [
0
]
}
}
Number of API calls in each performance tier over time
Properties
Name | Type | Required | Description |
---|---|---|---|
unauthenticated | object | mandatory | API call counts for the unauthenticated tier |
» currentDay | number | conditional | API call counts for current day |
» previousDays | [number] | conditional | API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available |
highPriority | object | mandatory | API call counts for the high priority tier |
» currentDay | number | conditional | API call counts for current day |
» previousDays | [number] | conditional | API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available |
lowPriority | object | mandatory | API call counts for the low priority tier |
» currentDay | number | conditional | API call counts for current day |
» previousDays | [number] | conditional | API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available |
unattended | object | mandatory | API call counts for the unattended tier |
» currentDay | number | conditional | API call counts for current day |
» previousDays | [number] | conditional | API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available |
largePayload | object | mandatory | API call counts for the large payload tier |
» currentDay | number | conditional | API call counts for current day |
» previousDays | [number] | conditional | API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available |
secondary | object | conditional | API call counts for the Shared Responsibility Data Requests tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster |
» currentDay | number | conditional | API call counts for current day |
» previousDays | [number] | conditional | API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available |
largeSecondary | object | conditional | API call counts for the large Shared Responsibility Data Requests tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster |
» currentDay | number | conditional | API call counts for current day |
» previousDays | [number] | conditional | API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available |
AverageResponseMetricsV2
{
"unauthenticated": {
"currentDay": 0,
"previousDays": [
0
]
},
"highPriority": {
"currentDay": 0,
"previousDays": [
0
]
},
"lowPriority": {
"currentDay": 0,
"previousDays": [
0
]
},
"unattended": {
"currentDay": 0,
"previousDays": [
0
]
},
"largePayload": {
"currentDay": 0,
"previousDays": [
0
]
},
"secondary": {
"primary": {
"currentDay": 0,
"previousDays": [
0
]
},
"secondary": {
"currentDay": 0,
"previousDays": [
0
]
}
},
"largeSecondary": {
"primary": {
"currentDay": 0,
"previousDays": [
0
]
},
"secondary": {
"currentDay": 0,
"previousDays": [
0
]
}
}
}
Average response time in seconds, at millisecond resolution, within each performance tier
Properties
Name | Type | Required | Description |
---|---|---|---|
unauthenticated | object | mandatory | Average response time for the unauthenticated tier |
» currentDay | number | conditional | Average response time for current day |
» previousDays | [number] | conditional | Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. |
highPriority | object | mandatory | Average response time for the high priority tier |
» currentDay | number | conditional | Average response time for current day |
» previousDays | [number] | conditional | Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. |
lowPriority | object | mandatory | Average response time for the low priority tier |
» currentDay | number | conditional | Average response time for current day |
» previousDays | [number] | conditional | Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. |
unattended | object | mandatory | Average response time for the unattended tier |
» currentDay | number | conditional | Average response time for current day |
» previousDays | [number] | conditional | Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. |
largePayload | object | mandatory | Average response time for the large payload tier |
» currentDay | number | conditional | Average response time for current day |
» previousDays | [number] | conditional | Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. |
secondary | object | conditional | Average response time for the secondary tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster |
» primary | object | mandatory | Average response time as measured for the primary data holder |
»» currentDay | number | conditional | Average response time for current day |
»» previousDays | [number] | conditional | Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. |
» secondary | object | mandatory | Average response time as measured for the secondary data holder |
»» currentDay | number | conditional | Average response time for current day |
»» previousDays | [number] | conditional | Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. |
» largeSecondary | object | conditional | Average response time for the large payload tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster |
»» primary | object | mandatory | Average response time as measured for the primary data holder |
»»» currentDay | number | conditional | Average response time for current day |
»»» previousDays | [number] | conditional | Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. |
»» secondary | object | mandatory | Average response time as measured for the secondary data holder |
»»» currentDay | number | conditional | Average response time for current day |
»»» previousDays | [number] | conditional | Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. |
SessionCountMetrics
{
"currentDay": 0,
"previousDays": [
0
]
}
Session counts over time. Note that a session is defined as the provisioning of an Access Token.
Properties
Name | Type | Required | Description |
---|---|---|---|
currentDay | number | conditional | Session count for current day |
previousDays | [number] | conditional | Session count for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available |
AverageTPSMetrics
{
"currentDay": 0,
"previousDays": [
0
]
}
Transactions per second over time
Properties
Name | Type | Required | Description |
---|---|---|---|
currentDay | number | conditional | Average TPS for current day |
previousDays | [number] | conditional | Average TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available |
PeakTPSMetrics
{
"currentDay": 0,
"previousDays": [
0
]
}
Maximum record transactions per second over time
Properties
Name | Type | Required | Description |
---|---|---|---|
currentDay | number | conditional | Peak TPS for current day |
previousDays | [number] | conditional | Peak TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available |
ErrorMetrics
{
"currentDay": 0,
"previousDays": [
0
]
}
Number of calls resulting in error due to server execution over time
Properties
Name | Type | Required | Description |
---|---|---|---|
currentDay | number | conditional | Number of errors for current day |
previousDays | [number] | conditional | Number of errors for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available |
RejectionMetricsV2
{
"authenticated": {
"currentDay": 0,
"previousDays": [
0
]
},
"unauthenticated": {
"currentDay": 0,
"previousDays": [
0
]
}
}
Number of calls rejected due to traffic thresholds over time
Properties
Name | Type | Required | Description |
---|---|---|---|
authenticated | object | mandatory | Rejection counts for all authenticated end points |
» currentDay | number | conditional | Number of calls rejected for current day |
» previousDays | [number] | conditional | Number of calls rejected for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. |
unauthenticated | object | mandatory | Rejection counts for all unauthenticated end points |
» currentDay | number | conditional | Number of calls rejected for current day |
» previousDays | [number] | conditional | Number of calls rejected for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. |
SecondaryHolderMetrics
{
"errors": {
"currentDay": 0,
"previousDays": [
0
]
},
"rejections": {
"currentDay": 0,
"previousDays": [
0
]
}
}
Errors and rejections received by the primary data holder from the secondary data holder. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster
Properties
Name | Type | Required | Description |
---|---|---|---|
errors | object | mandatory | Number of calls resulting in error due to server execution over time |
» currentDay | number | conditional | Number of errors for current day |
» previousDays | [number] | conditional | Number of errors for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available |
rejections | object | mandatory | Number of calls rejected due to traffic thresholds over time |
» currentDay | number | conditional | Number of rejections for current day |
» previousDays | [number] | conditional | Number of rejections for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available |
Links
{
"self": "string"
}
Properties
Name | Type | Required | Description |
---|---|---|---|
self | URIString | mandatory | Fully qualified link to this API call |
Meta
{}
Properties
None
MetaError
{
"urn": "string"
}
Additional data for customised error codes
Properties
Name | Type | Required | Description |
---|---|---|---|
urn | string | conditional | The CDR error code URN which the application-specific error code extends. Mandatory if the error code is an application-specific error rather than a standardised error code. |
ResponseErrorListV2
{
"errors": [
{
"code": "string",
"title": "string",
"detail": "string",
"meta": {
"urn": "string"
}
}
]
}
Properties
Name | Type | Required | Description |
---|---|---|---|
errors | [object] | mandatory | none |
» code | string | mandatory | The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the meta object. Otherwise, the value is the error code URN. |
» title | string | mandatory | A short, human-readable summary of the problem that MUST NOT change from occurrence to occurrence of the problem represented by the error code. |
» detail | string | mandatory | A human-readable explanation specific to this occurrence of the problem. |
» meta | MetaError | optional | Additional data for customised error codes |