CDR Common API

The cross-sector endpoints every CDR data holder must expose regardless of industry — GET /common/customer and /common/customer/detail for the consented customer's identity, and the unauthenticated /discovery/status and /discovery/outages endpoints that let the ecosystem see whether a data holder is up and when it plans to be down. The discovery pair is a rare example of a regulator mandating a public status API.

OpenAPI Specification

cdr-common-openapi.json Raw ↑
{
  "openapi" : "3.0.3",
  "info" : {
    "contact" : {
      "email" : "contact@dsb.gov.au",
      "name" : "Data Standards Body",
      "url" : "https://dsb.gov.au/"
    },
    "description" : "Specifications for common endpoints applicable to all data holders (except secondary data holders).",
    "license" : {
      "name" : "MIT License",
      "url" : "https://opensource.org/licenses/MIT"
    },
    "title" : "CDR Common API",
    "version" : "1.36.0"
  },
  "servers" : [ {
    "description" : "MTLS",
    "url" : "https://mtls.dh.example.com/cds-au/v1"
  } ],
  "tags" : [ {
    "description" : "Data Holder Customer endpoints",
    "name" : "Data Holder Customers",
    "x-shortName" : "Customers"
  }, {
    "description" : "Data Holder Operations endpoints",
    "name" : "Data Holder Operations",
    "x-shortName" : "Operations"
  } ],
  "paths" : {
    "/common/customer" : {
      "get" : {
        "description" : "Obtain basic information on the customer that has authorised the current session.\n\n<h3 id='cdr-common-api_get-customer_conventions'>Conventions</h3>\nIn the customer payloads there are conventions that are explained below.\n\n#### Given Names\n\n_firstName_ represents the first of a person's given names.\n\n_middleNames_ represents a collection of given names if the person has more than one given name.\n\nWhere a data holder holds a person's given names as a single string in source systems, it may not possible in some situations to reliably split these given names into their component first and middle names. In these situations, data holders **MAY** use the _firstName_ field to return the single string of given names and an empty _middleNames_ array.\n\nFor example, if a person's given names are \"John Paul Winston\" and the Data Holder is unable to determine which is the first name, they can return `\"firstName\": \"John Paul Winston\"`.",
        "operationId" : "getCustomer",
        "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 **MUST** 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 **MUST** respond with a `406 Not Acceptable`.",
          "explode" : false,
          "in" : "header",
          "name" : "x-min-v",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder **MUST** play back this value in the _x-fapi-interaction-id_ response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.",
          "explode" : false,
          "in" : "header",
          "name" : "x-fapi-interaction-id",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**. Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.",
          "explode" : false,
          "in" : "header",
          "name" : "x-fapi-auth-date",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple",
          "x-conditional" : true
        }, {
          "description" : "The customer's original IP address if the customer is currently logged in to the Data Recipient Software Product. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.",
          "explode" : false,
          "in" : "header",
          "name" : "x-fapi-customer-ip-address",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User-Agent header, if the customer is currently logged in to the Data Recipient Software Product. Mandatory for customer present calls. Not required for unattended or unauthenticated calls.",
          "explode" : false,
          "in" : "header",
          "name" : "x-cds-client-headers",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple",
          "x-conditional" : true,
          "x-cds-type" : "Base64"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseCommonCustomer"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/XV"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "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>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "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>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          }
        },
        "summary" : "Get Customer",
        "tags" : [ "Data Holder Customers" ],
        "x-scopes" : [ "common:customer.basic:read" ],
        "x-version" : "1"
      }
    },
    "/common/customer/detail" : {
      "get" : {
        "description" : "Obtain detailed information on the authorised customer within the current session.\n\nObsolete versions: [v1](includes/obsolete/get-customer-detail-v1.html).",
        "operationId" : "getCustomerDetail",
        "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 **MUST** 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 **MUST** respond with a `406 Not Acceptable`.",
          "explode" : false,
          "in" : "header",
          "name" : "x-min-v",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder **MUST** play back this value in the _x-fapi-interaction-id_ response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.",
          "explode" : false,
          "in" : "header",
          "name" : "x-fapi-interaction-id",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**. Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.",
          "explode" : false,
          "in" : "header",
          "name" : "x-fapi-auth-date",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple",
          "x-conditional" : true
        }, {
          "description" : "The customer's original IP address if the customer is currently logged in to the Data Recipient Software Product. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.",
          "explode" : false,
          "in" : "header",
          "name" : "x-fapi-customer-ip-address",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User-Agent header, if the customer is currently logged in to the Data Recipient Software Product. Mandatory for customer present calls. Not required for unattended or unauthenticated calls.",
          "explode" : false,
          "in" : "header",
          "name" : "x-cds-client-headers",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple",
          "x-conditional" : true,
          "x-cds-type" : "Base64"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseCommonCustomerDetailV2"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/XV"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "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>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "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>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          }
        },
        "summary" : "Get Customer Detail",
        "tags" : [ "Data Holder Customers" ],
        "x-scopes" : [ "common:customer.detail:read" ],
        "x-version" : "2"
      }
    },
    "/discovery/status" : {
      "get" : {
        "description" : "Obtain a health check status for the implementation.",
        "operationId" : "getStatus",
        "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 **MUST** 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 **MUST** 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/ResponseCommonDiscoveryStatus"
                }
              }
            },
            "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>"
          }
        },
        "servers" : [ {
          "description" : "TLS",
          "url" : "https://tls.dh.example.com/cds-au/v1"
        } ],
        "summary" : "Get Status",
        "tags" : [ "Data Holder Operations" ],
        "x-version" : "1"
      }
    },
    "/discovery/outages" : {
      "get" : {
        "description" : "Obtain a list of scheduled outages for the implementation.",
        "operationId" : "getOutages",
        "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 **MUST** 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 **MUST** 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/ResponseDiscoveryOutagesList"
                }
              }
            },
            "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>"
          }
        },
        "servers" : [ {
          "description" : "TLS",
          "url" : "https://tls.dh.example.com/cds-au/v1"
        } ],
        "summary" : "Get Outages",
        "tags" : [ "Data Holder Operations" ],
        "x-version" : "1"
      }
    }
  },
  "components" : {
    "headers" : {
      "XV" : {
        "description" : "The [payload version](#response-headers) that the endpoint has responded with.",
        "explode" : false,
        "required" : true,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple"
      },
      "XFAPIInteractionId" : {
        "description" : "An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder **MUST** play back this value in the _x-fapi-interaction-id_ response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.",
        "explode" : false,
        "required" : true,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple"
      }
    },
    "parameters" : {
      "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 **MUST** 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 **MUST** respond with a `406 Not Acceptable`.",
        "explode" : false,
        "in" : "header",
        "name" : "x-min-v",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple"
      },
      "HeaderXFAPIInteractionId" : {
        "description" : "An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder **MUST** play back this value in the _x-fapi-interaction-id_ response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.",
        "explode" : false,
        "in" : "header",
        "name" : "x-fapi-interaction-id",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple"
      },
      "HeaderXFAPIAuthDate" : {
        "description" : "The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**. Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.",
        "explode" : false,
        "in" : "header",
        "name" : "x-fapi-auth-date",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple",
        "x-conditional" : true
      },
      "HeaderXFAPICustomerIPAddress" : {
        "description" : "The customer's original IP address if the customer is currently logged in to the Data Recipient Software Product. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.",
        "explode" : false,
        "in" : "header",
        "name" : "x-fapi-customer-ip-address",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple"
      },
      "HeaderXCDSClientHeaders" : {
        "description" : "The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User-Agent header, if the customer is currently logged in to the Data Recipient Software Product. Mandatory for customer present calls. Not required for unattended or unauthenticated calls.",
        "explode" : false,
        "in" : "header",
        "name" : "x-cds-client-headers",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple",
        "x-conditional" : true,
        "x-cds-type" : "Base64"
      }
    },
    "responses" : {
      "GetCustomer200" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseCommonCustomer"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/XV"
          },
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetCustomer400" : {
        "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>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetCustomer406" : {
        "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>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetCustomerDetail200" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseCommonCustomerDetailV2"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/XV"
          },
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetCustomerDetail400" : {
        "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>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetCustomerDetail406" : {
        "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>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetStatus200" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseCommonDiscoveryStatus"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/XV"
          }
        }
      },
      "GetStatus400" : {
        "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>"
      },
      "GetStatus406" : {
        "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>"
      },
      "GetOutages200" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseDiscoveryOutagesList"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/XV"
          }
        }
      },
      "GetOutages400" : {
        "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>"
      },
      "GetOutages406" : {
        "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" : {
      "ResponseCommonDiscoveryStatus" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/ResponseCommonDiscoveryStatus_data"
          },
          "links" : {
            "$ref" : "#/components/schemas/Links"
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          }
        },
        "required" : [ "data", "links" ],
        "type" : "object"
      },
      "ResponseDiscoveryOutagesList" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/ResponseDiscoveryOutagesList_data"
          },
          "links" : {
            "$ref" : "#/components/schemas/Links"
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          }
        },
        "required" : [ "data", "links" ],
        "type" : "object"
      },
      "DiscoveryOutage" : {
        "properties" : {
          "outageTime" : {
            "description" : "Date and time that the outage is scheduled to begin.",
            "type" : "string",
            "x-cds-type" : "DateTimeString"
          },
          "duration" : {
            "description" : "Planned duration of the outage. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax).",
            "type" : "string",
            "x-cds-type" : "ExternalRef"
          },
          "isPartial" : {
            "description" : "Flag that indicates, if present and set to `true`, that the outage is only partial meaning that only a subset of no

# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cdr-energy/refs/heads/main/openapi/cdr-common-openapi.json