{
  "openapi" : "3.0.3",
  "info" : {
    "contact" : {
      "email" : "contact@consumerdatastandards.gov.au",
      "name" : "Consumer Data Standards",
      "url" : "https://consumerdatastandards.gov.au"
    },
    "description" : "Consumer Data Standards APIs created by the Data Standards Body (DSB), with the Data Standards Chair as the decision maker to meet the needs of the Consumer Data Right",
    "license" : {
      "name" : "MIT License",
      "url" : "https://opensource.org/licenses/MIT"
    },
    "title" : "CDR Telco API",
    "version" : "1.24.0"
  },
  "servers" : [ {
    "url" : "https://data.holder.com.au/cds-au/v1"
  } ],
  "paths" : {
    "/telco/products" : {
      "get" : {
        "description" : "Obtain a list of telco products that are currently offered to the market.\n\nNote that the results returned by this end point are expected to be ordered in descending order according to `lastUpdated`.",
        "operationId" : "listProducts",
        "parameters" : [ {
          "description" : "Used to filter results on the type field. Any one of the valid values for this field can be supplied. If absent, defaults to include ALL products. Valid values are [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service. BROADBAND fixed internet service or ALL",
          "explode" : true,
          "in" : "query",
          "name" : "type",
          "required" : false,
          "schema" : {
            "default" : "ALL",
            "enum" : [ "MOBILE", "BROADBAND", "ALL" ],
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "Used to filter results on the billing-type field.  Any one of the valid values for this field can be supplied. If absent, defaults to include all billing types. Valid values are ‘PRE_PAID’, ‘POST_PAID’, 'UPFRONT_PAID', 'ALL'",
          "explode" : true,
          "in" : "query",
          "name" : "billing-type",
          "required" : false,
          "schema" : {
            "enum" : [ "PRE_PAID", "POST_PAID", "UPFRONT_PAID", "ALL" ],
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "Allows for the filtering of productd based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT'",
          "explode" : true,
          "in" : "query",
          "name" : "effective",
          "required" : false,
          "schema" : {
            "default" : "CURRENT",
            "enum" : [ "CURRENT", "FUTURE", "ALL" ],
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "Only include products that have been updated after the specified date and time.  If absent defaults to include all plans",
          "explode" : true,
          "in" : "query",
          "name" : "updated-since",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateTimeString"
        }, {
          "description" : "Used to filter results on the brand field. If absent, defaults to include all products. For service providers that operate a number of mobile and internet brands",
          "explode" : true,
          "in" : "query",
          "name" : "brand",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "Page of results to request (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Page size to request.  Default is 25 (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page-size",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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/TelcoProductListResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              }
            }
          },
          "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 - Invalid Page Size](#error-400-field-invalid-page-size)</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>"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>"
          }
        },
        "summary" : "Get Telco Products",
        "tags" : [ "Telco", "Products" ],
        "x-version" : "1"
      }
    },
    "/telco/products/{productId}" : {
      "get" : {
        "description" : "Obtain detailed information on a single telco prouct offered openly to the market",
        "operationId" : "getProduct",
        "parameters" : [ {
          "description" : "ID of the specific product requested",
          "explode" : false,
          "in" : "path",
          "name" : "productId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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/TelcoProductResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              }
            }
          },
          "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 - Invalid Version](#error-400-header-invalid-version)</li></ul>"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[404 - Invalid Resource](#error-404-resource-invalid)</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 Telco Product Detail",
        "tags" : [ "Telco", "Products" ],
        "x-version" : "1"
      }
    },
    "/telco/accounts/{serviceId}/usage" : {
      "get" : {
        "description" : "Obtain a usage data from a particular service Id",
        "operationId" : "getUsageForService",
        "parameters" : [ {
          "description" : "ID of the specific service requested. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). This is a tokenised ID returned from the account. In accordance with [CDR ID permanence](#id-permanence) requirements",
          "explode" : false,
          "in" : "path",
          "name" : "serviceId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "Constrain the request to records with effective date at or after this date. If absent defaults to newest-date minus 24 months.  Format is aligned to DateString common type",
          "explode" : true,
          "in" : "query",
          "name" : "oldest-date",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateString"
        }, {
          "description" : "Constrain the request to records with effective date at or before this date.  If absent defaults to current date.  Format is aligned to DateString common type",
          "explode" : true,
          "in" : "query",
          "name" : "newest-date",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateString"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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/TelcoServiceUsageResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[404 - Unavailable Service Point](#error-404-unavailable-service-point)</li><li>[404 - Invalid Service Point](#error-404-invalid-service-point)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Usage For Telco Service",
        "tags" : [ "Telco", "Billing", "Usage" ],
        "x-scopes" : [ "telco:billing:read" ],
        "x-version" : "1"
      }
    },
    "/telco/accounts/usage" : {
      "get" : {
        "description" : "Obtain usage data for all services associated with the customer",
        "operationId" : "listUsage",
        "parameters" : [ {
          "description" : "Constrain the request to records with effective date at or after this date. If absent defaults to newest-date minus 24 months.  Format is aligned to DateString common type",
          "explode" : true,
          "in" : "query",
          "name" : "oldest-date",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateString"
        }, {
          "description" : "Constrain the request to records with effective date at or before this date.  If absent defaults to current date.  Format is aligned to DateString common type",
          "explode" : true,
          "in" : "query",
          "name" : "newest-date",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateString"
        }, {
          "description" : "Page of results to request (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Page size to request.  Default is 25 (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page-size",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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/TelcoUsageListResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Usage",
        "tags" : [ "Telco", "Billing", "Usage" ],
        "x-scopes" : [ "telco:billing:read" ],
        "x-version" : "1"
      },
      "post" : {
        "description" : "Obtain usage data for a specific service",
        "operationId" : "listUsageForService",
        "parameters" : [ {
          "description" : "Page of results to request (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Page size to request.  Default is 25 (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page-size",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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"
        } ],
        "requestBody" : {
          "$ref" : "#/components/requestBodies/serviceIdList"
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TelcoUsageListResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li><li>[422 - Unavailable Service Point](#error-422-unavailable-service-point)</li><li>[422 - Invalid Service Point](#error-422-invalid-service-point)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Usage For Specific Telco Service",
        "tags" : [ "Telco", "Usage" ],
        "x-scopes" : [ "telco:billing:read" ],
        "x-version" : "1"
      }
    },
    "/telco/accounts" : {
      "get" : {
        "description" : "Obtain the list of telco accounts available under the authorised consent\n\nOther Versions: [v1](includes/obsolete/get-telco-accounts-v1.html)",
        "operationId" : "listAccounts",
        "parameters" : [ {
          "description" : "Used to filter results according to open/closed status. Values can be OPEN, CLOSED or ALL. If absent then ALL is assumed",
          "explode" : true,
          "in" : "query",
          "name" : "open-status",
          "required" : false,
          "schema" : {
            "default" : "ALL",
            "enum" : [ "ALL", "CLOSED", "OPEN" ],
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "Only include accounts that have been updated after the specified date and time.  If absent defaults to include all plans",
          "explode" : true,
          "in" : "query",
          "name" : "updated-since",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateString"
        }, {
          "description" : "Page of results to request (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Page size to request.  Default is 25 (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page-size",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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/TelcoAccountListResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Telco Accounts",
        "tags" : [ "Telco", "Accounts" ],
        "x-scopes" : [ "telco:accounts.basic:read" ],
        "x-version" : "1"
      }
    },
    "/telco/accounts/{accountId}" : {
      "get" : {
        "description" : "Obtain detailed information for a specific telco account\n\nOther Versions: [v1](includes/obsolete/get-telco-account-detail-v1.html)",
        "operationId" : "getAccount",
        "parameters" : [ {
          "description" : "ID of a specific account to obtain data for. This is a tokenised ID previously obtained from the Account List end point. In accordance with [CDR ID permanence](#id-permanence) requirements",
          "explode" : false,
          "in" : "path",
          "name" : "accountId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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/TelcoAccountDetailResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[404 - Unavailable Telco Account](#error-404-unavailable-telco-account)</li><li>[404 - Invalid Telco Account](#error-404-invalid-telco-account)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Telco Account Detail",
        "tags" : [ "Telco", "Accounts" ],
        "x-scopes" : [ "telco:accounts.detail:read" ],
        "x-version" : "1"
      }
    },
    "/telco/accounts/{accountId}/payment-schedule" : {
      "get" : {
        "description" : "Obtain the agreed payment schedule and details, if any, for a specific telco account. \n\nSome general notes about this end point:\n\n <ul><li>This API describes how the consumer has elected to pay for their account</li><li>Payments initiated by the consumer are classified as manual payments. The billing frequency is captured for manual payments. The consumer may choose to pay on a different schedule/frequency. The payment method and frequency is not captured for manual payments</li><li>Payments that can be initiated by the retailer, based on a consumer's preferences and permission, include payments based on a direct debit, card debit or digital wallet setup. Each of these requires a payment frequency to be provided along with other relevant fields</li><li>Information about payment plans related to debt repayments or arrangements due to hardship is not captured within this API</li></ul>",
        "operationId" : "getPaymentSchedule",
        "parameters" : [ {
          "description" : "ID of a specific account to obtain data for. This is a tokenised ID previously obtained from the Account List end point. In accordance with [CDR ID permanence](#id-permanence) requirements",
          "explode" : false,
          "in" : "path",
          "name" : "accountId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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/TelcoPaymentScheduleResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[404 - Unavailable Telco Account](#error-404-unavailable-telco-account)</li><li>[404 - Invalid Telco Account](#error-404-invalid-telco-account)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Telco Agreed Payment Schedule",
        "tags" : [ "Telco", "Accounts" ],
        "x-scopes" : [ "telco:accounts.paymentschedule:read" ],
        "x-version" : "1"
      }
    },
    "/telco/accounts/{accountId}/concessions" : {
      "get" : {
        "description" : "Obtain the details of any concessions or arrangements applied to a specific telco account",
        "operationId" : "getConcessions",
        "parameters" : [ {
          "description" : "ID of a specific account to obtain data for. This is a tokenised ID previously obtained from the Account List end point. In accordance with [CDR ID permanence](#id-permanence) requirements",
          "explode" : false,
          "in" : "path",
          "name" : "accountId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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/TelcoConcessionsResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[404 - Unavailable Telco Account](#error-404-unavailable-telco-account)</li><li>[404 - Invalid Telco Account](#error-404-invalid-telco-account)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Telco Concessions",
        "tags" : [ "Telco", "Accounts" ],
        "x-scopes" : [ "telco:accounts.concessions:read" ],
        "x-version" : "1"
      }
    },
    "/telco/accounts/{accountId}/balance" : {
      "get" : {
        "description" : "Obtain the current balance for a specific account",
        "operationId" : "getBalanceForAccount",
        "parameters" : [ {
          "description" : "ID of a specific account to obtain data for. This is a tokenised ID previously obtained from the Account List end point. In accordance with [CDR ID permanence](#id-permanence) requirements",
          "explode" : false,
          "in" : "path",
          "name" : "accountId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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/TelcoBalanceResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[404 - Unavailable Telco Account](#error-404-unavailable-telco-account)</li><li>[404 - Invalid Telco Account](#error-404-invalid-telco-account)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Balance For Telco Account",
        "tags" : [ "Telco", "Billing", "Balance" ],
        "x-scopes" : [ "telco:billing:read" ],
        "x-version" : "1"
      }
    },
    "/telco/accounts/balance" : {
      "get" : {
        "description" : "Obtain the current balance for all accounts",
        "operationId" : "listBalance",
        "parameters" : [ {
          "description" : "Page of results to request (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Page size to request.  Default is 25 (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page-size",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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/TelcoBalanceListResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Bulk Telco Balances",
        "tags" : [ "Telco", "Billing", "Balance" ],
        "x-scopes" : [ "telco:billing:read" ],
        "x-version" : "1"
      },
      "post" : {
        "description" : "Obtain the current balance for a specified set of accounts",
        "operationId" : "listBalancesForAccounts",
        "parameters" : [ {
          "description" : "Page of results to request (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Page size to request.  Default is 25 (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page-size",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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"
        } ],
        "requestBody" : {
          "$ref" : "#/components/requestBodies/accountIdList"
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TelcoBalanceListResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li><li>[422 - Unavailable Telco Account](#error-422-unavailable-telco-account)</li><li>[422 - Invalid Telco Account](#error-422-invalid-telco-account)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Balances For Specific Telco Accounts",
        "tags" : [ "Telco", "Billing", "Balance" ],
        "x-scopes" : [ "telco:billing:read" ],
        "x-version" : "1"
      }
    },
    "/telco/accounts/{accountId}/invoices" : {
      "get" : {
        "description" : "Obtain the invoices for a specific account",
        "operationId" : "getInvoicesForAccount",
        "parameters" : [ {
          "description" : "ID of a specific account to obtain data for. This is a tokenised ID previously obtained from the Account List end point. In accordance with [CDR ID permanence](#id-permanence) requirements",
          "explode" : false,
          "in" : "path",
          "name" : "accountId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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/TelcoInvoiceResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[404 - Unavailable Telco Account](#error-404-unavailable-telco-account)</li><li>[404 - Invalid Telco Account](#error-404-invalid-telco-account)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Invoices For Telco Account",
        "tags" : [ "Telco", "Billing", "Invoices" ],
        "x-scopes" : [ "telco:billing:read" ],
        "x-version" : "1"
      }
    },
    "/telco/accounts/invoices" : {
      "get" : {
        "description" : "Obtain the invoices for all accounts",
        "operationId" : "listInvoices",
        "parameters" : [ {
          "description" : "Constrain the request to records with effective date at or before this date.  If absent defaults to current date.  Format is aligned to DateString common type",
          "explode" : true,
          "in" : "query",
          "name" : "newest-date",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateString"
        }, {
          "description" : "Constrain the request to records with effective date at or after this date. If absent defaults to newest-date minus 24 months.  Format is aligned to DateString common type",
          "explode" : true,
          "in" : "query",
          "name" : "oldest-date",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateString"
        }, {
          "description" : "Page of results to request (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Page size to request.  Default is 25 (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page-size",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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/TelcoInvoiceListResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Telco Invoices",
        "tags" : [ "Telco", "Billing", "Invoices" ],
        "x-scopes" : [ "telco:billing:read" ],
        "x-version" : "1"
      },
      "post" : {
        "description" : "Obtain invoices for a specified set of accounts",
        "operationId" : "listInvoicesForAccounts",
        "parameters" : [ {
          "description" : "Constrain the request to records with effective date at or before this date.  If absent defaults to current date.  Format is aligned to DateString common type",
          "explode" : true,
          "in" : "query",
          "name" : "newest-date",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateString"
        }, {
          "description" : "Constrain the request to records with effective date at or after this date. If absent defaults to newest-date minus 24 months.  Format is aligned to DateString common type",
          "explode" : true,
          "in" : "query",
          "name" : "oldest-date",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateString"
        }, {
          "description" : "Page of results to request (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Page size to request.  Default is 25 (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page-size",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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"
        } ],
        "requestBody" : {
          "$ref" : "#/components/requestBodies/accountIdList"
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TelcoInvoiceListResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li><li>[422 - Unavailable Telco Account](#error-422-unavailable-telco-account)</li><li>[422 - Invalid Telco Account](#error-422-invalid-telco-account)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Invoices For Specific Telco Accounts",
        "tags" : [ "Telco", "Billing", "Invoices" ],
        "x-scopes" : [ "telco:billing:read" ],
        "x-version" : "1"
      }
    },
    "/telco/accounts/{accountId}/transactions" : {
      "get" : {
        "description" : "Obtain the billing transactions for a specific account",
        "operationId" : "getTransactionsForAccount",
        "parameters" : [ {
          "description" : "ID of a specific account to obtain data for. This is a tokenised ID previously obtained from the Account List end point. In accordance with [CDR ID permanence](#id-permanence) requirements",
          "explode" : false,
          "in" : "path",
          "name" : "accountId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "Constrain the request to records with effective time at or before this date/time.  If absent defaults to current date/time.  Format is aligned to DateTimeString common type",
          "explode" : true,
          "in" : "query",
          "name" : "newest-time",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateTimeString"
        }, {
          "description" : "Constrain the request to records with effective time at or after this date/time. If absent defaults to newest-time minus 12 months.  Format is aligned to DateTimeString common type",
          "explode" : true,
          "in" : "query",
          "name" : "oldest-time",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateTimeString"
        }, {
          "description" : "Page of results to request (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Page size to request.  Default is 25 (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page-size",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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/TelcoTransactionListResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[404 - Unavailable Telco Account](#error-404-unavailable-telco-account)</li><li>[404 - Invalid Telco Account](#error-404-invalid-telco-account)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Transactions For Telco Account",
        "tags" : [ "Telco", "Billing", "Transactions" ],
        "x-scopes" : [ "telco:billing:read" ],
        "x-version" : "1"
      }
    },
    "/telco/accounts/transactions" : {
      "get" : {
        "description" : "Obtain billing transactions for all accounts",
        "operationId" : "listTransactions",
        "parameters" : [ {
          "description" : "Constrain the request to records with effective time at or before this date/time.  If absent defaults to current date/time.  Format is aligned to DateTimeString common type",
          "explode" : true,
          "in" : "query",
          "name" : "newest-time",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateTimeString"
        }, {
          "description" : "Constrain the request to records with effective time at or after this date/time. If absent defaults to newest-time minus 12 months.  Format is aligned to DateTimeString common type",
          "explode" : true,
          "in" : "query",
          "name" : "oldest-time",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateTimeString"
        }, {
          "description" : "Page of results to request (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Page size to request.  Default is 25 (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page-size",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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/TelcoTransactionListResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Telco Transactions",
        "tags" : [ "Telco", "Billing", "Transactions" ],
        "x-scopes" : [ "telco:billing:read" ],
        "x-version" : "1"
      },
      "post" : {
        "description" : "Obtain transactions for a specified set of accounts",
        "operationId" : "listBillingForAccounts",
        "parameters" : [ {
          "description" : "Constrain the request to records with effective time at or before this date/time.  If absent defaults to current date/time.  Format is aligned to DateTimeString common type",
          "explode" : true,
          "in" : "query",
          "name" : "newest-time",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateTimeString"
        }, {
          "description" : "Constrain the request to records with effective time at or after this date/time. If absent defaults to newest-time minus 12 months.  Format is aligned to DateTimeString common type",
          "explode" : true,
          "in" : "query",
          "name" : "oldest-time",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateTimeString"
        }, {
          "description" : "Page of results to request (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Page size to request.  Default is 25 (standard pagination)",
          "explode" : true,
          "in" : "query",
          "name" : "page-size",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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 end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder 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-R-Draft]](#nref-FAPI-R-Draft)**.  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. 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. 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"
        } ],
        "requestBody" : {
          "$ref" : "#/components/requestBodies/accountIdList"
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TelcoTransactionListResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/x-v"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          },
          "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/x-fapi-interaction-id"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes MUST be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li><li>[422 - Unavailable Telco Account](#error-422-unavailable-telco-account)</li><li>[422 - Invalid Telco Account](#error-422-invalid-telco-account)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/x-fapi-interaction-id"
              }
            }
          }
        },
        "summary" : "Get Transactions For Specific Telco Accounts",
        "tags" : [ "Telco", "Billing", "Transactions" ],
        "x-scopes" : [ "telco:billing:read" ],
        "x-version" : "1"
      }
    }
  },
  "components" : {
    "headers" : {
      "x-v" : {
        "explode" : false,
        "schema" : {
          "description" : "The [version](#response-headers) of the API end point that the data holder has responded with.",
          "type" : "string"
        },
        "style" : "simple"
      },
      "x-fapi-interaction-id" : {
        "explode" : false,
        "schema" : {
          "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.",
          "type" : "string"
        },
        "style" : "simple"
      }
    },
    "parameters" : {
      "serviceId" : {
        "description" : "ID of the specific service requested. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). This is a tokenised ID returned from the account. In accordance with [CDR ID permanence](#id-permanence) requirements",
        "explode" : false,
        "in" : "path",
        "name" : "serviceId",
        "required" : true,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple"
      },
      "accountId" : {
        "description" : "ID of a specific account to obtain data for. This is a tokenised ID previously obtained from the Account List end point. In accordance with [CDR ID permanence](#id-permanence) requirements",
        "explode" : false,
        "in" : "path",
        "name" : "accountId",
        "required" : true,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple"
      },
      "open-status" : {
        "description" : "Used to filter results according to open/closed status. Values can be OPEN, CLOSED or ALL. If absent then ALL is assumed",
        "explode" : true,
        "in" : "query",
        "name" : "open-status",
        "required" : false,
        "schema" : {
          "default" : "ALL",
          "enum" : [ "ALL", "CLOSED", "OPEN" ],
          "type" : "string"
        },
        "style" : "form"
      },
      "newest-time" : {
        "description" : "Constrain the request to records with effective time at or before this date/time.  If absent defaults to current date/time.  Format is aligned to DateTimeString common type",
        "explode" : true,
        "in" : "query",
        "name" : "newest-time",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "style" : "form",
        "x-cds-type" : "DateTimeString"
      },
      "oldest-time" : {
        "description" : "Constrain the request to records with effective time at or after this date/time. If absent defaults to newest-time minus 12 months.  Format is aligned to DateTimeString common type",
        "explode" : true,
        "in" : "query",
        "name" : "oldest-time",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "style" : "form",
        "x-cds-type" : "DateTimeString"
      },
      "newest-date" : {
        "description" : "Constrain the request to records with effective date at or before this date.  If absent defaults to current date.  Format is aligned to DateString common type",
        "explode" : true,
        "in" : "query",
        "name" : "newest-date",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "style" : "form",
        "x-cds-type" : "DateString"
      },
      "oldest-date" : {
        "description" : "Constrain the request to records with effective date at or after this date. If absent defaults to newest-date minus 24 months.  Format is aligned to DateString common type",
        "explode" : true,
        "in" : "query",
        "name" : "oldest-date",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "style" : "form",
        "x-cds-type" : "DateString"
      },
      "page" : {
        "description" : "Page of results to request (standard pagination)",
        "explode" : true,
        "in" : "query",
        "name" : "page",
        "required" : false,
        "schema" : {
          "type" : "integer"
        },
        "style" : "form",
        "x-cds-type" : "PositiveInteger"
      },
      "page-size" : {
        "description" : "Page size to request.  Default is 25 (standard pagination)",
        "explode" : true,
        "in" : "query",
        "name" : "page-size",
        "required" : false,
        "schema" : {
          "type" : "integer"
        },
        "style" : "form",
        "x-cds-type" : "PositiveInteger"
      },
      "x-v" : {
        "description" : "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#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 data holder 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"
      },
      "x-min-v" : {
        "description" : "Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.",
        "explode" : false,
        "in" : "header",
        "name" : "x-min-v",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple"
      },
      "x-fapi-interaction-id" : {
        "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"
      },
      "x-fapi-auth-date" : {
        "description" : "The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  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
      },
      "x-fapi-customer-ip-address" : {
        "description" : "The customer's original IP address if the customer is currently logged in to the data recipient. 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"
      },
      "x-cds-client-headers" : {
        "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. 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"
      }
    },
    "requestBodies" : {
      "serviceIdList" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "properties" : {
                "data" : {
                  "properties" : {
                    "serviceIds" : {
                      "description" : "Array of specific serviceIds to obtain data for. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements",
                      "items" : {
                        "type" : "string"
                      },
                      "type" : "array"
                    }
                  },
                  "required" : [ "serviceIds" ],
                  "type" : "object"
                },
                "meta" : {
                  "$ref" : "#/components/schemas/Meta"
                }
              },
              "required" : [ "data", "meta" ],
              "type" : "object"
            }
          }
        },
        "description" : "Request payload containing list of specific Service Points to obtain data for",
        "required" : true
      },
      "accountIdList" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "properties" : {
                "data" : {
                  "properties" : {
                    "accountIds" : {
                      "description" : "Array of specific accountIds to obtain data for. In accordance with [CDR ID permanence](#id-permanence) requirements",
                      "items" : {
                        "type" : "string"
                      },
                      "type" : "array"
                    }
                  },
                  "required" : [ "accountIds" ],
                  "type" : "object"
                },
                "meta" : {
                  "$ref" : "#/components/schemas/Meta"
                }
              },
              "required" : [ "data", "meta" ],
              "type" : "object"
            }
          }
        },
        "description" : "Request payload containing list of specific Accounts to obtain data for",
        "required" : true
      }
    },
    "responses" : {
      "productList" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/TelcoProductListResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/x-v"
          }
        }
      },
      "planDetail" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/TelcoProductResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/x-v"
          }
        }
      },
      "usage" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/TelcoUsageResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/x-v"
          },
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/x-fapi-interaction-id"
          }
        }
      },
      "usageList" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/TelcoUsageListResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/x-v"
          },
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/x-fapi-interaction-id"
          }
        }
      },
      "accountList" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/TelcoAccountListResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/x-v"
          },
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/x-fapi-interaction-id"
          }
        }
      },
      "accountDetail" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/TelcoAccountDetailResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/x-v"
          },
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/x-fapi-interaction-id"
          }
        }
      },
      "accountPaymentScheduleDetail" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/TelcoPaymentScheduleResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/x-v"
          },
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/x-fapi-interaction-id"
          }
        }
      },
      "accountConcessionsDetail" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/TelcoConcessionsResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/x-v"
          }
        }
      },
      "balanceList" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/TelcoBalanceListResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/x-v"
          }
        }
      },
      "balanceDetail" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/TelcoBalanceResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/x-v"
          }
        }
      },
      "invoiceList" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/TelcoInvoiceListResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/x-v"
          }
        }
      },
      "transactionList" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/TelcoTransactionListResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/x-v"
          },
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/x-fapi-interaction-id"
          }
        }
      }
    },
    "schemas" : {
      "TelcoProductListResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/TelcoProductListResponseData"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksPaginated"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaPaginated"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "TelcoProductResponse" : {
        "properties" : {
          "data" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/TelcoProduct"
            }, {
              "$ref" : "#/components/schemas/TelcoProductDetail"
            } ]
          },
          "links" : {
            "$ref" : "#/components/schemas/Links"
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          }
        },
        "required" : [ "data", "links" ],
        "type" : "object"
      },
      "TelcoUsageResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/TelcoAccountUsage"
          },
          "links" : {
            "$ref" : "#/components/schemas/Links"
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "TelcoServiceUsageResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/TelcoServiceUsage"
          },
          "links" : {
            "$ref" : "#/components/schemas/Links"
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "TelcoServiceUsageListResponse" : {
        "properties" : {
          "data" : {
            "items" : {
              "$ref" : "#/components/schemas/TelcoServiceUsage"
            },
            "type" : "array"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksPaginated"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaPaginated"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "TelcoAccountListResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/TelcoAccountListResponseData"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksPaginated"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaPaginated"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "TelcoAccountDetailResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/TelcoAccountDetailResponseData"
          },
          "links" : {
            "$ref" : "#/components/schemas/Links"
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "TelcoPaymentScheduleResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/TelcoPaymentScheduleResponseData"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksPaginated"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaPaginated"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "TelcoConcessionsResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/TelcoConcessionsResponseData"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksPaginated"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaPaginated"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "TelcoBalanceListResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/TelcoBalanceListResponseData"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksPaginated"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaPaginated"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "TelcoBalanceResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/TelcoBalance"
          },
          "links" : {
            "$ref" : "#/components/schemas/Links"
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "TelcoTransactionListResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/TelcoTransactionListResponseData"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksPaginated"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaPaginated"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "MetaError" : {
        "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" ]
      },
      "ResponseErrorListV2" : {
        "properties" : {
          "errors" : {
            "items" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2_errors"
            },
            "type" : "array"
          }
        },
        "required" : [ "errors" ],
        "type" : "object",
        "x-conditional" : [ "meta" ]
      },
      "TelcoProduct" : {
        "properties" : {
          "productId" : {
            "description" : "The ID of the specific product",
            "type" : "string",
            "x-cds-type" : "ASCIIString"
          },
          "effectiveFrom" : {
            "description" : "The date and time from which this product is effective (ie. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate",
            "type" : "string",
            "x-cds-type" : "DateTimeString"
          },
          "effectiveTo" : {
            "description" : "The date and time at which this product will be retired and will no longer be offered. Used to enable the managed deprecation of plans",
            "type" : "string",
            "x-cds-type" : "DateTimeString"
          },
          "lastUpdated" : {
            "description" : "The last date and time that the information for this plan was changed (or the creation date for the plan if it has never been altered)",
            "type" : "string",
            "x-cds-type" : "DateTimeString"
          },
          "displayName" : {
            "description" : "The display name of the product",
            "type" : "string"
          },
          "description" : {
            "description" : "A description of the product",
            "type" : "string"
          },
          "type" : {
            "default" : "MOBILE",
            "description" : "The type of product. [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service",
            "enum" : [ "MOBILE", "BROADBAND" ],
            "type" : "string"
          },
          "purpose" : {
            "default" : "PERSONAL",
            "description" : "The purpose type of the product. If absent, then the value PERSONAL is assumed",
            "enum" : [ "PERSONAL", "BUSINESS", "ALL" ],
            "type" : "string"
          },
          "billingType" : {
            "default" : "PRE_PAID",
            "description" : "The type of product",
            "enum" : [ "PRE_PAID", "POST_PAID", "UPFRONT_PAID", "OTHER" ],
            "type" : "string"
          },
          "contract" : {
            "$ref" : "#/components/schemas/TelcoContract"
          },
          "bundle" : {
            "description" : "Required if part of a bundle. If not present FALSE is assumed",
            "type" : "boolean"
          },
          "brand" : {
            "description" : "The ID of the brand under which this product is offered",
            "type" : "string"
          },
          "brandName" : {
            "description" : "The display name of the brand under which this product is offered",
            "type" : "string"
          },
          "pricing" : {
            "description" : "List of pricing details for the product plan",
            "items" : {
              "$ref" : "#/components/schemas/TelcoProductPricing"
            },
            "type" : "array"
          },
          "thirdPartyAgentId" : {
            "description" : "The ID of the Third Party through which this product may be originated",
            "type" : "string"
          },
          "thirdPartyAgentName" : {
            "description" : "The display name of the Third Party through which this product may be originated",
            "type" : "string"
          },
          "applicationUri" : {
            "description" : "A link to an application web page where this plan can be applied for",
            "type" : "string",
            "x-cds-type" : "URIString"
          },
          "additionalInformation" : {
            "$ref" : "#/components/schemas/TelcoAdditionalInformation"
          }
        },
        "required" : [ "billingType", "brand", "brandName", "name", "pricing", "productId", "type", "usage" ],
        "type" : "object",
        "x-conditional" : [ "contract" ]
      },
      "TelcoContract" : {
        "description" : "Summary of the contract details. Mandatory if the billing type is POST_PAID and a contract agreement is required with the service provider for the plan",
        "properties" : {
          "name" : {
            "description" : "Name of the contract",
            "type" : "string"
          },
          "description" : {
            "description" : "Description of the contract",
            "type" : "string"
          },
          "duration" : {
            "description" : "Minimum contract duration in months",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "contractUri" : {
            "description" : "URI of the contract conditions",
            "type" : "string",
            "x-cds-type" : "URIString"
          }
        },
        "required" : [ "duration", "name" ],
        "type" : "object"
      },
      "TelcoServiceDetail" : {
        "properties" : {
          "serviceId" : {
            "description" : "The tokenised ID of the service identifier for use in the CDR APIs. E.g a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf).  Created according to the CDR rules for [CDR ID permanence](#id-permanence)",
            "type" : "string"
          }
        },
        "required" : [ "serviceId" ]
      },
      "TelcoAccountUsage" : {
        "properties" : {
          "accountId" : {
            "description" : "Tokenised ID of the account. In accordance with [CDR ID permanence](#id-permanence) requirements",
            "type" : "string"
          },
          "services" : {
            "description" : "List of services that are part of the account",
            "items" : {
              "$ref" : "#/components/schemas/TelcoAccountUsageServices"
            },
            "type" : "array"
          }
        },
        "required" : [ "accountId", "services" ],
        "type" : "object"
      },
      "TelcoServiceUsage" : {
        "properties" : {
          "serviceId" : {
            "description" : "Tokenised ID of the service identifier. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). To be created in accordance with [CDR ID permanence](#id-permanence) requirements",
            "type" : "string"
          },
          "displayName" : {
            "description" : "Optional description of the service used for display purposes",
            "type" : "string"
          },
          "phoneNumber" : {
            "description" : "Required if the service includes a phone number",
            "type" : "string"
          },
          "startDate" : {
            "description" : "Date when the usage period started",
            "type" : "string",
            "x-cds-type" : "DateTimeString"
          },
          "endDate" : {
            "description" : "Date when the usage period ends",
            "type" : "string",
            "x-cds-type" : "DateTimeString"
          },
          "usage" : {
            "$ref" : "#/components/schemas/TelcoUsage"
          }
        },
        "required" : [ "serviceId", "startDate" ],
        "type" : "object",
        "x-conditional" : [ "phoneNumber" ]
      },
      "TelcoAccountBase" : {
        "properties" : {
          "accountId" : {
            "description" : "The ID of the account. To be created in accordance with [CDR ID permanence](#id-permanence) requirements",
            "type" : "string"
          },
          "accountNumber" : {
            "description" : "Masked identifier of the account as defined by the data holder. This must be the value presented on physical statements (required if it exists) and must not be used for the value of the accountId",
            "type" : "string"
          },
          "displayName" : {
            "description" : "An optional display name for the account if one exists or can be derived. The content of this field is at the discretion of the data holder",
            "type" : "string"
          },
          "creationDate" : {
            "description" : "The date that the account was created or opened. Mandatory if openStatus is OPEN",
            "type" : "string",
            "x-cds-type" : "DateString"
          },
          "lastUpdated" : {
            "description" : "The date and time which the account was last updated",
            "type" : "string",
            "x-cds-type" : "DateString"
          },
          "brand" : {
            "description" : "The retail name of the brand",
            "type" : "string"
          },
          "openStatus" : {
            "default" : "OPEN",
            "description" : "Open or closed status for the account. If not present then OPEN is assumed",
            "enum" : [ "CLOSED", "OPEN" ],
            "type" : "string"
          }
        },
        "required" : [ "accountId, creationDate, lastUpdateDateTime" ],
        "type" : "object",
        "x-conditional" : [ "accountNumber" ]
      },
      "TelcoAccountResponseData" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/TelcoAccountBase"
        }, {
          "$ref" : "#/components/schemas/TelcoAccount"
        } ]
      },
      "TelcoAccountDetailResponseData" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/TelcoAccountBase"
        }, {
          "$ref" : "#/components/schemas/TelcoAccount"
        }, {
          "$ref" : "#/components/schemas/TelcoAccountDetail"
        } ]
      },
      "TelcoPaymentSchedule" : {
        "properties" : {
          "amount" : {
            "description" : "Optional payment amount indicating that a constant payment amount is scheduled to be paid (used in bill smoothing scenarios)",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "paymentScheduleUType" : {
            "description" : "The type of object present in this response",
            "enum" : [ "cardDebit", "directDebit", "manualPayment", "digitalWallet" ],
            "type" : "string"
          },
          "cardDebit" : {
            "$ref" : "#/components/schemas/TelcoPaymentScheduleCardDebit"
          },
          "directDebit" : {
            "$ref" : "#/components/schemas/TelcoPaymentScheduleDirectDebit"
          },
          "digitalWallet" : {
            "$ref" : "#/components/schemas/TelcoPaymentScheduleDigitalWallet"
          },
          "manualPayment" : {
            "$ref" : "#/components/schemas/TelcoPaymentScheduleManualPayment"
          }
        },
        "required" : [ "paymentScheduleUType" ],
        "type" : "object",
        "x-conditional" : [ "cardDebit", "directDebit", "manualPayment", "digitalWallet" ]
      },
      "TelcoConcession" : {
        "properties" : {
          "type" : {
            "default" : "CONCESSION",
            "description" : "The concession type",
            "enum" : [ "CONCESSION", "REBATE", "GRANT" ],
            "type" : "string"
          },
          "displayName" : {
            "description" : "The display name of the concession",
            "type" : "string"
          },
          "additionalInfo" : {
            "description" : "Display text providing more information on the concession",
            "type" : "string"
          },
          "additionalInfoUri" : {
            "description" : "Optional link to additional information regarding the concession",
            "type" : "string",
            "x-cds-type" : "URIString"
          },
          "startDate" : {
            "description" : "Optional start date for the application of the concession",
            "type" : "string",
            "x-cds-type" : "DateString"
          },
          "endDate" : {
            "description" : "Optional end date for the application of the concession",
            "type" : "string",
            "x-cds-type" : "DateString"
          },
          "discountFrequency" : {
            "description" : "Conditional attribute for frequency at which a concession is applied. Required if type is FIXED_AMOUNT or FIXED_PERCENTAGE. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)",
            "type" : "string",
            "x-cds-type" : "ExternalRef"
          },
          "amount" : {
            "description" : "Conditional attribute for the amount of discount for the concession- required if type is FIXED_AMOUNT",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "percentage" : {
            "description" : "Conditional attribute for the percentage of discount of concession - required if type is FIXED_PERCENTAGE",
            "type" : "string",
            "x-cds-type" : "RateString"
          },
          "appliedTo" : {
            "description" : "Array of ENUM's to specify what the concession applies to. Multiple ENUM values can be provided. If absent, USAGE is assumed",
            "items" : {
              "enum" : [ "INVOICE", "USAGE" ],
              "type" : "string"
            },
            "type" : "array"
          }
        },
        "required" : [ "displayName", "startDate", "type" ],
        "type" : "object",
        "x-conditional" : [ "discountFrequency", "amount", "percentage" ]
      },
      "TelcoInvoice" : {
        "properties" : {
          "accountId" : {
            "description" : "The ID of the account for which the invoice was issued. accountId must comply in accordance with [CDR ID permanence](#id-permanence)",
            "type" : "string"
          },
          "invoiceNumber" : {
            "description" : "The number assigned to this invoice by the telco Retailer",
            "type" : "string"
          },
          "issueDate" : {
            "description" : "The date that the invoice was actually issued (as opposed to generated or calculated)",
            "type" : "string",
            "x-cds-type" : "DateString"
          },
          "dueDate" : {
            "description" : "The date that the invoice is due to be paid",
            "type" : "string",
            "x-cds-type" : "DateString"
          },
          "period" : {
            "$ref" : "#/components/schemas/TelcoInvoicePeriod"
          },
          "invoiceAmount" : {
            "description" : "The net amount due for this invoice regardless of previous balance",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "gstAmount" : {
            "description" : "The total GST amount for this invoice.  If absent then zero is assumed",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "payOnTimeDiscount" : {
            "$ref" : "#/components/schemas/TelcoInvoicePayOnTimeDiscount"
          },
          "balanceAtIssue" : {
            "description" : "The account balance at the time the invoice was issued",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "services" : {
            "description" : "An array of service IDs to which this invoice applies. May be empty if the invoice contains no usage related charges",
            "items" : {
              "type" : "string"
            },
            "type" : "array"
          },
          "accountCharges" : {
            "$ref" : "#/components/schemas/TelcoInvoiceAccountCharges"
          },
          "accountUsage" : {
            "$ref" : "#/components/schemas/TelcoUsage"
          },
          "paymentStatus" : {
            "default" : "NOT_PAID",
            "description" : "Indicator of the payment status for the invoice",
            "enum" : [ "PAID", "PARTIALLY_PAID", "NOT_PAID" ],
            "type" : "string"
          }
        },
        "required" : [ "accountId", "balanceAtIssue", "invoiceNumber", "issueDate", "paymentStatus", "services" ],
        "type" : "object",
        "x-conditional" : [ "period" ]
      },
      "TelcoUsage" : {
        "description" : "Object containing usage summary",
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/TelcoUsageData"
          },
          "voice" : {
            "$ref" : "#/components/schemas/TelcoUsageVoice"
          },
          "messaging" : {
            "$ref" : "#/components/schemas/TelcoUsageMessaging"
          }
        },
        "type" : "object",
        "x-conditional" : [ "data", "voice", "messaging" ]
      },
      "TelcoInvoiceAccountCharges" : {
        "description" : "Object contain charges and credits related to usage",
        "properties" : {
          "totalUsageCharges" : {
            "description" : "The aggregate total of usage charges for the period covered by the invoice (exclusive of GST)",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "totalOnceOffCharges" : {
            "description" : "The aggregate total of any once off charges arising from usage for the period covered by the invoice (exclusive of GST)",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "totalDiscounts" : {
            "description" : "The aggregate total of account level discounts or credits for the period covered by the invoice",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "otherCharges" : {
            "$ref" : "#/components/schemas/TelcoInvoiceAccountChargesOtherCharges"
          },
          "totalGst" : {
            "description" : "The total GST for all account level charges.  If absent then zero is assumed",
            "type" : "string",
            "x-cds-type" : "AmountString"
          }
        },
        "required" : [ "totalDiscounts", "totalOnceOffCharges", "totalUsageCharges" ],
        "type" : "object"
      },
      "TelcoBillingTransaction" : {
        "properties" : {
          "accountId" : {
            "description" : "The ID of the account for which the transaction occurred. accountId must comply in accordance with [CDR ID permanence](#id-permanence)",
            "type" : "string"
          },
          "executionDateTime" : {
            "description" : "The date and time that the transaction occurred",
            "type" : "string",
            "x-cds-type" : "DateTimeString"
          },
          "gst" : {
            "description" : "The GST incurred in the transaction.  Should not be included for credits or payments.  If absent zero is assumed",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "transactionUType" : {
            "description" : "Indicator of the type of transaction object present in this record",
            "enum" : [ "account", "onceOff", "otherCharges", "payment" ],
            "type" : "string"
          },
          "account" : {
            "$ref" : "#/components/schemas/TelcoBillingAccountTransaction"
          },
          "onceOff" : {
            "$ref" : "#/components/schemas/TelcoBillingOnceOffTransaction"
          },
          "otherCharges" : {
            "$ref" : "#/components/schemas/TelcoBillingOtherTransaction"
          },
          "payment" : {
            "$ref" : "#/components/schemas/TelcoBillingPaymentTransaction"
          }
        },
        "required" : [ "accountId", "executionDateTime", "transactionUType" ],
        "type" : "object",
        "x-conditional" : [ "usage", "onceOff", "payment" ]
      },
      "TelcoBillingAccountTransaction" : {
        "properties" : {
          "serviceIds" : {
            "description" : "Array list of services identifiers to which this transaction applies if any. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements",
            "type" : "string"
          },
          "invoiceNumber" : {
            "description" : "The number of the invoice in which this transaction is included if it has been issued",
            "type" : "string"
          },
          "description" : {
            "description" : "Optional description of the transaction that can be used for display purposes",
            "type" : "string"
          },
          "startDate" : {
            "description" : "Date and time when the usage period starts",
            "type" : "string",
            "x-cds-type" : "DateTimeString"
          },
          "endDate" : {
            "description" : "Date and time when the usage period ends",
            "type" : "string",
            "x-cds-type" : "DateTimeString"
          },
          "amount" : {
            "description" : "The amount charged or credited for this transaction prior to any adjustments being applied.  A negative value indicates a credit",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "adjustments" : {
            "description" : "Optional array of adjustments arising for this transaction",
            "items" : {
              "$ref" : "#/components/schemas/TelcoBillingAccountTransactionAdjustments"
            },
            "type" : "array"
          }
        },
        "required" : [ "amount", "endDate", "startDate" ],
        "type" : "object"
      },
      "TelcoBillingOnceOffTransaction" : {
        "properties" : {
          "serviceId" : {
            "description" : "The ID of the service identifier to which this transaction applies if any. E.g a [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements",
            "type" : "string"
          },
          "invoiceNumber" : {
            "description" : "The number of the invoice in which this transaction is included if it has been issued",
            "type" : "string"
          },
          "amount" : {
            "description" : "The amount of the charge or credit.  A positive value indicates a charge and a negative value indicates a credit",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "description" : {
            "description" : "A free text description of the item",
            "type" : "string"
          }
        },
        "required" : [ "amount", "description" ],
        "type" : "object"
      },
      "TelcoBillingOtherTransaction" : {
        "properties" : {
          "serviceId" : {
            "description" : "The service identifier to which this transaction applies if any. E.g a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements",
            "type" : "string"
          },
          "invoiceNumber" : {
            "description" : "The number of the invoice in which this transaction is included if it has been issued",
            "type" : "string"
          },
          "startDate" : {
            "description" : "Optional start date for the application of the charge",
            "type" : "string",
            "x-cds-type" : "DateString"
          },
          "endDate" : {
            "description" : "Optional end date for the application of the charge",
            "type" : "string",
            "x-cds-type" : "DateString"
          },
          "type" : {
            "default" : "OTHER",
            "description" : "Type of charge. Assumed to be OTHER if absent",
            "enum" : [ "SERVICE", "NETWORK", "EQUIPMENT", "METERING", "OTHER" ],
            "type" : "string"
          },
          "amount" : {
            "description" : "The amount of the charge",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "description" : {
            "description" : "A free text description of the item",
            "type" : "string"
          },
          "adjustments" : {
            "description" : "Optional array of adjustments arising for this transaction",
            "items" : {
              "$ref" : "#/components/schemas/TelcoBillingAccountTransactionAdjustments"
            },
            "type" : "array"
          }
        },
        "required" : [ "amount", "description" ],
        "type" : "object"
      },
      "TelcoBillingPaymentTransaction" : {
        "properties" : {
          "amount" : {
            "description" : "The amount paid",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "method" : {
            "description" : "The method of payment",
            "enum" : [ "DIRECT_DEBIT", "CARD", "TRANSFER", "BPAY", "CASH", "CHEQUE", "VOUCHER", "OTHER" ],
            "type" : "string"
          }
        },
        "required" : [ "amount", "method" ],
        "type" : "object"
      },
      "TelcoBalance" : {
        "description" : "Object containing account service usage summary",
        "properties" : {
          "services" : {
            "description" : "Summary of balances",
            "items" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/TelcoServiceBalance"
              } ]
            },
            "type" : "array"
          }
        },
        "required" : [ "services" ],
        "type" : "object"
      },
      "TelcoServiceBalance" : {
        "description" : "Telco balances for a service",
        "properties" : {
          "serviceId" : {
            "description" : "The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements",
            "type" : "string"
          },
          "displayName" : {
            "description" : "Optional description of the service used for display purposes",
            "type" : "string"
          },
          "phoneNumber" : {
            "description" : "Required if the service includes a phone number",
            "type" : "string"
          },
          "startDate" : {
            "description" : "Date when the balance period started",
            "type" : "string",
            "x-cds-type" : "DateTimeString"
          },
          "endDate" : {
            "description" : "Date when the balance period ends",
            "type" : "string",
            "x-cds-type" : "DateTimeString"
          },
          "balance" : {
            "$ref" : "#/components/schemas/TelcoServiceBalances"
          }
        },
        "required" : [ "serviceId, startDate, balance" ],
        "type" : "object",
        "x-conditional" : [ "phoneNumber" ]
      },
      "TelcoPlanType" : {
        "description" : "Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported",
        "enum" : [ "METERED", "UNMETERED", "LIMITED", "UNSUPPORTED" ],
        "type" : "string"
      },
      "CommonPhysicalAddress" : {
        "properties" : {
          "addressUType" : {
            "description" : "The type of address object present",
            "enum" : [ "paf", "simple" ],
            "type" : "string"
          },
          "simple" : {
            "$ref" : "#/components/schemas/CommonSimpleAddress"
          },
          "paf" : {
            "$ref" : "#/components/schemas/CommonPAFAddress"
          }
        },
        "required" : [ "addressUType" ],
        "type" : "object",
        "x-conditional" : [ "simple", "paf" ]
      },
      "CommonSimpleAddress" : {
        "description" : "Required if addressUType is set to simple",
        "properties" : {
          "mailingName" : {
            "description" : "Name of the individual or business formatted for inclusion in an address used for physical mail",
            "type" : "string"
          },
          "addressLine1" : {
            "description" : "First line of the standard address object",
            "type" : "string"
          },
          "addressLine2" : {
            "description" : "Second line of the standard address object",
            "type" : "string"
          },
          "addressLine3" : {
            "description" : "Third line of the standard address object",
            "type" : "string"
          },
          "postcode" : {
            "description" : "Mandatory for Australian addresses",
            "type" : "string"
          },
          "city" : {
            "description" : "Name of the city or locality",
            "type" : "string"
          },
          "state" : {
            "description" : "Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT",
            "type" : "string"
          },
          "country" : {
            "default" : "AUS",
            "description" : "A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (AUS) is assumed if country is not present.",
            "type" : "string",
            "x-cds-type" : "ExternalRef"
          }
        },
        "required" : [ "addressLine1", "city", "state" ],
        "type" : "object",
        "x-conditional" : [ "postcode" ]
      },
      "CommonPAFAddress" : {
        "description" : "Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). Required if addressUType is set to paf",
        "properties" : {
          "dpid" : {
            "description" : "Unique identifier for an address as defined by Australia Post.  Also known as Delivery Point Identifier",
            "type" : "string"
          },
          "thoroughfareNumber1" : {
            "description" : "Thoroughfare number for a property (first number in a property ranged address)",
            "type" : "integer",
            "x-cds-type" : "PositiveInteger"
          },
          "thoroughfareNumber1Suffix" : {
            "description" : "Suffix for the thoroughfare number. Only relevant is thoroughfareNumber1 is populated",
            "type" : "string"
          },
          "thoroughfareNumber2" : {
            "description" : "Second thoroughfare number (only used if the property has a ranged address eg 23-25)",
            "type" : "integer",
            "x-cds-type" : "PositiveInteger"
          },
          "thoroughfareNumber2Suffix" : {
            "description" : "Suffix for the second thoroughfare number. Only relevant is thoroughfareNumber2 is populated",
            "type" : "string"
          },
          "flatUnitType" : {
            "description" : "Type of flat or unit for the address",
            "type" : "string"
          },
          "flatUnitNumber" : {
            "description" : "Unit number (including suffix, if applicable)",
            "type" : "string"
          },
          "floorLevelType" : {
            "description" : "Type of floor or level for the address",
            "type" : "string"
          },
          "floorLevelNumber" : {
            "description" : "Floor or level number (including alpha characters)",
            "type" : "string"
          },
          "lotNumber" : {
            "description" : "Allotment number for the address",
            "type" : "string"
          },
          "buildingName1" : {
            "description" : "Building/Property name 1",
            "type" : "string"
          },
          "buildingName2" : {
            "description" : "Building/Property name 2",
            "type" : "string"
          },
          "streetName" : {
            "description" : "The name of the street",
            "type" : "string"
          },
          "streetType" : {
            "description" : "The street type. Valid enumeration defined by Australia Post PAF code file",
            "type" : "string"
          },
          "streetSuffix" : {
            "description" : "The street type suffix. Valid enumeration defined by Australia Post PAF code file",
            "type" : "string"
          },
          "postalDeliveryType" : {
            "description" : "Postal delivery type. (eg. PO BOX). Valid enumeration defined by Australia Post PAF code file",
            "type" : "string"
          },
          "postalDeliveryNumber" : {
            "description" : "Postal delivery number if the address is a postal delivery type",
            "type" : "integer",
            "x-cds-type" : "PositiveInteger"
          },
          "postalDeliveryNumberPrefix" : {
            "description" : "Postal delivery number prefix related to the postal delivery number",
            "type" : "string"
          },
          "postalDeliveryNumberSuffix" : {
            "description" : "Postal delivery number suffix related to the postal delivery number",
            "type" : "string"
          },
          "localityName" : {
            "description" : "Full name of locality",
            "type" : "string"
          },
          "postcode" : {
            "description" : "Postcode for the locality",
            "type" : "string"
          },
          "state" : {
            "description" : "State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT",
            "type" : "string"
          }
        },
        "required" : [ "localityName", "postcode", "state" ],
        "type" : "object"
      },
      "Links" : {
        "properties" : {
          "self" : {
            "description" : "Fully qualified link that generated the current response document",
            "type" : "string",
            "x-cds-type" : "URIString"
          }
        },
        "required" : [ "self" ],
        "type" : "object"
      },
      "Meta" : {
        "type" : "object"
      },
      "LinksPaginated" : {
        "properties" : {
          "self" : {
            "description" : "Fully qualified link that generated the current response document",
            "type" : "string",
            "x-cds-type" : "URIString"
          },
          "first" : {
            "description" : "URI to the first page of this set. Mandatory if this response is not the first page",
            "type" : "string",
            "x-cds-type" : "URIString"
          },
          "prev" : {
            "description" : "URI to the previous page of this set. Mandatory if this response is not the first page",
            "type" : "string",
            "x-cds-type" : "URIString"
          },
          "next" : {
            "description" : "URI to the next page of this set. Mandatory if this response is not the last page",
            "type" : "string",
            "x-cds-type" : "URIString"
          },
          "last" : {
            "description" : "URI to the last page of this set. Mandatory if this response is not the last page",
            "type" : "string",
            "x-cds-type" : "URIString"
          }
        },
        "required" : [ "self" ],
        "type" : "object",
        "x-conditional" : [ "first", "prev", "next", "last" ]
      },
      "MetaPaginated" : {
        "properties" : {
          "totalRecords" : {
            "description" : "The total number of records in the full set. See [pagination](#pagination).",
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          },
          "totalPages" : {
            "description" : "The total number of pages in the full set. See [pagination](#pagination).",
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          }
        },
        "required" : [ "totalPages", "totalRecords" ],
        "type" : "object"
      },
      "TelcoProductListResponseData" : {
        "properties" : {
          "plans" : {
            "description" : "Array of Products",
            "items" : {
              "$ref" : "#/components/schemas/TelcoProduct"
            },
            "type" : "array"
          }
        },
        "required" : [ "plans" ],
        "type" : "object"
      },
      "TelcoUsageListResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/TelcoUsageListResponseData"
          },
          "links" : {
            "$ref" : "#/components/schemas/Links"
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "TelcoUsageListResponseData" : {
        "properties" : {
          "accounts" : {
            "description" : "Array of usage on accounts",
            "items" : {
              "$ref" : "#/components/schemas/TelcoAccountUsage"
            },
            "type" : "array"
          }
        },
        "required" : [ "accounts" ],
        "type" : "object"
      },
      "TelcoAccountListResponseData" : {
        "properties" : {
          "accounts" : {
            "description" : "Array of accounts",
            "items" : {
              "$ref" : "#/components/schemas/TelcoAccountResponseData"
            },
            "type" : "array"
          }
        },
        "required" : [ "accounts" ],
        "type" : "object"
      },
      "TelcoPaymentScheduleResponseData" : {
        "properties" : {
          "paymentSchedules" : {
            "description" : "Array may be empty if no payment schedule exist",
            "items" : {
              "$ref" : "#/components/schemas/TelcoPaymentSchedule"
            },
            "type" : "array"
          }
        },
        "required" : [ "paymentSchedules" ],
        "type" : "object"
      },
      "TelcoConcessionsResponseData" : {
        "properties" : {
          "concessions" : {
            "description" : "Array may be empty if no concessions exist",
            "items" : {
              "$ref" : "#/components/schemas/TelcoConcession"
            },
            "type" : "array"
          }
        },
        "required" : [ "concessions" ],
        "type" : "object"
      },
      "TelcoBalanceListResponseData" : {
        "properties" : {
          "balances" : {
            "description" : "Array of account balances",
            "items" : {
              "$ref" : "#/components/schemas/TelcoBalanceResponseData"
            },
            "type" : "array"
          }
        },
        "required" : [ "balances" ],
        "type" : "object"
      },
      "TelcoBalanceResponseData" : {
        "properties" : {
          "accountId" : {
            "description" : "The ID of the account. In accordance with [CDR ID permanence](#id-permanence) requirements",
            "type" : "string"
          },
          "balance" : {
            "$ref" : "#/components/schemas/TelcoBalance"
          }
        },
        "required" : [ "accountId, balance" ],
        "type" : "object"
      },
      "TelcoInvoiceResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/TelcoInvoiceListResponseData"
          },
          "links" : {
            "$ref" : "#/components/schemas/Links"
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "TelcoInvoiceListResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/TelcoInvoiceListResponseData"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksPaginated"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaPaginated"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "TelcoInvoiceListResponseData" : {
        "properties" : {
          "invoices" : {
            "description" : "Array of invoices sorted by issue date in descending order",
            "items" : {
              "$ref" : "#/components/schemas/TelcoInvoice"
            },
            "type" : "array"
          }
        },
        "required" : [ "invoices" ],
        "type" : "object"
      },
      "TelcoTransactionListResponseData" : {
        "properties" : {
          "transactions" : {
            "description" : "Array of transactions sorted by date and time in descending order",
            "items" : {
              "$ref" : "#/components/schemas/TelcoBillingTransaction"
            },
            "type" : "array"
          }
        },
        "required" : [ "transactions" ],
        "type" : "object"
      },
      "TelcoProductPricing" : {
        "properties" : {
          "name" : {
            "description" : "The display name of the pricing",
            "type" : "string"
          },
          "description" : {
            "description" : "The description of the pricing",
            "type" : "string"
          },
          "period" : {
            "description" : "The duration that occurs on a pricing schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)",
            "type" : "string",
            "x-cds-type" : "ExternalRef"
          },
          "amount" : {
            "description" : "The amount charged for the duration period",
            "type" : "string",
            "x-cds-type" : "AmountString"
          }
        },
        "required" : [ "amount", "description", "name" ],
        "type" : "object"
      },
      "TelcoAdditionalInformation" : {
        "description" : "Object that contains links to additional information on specific topics",
        "properties" : {
          "overviewUri" : {
            "description" : "A link to a general overview of the plan",
            "type" : "string",
            "x-cds-type" : "URIString"
          },
          "termsUri" : {
            "description" : "A link to terms and conditions for the plan",
            "type" : "string",
            "x-cds-type" : "URIString"
          },
          "eligibilityUri" : {
            "description" : "A link to detail on eligibility criteria for the plan",
            "type" : "string",
            "x-cds-type" : "URIString"
          },
          "pricingUri" : {
            "description" : "A link to detail on pricing for the plan",
            "type" : "string",
            "x-cds-type" : "URIString"
          },
          "bundleUri" : {
            "description" : "A link to detail on bundles that this plan can be a part of",
            "type" : "string",
            "x-cds-type" : "URIString"
          }
        },
        "type" : "object"
      },
      "TelcoProductDetailMeteringCharges" : {
        "properties" : {
          "displayName" : {
            "description" : "Display name of the charge",
            "type" : "string"
          },
          "description" : {
            "description" : "Description of the charge",
            "type" : "string"
          },
          "minimumValue" : {
            "description" : "Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "maximumValue" : {
            "description" : "The upper limit of the charge if the charge could occur in a range",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "period" : {
            "description" : "The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)",
            "type" : "string",
            "x-cds-type" : "ExternalRef"
          }
        },
        "required" : [ "displayName", "minimumValue" ],
        "type" : "object"
      },
      "TelcoProductDetailFeature" : {
        "properties" : {
          "displayName" : {
            "description" : "The display name of the feature",
            "type" : "string"
          },
          "description" : {
            "description" : "The description of the feature",
            "type" : "string"
          },
          "category" : {
            "description" : "The type of the feature",
            "enum" : [ "DATA", "VOICE", "MESSAGING", "HANDSET", "DEVICE", "NETWORK", "ENTERTAINMENT", "SUBSCRIPTION", "SOFTWARE", "OTHER" ],
            "type" : "string"
          }
        },
        "required" : [ "displayName" ],
        "type" : "object"
      },
      "TelcoProductDetailBundles" : {
        "properties" : {
          "displayName" : {
            "description" : "The display name of the product bundle",
            "type" : "string"
          },
          "description" : {
            "description" : "The description of the product bundle",
            "type" : "string"
          },
          "bundleUri" : {
            "description" : "The URI of the product bundle",
            "type" : "string",
            "x-cds-type" : "URIString"
          },
          "features" : {
            "description" : "Optional list of features of the bundle",
            "items" : {
              "$ref" : "#/components/schemas/TelcoProductDetailFeature"
            },
            "type" : "array"
          }
        },
        "required" : [ "displayName" ],
        "type" : "object"
      },
      "TelcoProductDetailPlan" : {
        "properties" : {
          "displayName" : {
            "description" : "The display name of the product plan",
            "type" : "string"
          },
          "description" : {
            "description" : "The display name of the product plan",
            "type" : "string"
          },
          "planUri" : {
            "description" : "The URI of the product plan",
            "type" : "string",
            "x-cds-type" : "URIString"
          },
          "features" : {
            "description" : "Optional list of features of the plan",
            "items" : {
              "$ref" : "#/components/schemas/TelcoProductDetailPlanFeature"
            },
            "type" : "array"
          }
        },
        "required" : [ "displayName" ],
        "type" : "object"
      },
      "TelcoProductDetailPlanFeature" : {
        "properties" : {
          "displayName" : {
            "description" : "The display name of the feature",
            "type" : "string"
          },
          "description" : {
            "description" : "The description of the feature",
            "type" : "string"
          }
        },
        "required" : [ "displayName" ],
        "type" : "object"
      },
      "TelcoProductDetailDiscountFeature" : {
        "properties" : {
          "displayName" : {
            "description" : "The display name of the discount feature",
            "type" : "string"
          },
          "description" : {
            "description" : "The description of the discount feature",
            "type" : "string"
          }
        },
        "required" : [ "displayName" ],
        "type" : "object"
      },
      "TelcoProductDetailDiscounts" : {
        "properties" : {
          "displayName" : {
            "description" : "The display name of the product plan",
            "type" : "string"
          },
          "description" : {
            "description" : "The description name of the product plan",
            "type" : "string"
          },
          "discountUri" : {
            "description" : "The URI of the discount",
            "type" : "string",
            "x-cds-type" : "URIString"
          },
          "features" : {
            "description" : "Optional list of features of the discount",
            "items" : {
              "$ref" : "#/components/schemas/TelcoProductDetailDiscountFeature"
            },
            "type" : "array"
          }
        },
        "required" : [ "displayName" ],
        "type" : "object"
      },
      "TelcoProductDetailIncentiveFeature" : {
        "properties" : {
          "displayName" : {
            "description" : "The display name of the incentive feature",
            "type" : "string"
          },
          "description" : {
            "description" : "The description of the incentive feature",
            "type" : "string"
          }
        },
        "required" : [ "displayName" ],
        "type" : "object"
      },
      "TelcoProductDetailIncentives" : {
        "properties" : {
          "displayName" : {
            "description" : "The display name of the incentive",
            "type" : "string"
          },
          "description" : {
            "description" : "The description of the incentive",
            "type" : "string"
          },
          "incentiveUri" : {
            "description" : "The URI of the incentive",
            "type" : "string",
            "x-cds-type" : "URIString"
          },
          "features" : {
            "description" : "Optional list of features of the incentive",
            "items" : {
              "$ref" : "#/components/schemas/TelcoProductDetailIncentiveFeature"
            },
            "type" : "array"
          }
        },
        "required" : [ "displayName" ],
        "type" : "object"
      },
      "TelcoProductDetail" : {
        "properties" : {
          "meteringCharges" : {
            "description" : "Charges for metering included in the plan",
            "items" : {
              "$ref" : "#/components/schemas/TelcoProductDetailMeteringCharges"
            },
            "type" : "array"
          },
          "bundles" : {
            "description" : "Bundles the product can be part of",
            "items" : {
              "$ref" : "#/components/schemas/TelcoProductDetailBundles"
            },
            "type" : "array"
          },
          "plans" : {
            "description" : "Plans associated to the product",
            "items" : {
              "$ref" : "#/components/schemas/TelcoProductDetailPlan"
            },
            "type" : "array"
          },
          "discounts" : {
            "description" : "Discounts associated to the product",
            "items" : {
              "$ref" : "#/components/schemas/TelcoProductDetailDiscounts"
            },
            "type" : "array"
          },
          "incentives" : {
            "description" : "Incentives associated to the product",
            "items" : {
              "$ref" : "#/components/schemas/TelcoProductDetailIncentives"
            },
            "type" : "array"
          }
        },
        "type" : "object"
      },
      "TelcoAccountUsageServices" : {
        "properties" : {
          "service" : {
            "$ref" : "#/components/schemas/TelcoServiceUsage"
          }
        },
        "required" : [ "service" ],
        "type" : "object"
      },
      "TelcoAccountPlanOverview" : {
        "description" : "Mandatory if openStatus is OPEN",
        "properties" : {
          "displayName" : {
            "description" : "The name of the plan if one exists",
            "type" : "string"
          },
          "startDate" : {
            "description" : "The start date of the applicability of this plan",
            "type" : "string",
            "x-cds-type" : "DateString"
          },
          "endDate" : {
            "description" : "The end date of the applicability of this plan",
            "type" : "string",
            "x-cds-type" : "DateString"
          }
        },
        "required" : [ "startDate" ],
        "type" : "object"
      },
      "TelcoAccountPlan" : {
        "properties" : {
          "nickname" : {
            "description" : "Optional display name for the plan provided by the customer to help differentiate multiple plans",
            "type" : "string"
          },
          "type" : {
            "default" : "MOBILE",
            "description" : "The type of the plan. The type of plan. A [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service",
            "enum" : [ "MOBILE", "BROADBAND" ],
            "type" : "string"
          },
          "billingType" : {
            "default" : "PRE_PAID",
            "description" : "The billing type of then plan",
            "enum" : [ "PRE_PAID", "POST_PAID", "UPFRONT_PAID", "OTHER" ],
            "type" : "string"
          },
          "serviceIds" : {
            "description" : "The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirement",
            "items" : {
              "type" : "string"
            },
            "type" : "array"
          },
          "planOverview" : {
            "$ref" : "#/components/schemas/TelcoAccountPlanOverview"
          }
        },
        "required" : [ "billingType", "planOverview", "serviceIds", "type" ],
        "type" : "object"
      },
      "TelcoAccount" : {
        "description" : "The array of plans containing services and associated plan details",
        "properties" : {
          "plans" : {
            "description" : "The array of plans containing service and associated plan details",
            "items" : {
              "$ref" : "#/components/schemas/TelcoAccountPlan"
            },
            "type" : "array"
          }
        },
        "required" : [ "plans" ],
        "type" : "object"
      },
      "TelcoAccountPlanDetail" : {
        "description" : "Detail on the plan applicable to this account. Mandatory if openStatus is OPEN",
        "properties" : {
          "planDetail" : {
            "$ref" : "#/components/schemas/TelcoAccountPlanDetail_planDetail"
          }
        },
        "required" : [ "planDetail" ],
        "type" : "object"
      },
      "TelcoAccountDetailAuthorisedContacts" : {
        "properties" : {
          "firstName" : {
            "description" : "For people with single names this field need not be present. The single name should be in the lastName field",
            "type" : "string"
          },
          "lastName" : {
            "description" : "For people with single names the single name should be in this field",
            "type" : "string"
          },
          "middleNames" : {
            "description" : "Field is mandatory but array may be empty",
            "items" : {
              "type" : "string"
            },
            "type" : "array"
          },
          "prefix" : {
            "description" : "Also known as title or salutation. The prefix to the name (e.g. Mr, Mrs, Ms, Miss, Sir, etc)",
            "type" : "string"
          },
          "suffix" : {
            "description" : "Used for a trailing suffix to the name (e.g. Jr)",
            "type" : "string"
          }
        },
        "required" : [ "lastName" ],
        "type" : "object"
      },
      "TelcoAccountDetail" : {
        "description" : "The array of plans containing services and associated plan details",
        "properties" : {
          "plans" : {
            "description" : "The array of plans containing services and associated plan details",
            "items" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/TelcoAccountPlan"
              }, {
                "$ref" : "#/components/schemas/TelcoAccountPlanDetail"
              } ]
            },
            "required" : [ "planDetail", "planOverview" ],
            "type" : "array"
          }
        },
        "required" : [ "plans" ],
        "type" : "object"
      },
      "TelcoPaymentScheduleCardDebit" : {
        "description" : "Represents a regular credit card payment schedule. Mandatory if paymentScheduleUType is set to cardDebit",
        "properties" : {
          "cardScheme" : {
            "description" : "The type of credit card held on file",
            "enum" : [ "VISA", "MASTERCARD", "AMEX", "DINERS", "OTHER", "UNKNOWN" ],
            "type" : "string"
          },
          "paymentFrequency" : {
            "description" : "The frequency that payments will occur.  Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)",
            "type" : "string",
            "x-cds-type" : "ExternalRef"
          },
          "calculationType" : {
            "description" : "The mechanism by which the payment amount is calculated.  Explanation of values are as follows:<br/><ul><li>**STATIC** - Indicates a consistent, static amount, per payment</li><li>**BALANCE** - Indicates that the outstanding balance for the account is paid per period</li><li>**CALCULATED** - Indicates that the payment amount is variable and calculated using a pre-defined algorithm</li></ul>",
            "enum" : [ "STATIC", "BALANCE", "CALCULATED" ],
            "type" : "string"
          }
        },
        "required" : [ "calculationType", "cardScheme", "paymentFrequency" ],
        "type" : "object"
      },
      "TelcoPaymentScheduleDirectDebit" : {
        "description" : "Represents a regular direct debit from a specified bank account. Mandatory if paymentScheduleUType is set to directDebit",
        "properties" : {
          "isTokenised" : {
            "description" : "Flag indicating that the account details are tokenised and cannot be shared.  False if absent",
            "type" : "boolean"
          },
          "bsb" : {
            "description" : "The unmasked BSB for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces.  Is required if isTokenised is absent or false",
            "type" : "string"
          },
          "accountNumber" : {
            "description" : "The unmasked account number for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces.  Is required if isTokenised is absent or false",
            "type" : "string"
          },
          "paymentFrequency" : {
            "description" : "The frequency that payments will occur.  Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)",
            "type" : "string",
            "x-cds-type" : "ExternalRef"
          },
          "calculationType" : {
            "description" : "The mechanism by which the payment amount is calculated.  Explanation of values are as follows:<br/><ul><li>**STATIC** - Indicates a consistent, static amount, per payment</li><li>**BALANCE** - Indicates that the outstanding balance for the account is paid per period</li><li>**CALCULATED** - Indicates that the payment amount is variable and calculated using a pre-defined algorithm</li></ul>",
            "enum" : [ "STATIC", "BALANCE", "CALCULATED" ],
            "type" : "string"
          }
        },
        "required" : [ "calculationType", "paymentFrequency" ],
        "type" : "object",
        "x-conditional" : [ "bsb", "accountNumber" ]
      },
      "TelcoPaymentScheduleDigitalWallet" : {
        "description" : "Represents a regular payment from a digital wallet. Mandatory if paymentScheduleUType is set to digitalWallet",
        "properties" : {
          "name" : {
            "description" : "The name assigned to the digital wallet by the owner of the wallet, else the display name provided by the digital wallet provider",
            "type" : "string"
          },
          "identifier" : {
            "description" : "The identifier of the digital wallet (dependent on type)",
            "type" : "string"
          },
          "type" : {
            "description" : "The type of the digital wallet identifier",
            "enum" : [ "EMAIL", "CONTACT_NAME", "TELEPHONE" ],
            "type" : "string"
          },
          "provider" : {
            "description" : "The provider of the digital wallet",
            "enum" : [ "PAYPAL_AU", "OTHER" ],
            "type" : "string"
          },
          "paymentFrequency" : {
            "description" : "The frequency that payments will occur.  Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)",
            "type" : "string",
            "x-cds-type" : "ExternalRef"
          },
          "calculationType" : {
            "description" : "The mechanism by which the payment amount is calculated.  Explanation of values are as follows:<br/><ul><li>**STATIC** - Indicates a consistent, static amount, per payment</li><li>**BALANCE** - Indicates that the outstanding balance for the account is paid per period</li><li>**CALCULATED** - Indicates that the payment amount is variable and calculated using a pre-defined algorithm</li></ul>",
            "enum" : [ "STATIC", "BALANCE", "CALCULATED" ],
            "type" : "string"
          }
        },
        "required" : [ "calculationType", "identifier", "name", "paymentFrequency", "provider", "type" ],
        "type" : "object"
      },
      "TelcoPaymentScheduleManualPayment" : {
        "description" : "Represents a manual payment schedule where the customer pays in response to a delivered statement. Mandatory if paymentScheduleUType is set to manualPayment",
        "properties" : {
          "billFrequency" : {
            "description" : "The frequency with which a bill will be issued.  Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)",
            "type" : "string",
            "x-cds-type" : "ExternalRef"
          }
        },
        "required" : [ "billFrequency" ],
        "type" : "object"
      },
      "TelcoInvoicePeriod" : {
        "description" : "Object containing the start and end date for the period covered by the invoice. Mandatory if any usage based charges are included in the invoice",
        "properties" : {
          "startDate" : {
            "description" : "The start date of the period covered by this invoice",
            "type" : "string",
            "x-cds-type" : "DateString"
          },
          "endDate" : {
            "description" : "The end date of the period covered by this invoice",
            "type" : "string",
            "x-cds-type" : "DateString"
          }
        },
        "required" : [ "endDate", "startDate" ],
        "type" : "object"
      },
      "TelcoInvoicePayOnTimeDiscount" : {
        "description" : "A discount for on time payment",
        "properties" : {
          "discountAmount" : {
            "description" : "The amount that will be discounted if the invoice is paid by the date specified",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "gstAmount" : {
            "description" : "The GST amount that will be discounted if the invoice is paid by the date specified.  If absent then zero is assumed",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "date" : {
            "description" : "The date by which the invoice must be paid to receive the pay on time discount",
            "type" : "string",
            "x-cds-type" : "DateString"
          }
        },
        "required" : [ "date", "discountAmount" ],
        "type" : "object"
      },
      "TelcoUsageDatRoaming" : {
        "description" : "Roaming Data Usage",
        "properties" : {
          "download" : {
            "description" : "Amount of data used while roaming in megabytes (MB)",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "amount" : {
            "description" : "Amount value of data roaming charges",
            "type" : "string",
            "x-cds-type" : "AmountString"
          }
        },
        "type" : "object",
        "x-conditional" : [ "download", "amount" ]
      },
      "TelcoUsageData" : {
        "description" : "Summary of data usage",
        "properties" : {
          "upload" : {
            "description" : "Amount of data uploaded in megabytes (MB)",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "download" : {
            "description" : "Amount of data downloaded in megabytes (MB)",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "sessions" : {
            "description" : "Number of data sessions",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "amount" : {
            "description" : "Cost amount of data usage",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "roaming" : {
            "$ref" : "#/components/schemas/TelcoUsageDatRoaming"
          }
        },
        "required" : [ "amount", "download", "upload" ],
        "type" : "object",
        "x-condional" : "roaming"
      },
      "TelcoUsageVoiceNational" : {
        "description" : "National voice calls",
        "properties" : {
          "duration" : {
            "description" : "Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs",
            "type" : "string",
            "x-cds-type" : "TimeString"
          },
          "number" : {
            "description" : "Number of national voice calls",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "amount" : {
            "description" : "Cost amount of national calls",
            "type" : "string",
            "x-cds-type" : "AmountString"
          }
        },
        "required" : [ "amount", "duration", "number" ],
        "type" : "object"
      },
      "TelcoUsageVoiceInternational" : {
        "description" : "International voice calls. Requied if international calling is supported",
        "properties" : {
          "duration" : {
            "description" : "Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs",
            "type" : "string",
            "x-cds-type" : "TimeString"
          },
          "number" : {
            "description" : "Number of international voice calls",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "amount" : {
            "description" : "Cost amount of international voice calls",
            "type" : "string",
            "x-cds-type" : "AmountString"
          }
        },
        "required" : [ "amount", "duration", "number" ],
        "type" : "object"
      },
      "TelcoUsageVoiceRoaming" : {
        "description" : "Roaming voice calls, Required if roaming is supported",
        "properties" : {
          "duration" : {
            "description" : "Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs",
            "type" : "string",
            "x-cds-type" : "TimeString"
          },
          "number" : {
            "description" : "Number of roaming voice calls",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "amount" : {
            "description" : "Cost amount of roaming voice calls",
            "type" : "string",
            "x-cds-type" : "AmountString"
          }
        },
        "required" : [ "amount", "duration", "number" ],
        "type" : "object"
      },
      "TelcoUsageVoice" : {
        "description" : "Summary of voice calls. Required if voice calls are included in product plan",
        "properties" : {
          "national" : {
            "$ref" : "#/components/schemas/TelcoUsageVoiceNational"
          },
          "international" : {
            "$ref" : "#/components/schemas/TelcoUsageVoiceInternational"
          },
          "roaming" : {
            "$ref" : "#/components/schemas/TelcoUsageVoiceRoaming"
          }
        },
        "required" : [ "amount", "international", "national", "roaming" ],
        "type" : "object",
        "x-conditional" : [ "international", "roaming" ]
      },
      "TelcoUsageMessagingSms" : {
        "description" : "Summary of SMS usage",
        "properties" : {
          "national" : {
            "description" : "Number of national SMS messages sent. Including premium SMS services",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "international" : {
            "description" : "Number of international SMS messages sent. Including premium SMS services",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "roaming" : {
            "description" : "Number of roaming SMS messages sent. Including premium SMS services",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "amount" : {
            "description" : "Cost amount of SMS messages. Including premium SMS services",
            "type" : "string",
            "x-cds-type" : "AmountString"
          }
        },
        "required" : [ "amount", "national" ],
        "type" : "object",
        "x-conditional" : [ "international", "roaming" ]
      },
      "TelcoUsageMessagingMms" : {
        "description" : "Summary of MMS usage",
        "properties" : {
          "national" : {
            "description" : "Number of national MMS messages sent",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "international" : {
            "description" : "ber of international MMS messages sent",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "roaming" : {
            "description" : "Number of roaming SMS messages sent. Including premium SMS services",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "amount" : {
            "description" : "Cost amount of MMS messages",
            "type" : "string",
            "x-cds-type" : "AmountString"
          }
        },
        "required" : [ "amount", "national" ],
        "type" : "object",
        "x-conditional" : [ "international", "roaming" ]
      },
      "TelcoUsageMessaging" : {
        "description" : "Summary of messaging. Required if messaging services is included in the product plan",
        "properties" : {
          "sms" : {
            "$ref" : "#/components/schemas/TelcoUsageMessagingSms"
          },
          "mms" : {
            "$ref" : "#/components/schemas/TelcoUsageMessagingMms"
          }
        },
        "required" : [ "mms", "sms" ],
        "type" : "object"
      },
      "TelcoInvoiceAccountChargesOtherCharges" : {
        "description" : "Optional array of charges that may be part of the invoice (for example services fees) (exclusive of GST)",
        "properties" : {
          "amount" : {
            "description" : "The aggregate total of charges for this item (exclusive of GST)",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "description" : {
            "description" : "A free text description of the charge",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "type" : {
            "description" : "A free text description of the charge",
            "enum" : [ "SERVICE", "EQUIPMENT", "NETWORK", "HANDSET", "DEVICE", "ENTERTAINMENT", "SUBSCRIPTION", "SOFTWARE", "OTHER" ],
            "type" : "string"
          }
        },
        "required" : [ "amount", "description" ],
        "type" : "object"
      },
      "TelcoBillingAccountTransactionAdjustments" : {
        "properties" : {
          "amount" : {
            "description" : "The amount of the adjustment",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "description" : {
            "description" : "A free text description of the adjustment",
            "type" : "string"
          }
        },
        "required" : [ "amount", "description" ],
        "type" : "object"
      },
      "TelcoServiceBalanceDataRoaming" : {
        "description" : "Balance of data roaming charges. Required unless planType is UNSUPPORTED",
        "properties" : {
          "description" : {
            "description" : "An overview of plan limits. Required unless planType is UNSUPPORTED",
            "type" : "string"
          },
          "download" : {
            "description" : "Amount of data used overseas in megabytes (MB). Required unless planType is UNSUPPORTED",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "amount" : {
            "description" : "Amount value of data roaming charges. Required unless planType is UNSUPPORTED",
            "type" : "string",
            "x-cds-type" : "AmountString"
          }
        },
        "type" : "object",
        "x-conditional" : [ "download", "amount" ]
      },
      "TelcoServiceBalanceData" : {
        "description" : "Summary of data balances",
        "properties" : {
          "planType" : {
            "$ref" : "#/components/schemas/TelcoPlanType"
          },
          "description" : {
            "description" : "An overview of plan limits. Required unless planType is UNSUPPORTED",
            "type" : "string"
          },
          "upload" : {
            "description" : "Remaining upload data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "download" : {
            "description" : "Remaining download data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "amount" : {
            "description" : "Remaining value amount of data available. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "string",
            "x-cds-type" : "AmountString"
          },
          "roaming" : {
            "$ref" : "#/components/schemas/TelcoServiceBalanceDataRoaming"
          }
        },
        "required" : [ "planType" ],
        "type" : "object",
        "x-conditional" : [ "description", "download", "amount" ]
      },
      "TelcoServiceBalanceVoiceNational" : {
        "description" : "National voice calls",
        "properties" : {
          "description" : {
            "description" : "An overview of plan limits. Required unless planType is UNSUPPORTED",
            "type" : "string"
          },
          "duration" : {
            "description" : "Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "string",
            "x-cds-type" : "TimeString"
          },
          "number" : {
            "description" : "Number of national voice calls. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "amount" : {
            "description" : "Amount balance of national calls. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "string",
            "x-cds-type" : "AmountString"
          }
        },
        "type" : "object",
        "x-conditional" : [ "description", "duration", "number", "amount" ]
      },
      "TelcoServiceBalanceVoiceInternational" : {
        "description" : "International voice calls",
        "properties" : {
          "description" : {
            "description" : "An overview of plan limits. Required unless planType is UNSUPPORTED",
            "type" : "string"
          },
          "duration" : {
            "description" : "Total duration (hours, minutes, and seconds) of international voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "string",
            "x-cds-type" : "TimeString"
          },
          "number" : {
            "description" : "Number of international voice calls available Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "amount" : {
            "description" : "Amount value of international calls available. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "string",
            "x-cds-type" : "AmountString"
          }
        },
        "type" : "object",
        "x-conditional" : [ "description", "national", "international", "amount" ]
      },
      "TelcoServiceBalanceVoiceRoaming" : {
        "description" : "Roaming voice calls",
        "properties" : {
          "description" : {
            "description" : "An overview of plan limits. Required unless planType is UNSUPPORTED",
            "type" : "string"
          },
          "duration" : {
            "description" : "Total duration (hours, minutes, and seconds) of roaming voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "string",
            "x-cds-type" : "TimeString"
          },
          "number" : {
            "description" : "Number of roaming voice calls available Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "amount" : {
            "description" : "Amount value of roaming calls available. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "string",
            "x-cds-type" : "AmountString"
          }
        },
        "type" : "object",
        "x-conditional" : [ "description", "national", "international", "amount" ]
      },
      "TelcoServiceBalanceVoice" : {
        "description" : "Summary of voice balances. Required if voice calls are included in product plan",
        "properties" : {
          "planType" : {
            "$ref" : "#/components/schemas/TelcoPlanType"
          },
          "national" : {
            "$ref" : "#/components/schemas/TelcoServiceBalanceVoiceNational"
          },
          "international" : {
            "$ref" : "#/components/schemas/TelcoServiceBalanceVoiceInternational"
          },
          "roaming" : {
            "$ref" : "#/components/schemas/TelcoServiceBalanceVoiceRoaming"
          }
        },
        "required" : [ "planType" ],
        "type" : "object",
        "x-conditional" : [ "national", "international", "roaming" ]
      },
      "TelcoServiceBalanceMessagingSms" : {
        "description" : "Summary of SMS Balance. Required if the service plan supports SMS messaging",
        "properties" : {
          "description" : {
            "description" : "An overview of plan limits. Required unless planType is UNSUPPORTED",
            "type" : "string"
          },
          "national" : {
            "description" : "Number of national SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "international" : {
            "description" : "Number of international SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "roaming" : {
            "description" : "Number of roaming SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "amount" : {
            "description" : "Amount value of SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "string",
            "x-cds-type" : "AmountString"
          }
        },
        "type" : "object",
        "x-conditional" : [ "description", "national", "international", "roaming", "amount" ]
      },
      "TelcoServiceBalanceMessagingMms" : {
        "description" : "Summary of MMS Balance. Required if the service plan supports MMS messaging",
        "properties" : {
          "description" : {
            "description" : "An overview of plan limits. Required unless planType is UNSUPPORTED",
            "type" : "string"
          },
          "national" : {
            "description" : "Number of national MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "international" : {
            "description" : "Number of international MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "roaming" : {
            "description" : "Number of roaming MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "number",
            "x-cds-type" : "Number"
          },
          "amount" : {
            "description" : "Amount value of MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED",
            "type" : "string",
            "x-cds-type" : "AmountString"
          }
        },
        "type" : "object",
        "x-conditional" : [ "description", "national", "international", "roaming", "amount" ]
      },
      "TelcoServiceBalanceMessaging" : {
        "description" : "Summary of messaging. Required if messaging services is included in the product plan",
        "properties" : {
          "planType" : {
            "$ref" : "#/components/schemas/TelcoPlanType"
          },
          "sms" : {
            "$ref" : "#/components/schemas/TelcoServiceBalanceMessagingSms"
          },
          "mms" : {
            "$ref" : "#/components/schemas/TelcoServiceBalanceMessagingMms"
          }
        },
        "required" : [ "mms", "sms" ],
        "type" : "object"
      },
      "TelcoServiceBalances" : {
        "description" : "A summary of Service balances",
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/TelcoServiceBalanceData"
          },
          "voice" : {
            "$ref" : "#/components/schemas/TelcoServiceBalanceVoice"
          },
          "messaging" : {
            "$ref" : "#/components/schemas/TelcoServiceBalanceMessaging"
          }
        },
        "type" : "object",
        "x-conditional" : [ "data", "voice", "messaging" ]
      },
      "ResponseErrorListV2_errors" : {
        "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/MetaError"
          }
        },
        "required" : [ "code", "detail", "title" ],
        "type" : "object"
      },
      "TelcoAccountPlanDetail_planDetail" : {
        "properties" : {
          "charges" : {
            "description" : "Charges for metering included in the plan",
            "items" : {
              "$ref" : "#/components/schemas/TelcoProductDetailMeteringCharges"
            },
            "type" : "array"
          }
        },
        "required" : [ "charges" ],
        "type" : "object"
      }
    }
  }
}