RniAPI.yaml 128 KB
Newer Older
openapi: 3.1.0
Michel Roy's avatar
Michel Roy committed
  title: ETSI GS MEC 012 - Radio Network Information API
  description: The ETSI MEC ISG MEC012 Radio Network Information API described using OpenAPI.
  contact:
    url: https://forge.etsi.org/rep/mec/gs012-rnis-api
  version: '2.2.1'
  license:
    name: BSD-3-Clause
    url: 'https://forge.etsi.org/legal-matters'
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
//Comment for testing gitlab-ci
Hammad Zafar's avatar
Hammad Zafar committed
  description: ETSI GS MEC 012 Radio Network Information API, V2.2.1
  url: http://www.etsi.org/deliver/etsi_gs/MEC/001_099/012/02.02.01_60/gs_mec012v020201p.pdf
Michel Roy's avatar
Michel Roy committed
servers:
- url: https://localhost/rni/v2
Michel Roy's avatar
Michel Roy committed
      tags:
      summary:  'Retrieve information on Radio Access Bearers'
      description: Queries information about the Radio Access Bearers
      operationId: rab_infoGET
      parameters:
      - name: app_ins_id
        in: query
        description: Application instance identifier
        style: form
        explode: true
        schema:
          type: string
      - name: cell_id
        in: query
        description: Comma separated list of E-UTRAN Cell Identities
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: ue_ipv4_address
        in: query
        description: Comma separated list of IE IPv4 addresses as defined for the type for AssociateId
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: ue_ipv6_address
        in: query
        description: Comma separated list of IE IPv6 addresses as defined for the type for AssociateId
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: nated_ip_address
        in: query
        description: Comma separated list of IE NATed IP addresses as defined for the type for AssociateId
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: gtp_teid
        in: query
        description: Comma separated list of GTP TEID addresses as defined for the type for AssociateId
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: erab_id
        in: query
        description: E-RAB identifier
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: qci
        in: query
        description: QoS Class Identifier as defined in ETSI TS 123 401
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: erab_mbr_dl
        in: query
        description: Maximum downlink E-RAB Bit Rate as defined in ETSI TS 123 401
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: erab_mbr_ul
        in: query
        description: Maximum uplink E-RAB Bit Rate as defined in ETSI TS 123 401
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: erab_gbr_dl
        in: query
        description: Guaranteed downlink E-RAB Bit Rate as defined in ETSI TS 123 401
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: erab_gbr_ul
        in: query
        description: Guaranteed uplink E-RAB Bit Rate as defined in ETSI TS 123 401
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      responses:
        '200':
          description: Successful response to rab_info request
Michel Roy's avatar
Michel Roy committed
          content:
            application/json:
Michel Roy's avatar
Michel Roy committed
              schema:
Michel Roy's avatar
Michel Roy committed
                $ref: '#/components/schemas/RabInfo'
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
Michel Roy's avatar
Michel Roy committed
      tags:
      summary: 'Queries information about the Mobile Network'
      description: Queries information about the Mobile Network
      operationId: plmn_infoGET
      parameters:
      - name: app_ins_id
        in: query
        description: Comma separated list of Application instance identifiers
        required: true
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
Michel Roy's avatar
Michel Roy committed
          description: Successful response to plmn_info request
Michel Roy's avatar
Michel Roy committed
          content:
            application/json:
Michel Roy's avatar
Michel Roy committed
              schema:
Michel Roy's avatar
Michel Roy committed
                items:
                  $ref: '#/components/schemas/PlmnInfo'
                description: ''
                contentMediaType: application/json
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
  /queries/s1_bearer_info:
Michel Roy's avatar
Michel Roy committed
      tags:
      summary: Retrieve S1-U bearer information related to specific UE(s)'
      description: Queries information about the S1 bearer(s)
      operationId: s1_bearer_infoGET
      parameters:
      - name: temp_ue_id
        in: query
        description: Comma separated list of temporary identifiers allocated for the specific UE as defined in   ETSI TS 136 413
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: ue_ipv4_address
        in: query
        description: Comma separated list of IE IPv4 addresses as defined for the type for AssociateId
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: ue_ipv6_address
        in: query
        description: Comma separated list of IE IPv6 addresses as defined for the type for AssociateId
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: nated_ip_address
        in: query
        description: Comma separated list of IE NATed IP addresses as defined for the type for AssociateId
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: gtp_teid
        in: query
        description: Comma separated list of GTP TEID addresses as defined for the type for AssociateId
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: cell_id
        in: query
        description: Comma separated list of E-UTRAN Cell Identities
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: erab_id
        in: query
        description: Comma separated list of E-RAB identifiers
        style: form
        explode: true
        schema:
          type: array
          items:
            type: integer
            contentEncoding: int32
      responses:
        '200':
          description: Successful response to s1_bearer_info request
Michel Roy's avatar
Michel Roy committed
          content:
            application/json:
Michel Roy's avatar
Michel Roy committed
              schema:
Michel Roy's avatar
Michel Roy committed
                $ref: '#/components/schemas/S1BearerInfo'
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
Michel Roy's avatar
Michel Roy committed
  /queries/layer2_meas:
Michel Roy's avatar
Michel Roy committed
      tags:
      summary: 'Retrieve information on layer 2 measurements'
      description: Queries information about the layer 2 measurements.
Michel Roy's avatar
Michel Roy committed
      operationId: layer2_meas_infoGET
      parameters:
      - name: app_ins_id
        in: query
        description: Application instance identifier
        style: form
        explode: true
        schema:
          type: string
      - name: cell_id
        in: query
        description: Comma separated list of E-UTRAN Cell Identities
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: ue_ipv4_address
        in: query
        description: Comma separated list of IE IPv4 addresses as defined for the type for AssociateId
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: ue_ipv6_address
        in: query
        description: Comma separated list of IE IPv6 addresses as defined for the type for AssociateId
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: nated_ip_address
        in: query
        description: Comma separated list of IE NATed IP addresses as defined for the type for AssociateId
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: gtp_teid
        in: query
        description: Comma separated list of GTP TEID addresses as defined for the type for AssociateId
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: dl_gbr_prb_usage_cell
        in: query
        description: PRB usage for downlink GBR traffic in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: ul_gbr_prb_usage_cell
        in: query
        description: PRB usage for uplink GBR traffic in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: dl_nongbr_prb_usage_cell
        in: query
        description: PRB usage for downlink non-GBR traffic in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: ul_nongbr_prb_usage_cell
        in: query
        description: PRB usage for uplink non-GBR traffic in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: dl_total_prb_usage_cell
        in: query
        description: PRB usage for total downlink traffic in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: ul_total_prb_usage_cell
        in: query
        description: PRB usage for total uplink traffic in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: received_dedicated_preambles_cell
        in: query
        description: Received dedicated preambles in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: received_randomly_selected_preambles_low_range_cell
        in: query
        description: Received randomly selected preambles in the low range in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: received_randomly_selected_preambles_high_range_cell
        in: query
        description: Received rendomly selected preambles in the high range in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: number_of_active_ue_dl_gbr_cell
        in: query
        description: Number of active UEs with downlink GBR traffic as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: number_of_active_ue_ul_gbr_cell
        in: query
        description: Number of active UEs with uplink GBR traffic as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: number_of_active_ue_dl_nongbr_cell
        in: query
        description: Number of active UEs with downlink non-GBR traffic as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: number_of_active_ue_ul_nongbr_cell
        in: query
        description: Number of active UEs with uplink non-GBR traffic as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: dl_gbr_pdr_cell
        in: query
        description: Packet discard rate for downlink GBR traffic in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: ul_gbr_pdr_cell
        in: query
        description: Packet discard rate for uplink GBR traffic in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: dl_nongbr_pdr_cell
        in: query
        description: Packet discard rate for downlink non-GBR traffic in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: ul_nongbr_pdr_cell
        in: query
        description: Packet discard rate for uplink non-GBR traffic in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: dl_gbr_delay_ue
        in: query
        description: Packet delay of downlink GBR traffic of a UE as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: ul_gbr_delay_ue
        in: query
        description: Packet delay of uplink GBR traffic of a UE as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: dl_nongbr_delay_ue
        in: query
        description: Packet delay of downlink non-GBR traffic of a UE as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: ul_nongbr_delay_ue
        in: query
        description: Packet delay of uplink non-GBR traffic of a UE as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: dl_gbr_pdr_ue
        in: query
        description: Packet discard rate of downlink GBR traffic of a UE in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: ul_gbr_pdr_ue
        in: query
        description: Packet discard rate of uplink GBR traffic of a UE in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: dl_nongbr_pdr_ue
        in: query
        description: Packet discard rate of downlink non-GBR traffic of a UE in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: ul_nongbr_pdr_ue
        in: query
        description: Packet discard rate of uplink non-GBR traffic of a UE in percentage as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: dl_gbr_throughput_ue
        in: query
        description: Scheduled throughput of downlink GBR traffic of a UE as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: ul_gbr_throughput_ue
        in: query
        description: Scheduled throughput of uplink GBR traffic of a UE as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: dl_nongbr_throughput_ue
        in: query
        description: Scheduled throughput of downlink non-GBR traffic of a UE as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: ul_nongbr_throughput_ue
        in: query
        description: Scheduled throughput of uplink non-GBR traffic of a UE as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: dl_gbr_data_volume_ue
        in: query
        description: Data volume of downlink GBR traffic of a UE as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: ul_gbr_data_volume_ue
        in: query
        description: Data volume of uplink GBR traffic of a UE as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: dl_nongbr_data_volume_ue
        in: query
        description: Data volume of downlink non-GBR traffic of a UE as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: ul_nongbr_data_volume_ue
        in: query
        description: Data volume of uplink non-GBR traffic of a UE as defined in ETSI TS 136 314
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      responses:
        '200':
Michel Roy's avatar
Michel Roy committed
          description: Successful response to layer2 measurements info request
Michel Roy's avatar
Michel Roy committed
          content:
            application/json:
Michel Roy's avatar
Michel Roy committed
              schema:
Michel Roy's avatar
Michel Roy committed
                $ref: '#/components/schemas/L2Meas'
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
        '414':
          description: 'URI Too Long : used to indicate that the server is refusing to process the request because the request URI is longer than the server is willing or able to process.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
Michel Roy's avatar
Michel Roy committed
  /subscriptions:
Michel Roy's avatar
Michel Roy committed
      tags:
      summary: 'Queries information on subscriptions for notifications'
      description: Queries information on subscriptions for notifications
Michel Roy's avatar
Michel Roy committed
      operationId: subscriptionLinkList_subscriptionsGET
      parameters:
      - name: subscription_type
        in: query
        description: 'Filter on a specific subscription type. Permitted values: cell_change, rab_est, rab_mod, rab_rel, meas_rep_ue, nr_meas_rep_ue, timing_advance_ue, ca_reconf, s1_bearer.'
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: Response body contains the list of links to requestors subscriptions.
          headers: {}
Michel Roy's avatar
Michel Roy committed
          content:
            application/json:
Michel Roy's avatar
Michel Roy committed
              schema:
Michel Roy's avatar
Michel Roy committed
                $ref: '#/components/schemas/SubscriptionLinkList'
              
              examples:
               example-ofsub-link-list:
                value:
                  _links:
                   self:
                    href: http://meAppServer.example.com/rni/v2/subscriptions
                      href: http://meAppServer.example.com/rni/v2/subscriptions/sub123
                     callbackReference: http://my.callback.com/rni-cell-change/some-id
                     subscriptionType: CellChangeSubscription

          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
Michel Roy's avatar
Michel Roy committed
      tags:
      summary: 'Creates a new subscription to Radio Network Information notifications'
      description: Creates a new subscription to Radio Network Information notifications
Michel Roy's avatar
Michel Roy committed
      operationId: subscriptionsPOST
      parameters: []
Michel Roy's avatar
Michel Roy committed
      requestBody:
        description: Subscription to be created
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/CellChangeSubscription'
              - $ref: '#/components/schemas/RabEstSubscription'
              - $ref: '#/components/schemas/RabModSubscription'
              - $ref: '#/components/schemas/RabRelSubscription'
              - $ref: '#/components/schemas/MeasRepUeSubscription'
              - $ref: '#/components/schemas/NrMeasRepUeSubscription'
              - $ref: '#/components/schemas/MeasTaSubscription'
              - $ref: '#/components/schemas/CaReconfSubscription'
              - $ref: '#/components/schemas/S1BearerSubscription'
              description: Subscription to be created
              contentMediaType: application/json
            examples:
              example-cell-change-subscription:callbacks:
               value:
                 subscriptionType: CellChangeSubscription
                 callbackReference: 'http://my.callback.com/rni-cell-change/some-id'
                 filterCriteriaAssocHo:
                   appInstanceId: 'myApp'
                   associateId:
                   - type: 1
                     value: '10.100.0.1'
                   ecgi:
                   - plmn:
                       mnc: '01'
                       mcc: '001'
                     cellId: 'ACBDEFA'
                   hoStatus:
                   - 1
                   - 2
                 expiryDeadline:
                   seconds: 1977836800
                   nanoSeconds: 0
        required: true
      responses:
        '201':
Michel Roy's avatar
Michel Roy committed
          description: Successful subscription
Michel Roy's avatar
Michel Roy committed
          content:
            application/json:
Michel Roy's avatar
Michel Roy committed
              schema:
                oneOf:
                - $ref: '#/components/schemas/CellChangeSubscription'
                - $ref: '#/components/schemas/RabEstSubscription'
                - $ref: '#/components/schemas/RabModSubscription'
                - $ref: '#/components/schemas/RabRelSubscription'
                - $ref: '#/components/schemas/MeasRepUeSubscription'
                - $ref: '#/components/schemas/NrMeasRepUeSubscription'
                - $ref: '#/components/schemas/MeasTaSubscription'
                - $ref: '#/components/schemas/CaReconfSubscription'
                - $ref: '#/components/schemas/S1BearerSubscription'
                contentMediaType: application/json
              examples:
                example-call-change-subscription:
                  value:
                   subscriptionType: CellChangeSubscription
                   callbackReference: 'http://my.callback.com/rni-cell-change/some-id'
                   _links:
                     self:
                       href: 'http://meAppServer.example.com/rni/v2/subscriptions/sub123'
                   filterCriteriaAssocHo:
                      appInstanceId: 'myApp'
                      associateId:
                      - type: 1
                        value: '10.100.0.1'
                      ecgi:
                      - plmn:
                          mnc: '01'
                          mcc: '001'
                        cellId: 'ACBDEFA'
                      hoStatus:
                      - 1
                      - 2
                   expiryDeadline:
                     seconds: 1977836800
                     nanoSeconds: 0


          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Precondition failed :  used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: 'Unprocessable Entity : used to indicate that the server understands the content type of the request entity and that the syntax of the request entity is correct but that the server is unable to process the contained instructions. This error condition can occur if an JSON request body is syntactically correct but semantically incorrect, for example if the target area for the request is considered too large. This error condition can also occur if the capabilities required by the request are not supported.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
                application/problem+json:
                  type: https://meAppServer.example.com/rni/v2/probs/too-many targets
                  title: Too many targets
                  detail: The target area for the request is considered too large
                  instance: /meAppClient.example.com/77777/msgs/abc
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'