Consumer Data Right (Energy) Data Holder Admin API

Data Holder Admin endpoints

Operations 2

POST /admin/register/metadata Metadata Update #
GET /admin/metrics Get Metrics #

Documentation

Specifications

SDKs

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cdr-energy-data-holder-admin-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cdr-energy-data-holder-admin-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: contact@dsb.gov.au
    name: Data Standards Body
    url: https://dsb.gov.au/
  description: Specifications for admin endpoints applicable to all data holders (except secondary data holders).
  license:
    name: MIT License
    url: https://opensource.org/licenses/MIT
  title: CDR Admin Data Holder Admin API
  version: 1.36.0
servers:
- description: MTLS
  url: https://mtls.dh.example.com/cds-au/v1
tags:
- description: Data Holder Admin endpoints
  name: Data Holder Admin
  x-shortName: Admin
paths:
  /admin/register/metadata:
    post:
      description: Indicate that a critical update to the metadata for Accredited Data Recipients has been made and should be obtained.
      operationId: metadataUpdate
      parameters:
      - description: Version of the API endpoint requested by the client. Must be set to a positive integer. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) header should be treated as absent. If all versions requested are not supported then the endpoint should respond with a `406 Not Acceptable`. See [HTTP Headers](#request-headers).
        explode: false
        in: header
        name: x-v
        required: true
        schema:
          type: string
        style: simple
      - description: Minimum version of the API endpoint requested by the client. Must be set to a positive integer if provided. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint should respond with a `406 Not Acceptable`.
        explode: false
        in: header
        name: x-min-v
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        $ref: '#/components/requestBodies/RequestMetaDataUpdate'
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful response
          headers:
            x-v:
              $ref: '#/components/headers/XV'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>
        '406':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
      summary: Metadata Update
      tags:
      - Data Holder Admin
      x-scopes:
      - admin:metadata:update
      x-restricted-access: REGISTER
      x-version: '1'
  /admin/metrics:
    get:
      description: 'This endpoint allows the ACCC to obtain operational statistics from the Data Holder (at the Data Holder Brand level) on the operation of their CDR compliant implementation. The statistics obtainable from this endpoint are determined by the non-functional requirements for the CDR regime.


        This endpoint 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 **May 13th 2024**


        Obsolete versions: [v1](includes/obsolete/get-metrics-v1.html) [v2](includes/obsolete/get-metrics-v2.html).


        Deprecated versions:


        - [v3](includes/obsolete/get-metrics-v3.html) - Implementation 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

        - [v4](includes/obsolete/get-metrics-v4.html) - This version, or v5, **MUST** be implemented by **November 1st 2023**.


        If the Data Holder supports `private_key_jwt` client authentication they **MUST** validate the scope.'
      operationId: getMetrics
      parameters:
      - description: 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`.
        explode: true
        in: query
        name: period
        required: false
        schema:
          default: ALL
          enum:
          - CURRENT
          - HISTORIC
          - ALL
          type: string
        style: form
      - description: Version of the API endpoint requested by the client. Must be set to a positive integer. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) header should be treated as absent. If all versions requested are not supported then the endpoint should respond with a `406 Not Acceptable`. See [HTTP Headers](#request-headers).
        explode: false
        in: header
        name: x-v
        required: true
        schema:
          type: string
        style: simple
      - description: Minimum version of the API endpoint requested by the client. Must be set to a positive integer if provided. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint should respond with a `406 Not Acceptable`.
        explode: false
        in: header
        name: x-min-v
        required: false
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseMetricsListV5'
          description: Successful response
          headers:
            x-v:
              $ref: '#/components/headers/XV'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>
        '406':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
      summary: Get Metrics
      tags:
      - Data Holder Admin
      x-scopes:
      - admin:metrics.basic:read
      x-restricted-access: REGISTER
      x-version: '5'
components:
  schemas:
    InvocationMetricsV3_highPriority:
      description: API call counts for the high priority tier.
      properties:
        currentDay:
          description: API call counts for current day.
          type: integer
          x-cds-type: NaturalNumber
        previousDays:
          description: API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available.
          items:
            type: integer
            x-cds-type: NaturalNumber
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    AvailabilityMetricsV2_unauthenticated:
      description: Availability metrics for the unauthenticated aspects of the CDR regime.
      properties:
        currentMonth:
          description: Percentage availability of the CDR platform so far for the current calendar month. `0.0` means 0%. `1.0` means 100%. Must be a positive value or zero.
          type: string
          x-cds-type: RateString
        previousMonths:
          description: 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%. Values must be a positive or zero.
          items:
            type: string
            x-cds-type: RateString
          type: array
      type: object
      x-conditional:
      - currentMonth
      - previousMonths
    PeakTPSMetricsV2_aggregate:
      description: Aggregate peak transactions per second, over time, for all endpoints.
      properties:
        currentDay:
          description: Peak TPS for current day. Must be a positive value or zero.
          type: number
        previousDays:
          description: Peak TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero.
          items:
            type: number
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    RejectionMetricsV3_authenticated:
      description: Rejection counts for all authenticated endpoints.
      properties:
        currentDay:
          description: Number of calls rejected for current day.
          type: integer
          x-cds-type: NaturalNumber
        previousDays:
          description: Number of calls rejected for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available.
          items:
            type: integer
            x-cds-type: NaturalNumber
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    AverageResponseMetricsV2_unattended:
      description: Average response time for the unattended tier.
      properties:
        currentDay:
          description: Average response time for current day.
          type: number
        previousDays:
          description: Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available.
          items:
            type: number
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    InvocationMetricsV3:
      description: Number of API calls in each performance tier, over time.
      properties:
        unauthenticated:
          $ref: '#/components/schemas/InvocationMetricsV3_unauthenticated'
        highPriority:
          $ref: '#/components/schemas/InvocationMetricsV3_highPriority'
        lowPriority:
          $ref: '#/components/schemas/InvocationMetricsV3_lowPriority'
        unattended:
          $ref: '#/components/schemas/InvocationMetricsV3_unattended'
        largePayload:
          $ref: '#/components/schemas/InvocationMetricsV3_largePayload'
        secondary:
          $ref: '#/components/schemas/InvocationMetricsV3_secondary'
        largeSecondary:
          $ref: '#/components/schemas/InvocationMetricsV3_largeSecondary'
      required:
      - highPriority
      - largePayload
      - lowPriority
      - unattended
      - unauthenticated
      type: object
      x-conditional:
      - secondary
      - largeSecondary
    AverageTPSMetricsV2_authenticated:
      description: Average transactions per second, over time, for authenticated endpoints.
      properties:
        currentDay:
          description: Average TPS for current day. Must be a positive value or zero.
          type: number
        previousDays:
          description: Average TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero.
          items:
            type: number
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    SecondaryHolderMetricsV2_rejections:
      description: Number of calls rejected due to traffic thresholds, over time.
      properties:
        currentDay:
          description: Number of rejections for current day.
          type: integer
          x-cds-type: NaturalNumber
        previousDays:
          description: Number of rejections for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available.
          items:
            type: integer
            x-cds-type: NaturalNumber
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    InvocationMetricsV3_lowPriority:
      description: API call counts for the low priority tier.
      properties:
        currentDay:
          description: API call counts for current day.
          type: integer
          x-cds-type: NaturalNumber
        previousDays:
          description: API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available.
          items:
            type: integer
            x-cds-type: NaturalNumber
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    AverageResponseMetricsV2_secondary_secondary:
      description: Average response time as measured for the secondary data holder.
      properties:
        currentDay:
          description: Average response time for current day.
          type: number
        previousDays:
          description: Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available.
          items:
            type: number
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    AvailabilityMetricsV2_authenticated:
      description: Availability metrics for the authenticated aspects of the CDR regime.
      properties:
        currentMonth:
          description: Percentage availability of the CDR platform so far for the current calendar month. `0.0` means 0%. `1.0` means 100%. Must be a positive value or zero.
          type: string
          x-cds-type: RateString
        previousMonths:
          description: 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%. Values must be a positive or zero.
          items:
            type: string
            x-cds-type: RateString
          type: array
      type: object
      x-conditional:
      - currentMonth
      - previousMonths
    PerformanceMetricsV3_largeSecondary_primary:
      description: Percentage of large Shared Responsibility calls within the performance thresholds for the secondary data holder.
      properties:
        currentDay:
          description: Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder.
          items:
            $ref: '#/components/schemas/PerformanceHours'
          type: array
        previousDays:
          description: 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%. Values must be a positive or zero.
          items:
            $ref: '#/components/schemas/PerformancePreviousDays'
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    AuthorisationMetricsV2:
      description: Authorisation counts for the data holder.
      properties:
        activeAuthorisationCount:
          $ref: '#/components/schemas/AuthorisationMetricsV2_activeAuthorisationCount'
        newAuthorisationCount:
          $ref: '#/components/schemas/AuthorisationMetricsV2_newAuthorisationCount'
        revokedAuthorisationCount:
          $ref: '#/components/schemas/AuthorisationMetricsV2_revokedAuthorisationCount'
        amendedAuthorisationCount:
          $ref: '#/components/schemas/AuthorisationMetricsV2_amendedAuthorisationCount'
        expiredAuthorisationCount:
          $ref: '#/components/schemas/AuthorisationMetricsV2_expiredAuthorisationCount'
        abandonedConsentFlowCount:
          $ref: '#/components/schemas/AuthorisationMetricsV2_abandonedConsentFlowCount'
        abandonmentsByStage:
          $ref: '#/components/schemas/AuthorisationMetricsV2_abandonmentsByStage'
      required:
      - abandonedConsentFlowCount
      - abandonmentsByStage
      - activeAuthorisationCount
      - amendedAuthorisationCount
      - expiredAuthorisationCount
      - newAuthorisationCount
      - revokedAuthorisationCount
      type: object
    AverageTPSMetricsV2_aggregate:
      description: Aggregate average transactions per second, over time, for all endpoints.
      properties:
        currentDay:
          description: Average TPS for current day. Must be a positive value or zero.
          type: number
        previousDays:
          description: Average TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero.
          items:
            type: number
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    ErrorMetricsV2:
      description: Number of calls resulting in error, over time.
      properties:
        aggregate:
          $ref: '#/components/schemas/ErrorMetricsV2_aggregate'
        unauthenticated:
          $ref: '#/components/schemas/ErrorMetricsV2_unauthenticated'
        authenticated:
          $ref: '#/components/schemas/ErrorMetricsV2_authenticated'
      required:
      - aggregate
      - authenticated
      - unauthenticated
      type: object
    AuthorisationMetricsV2_amendedAuthorisationCount_currentDay:
      description: Number of amended authorisations for the current day.
      properties:
        individual:
          description: Amended authorisation count for individual customers.
          type: integer
          x-cds-type: NaturalNumber
        nonIndividual:
          description: Amended authorisation count for non-individual customers.
          type: integer
          x-cds-type: NaturalNumber
      required:
      - individual
      - nonIndividual
      type: object
    AuthorisationMetricsV2_revokedAuthorisationCount:
      description: The number of revoked authorisations.
      properties:
        currentDay:
          $ref: '#/components/schemas/AuthorisationMetricsV2_revokedAuthorisationCount_currentDay'
        previousDays:
          description: Number of revoked authorisations for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available.
          items:
            $ref: '#/components/schemas/AuthorisationMetricsV2_revokedAuthorisationCount_previousDays'
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    AverageResponseMetricsV2:
      description: Average response time in seconds, at millisecond resolution, within each performance tier.
      properties:
        unauthenticated:
          $ref: '#/components/schemas/AverageResponseMetricsV2_unauthenticated'
        highPriority:
          $ref: '#/components/schemas/AverageResponseMetricsV2_highPriority'
        lowPriority:
          $ref: '#/components/schemas/AverageResponseMetricsV2_lowPriority'
        unattended:
          $ref: '#/components/schemas/AverageResponseMetricsV2_unattended'
        largePayload:
          $ref: '#/components/schemas/AverageResponseMetricsV2_largePayload'
        secondary:
          $ref: '#/components/schemas/AverageResponseMetricsV2_secondary'
        largeSecondary:
          $ref: '#/components/schemas/AverageResponseMetricsV2_largeSecondary'
      required:
      - highPriority
      - largePayload
      - lowPriority
      - unattended
      - unauthenticated
      type: object
      x-conditional:
      - secondary
      - largeSecondary
    InvocationMetricsV3_largeSecondary:
      description: API call counts for the large Shared Responsibility Data Requests tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster.
      properties:
        currentDay:
          description: API call counts for current day.
          type: integer
          x-cds-type: NaturalNumber
        previousDays:
          description: API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available.
          items:
            type: integer
            x-cds-type: NaturalNumber
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    PerformanceMetricsV3_unauthenticated:
      description: Percentage of unauthenticated calls within the performance thresholds.
      properties:
        currentDay:
          description: Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder.
          items:
            $ref: '#/components/schemas/PerformanceHours'
          type: array
        previousDays:
          description: 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%. Values must be a positive or zero.
          items:
            $ref: '#/components/schemas/PerformancePreviousDays'
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    ResponseMetricsListV5:
      properties:
        data:
          $ref: '#/components/schemas/ResponseMetricsListV5_data'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Meta'
      required:
      - data
      - links
      type: object
    AuthorisationMetricsV2_abandonmentsByStage:
      description: Customer abandonment count per stage of the consent flow. Note that the aggregated abandonment count for all stages for a period should equal the count in _abandonedConsentFlowCount_ for the same period (i.e. each abandoned consent should assigned to one, and only one, stage).
      properties:
        preIdentification:
          $ref: '#/components/schemas/AuthorisationMetricsV2_abandonmentsByStage_preIdentification'
        preAuthentication:
          $ref: '#/components/schemas/AuthorisationMetricsV2_abandonmentsByStage_preAuthentication'
        preAccountSelection:
          $ref: '#/components/schemas/AuthorisationMetricsV2_abandonmentsByStage_preAccountSelection'
        preAuthorisation:
          $ref: '#/components/schemas/AuthorisationMetricsV2_abandonmentsByStage_preAuthorisation'
        rejected:
          $ref: '#/components/schemas/AuthorisationMetricsV2_abandonmentsByStage_rejected'
        failedTokenExchange:
          $ref: '#/components/schemas/AuthorisationMetricsV2_abandonmentsByStage_failedTokenExchange'
      required:
      - failedTokenExchange
      - preAccountSelection
      - preAuthentication
      - preAuthorisation
      - preIdentification
      - rejected
      type: object
    InvocationMetricsV3_unauthenticated:
      description: API call counts for the unauthenticated tier.
      properties:
        currentDay:
          description: API call counts for current day.
          type: integer
          x-cds-type: NaturalNumber
        previousDays:
          description: API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available.
          items:
            type: integer
            x-cds-type: NaturalNumber
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    ResponseMetricsListV5_data:
      properties:
        requestTime:
          description: The date and time that the metrics in this payload were requested.
          type: string
          x-cds-type: DateTimeString
        availability:
          $ref: '#/components/schemas/AvailabilityMetricsV2'
        performance:
          $ref: '#/components/schemas/PerformanceMetricsV3'
        invocations:
          $ref: '#/components/schemas/InvocationMetricsV3'
        averageResponse:
          $ref: '#/components/schemas/AverageResponseMetricsV2'
        sessionCount:
          $ref: '#/components/schemas/SessionCountMetricsV2'
        averageTps:
          $ref: '#/components/schemas/AverageTPSMetricsV2'
        peakTps:
          $ref: '#/components/schemas/PeakTPSMetricsV2'
        errors:
          $ref: '#/components/schemas/ErrorMetricsV2'
        rejections:
          $ref: '#/components/schemas/RejectionMetricsV3'
        customerCount:
          description: Number of customers with active authorisations at the time of the call.
          type: integer
          x-cds-type: NaturalNumber
        recipientCount:
          description: Number of Data Recipient Software Products with active authorisations at the time of the call.
          type: integer
          x-cds-type: NaturalNumber
        secondaryHolder:
          $ref: '#/components/schemas/SecondaryHolderMetricsV2'
        authorisations:
          $ref: '#/components/schemas/AuthorisationMetricsV2'
      required:
      - authorisations
      - availability
      - averageResponse
      - averageTps
      - customerCount
      - errors
      - invocations
      - peakTps
      - performance
      - recipientCount
      - rejections
      - requestTime
      - sessionCount
      type: object
      x-conditional:
      - secondaryHolder
    PerformanceMetricsV3_lowPriority:
      description: Percentage of low priority calls within the performance thresholds.
      properties:
        currentDay:
          description: Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder.
          items:
            $ref: '#/components/schemas/PerformanceHours'
          type: array
        previousDays:
          description: 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%. Values must be a positive or zero.
          items:
            $ref: '#/components/schemas/PerformancePreviousDays'
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    AuthorisationMetricsV2_abandonmentsByStage_preAuthentication:
      description: The number of authorisations where the customer identified themselves (i.e. they successfully identify the customer profile to use for the authorisation) but failed to provide a valid OTP or equivalent.
      properties:
        currentDay:
          description: Number of abandoned consent flows for this stage for the current day.
          type: integer
          x-cds-type: NaturalNumber
        previousDays:
          description: Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available.
          items:
            type: integer
            x-cds-type: NaturalNumber
          type: array
      type: object
      x-conditional:
      - currentDay
      - previousDays
    ErrorV2:
      properties:
        code:
          description: 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.
          type: string
        title:
          description: A short, human-readable summary of the problem that **MUST NOT** change from occurrence to occurrence of the problem represented by the error code.
          type: string
        detail:
          description: A human-readable explanation specific to this occurrence of the problem.
          type: string
        meta:
          $ref: '#/components/schemas/ErrorV2_meta'
      required:
      - code
      - detail
      - title
      type: object
      x-conditional:
      - meta
    AuthorisationMetricsV2_amendedAuthorisationCount_previousDays:
      properties:
        individual:
          description: Amended authorisation count for individual customers.
          type: integer
          x-cds-type: NaturalNumber
        nonIndividual:
          description: Amended authorisation count for non-individual customers.
          type: integer
          x-cds-type: NaturalNumber
      required:
      - individual
      - nonIndividual
      type: object
    AverageResponseMetricsV2_secondary:
      description: Average response time for the secondary tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster.
      properties:
        primary:
          $ref: '#/components/schemas/AverageResponseMetricsV2_secondary_primary'
        secondary:
          $ref: '#/components/schemas/AverageResponseMetricsV2_secondary_secondary'
      required:
      - primary
      - secondary
      type: object
    AuthorisationMetricsV2_expiredAuthorisationCount_previousDays:
      properties:
        individual:
          description: Expired authorisation count for individual customers.
          type: integer
          x-cds-type: NaturalNumber
        nonIndividual:
          description: Expired authorisation count for non-individual customers.
          type: integer
          x-cds-type: NaturalNumber
      required:
      - individual
      - nonIndividual
      type: object
    ErrorMetricsV2_authenticated:
      description: Number of calls resulting in error for authenticated endpoints.
      properties:
        currentDay:
          additionalProperties:
            description: 'This is a placeholder field to be substituted with each respective HTTP error code in the 4xx and 5xx range recorded by the Data Holder. It is represented by _property1_ and _property2_ in the _Non-normative Examples_ section. Note that the property name **MUST** be the three-digit HTTP error code as per the adjacent _500_ example. All possible property names have not been defined as the range is expected to vary across participants. Examples would include, but are not limited to: _400, 401, 403, 404, 405, 406, 415, 422, 429, 500, 503, 504_.'
            type: integer
            x-cds-type: NaturalNumber
          description: Error counts, by HTTP error code, for current day.
          properties:
            '500':
              description: Reflecting the description provided in the adjacent _additionalProperties_ field, this is an example demonstrating the structure for reporting the number of calls resulting in HTTP error code `500`. Each error code recorded by the Data Holder in the 4xx and 5xx range **MUST** be provided in this format against the respective property name.
              type: integer
              x-cds-type: NaturalNumber
          type: object
        previousDays:
          description: Error counts, by HTTP error code, for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available.
          items:
            additionalProperties:
              description: 'This is a placeholder field to be substituted with each respective HTTP error

# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cdr-energy/refs/heads/main/openapi/cdr-energy-data-holder-admin-api-openapi.yml