{
  "openapi" : "3.0.3",
  "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 API",
    "version" : "1.34.1"
  },
  "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.\n\nThis 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).\n\nNOTE: This version **MUST** be implemented by **May 13th 2024**\n\nObsolete versions: [v1](includes/obsolete/get-metrics-v1.html) [v2](includes/obsolete/get-metrics-v2.html).\n\nDeprecated versions:\n\n- [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\n- [v4](includes/obsolete/get-metrics-v4.html) - This version, or v5, **MUST** be implemented by **November 1st 2023**.\n\nIf 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" : {
    "headers" : {
      "XV" : {
        "description" : "The [payload version](#response-headers) that the endpoint has responded with.",
        "explode" : false,
        "required" : true,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple"
      }
    },
    "parameters" : {
      "QueryPeriod" : {
        "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"
      },
      "HeaderXV" : {
        "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"
      },
      "HeaderXMinV" : {
        "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"
      }
    },
    "requestBodies" : {
      "RequestMetaDataUpdate" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/RequestMetaDataUpdateV1"
            }
          }
        },
        "required" : true
      }
    },
    "responses" : {
      "MetadataUpdate200" : {
        "content" : {
          "application/json" : {
            "schema" : { }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/XV"
          }
        }
      },
      "MetadataUpdate400" : {
        "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>"
      },
      "MetadataUpdate406" : {
        "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>"
      },
      "GetMetrics200" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseMetricsListV5"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/XV"
          }
        }
      },
      "GetMetrics400" : {
        "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>"
      },
      "GetMetrics406" : {
        "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>"
      }
    },
    "schemas" : {
      "RequestMetaDataUpdateV1" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/RequestMetaDataUpdateV1_data"
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          }
        },
        "required" : [ "data" ],
        "type" : "object"
      },
      "ResponseMetricsListV5" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/ResponseMetricsListV5_data"
          },
          "links" : {
            "$ref" : "#/components/schemas/Links"
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          }
        },
        "required" : [ "data", "links" ],
        "type" : "object"
      },
      "AvailabilityMetricsV2" : {
        "description" : "Availability metrics.",
        "properties" : {
          "aggregate" : {
            "$ref" : "#/components/schemas/AvailabilityMetricsV2_aggregate"
          },
          "unauthenticated" : {
            "$ref" : "#/components/schemas/AvailabilityMetricsV2_unauthenticated"
          },
          "authenticated" : {
            "$ref" : "#/components/schemas/AvailabilityMetricsV2_authenticated"
          }
        },
        "required" : [ "aggregate", "authenticated", "unauthenticated" ],
        "type" : "object"
      },
      "PerformanceMetricsV3" : {
        "description" : "Percentage of calls within the performance thresholds in each performance tier, over time.",
        "properties" : {
          "aggregate" : {
            "$ref" : "#/components/schemas/PerformanceMetricsV3_aggregate"
          },
          "highPriority" : {
            "$ref" : "#/components/schemas/PerformanceMetricsV3_highPriority"
          },
          "largePayload" : {
            "$ref" : "#/components/schemas/PerformanceMetricsV3_largePayload"
          },
          "lowPriority" : {
            "$ref" : "#/components/schemas/PerformanceMetricsV3_lowPriority"
          },
          "unattended" : {
            "$ref" : "#/components/schemas/PerformanceMetricsV3_unattended"
          },
          "unauthenticated" : {
            "$ref" : "#/components/schemas/PerformanceMetricsV3_unauthenticated"
          },
          "secondary" : {
            "$ref" : "#/components/schemas/PerformanceMetricsV3_secondary"
          },
          "largeSecondary" : {
            "$ref" : "#/components/schemas/PerformanceMetricsV3_largeSecondary"
          }
        },
        "required" : [ "highPriority", "largePayload", "lowPriority", "unattended", "unauthenticated" ],
        "type" : "object",
        "x-conditional" : [ "secondary", "largeSecondary" ]
      },
      "PerformancePreviousDays" : {
        "description" : "Array of contiguous hourly metrics for the specified 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"
      },
      "PerformanceHours" : {
        "description" : "Percentage of calls within the performance threshold for the specified hour. `0.0` means 0%. `1.0` means 100%. Must be a positive value or zero.",
        "type" : "string",
        "x-cds-type" : "RateString"
      },
      "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" ]
      },
      "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" ]
      },
      "SessionCountMetricsV2" : {
        "description" : "Session counts, over time. Note that a session is defined as the provisioning of an Access Token.",
        "properties" : {
          "currentDay" : {
            "description" : "Session count for current day.",
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          },
          "previousDays" : {
            "description" : "Session count 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" ]
      },
      "AverageTPSMetricsV2" : {
        "description" : "Average transactions per second, over time.",
        "properties" : {
          "aggregate" : {
            "$ref" : "#/components/schemas/AverageTPSMetricsV2_aggregate"
          },
          "unauthenticated" : {
            "$ref" : "#/components/schemas/AverageTPSMetricsV2_unauthenticated"
          },
          "authenticated" : {
            "$ref" : "#/components/schemas/AverageTPSMetricsV2_authenticated"
          }
        },
        "required" : [ "aggregate", "authenticated", "unauthenticated" ],
        "type" : "object"
      },
      "PeakTPSMetricsV2" : {
        "description" : "Peak transactions per second, over time.",
        "properties" : {
          "aggregate" : {
            "$ref" : "#/components/schemas/PeakTPSMetricsV2_aggregate"
          },
          "unauthenticated" : {
            "$ref" : "#/components/schemas/PeakTPSMetricsV2_unauthenticated"
          },
          "authenticated" : {
            "$ref" : "#/components/schemas/PeakTPSMetricsV2_authenticated"
          }
        },
        "required" : [ "aggregate", "authenticated", "unauthenticated" ],
        "type" : "object"
      },
      "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"
      },
      "RejectionMetricsV3" : {
        "description" : "Number of calls rejected due to traffic thresholds, over time.",
        "properties" : {
          "authenticated" : {
            "$ref" : "#/components/schemas/RejectionMetricsV3_authenticated"
          },
          "unauthenticated" : {
            "$ref" : "#/components/schemas/RejectionMetricsV3_unauthenticated"
          }
        },
        "required" : [ "authenticated", "unauthenticated" ],
        "type" : "object"
      },
      "SecondaryHolderMetricsV2" : {
        "description" : "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" : {
          "errors" : {
            "$ref" : "#/components/schemas/SecondaryHolderMetricsV2_errors"
          },
          "rejections" : {
            "$ref" : "#/components/schemas/SecondaryHolderMetricsV2_rejections"
          }
        },
        "required" : [ "errors", "rejections" ],
        "type" : "object"
      },
      "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"
      },
      "Links" : {
        "properties" : {
          "self" : {
            "description" : "Fully qualified link to this API call.",
            "type" : "string",
            "x-cds-type" : "URIString"
          }
        },
        "required" : [ "self" ],
        "type" : "object"
      },
      "Meta" : {
        "type" : "object"
      },
      "ResponseErrorListV2" : {
        "properties" : {
          "errors" : {
            "description" : "List of errors.",
            "items" : {
              "$ref" : "#/components/schemas/ErrorV2"
            },
            "type" : "array"
          }
        },
        "required" : [ "errors" ],
        "type" : "object"
      },
      "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" ]
      },
      "RequestMetaDataUpdateV1_data" : {
        "properties" : {
          "action" : {
            "default" : "REFRESH",
            "description" : "The action to take for the meta data. At the moment the only option is `REFRESH` which requires the data holder to call the ACCC to refresh meta data as soon as practicable.",
            "enum" : [ "REFRESH" ],
            "type" : "string"
          }
        },
        "required" : [ "action" ],
        "type" : "object"
      },
      "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" ]
      },
      "AvailabilityMetricsV2_aggregate" : {
        "description" : "Aggregated availability metrics.",
        "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" ]
      },
      "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" ]
      },
      "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_aggregate" : {
        "description" : "Percentage of calls within Primary Data Holder performance thresholds. Note that Secondary Data Holder performance **MUST** be excluded from this metric.",
        "properties" : {
          "currentDay" : {
            "description" : "Percentage of calls within the performance threshold for the current day. `0.0` means 0%. `1.0` means 100%. Must be a positive value or zero.",
            "type" : "string",
            "x-cds-type" : "RateString"
          },
          "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" : {
              "type" : "string",
              "x-cds-type" : "RateString"
            },
            "type" : "array"
          }
        },
        "type" : "object",
        "x-conditional" : [ "currentDay", "previousDays" ]
      },
      "PerformanceMetricsV3_highPriority" : {
        "description" : "Percentage of high 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" ]
      },
      "PerformanceMetricsV3_largePayload" : {
        "description" : "Percentage of large payload 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" ]
      },
      "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" ]
      },
      "PerformanceMetricsV3_unattended" : {
        "description" : "Percentage of unattended 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" ]
      },
      "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" ]
      },
      "PerformanceMetricsV3_secondary_primary" : {
        "description" : "Percentage of Shared Responsibility calls within the performance thresholds for the primary 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" ]
      },
      "PerformanceMetricsV3_secondary_secondary" : {
        "description" : "Percentage of 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" ]
      },
      "PerformanceMetricsV3_secondary" : {
        "description" : "Percentage of Shared Responsibility calls within the performance thresholds. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster.",
        "properties" : {
          "primary" : {
            "$ref" : "#/components/schemas/PerformanceMetricsV3_secondary_primary"
          },
          "secondary" : {
            "$ref" : "#/components/schemas/PerformanceMetricsV3_secondary_secondary"
          }
        },
        "required" : [ "primary", "secondary" ],
        "type" : "object"
      },
      "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" ]
      },
      "PerformanceMetricsV3_largeSecondary" : {
        "description" : "Percentage of large Shared Responsibility calls within the performance thresholds. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster.",
        "properties" : {
          "primary" : {
            "$ref" : "#/components/schemas/PerformanceMetricsV3_largeSecondary_primary"
          },
          "secondary" : {
            "$ref" : "#/components/schemas/PerformanceMetricsV3_largeSecondary_primary"
          }
        },
        "required" : [ "primary", "secondary" ],
        "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" ]
      },
      "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" ]
      },
      "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" ]
      },
      "InvocationMetricsV3_unattended" : {
        "description" : "API call counts for the unattended 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" ]
      },
      "InvocationMetricsV3_largePayload" : {
        "description" : "API call counts for the large payload 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" ]
      },
      "InvocationMetricsV3_secondary" : {
        "description" : "API call counts for the 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" ]
      },
      "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" ]
      },
      "AverageResponseMetricsV2_unauthenticated" : {
        "description" : "Average response time for the unauthenticated 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" ]
      },
      "AverageResponseMetricsV2_highPriority" : {
        "description" : "Average response time for the high priority 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" ]
      },
      "AverageResponseMetricsV2_lowPriority" : {
        "description" : "Average response time for the low priority 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" ]
      },
      "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" ]
      },
      "AverageResponseMetricsV2_largePayload" : {
        "description" : "Average response time for the large payload 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" ]
      },
      "AverageResponseMetricsV2_secondary_primary" : {
        "description" : "Average response time as measured for the primary 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" ]
      },
      "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" ]
      },
      "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"
      },
      "AverageResponseMetricsV2_largeSecondary" : {
        "description" : "Average response time for the large payload 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"
      },
      "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" ]
      },
      "AverageTPSMetricsV2_unauthenticated" : {
        "description" : "Average transactions per second, over time, for unauthenticated 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" ]
      },
      "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" ]
      },
      "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" ]
      },
      "PeakTPSMetricsV2_unauthenticated" : {
        "description" : "Peak transactions per second, over time, for unauthenticated 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" ]
      },
      "PeakTPSMetricsV2_authenticated" : {
        "description" : "Peak transactions per second, over time, for authenticated 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" ]
      },
      "ErrorMetricsV2_aggregate" : {
        "description" : "Aggregate number of calls resulting in error due to server execution, over time, for all endpoints.",
        "properties" : {
          "currentDay" : {
            "description" : "Error counts for current day.",
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          },
          "previousDays" : {
            "description" : "Error 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" ]
      },
      "ErrorMetricsV2_unauthenticated" : {
        "description" : "Number of calls resulting in error for unauthenticated 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, 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 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, 404, 405, 406, 415, 422, 429, 500, 503, 504_.",
                "type" : "integer",
                "x-cds-type" : "NaturalNumber"
              },
              "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"
            },
            "type" : "array"
          }
        },
        "type" : "object",
        "x-conditional" : [ "currentDay", "previousDays" ]
      },
      "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 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"
              },
              "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"
            },
            "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" ]
      },
      "RejectionMetricsV3_unauthenticated" : {
        "description" : "Rejection counts for all unauthenticated 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" ]
      },
      "SecondaryHolderMetricsV2_errors" : {
        "description" : "Number of calls resulting in error due to server execution, over time.",
        "properties" : {
          "currentDay" : {
            "description" : "Number of errors for current day.",
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          },
          "previousDays" : {
            "description" : "Number of errors 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" ]
      },
      "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" ]
      },
      "AuthorisationMetricsV2_activeAuthorisationCount" : {
        "description" : "The number of active ongoing authorisations.",
        "properties" : {
          "individual" : {
            "description" : "Active ongoing authorisation count for individual customers.",
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          },
          "nonIndividual" : {
            "description" : "Active ongoing authorisation count for non-individual customers.",
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          }
        },
        "required" : [ "individual", "nonIndividual" ],
        "type" : "object"
      },
      "AuthorisationMetricsV2_newAuthorisationCount_currentDay_onceOff" : {
        "description" : "New authorisation count for once-off authorisations.",
        "properties" : {
          "individual" : {
            "description" : "New authorisation count for individual customers.",
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          },
          "nonIndividual" : {
            "description" : "New authorisation count for non-individual customers.",
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          }
        },
        "required" : [ "individual", "nonIndividual" ],
        "type" : "object"
      },
      "AuthorisationMetricsV2_newAuthorisationCount_currentDay_ongoing" : {
        "description" : "New authorisation count for ongoing authorisations.",
        "properties" : {
          "individual" : {
            "description" : "New authorisation count for individual customers.",
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          },
          "nonIndividual" : {
            "description" : "New authorisation count for non-individual customers.",
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          }
        },
        "required" : [ "individual", "nonIndividual" ],
        "type" : "object"
      },
      "AuthorisationMetricsV2_newAuthorisationCount_currentDay" : {
        "description" : "Number of new authorisations for the current day.",
        "properties" : {
          "onceOff" : {
            "$ref" : "#/components/schemas/AuthorisationMetricsV2_newAuthorisationCount_currentDay_onceOff"
          },
          "ongoing" : {
            "$ref" : "#/components/schemas/AuthorisationMetricsV2_newAuthorisationCount_currentDay_ongoing"
          }
        },
        "required" : [ "onceOff", "ongoing" ],
        "type" : "object"
      },
      "AuthorisationMetricsV2_newAuthorisationCount_previousDays" : {
        "properties" : {
          "onceOff" : {
            "$ref" : "#/components/schemas/AuthorisationMetricsV2_newAuthorisationCount_currentDay_onceOff"
          },
          "ongoing" : {
            "$ref" : "#/components/schemas/AuthorisationMetricsV2_newAuthorisationCount_currentDay_ongoing"
          }
        },
        "required" : [ "onceOff", "ongoing" ],
        "type" : "object"
      },
      "AuthorisationMetricsV2_newAuthorisationCount" : {
        "description" : "The number of new authorisations.",
        "properties" : {
          "currentDay" : {
            "$ref" : "#/components/schemas/AuthorisationMetricsV2_newAuthorisationCount_currentDay"
          },
          "previousDays" : {
            "description" : "Number of new 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_newAuthorisationCount_previousDays"
            },
            "type" : "array"
          }
        },
        "type" : "object",
        "x-conditional" : [ "currentDay", "previousDays" ]
      },
      "AuthorisationMetricsV2_revokedAuthorisationCount_currentDay" : {
        "description" : "Number of revoked authorisations for the current day.",
        "properties" : {
          "individual" : {
            "description" : "Revoked authorisation count for individual customers.",
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          },
          "nonIndividual" : {
            "description" : "Revoked authorisation count for non-individual customers.",
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          }
        },
        "required" : [ "individual", "nonIndividual" ],
        "type" : "object"
      },
      "AuthorisationMetricsV2_revokedAuthorisationCount_previousDays" : {
        "properties" : {
          "individual" : {
            "description" : "Revoked authorisation count for individual customers.",
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          },
          "nonIndividual" : {
            "description" : "Revoked 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" ]
      },
      "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_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"
      },
      "AuthorisationMetricsV2_amendedAuthorisationCount" : {
        "description" : "The number of amended ongoing authorisations.",
        "properties" : {
          "currentDay" : {
            "$ref" : "#/components/schemas/AuthorisationMetricsV2_amendedAuthorisationCount_currentDay"
          },
          "previousDays" : {
            "description" : "Number of amended 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_amendedAuthorisationCount_previousDays"
            },
            "type" : "array"
          }
        },
        "type" : "object",
        "x-conditional" : [ "currentDay", "previousDays" ]
      },
      "AuthorisationMetricsV2_expiredAuthorisationCount_currentDay" : {
        "description" : "Number of expired authorisations for the current day.",
        "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"
      },
      "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"
      },
      "AuthorisationMetricsV2_expiredAuthorisationCount" : {
        "description" : "The number of expired ongoing authorisations.",
        "properties" : {
          "currentDay" : {
            "$ref" : "#/components/schemas/AuthorisationMetricsV2_expiredAuthorisationCount_currentDay"
          },
          "previousDays" : {
            "description" : "Number of expired 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_expiredAuthorisationCount_previousDays"
            },
            "type" : "array"
          }
        },
        "type" : "object",
        "x-conditional" : [ "currentDay", "previousDays" ]
      },
      "AuthorisationMetricsV2_abandonedConsentFlowCount" : {
        "description" : "The number of consents flows that were not successfully authorised.",
        "properties" : {
          "currentDay" : {
            "description" : "Number of consents flows that were not successfully authorised for the current day.",
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          },
          "previousDays" : {
            "description" : "Number of consents flows that were not successfully authorised 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" ]
      },
      "AuthorisationMetricsV2_abandonmentsByStage_preIdentification" : {
        "description" : "The number of authorisations that commenced with the data holder but the customer did not successfully identify their profile or user ID.",
        "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" ]
      },
      "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" ]
      },
      "AuthorisationMetricsV2_abandonmentsByStage_preAccountSelection" : {
        "description" : "The number of authorisations where the customer successfully authenticated with a valid OTP or equivalent but abandoned the process before selecting accounts.",
        "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" ]
      },
      "AuthorisationMetricsV2_abandonmentsByStage_preAuthorisation" : {
        "description" : "The number of authorisations where the customer has passed the account selection step but abandoned the process before approving or rejecting the consent being requested.",
        "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" ]
      },
      "AuthorisationMetricsV2_abandonmentsByStage_rejected" : {
        "description" : "The number of authorisations where the customer actively rejected the authorisation rather than abandoning the process.",
        "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" ]
      },
      "AuthorisationMetricsV2_abandonmentsByStage_failedTokenExchange" : {
        "description" : "The number of authorisations that completed the interactive flow with the consumer authorising the consent, but the ADR failed to - or was unable to - obtain a refresh or access token using the authorisation code.",
        "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" ]
      },
      "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"
      },
      "ErrorV2_meta" : {
        "description" : "Additional data for customised error codes.",
        "properties" : {
          "urn" : {
            "description" : "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.",
            "type" : "string"
          }
        },
        "type" : "object",
        "x-conditional" : [ "urn" ]
      }
    }
  }
}