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.

        Note 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

        Other 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

        Other 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:
      example:
        data:
          plans:
          - additionalInformation:
              eligibilityUri: eligibilityUri
              bundleUri: bundleUri
              pricingUri: pricingUri
              termsUri: termsUri
              overviewUri: overviewUri
            brandName: brandName
            productId: productId
            purpose: PERSONAL
            displayName: displayName
            contract:
              duration: 0.8008281904610115
              contractUri: contractUri
              name: name
              description: description
            description: description
            type: MOBILE
            effectiveTo: effectiveTo
            thirdPartyAgentName: thirdPartyAgentName
            lastUpdated: lastUpdated
            billingType: PRE_PAID
            thirdPartyAgentId: thirdPartyAgentId
            applicationUri: applicationUri
            effectiveFrom: effectiveFrom
            bundle: true
            brand: brand
            pricing:
            - period: period
              amount: amount
              name: name
              description: description
            - period: period
              amount: amount
              name: name
              description: description
          - additionalInformation:
              eligibilityUri: eligibilityUri
              bundleUri: bundleUri
              pricingUri: pricingUri
              termsUri: termsUri
              overviewUri: overviewUri
            brandName: brandName
            productId: productId
            purpose: PERSONAL
            displayName: displayName
            contract:
              duration: 0.8008281904610115
              contractUri: contractUri
              name: name
              description: description
            description: description
            type: MOBILE
            effectiveTo: effectiveTo
            thirdPartyAgentName: thirdPartyAgentName
            lastUpdated: lastUpdated
            billingType: PRE_PAID
            thirdPartyAgentId: thirdPartyAgentId
            applicationUri: applicationUri
            effectiveFrom: effectiveFrom
            bundle: true
            brand: brand
            pricing:
            - period: period
              amount: amount
              name: name
              description: description
            - period: period
              amount: amount
              name: name
              description: description
        meta:
          totalRecords: 6
          totalPages: 1
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/TelcoProductListResponseData'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    TelcoProductResponse:
      example:
        data: ""
        meta: '{}'
        links:
          self: self
      properties:
        data:
          allOf:
          - $ref: '#/components/schemas/TelcoProduct'
          - $ref: '#/components/schemas/TelcoProductDetail'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          type: object
      required:
      - data
      - links
      type: object
    TelcoUsageResponse:
      properties:
        data:
          $ref: '#/components/schemas/TelcoAccountUsage'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          type: object
      required:
      - data
      - links
      - meta
      type: object
    TelcoServiceUsageResponse:
      example:
        data:
          phoneNumber: phoneNumber
          endDate: endDate
          displayName: displayName
          usage:
            voice:
              roaming:
                duration: duration
                number: 7.061401241503109
                amount: amount
              national:
                duration: duration
                number: 5.637376656633329
                amount: amount
              international:
                duration: duration
                number: 2.3021358869347655
                amount: amount
            data:
              download: 6.027456183070403
              sessions: 1.4658129805029452
              amount: amount
              roaming:
                download: 5.962133916683182
                amount: amount
              upload: 0.8008281904610115
            messaging:
              mms:
                amount: amount
                roaming: 1.2315135367772556
                national: 4.145608029883936
                international: 7.386281948385884
              sms:
                amount: amount
                roaming: 2.027123023002322
                national: 9.301444243932576
                international: 3.616076749251911
          serviceId: serviceId
          startDate: startDate
        meta: '{}'
        links:
          self: self
      properties:
        data:
          $ref: '#/components/schemas/TelcoServiceUsage'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          type: object
      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:
      example:
        data:
          accounts:
          - null
          - null
        meta:
          totalRecords: 6
          totalPages: 1
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/TelcoAccountListResponseData'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    TelcoAccountDetailResponse:
      example:
        meta: '{}'
        links:
          self: self
      properties:
        data:
          $ref: '#/components/schemas/TelcoAccountDetailResponseData'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          type: object
      required:
      - data
      - links
      - meta
      type: object
    TelcoPaymentScheduleResponse:
      example:
        data:
          paymentSchedules:
          - manualPayment:
              billFrequency: billFrequency
            amount: amount
            digitalWallet:
              calculationType: STATIC
              identifier: identifier
              provider: PAYPAL_AU
              name: name
              type: EMAIL
              paymentFrequency: paymentFrequency
            cardDebit:
              calculationType: STATIC
              cardScheme: VISA
              paymentFrequency: paymentFrequency
            directDebit:
              bsb: bsb
              calculationType: STATIC
              accountNumber: accountNumber
              paymentFrequency: paymentFrequency
              isTokenised: true
            paymentScheduleUType: cardDebit
          - manualPayment:
              billFrequency: billFrequency
            amount: amount
            digitalWallet:
              calculationType: STATIC
              identifier: identifier
              provider: PAYPAL_AU
              name: name
              type: EMAIL
              paymentFrequency: paymentFrequency
            cardDebit:
              calculationType: STATIC
              cardScheme: VISA
              paymentFrequency: paymentFrequency
            directDebit:
              bsb: bsb
              calculationType: STATIC
              accountNumber: accountNumber
              paymentFrequency: paymentFrequency
              isTokenised: true
            paymentScheduleUType: cardDebit
        meta:
          totalRecords: 6
          totalPages: 1
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/TelcoPaymentScheduleResponseData'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    TelcoConcessionsResponse:
      example:
        data:
          concessions:
          - amount: amount
            additionalInfoUri: additionalInfoUri
            endDate: endDate
            displayName: displayName
            appliedTo:
            - INVOICE
            - INVOICE
            percentage: percentage
            additionalInfo: additionalInfo
            type: CONCESSION
            discountFrequency: discountFrequency
            startDate: startDate
          - amount: amount
            additionalInfoUri: additionalInfoUri
            endDate: endDate
            displayName: displayName
            appliedTo:
            - INVOICE
            - INVOICE
            percentage: percentage
            additionalInfo: additionalInfo
            type: CONCESSION
            discountFrequency: discountFrequency
            startDate: startDate
        meta:
          totalRecords: 6
          totalPages: 1
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/TelcoConcessionsResponseData'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    TelcoBalanceListResponse:
      example:
        data:
          balances:
          - accountId: accountId
            balance:
              services:
              - ""
              - ""
          - accountId: accountId
            balance:
              services:
              - ""
              - ""
        meta:
          totalRecords: 6
          totalPages: 1
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/TelcoBalanceListResponseData'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    TelcoBalanceResponse:
      example:
        data:
          services:
          - ""
          - ""
        meta: '{}'
        links:
          self: self
      properties:
        data:
          $ref: '#/components/schemas/TelcoBalance'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          type: object
      required:
      - data
      - links
      - meta
      type: object
    TelcoTransactionListResponse:
      example:
        data:
          transactions:
          - accountId: accountId
            onceOff:
              amount: amount
              invoiceNumber: invoiceNumber
              description: description
              serviceId: serviceId
            otherCharges:
              amount: amount
              adjustments:
              - amount: amount
                description: description
              - amount: amount
                description: description
              endDate: endDate
              invoiceNumber: invoiceNumber
              description: description
              serviceId: serviceId
              type: OTHER
              startDate: startDate
            gst: gst
            payment:
              amount: amount
              method: DIRECT_DEBIT
            executionDateTime: executionDateTime
            transactionUType: account
            account:
              serviceIds: serviceIds
              amount: amount
              adjustments:
              - amount: amount
                description: description
              - amount: amount
                description: description
              endDate: endDate
              invoiceNumber: invoiceNumber
              description: description
              startDate: startDate
          - accountId: accountId
            onceOff:
              amount: amount
              invoiceNumber: invoiceNumber
              description: description
              serviceId: serviceId
            otherCharges:
              amount: amount
              adjustments:
              - amount: amount
                description: description
              - amount: amount
                description: description
              endDate: endDate
              invoiceNumber: invoiceNumber
              description: description
              serviceId: serviceId
              type: OTHER
              startDate: startDate
            gst: gst
            payment:
              amount: amount
              method: DIRECT_DEBIT
            executionDateTime: executionDateTime
            transactionUType: account
            account:
              serviceIds: serviceIds
              amount: amount
              adjustments:
              - amount: amount
                description: description
              - amount: amount
                description: description
              endDate: endDate
              invoiceNumber: invoiceNumber
              description: description
              startDate: startDate
        meta:
          totalRecords: 6
          totalPages: 1
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      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:
      example:
        additionalInformation:
          eligibilityUri: eligibilityUri
          bundleUri: bundleUri
          pricingUri: pricingUri
          termsUri: termsUri
          overviewUri: overviewUri
        brandName: brandName
        productId: productId
        purpose: PERSONAL
        displayName: displayName
        contract:
          duration: 0.8008281904610115
          contractUri: contractUri
          name: name
          description: description
        description: description
        type: MOBILE
        effectiveTo: effectiveTo
        thirdPartyAgentName: thirdPartyAgentName
        lastUpdated: lastUpdated
        billingType: PRE_PAID
        thirdPartyAgentId: thirdPartyAgentId
        applicationUri: applicationUri
        effectiveFrom: effectiveFrom
        bundle: true
        brand: brand
        pricing:
        - period: period
          amount: amount
          name: name
          description: description
        - period: period
          amount: amount
          name: name
          description: description
      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
      example:
        duration: 0.8008281904610115
        contractUri: contractUri
        name: name
        description: description
      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:
      example:
        accountId: accountId
        services:
        - service:
            phoneNumber: phoneNumber
            endDate: endDate
            displayName: displayName
            usage:
              voice:
                roaming:
                  duration: duration
                  number: 7.061401241503109
                  amount: amount
                national:
                  duration: duration
                  number: 5.637376656633329
                  amount: amount
                international:
                  duration: duration
                  number: 2.3021358869347655
                  amount: amount
              data:
                download: 6.027456183070403
                sessions: 1.4658129805029452
                amount: amount
                roaming:
                  download: 5.962133916683182
                  amount: amount
                upload: 0.8008281904610115
              messaging:
                mms:
                  amount: amount
                  roaming: 1.2315135367772556
                  national: 4.145608029883936
                  international: 7.386281948385884
                sms:
                  amount: amount
                  roaming: 2.027123023002322
                  national: 9.301444243932576
                  international: 3.616076749251911
            serviceId: serviceId
            startDate: startDate
        - service:
            phoneNumber: phoneNumber
            endDate: endDate
            displayName: displayName
            usage:
              voice:
                roaming:
                  duration: duration
                  number: 7.061401241503109
                  amount: amount
                national:
                  duration: duration
                  number: 5.637376656633329
                  amount: amount
                international:
                  duration: duration
                  number: 2.3021358869347655
                  amount: amount
              data:
                download: 6.027456183070403
                sessions: 1.4658129805029452
                amount: amount
                roaming:
                  download: 5.962133916683182
                  amount: amount
                upload: 0.8008281904610115
              messaging:
                mms:
                  amount: amount
                  roaming: 1.2315135367772556
                  national: 4.145608029883936
                  international: 7.386281948385884
                sms:
                  amount: amount
                  roaming: 2.027123023002322
                  national: 9.301444243932576
                  international: 3.616076749251911
            serviceId: serviceId
            startDate: startDate
      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:
      example:
        phoneNumber: phoneNumber
        endDate: endDate
        displayName: displayName
        usage:
          voice:
            roaming:
              duration: duration
              number: 7.061401241503109
              amount: amount
            national:
              duration: duration
              number: 5.637376656633329
              amount: amount
            international:
              duration: duration
              number: 2.3021358869347655
              amount: amount
          data:
            download: 6.027456183070403
            sessions: 1.4658129805029452
            amount: amount
            roaming:
              download: 5.962133916683182
              amount: amount
            upload: 0.8008281904610115
          messaging:
            mms:
              amount: amount
              roaming: 1.2315135367772556
              national: 4.145608029883936
              international: 7.386281948385884
            sms:
              amount: amount
              roaming: 2.027123023002322
              national: 9.301444243932576
              international: 3.616076749251911
        serviceId: serviceId
        startDate: startDate
      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:
      example:
        manualPayment:
          billFrequency: billFrequency
        amount: amount
        digitalWallet:
          calculationType: STATIC
          identifier: identifier
          provider: PAYPAL_AU
          name: name
          type: EMAIL
          paymentFrequency: paymentFrequency
        cardDebit:
          calculationType: STATIC
          cardScheme: VISA
          paymentFrequency: paymentFrequency
        directDebit:
          bsb: bsb
          calculationType: STATIC
          accountNumber: accountNumber
          paymentFrequency: paymentFrequency
          isTokenised: true
        paymentScheduleUType: cardDebit
      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:
      example:
        amount: amount
        additionalInfoUri: additionalInfoUri
        endDate: endDate
        displayName: displayName
        appliedTo:
        - INVOICE
        - INVOICE
        percentage: percentage
        additionalInfo: additionalInfo
        type: CONCESSION
        discountFrequency: discountFrequency
        startDate: startDate
      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:
      example:
        gstAmount: gstAmount
        period:
          endDate: endDate
          startDate: startDate
        accountCharges:
          totalGst: totalGst
          otherCharges:
            amount: amount
            description: description
            type: SERVICE
          totalUsageCharges: totalUsageCharges
          totalDiscounts: totalDiscounts
          totalOnceOffCharges: totalOnceOffCharges
        dueDate: dueDate
        invoiceAmount: invoiceAmount
        services:
        - services
        - services
        balanceAtIssue: balanceAtIssue
        accountId: accountId
        accountUsage:
          voice:
            roaming:
              duration: duration
              number: 7.061401241503109
              amount: amount
            national:
              duration: duration
              number: 5.637376656633329
              amount: amount
            international:
              duration: duration
              number: 2.3021358869347655
              amount: amount
          data:
            download: 6.027456183070403
            sessions: 1.4658129805029452
            amount: amount
            roaming:
              download: 5.962133916683182
              amount: amount
            upload: 0.8008281904610115
          messaging:
            mms:
              amount: amount
              roaming: 1.2315135367772556
              national: 4.145608029883936
              international: 7.386281948385884
            sms:
              amount: amount
              roaming: 2.027123023002322
              national: 9.301444243932576
              international: 3.616076749251911
        invoiceNumber: invoiceNumber
        issueDate: issueDate
        payOnTimeDiscount:
          date: date
          gstAmount: gstAmount
          discountAmount: discountAmount
        paymentStatus: NOT_PAID
      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
      example:
        voice:
          roaming:
            duration: duration
            number: 7.061401241503109
            amount: amount
          national:
            duration: duration
            number: 5.637376656633329
            amount: amount
          international:
            duration: duration
            number: 2.3021358869347655
            amount: amount
        data:
          download: 6.027456183070403
          sessions: 1.4658129805029452
          amount: amount
          roaming:
            download: 5.962133916683182
            amount: amount
          upload: 0.8008281904610115
        messaging:
          mms:
            amount: amount
            roaming: 1.2315135367772556
            national: 4.145608029883936
            international: 7.386281948385884
          sms:
            amount: amount
            roaming: 2.027123023002322
            national: 9.301444243932576
            international: 3.616076749251911
      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
      example:
        totalGst: totalGst
        otherCharges:
          amount: amount
          description: description
          type: SERVICE
        totalUsageCharges: totalUsageCharges
        totalDiscounts: totalDiscounts
        totalOnceOffCharges: totalOnceOffCharges
      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:
      example:
        accountId: accountId
        onceOff:
          amount: amount
          invoiceNumber: invoiceNumber
          description: description
          serviceId: serviceId
        otherCharges:
          amount: amount
          adjustments:
          - amount: amount
            description: description
          - amount: amount
            description: description
          endDate: endDate
          invoiceNumber: invoiceNumber
          description: description
          serviceId: serviceId
          type: OTHER
          startDate: startDate
        gst: gst
        payment:
          amount: amount
          method: DIRECT_DEBIT
        executionDateTime: executionDateTime
        transactionUType: account
        account:
          serviceIds: serviceIds
          amount: amount
          adjustments:
          - amount: amount
            description: description
          - amount: amount
            description: description
          endDate: endDate
          invoiceNumber: invoiceNumber
          description: description
          startDate: startDate
      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:
      example:
        serviceIds: serviceIds
        amount: amount
        adjustments:
        - amount: amount
          description: description
        - amount: amount
          description: description
        endDate: endDate
        invoiceNumber: invoiceNumber
        description: description
        startDate: startDate
      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:
      example:
        amount: amount
        invoiceNumber: invoiceNumber
        description: description
        serviceId: serviceId
      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:
      example:
        amount: amount
        adjustments:
        - amount: amount
          description: description
        - amount: amount
          description: description
        endDate: endDate
        invoiceNumber: invoiceNumber
        description: description
        serviceId: serviceId
        type: OTHER
        startDate: startDate
      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:
      example:
        amount: amount
        method: DIRECT_DEBIT
      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
      example:
        services:
        - ""
        - ""
      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:
      example:
        self: self
      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:
      example:
        next: next
        last: last
        prev: prev
        self: self
        first: first
      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:
      example:
        totalRecords: 6
        totalPages: 1
      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:
      example:
        plans:
        - additionalInformation:
            eligibilityUri: eligibilityUri
            bundleUri: bundleUri
            pricingUri: pricingUri
            termsUri: termsUri
            overviewUri: overviewUri
          brandName: brandName
          productId: productId
          purpose: PERSONAL
          displayName: displayName
          contract:
            duration: 0.8008281904610115
            contractUri: contractUri
            name: name
            description: description
          description: description
          type: MOBILE
          effectiveTo: effectiveTo
          thirdPartyAgentName: thirdPartyAgentName
          lastUpdated: lastUpdated
          billingType: PRE_PAID
          thirdPartyAgentId: thirdPartyAgentId
          applicationUri: applicationUri
          effectiveFrom: effectiveFrom
          bundle: true
          brand: brand
          pricing:
          - period: period
            amount: amount
            name: name
            description: description
          - period: period
            amount: amount
            name: name
            description: description
        - additionalInformation:
            eligibilityUri: eligibilityUri
            bundleUri: bundleUri
            pricingUri: pricingUri
            termsUri: termsUri
            overviewUri: overviewUri
          brandName: brandName
          productId: productId
          purpose: PERSONAL
          displayName: displayName
          contract:
            duration: 0.8008281904610115
            contractUri: contractUri
            name: name
            description: description
          description: description
          type: MOBILE
          effectiveTo: effectiveTo
          thirdPartyAgentName: thirdPartyAgentName
          lastUpdated: lastUpdated
          billingType: PRE_PAID
          thirdPartyAgentId: thirdPartyAgentId
          applicationUri: applicationUri
          effectiveFrom: effectiveFrom
          bundle: true
          brand: brand
          pricing:
          - period: period
            amount: amount
            name: name
            description: description
          - period: period
            amount: amount
            name: name
            description: description
      properties:
        plans:
          description: Array of Products
          items:
            $ref: '#/components/schemas/TelcoProduct'
          type: array
      required:
      - plans
      type: object
    TelcoUsageListResponse:
      example:
        data:
          accounts:
          - accountId: accountId
            services:
            - service:
                phoneNumber: phoneNumber
                endDate: endDate
                displayName: displayName
                usage:
                  voice:
                    roaming:
                      duration: duration
                      number: 7.061401241503109
                      amount: amount
                    national:
                      duration: duration
                      number: 5.637376656633329
                      amount: amount
                    international:
                      duration: duration
                      number: 2.3021358869347655
                      amount: amount
                  data:
                    download: 6.027456183070403
                    sessions: 1.4658129805029452
                    amount: amount
                    roaming:
                      download: 5.962133916683182
                      amount: amount
                    upload: 0.8008281904610115
                  messaging:
                    mms:
                      amount: amount
                      roaming: 1.2315135367772556
                      national: 4.145608029883936
                      international: 7.386281948385884
                    sms:
                      amount: amount
                      roaming: 2.027123023002322
                      national: 9.301444243932576
                      international: 3.616076749251911
                serviceId: serviceId
                startDate: startDate
            - service:
                phoneNumber: phoneNumber
                endDate: endDate
                displayName: displayName
                usage:
                  voice:
                    roaming:
                      duration: duration
                      number: 7.061401241503109
                      amount: amount
                    national:
                      duration: duration
                      number: 5.637376656633329
                      amount: amount
                    international:
                      duration: duration
                      number: 2.3021358869347655
                      amount: amount
                  data:
                    download: 6.027456183070403
                    sessions: 1.4658129805029452
                    amount: amount
                    roaming:
                      download: 5.962133916683182
                      amount: amount
                    upload: 0.8008281904610115
                  messaging:
                    mms:
                      amount: amount
                      roaming: 1.2315135367772556
                      national: 4.145608029883936
                      international: 7.386281948385884
                    sms:
                      amount: amount
                      roaming: 2.027123023002322
                      national: 9.301444243932576
                      international: 3.616076749251911
                serviceId: serviceId
                startDate: startDate
          - accountId: accountId
            services:
            - service:
                phoneNumber: phoneNumber
                endDate: endDate
                displayName: displayName
                usage:
                  voice:
                    roaming:
                      duration: duration
                      number: 7.061401241503109
                      amount: amount
                    national:
                      duration: duration
                      number: 5.637376656633329
                      amount: amount
                    international:
                      duration: duration
                      number: 2.3021358869347655
                      amount: amount
                  data:
                    download: 6.027456183070403
                    sessions: 1.4658129805029452
                    amount: amount
                    roaming:
                      download: 5.962133916683182
                      amount: amount
                    upload: 0.8008281904610115
                  messaging:
                    mms:
                      amount: amount
                      roaming: 1.2315135367772556
                      national: 4.145608029883936
                      international: 7.386281948385884
                    sms:
                      amount: amount
                      roaming: 2.027123023002322
                      national: 9.301444243932576
                      international: 3.616076749251911
                serviceId: serviceId
                startDate: startDate
            - service:
                phoneNumber: phoneNumber
                endDate: endDate
                displayName: displayName
                usage:
                  voice:
                    roaming:
                      duration: duration
                      number: 7.061401241503109
                      amount: amount
                    national:
                      duration: duration
                      number: 5.637376656633329
                      amount: amount
                    international:
                      duration: duration
                      number: 2.3021358869347655
                      amount: amount
                  data:
                    download: 6.027456183070403
                    sessions: 1.4658129805029452
                    amount: amount
                    roaming:
                      download: 5.962133916683182
                      amount: amount
                    upload: 0.8008281904610115
                  messaging:
                    mms:
                      amount: amount
                      roaming: 1.2315135367772556
                      national: 4.145608029883936
                      international: 7.386281948385884
                    sms:
                      amount: amount
                      roaming: 2.027123023002322
                      national: 9.301444243932576
                      international: 3.616076749251911
                serviceId: serviceId
                startDate: startDate
        meta: '{}'
        links:
          self: self
      properties:
        data:
          $ref: '#/components/schemas/TelcoUsageListResponseData'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          type: object
      required:
      - data
      - links
      - meta
      type: object
    TelcoUsageListResponseData:
      example:
        accounts:
        - accountId: accountId
          services:
          - service:
              phoneNumber: phoneNumber
              endDate: endDate
              displayName: displayName
              usage:
                voice:
                  roaming:
                    duration: duration
                    number: 7.061401241503109
                    amount: amount
                  national:
                    duration: duration
                    number: 5.637376656633329
                    amount: amount
                  international:
                    duration: duration
                    number: 2.3021358869347655
                    amount: amount
                data:
                  download: 6.027456183070403
                  sessions: 1.4658129805029452
                  amount: amount
                  roaming:
                    download: 5.962133916683182
                    amount: amount
                  upload: 0.8008281904610115
                messaging:
                  mms:
                    amount: amount
                    roaming: 1.2315135367772556
                    national: 4.145608029883936
                    international: 7.386281948385884
                  sms:
                    amount: amount
                    roaming: 2.027123023002322
                    national: 9.301444243932576
                    international: 3.616076749251911
              serviceId: serviceId
              startDate: startDate
          - service:
              phoneNumber: phoneNumber
              endDate: endDate
              displayName: displayName
              usage:
                voice:
                  roaming:
                    duration: duration
                    number: 7.061401241503109
                    amount: amount
                  national:
                    duration: duration
                    number: 5.637376656633329
                    amount: amount
                  international:
                    duration: duration
                    number: 2.3021358869347655
                    amount: amount
                data:
                  download: 6.027456183070403
                  sessions: 1.4658129805029452
                  amount: amount
                  roaming:
                    download: 5.962133916683182
                    amount: amount
                  upload: 0.8008281904610115
                messaging:
                  mms:
                    amount: amount
                    roaming: 1.2315135367772556
                    national: 4.145608029883936
                    international: 7.386281948385884
                  sms:
                    amount: amount
                    roaming: 2.027123023002322
                    national: 9.301444243932576
                    international: 3.616076749251911
              serviceId: serviceId
              startDate: startDate
        - accountId: accountId
          services:
          - service:
              phoneNumber: phoneNumber
              endDate: endDate
              displayName: displayName
              usage:
                voice:
                  roaming:
                    duration: duration
                    number: 7.061401241503109
                    amount: amount
                  national:
                    duration: duration
                    number: 5.637376656633329
                    amount: amount
                  international:
                    duration: duration
                    number: 2.3021358869347655
                    amount: amount
                data:
                  download: 6.027456183070403
                  sessions: 1.4658129805029452
                  amount: amount
                  roaming:
                    download: 5.962133916683182
                    amount: amount
                  upload: 0.8008281904610115
                messaging:
                  mms:
                    amount: amount
                    roaming: 1.2315135367772556
                    national: 4.145608029883936
                    international: 7.386281948385884
                  sms:
                    amount: amount
                    roaming: 2.027123023002322
                    national: 9.301444243932576
                    international: 3.616076749251911
              serviceId: serviceId
              startDate: startDate
          - service:
              phoneNumber: phoneNumber
              endDate: endDate
              displayName: displayName
              usage:
                voice:
                  roaming:
                    duration: duration
                    number: 7.061401241503109
                    amount: amount
                  national:
                    duration: duration
                    number: 5.637376656633329
                    amount: amount
                  international:
                    duration: duration
                    number: 2.3021358869347655
                    amount: amount
                data:
                  download: 6.027456183070403
                  sessions: 1.4658129805029452
                  amount: amount
                  roaming:
                    download: 5.962133916683182
                    amount: amount
                  upload: 0.8008281904610115
                messaging:
                  mms:
                    amount: amount
                    roaming: 1.2315135367772556
                    national: 4.145608029883936
                    international: 7.386281948385884
                  sms:
                    amount: amount
                    roaming: 2.027123023002322
                    national: 9.301444243932576
                    international: 3.616076749251911
              serviceId: serviceId
              startDate: startDate
      properties:
        accounts:
          description: Array of usage on accounts
          items:
            $ref: '#/components/schemas/TelcoAccountUsage'
          type: array
      required:
      - accounts
      type: object
    TelcoAccountListResponseData:
      example:
        accounts:
        - null
        - null
      properties:
        accounts:
          description: Array of accounts
          items:
            $ref: '#/components/schemas/TelcoAccountResponseData'
          type: array
      required:
      - accounts
      type: object
    TelcoPaymentScheduleResponseData:
      example:
        paymentSchedules:
        - manualPayment:
            billFrequency: billFrequency
          amount: amount
          digitalWallet:
            calculationType: STATIC
            identifier: identifier
            provider: PAYPAL_AU
            name: name
            type: EMAIL
            paymentFrequency: paymentFrequency
          cardDebit:
            calculationType: STATIC
            cardScheme: VISA
            paymentFrequency: paymentFrequency
          directDebit:
            bsb: bsb
            calculationType: STATIC
            accountNumber: accountNumber
            paymentFrequency: paymentFrequency
            isTokenised: true
          paymentScheduleUType: cardDebit
        - manualPayment:
            billFrequency: billFrequency
          amount: amount
          digitalWallet:
            calculationType: STATIC
            identifier: identifier
            provider: PAYPAL_AU
            name: name
            type: EMAIL
            paymentFrequency: paymentFrequency
          cardDebit:
            calculationType: STATIC
            cardScheme: VISA
            paymentFrequency: paymentFrequency
          directDebit:
            bsb: bsb
            calculationType: STATIC
            accountNumber: accountNumber
            paymentFrequency: paymentFrequency
            isTokenised: true
          paymentScheduleUType: cardDebit
      properties:
        paymentSchedules:
          description: Array may be empty if no payment schedule exist
          items:
            $ref: '#/components/schemas/TelcoPaymentSchedule'
          type: array
      required:
      - paymentSchedules
      type: object
    TelcoConcessionsResponseData:
      example:
        concessions:
        - amount: amount
          additionalInfoUri: additionalInfoUri
          endDate: endDate
          displayName: displayName
          appliedTo:
          - INVOICE
          - INVOICE
          percentage: percentage
          additionalInfo: additionalInfo
          type: CONCESSION
          discountFrequency: discountFrequency
          startDate: startDate
        - amount: amount
          additionalInfoUri: additionalInfoUri
          endDate: endDate
          displayName: displayName
          appliedTo:
          - INVOICE
          - INVOICE
          percentage: percentage
          additionalInfo: additionalInfo
          type: CONCESSION
          discountFrequency: discountFrequency
          startDate: startDate
      properties:
        concessions:
          description: Array may be empty if no concessions exist
          items:
            $ref: '#/components/schemas/TelcoConcession'
          type: array
      required:
      - concessions
      type: object
    TelcoBalanceListResponseData:
      example:
        balances:
        - accountId: accountId
          balance:
            services:
            - ""
            - ""
        - accountId: accountId
          balance:
            services:
            - ""
            - ""
      properties:
        balances:
          description: Array of account balances
          items:
            $ref: '#/components/schemas/TelcoBalanceResponseData'
          type: array
      required:
      - balances
      type: object
    TelcoBalanceResponseData:
      example:
        accountId: accountId
        balance:
          services:
          - ""
          - ""
      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:
      example:
        data:
          invoices:
          - gstAmount: gstAmount
            period:
              endDate: endDate
              startDate: startDate
            accountCharges:
              totalGst: totalGst
              otherCharges:
                amount: amount
                description: description
                type: SERVICE
              totalUsageCharges: totalUsageCharges
              totalDiscounts: totalDiscounts
              totalOnceOffCharges: totalOnceOffCharges
            dueDate: dueDate
            invoiceAmount: invoiceAmount
            services:
            - services
            - services
            balanceAtIssue: balanceAtIssue
            accountId: accountId
            accountUsage:
              voice:
                roaming:
                  duration: duration
                  number: 7.061401241503109
                  amount: amount
                national:
                  duration: duration
                  number: 5.637376656633329
                  amount: amount
                international:
                  duration: duration
                  number: 2.3021358869347655
                  amount: amount
              data:
                download: 6.027456183070403
                sessions: 1.4658129805029452
                amount: amount
                roaming:
                  download: 5.962133916683182
                  amount: amount
                upload: 0.8008281904610115
              messaging:
                mms:
                  amount: amount
                  roaming: 1.2315135367772556
                  national: 4.145608029883936
                  international: 7.386281948385884
                sms:
                  amount: amount
                  roaming: 2.027123023002322
                  national: 9.301444243932576
                  international: 3.616076749251911
            invoiceNumber: invoiceNumber
            issueDate: issueDate
            payOnTimeDiscount:
              date: date
              gstAmount: gstAmount
              discountAmount: discountAmount
            paymentStatus: NOT_PAID
          - gstAmount: gstAmount
            period:
              endDate: endDate
              startDate: startDate
            accountCharges:
              totalGst: totalGst
              otherCharges:
                amount: amount
                description: description
                type: SERVICE
              totalUsageCharges: totalUsageCharges
              totalDiscounts: totalDiscounts
              totalOnceOffCharges: totalOnceOffCharges
            dueDate: dueDate
            invoiceAmount: invoiceAmount
            services:
            - services
            - services
            balanceAtIssue: balanceAtIssue
            accountId: accountId
            accountUsage:
              voice:
                roaming:
                  duration: duration
                  number: 7.061401241503109
                  amount: amount
                national:
                  duration: duration
                  number: 5.637376656633329
                  amount: amount
                international:
                  duration: duration
                  number: 2.3021358869347655
                  amount: amount
              data:
                download: 6.027456183070403
                sessions: 1.4658129805029452
                amount: amount
                roaming:
                  download: 5.962133916683182
                  amount: amount
                upload: 0.8008281904610115
              messaging:
                mms:
                  amount: amount
                  roaming: 1.2315135367772556
                  national: 4.145608029883936
                  international: 7.386281948385884
                sms:
                  amount: amount
                  roaming: 2.027123023002322
                  national: 9.301444243932576
                  international: 3.616076749251911
            invoiceNumber: invoiceNumber
            issueDate: issueDate
            payOnTimeDiscount:
              date: date
              gstAmount: gstAmount
              discountAmount: discountAmount
            paymentStatus: NOT_PAID
        meta: '{}'
        links:
          self: self
      properties:
        data:
          $ref: '#/components/schemas/TelcoInvoiceListResponseData'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          type: object
      required:
      - data
      - links
      - meta
      type: object
    TelcoInvoiceListResponse:
      example:
        data:
          invoices:
          - gstAmount: gstAmount
            period:
              endDate: endDate
              startDate: startDate
            accountCharges:
              totalGst: totalGst
              otherCharges:
                amount: amount
                description: description
                type: SERVICE
              totalUsageCharges: totalUsageCharges
              totalDiscounts: totalDiscounts
              totalOnceOffCharges: totalOnceOffCharges
            dueDate: dueDate
            invoiceAmount: invoiceAmount
            services:
            - services
            - services
            balanceAtIssue: balanceAtIssue
            accountId: accountId
            accountUsage:
              voice:
                roaming:
                  duration: duration
                  number: 7.061401241503109
                  amount: amount
                national:
                  duration: duration
                  number: 5.637376656633329
                  amount: amount
                international:
                  duration: duration
                  number: 2.3021358869347655
                  amount: amount
              data:
                download: 6.027456183070403
                sessions: 1.4658129805029452
                amount: amount
                roaming:
                  download: 5.962133916683182
                  amount: amount
                upload: 0.8008281904610115
              messaging:
                mms:
                  amount: amount
                  roaming: 1.2315135367772556
                  national: 4.145608029883936
                  international: 7.386281948385884
                sms:
                  amount: amount
                  roaming: 2.027123023002322
                  national: 9.301444243932576
                  international: 3.616076749251911
            invoiceNumber: invoiceNumber
            issueDate: issueDate
            payOnTimeDiscount:
              date: date
              gstAmount: gstAmount
              discountAmount: discountAmount
            paymentStatus: NOT_PAID
          - gstAmount: gstAmount
            period:
              endDate: endDate
              startDate: startDate
            accountCharges:
              totalGst: totalGst
              otherCharges:
                amount: amount
                description: description
                type: SERVICE
              totalUsageCharges: totalUsageCharges
              totalDiscounts: totalDiscounts
              totalOnceOffCharges: totalOnceOffCharges
            dueDate: dueDate
            invoiceAmount: invoiceAmount
            services:
            - services
            - services
            balanceAtIssue: balanceAtIssue
            accountId: accountId
            accountUsage:
              voice:
                roaming:
                  duration: duration
                  number: 7.061401241503109
                  amount: amount
                national:
                  duration: duration
                  number: 5.637376656633329
                  amount: amount
                international:
                  duration: duration
                  number: 2.3021358869347655
                  amount: amount
              data:
                download: 6.027456183070403
                sessions: 1.4658129805029452
                amount: amount
                roaming:
                  download: 5.962133916683182
                  amount: amount
                upload: 0.8008281904610115
              messaging:
                mms:
                  amount: amount
                  roaming: 1.2315135367772556
                  national: 4.145608029883936
                  international: 7.386281948385884
                sms:
                  amount: amount
                  roaming: 2.027123023002322
                  national: 9.301444243932576
                  international: 3.616076749251911
            invoiceNumber: invoiceNumber
            issueDate: issueDate
            payOnTimeDiscount:
              date: date
              gstAmount: gstAmount
              discountAmount: discountAmount
            paymentStatus: NOT_PAID
        meta:
          totalRecords: 6
          totalPages: 1
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/TelcoInvoiceListResponseData'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    TelcoInvoiceListResponseData:
      example:
        invoices:
        - gstAmount: gstAmount
          period:
            endDate: endDate
            startDate: startDate
          accountCharges:
            totalGst: totalGst
            otherCharges:
              amount: amount
              description: description
              type: SERVICE
            totalUsageCharges: totalUsageCharges
            totalDiscounts: totalDiscounts
            totalOnceOffCharges: totalOnceOffCharges
          dueDate: dueDate
          invoiceAmount: invoiceAmount
          services:
          - services
          - services
          balanceAtIssue: balanceAtIssue
          accountId: accountId
          accountUsage:
            voice:
              roaming:
                duration: duration
                number: 7.061401241503109
                amount: amount
              national:
                duration: duration
                number: 5.637376656633329
                amount: amount
              international:
                duration: duration
                number: 2.3021358869347655
                amount: amount
            data:
              download: 6.027456183070403
              sessions: 1.4658129805029452
              amount: amount
              roaming:
                download: 5.962133916683182
                amount: amount
              upload: 0.8008281904610115
            messaging:
              mms:
                amount: amount
                roaming: 1.2315135367772556
                national: 4.145608029883936
                international: 7.386281948385884
              sms:
                amount: amount
                roaming: 2.027123023002322
                national: 9.301444243932576
                international: 3.616076749251911
          invoiceNumber: invoiceNumber
          issueDate: issueDate
          payOnTimeDiscount:
            date: date
            gstAmount: gstAmount
            discountAmount: discountAmount
          paymentStatus: NOT_PAID
        - gstAmount: gstAmount
          period:
            endDate: endDate
            startDate: startDate
          accountCharges:
            totalGst: totalGst
            otherCharges:
              amount: amount
              description: description
              type: SERVICE
            totalUsageCharges: totalUsageCharges
            totalDiscounts: totalDiscounts
            totalOnceOffCharges: totalOnceOffCharges
          dueDate: dueDate
          invoiceAmount: invoiceAmount
          services:
          - services
          - services
          balanceAtIssue: balanceAtIssue
          accountId: accountId
          accountUsage:
            voice:
              roaming:
                duration: duration
                number: 7.061401241503109
                amount: amount
              national:
                duration: duration
                number: 5.637376656633329
                amount: amount
              international:
                duration: duration
                number: 2.3021358869347655
                amount: amount
            data:
              download: 6.027456183070403
              sessions: 1.4658129805029452
              amount: amount
              roaming:
                download: 5.962133916683182
                amount: amount
              upload: 0.8008281904610115
            messaging:
              mms:
                amount: amount
                roaming: 1.2315135367772556
                national: 4.145608029883936
                international: 7.386281948385884
              sms:
                amount: amount
                roaming: 2.027123023002322
                national: 9.301444243932576
                international: 3.616076749251911
          invoiceNumber: invoiceNumber
          issueDate: issueDate
          payOnTimeDiscount:
            date: date
            gstAmount: gstAmount
            discountAmount: discountAmount
          paymentStatus: NOT_PAID
      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:
      example:
        transactions:
        - accountId: accountId
          onceOff:
            amount: amount
            invoiceNumber: invoiceNumber
            description: description
            serviceId: serviceId
          otherCharges:
            amount: amount
            adjustments:
            - amount: amount
              description: description
            - amount: amount
              description: description
            endDate: endDate
            invoiceNumber: invoiceNumber
            description: description
            serviceId: serviceId
            type: OTHER
            startDate: startDate
          gst: gst
          payment:
            amount: amount
            method: DIRECT_DEBIT
          executionDateTime: executionDateTime
          transactionUType: account
          account:
            serviceIds: serviceIds
            amount: amount
            adjustments:
            - amount: amount
              description: description
            - amount: amount
              description: description
            endDate: endDate
            invoiceNumber: invoiceNumber
            description: description
            startDate: startDate
        - accountId: accountId
          onceOff:
            amount: amount
            invoiceNumber: invoiceNumber
            description: description
            serviceId: serviceId
          otherCharges:
            amount: amount
            adjustments:
            - amount: amount
              description: description
            - amount: amount
              description: description
            endDate: endDate
            invoiceNumber: invoiceNumber
            description: description
            serviceId: serviceId
            type: OTHER
            startDate: startDate
          gst: gst
          payment:
            amount: amount
            method: DIRECT_DEBIT
          executionDateTime: executionDateTime
          transactionUType: account
          account:
            serviceIds: serviceIds
            amount: amount
            adjustments:
            - amount: amount
              description: description
            - amount: amount
              description: description
            endDate: endDate
            invoiceNumber: invoiceNumber
            description: description
            startDate: startDate
      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:
      example:
        period: period
        amount: amount
        name: name
        description: description
      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
      example:
        eligibilityUri: eligibilityUri
        bundleUri: bundleUri
        pricingUri: pricingUri
        termsUri: termsUri
        overviewUri: overviewUri
      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:
      example:
        service:
          phoneNumber: phoneNumber
          endDate: endDate
          displayName: displayName
          usage:
            voice:
              roaming:
                duration: duration
                number: 7.061401241503109
                amount: amount
              national:
                duration: duration
                number: 5.637376656633329
                amount: amount
              international:
                duration: duration
                number: 2.3021358869347655
                amount: amount
            data:
              download: 6.027456183070403
              sessions: 1.4658129805029452
              amount: amount
              roaming:
                download: 5.962133916683182
                amount: amount
              upload: 0.8008281904610115
            messaging:
              mms:
                amount: amount
                roaming: 1.2315135367772556
                national: 4.145608029883936
                international: 7.386281948385884
              sms:
                amount: amount
                roaming: 2.027123023002322
                national: 9.301444243932576
                international: 3.616076749251911
          serviceId: serviceId
          startDate: startDate
      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
      example:
        calculationType: STATIC
        cardScheme: VISA
        paymentFrequency: paymentFrequency
      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
      example:
        bsb: bsb
        calculationType: STATIC
        accountNumber: accountNumber
        paymentFrequency: paymentFrequency
        isTokenised: true
      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
      example:
        calculationType: STATIC
        identifier: identifier
        provider: PAYPAL_AU
        name: name
        type: EMAIL
        paymentFrequency: paymentFrequency
      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
      example:
        billFrequency: billFrequency
      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
      example:
        endDate: endDate
        startDate: startDate
      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
      example:
        date: date
        gstAmount: gstAmount
        discountAmount: discountAmount
      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
      example:
        download: 5.962133916683182
        amount: amount
      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
      example:
        download: 6.027456183070403
        sessions: 1.4658129805029452
        amount: amount
        roaming:
          download: 5.962133916683182
          amount: amount
        upload: 0.8008281904610115
      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
      example:
        duration: duration
        number: 5.637376656633329
        amount: amount
      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
      example:
        duration: duration
        number: 2.3021358869347655
        amount: amount
      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
      example:
        duration: duration
        number: 7.061401241503109
        amount: amount
      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
      example:
        roaming:
          duration: duration
          number: 7.061401241503109
          amount: amount
        national:
          duration: duration
          number: 5.637376656633329
          amount: amount
        international:
          duration: duration
          number: 2.3021358869347655
          amount: amount
      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
      example:
        amount: amount
        roaming: 2.027123023002322
        national: 9.301444243932576
        international: 3.616076749251911
      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
      example:
        amount: amount
        roaming: 1.2315135367772556
        national: 4.145608029883936
        international: 7.386281948385884
      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
      example:
        mms:
          amount: amount
          roaming: 1.2315135367772556
          national: 4.145608029883936
          international: 7.386281948385884
        sms:
          amount: amount
          roaming: 2.027123023002322
          national: 9.301444243932576
          international: 3.616076749251911
      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)
      example:
        amount: amount
        description: description
        type: SERVICE
      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:
      example:
        amount: amount
        description: description
      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
