MEC030_V2XInformationService.yaml 57.4 KB
Newer Older
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
openapi: 3.1.0
Elian Kraja's avatar
Elian Kraja committed
info:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
  title: 'ETSI GS MEC 030 V2X Information Service API'
Elian Kraja's avatar
Elian Kraja committed
  version: 2.1.1
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
  description: 'ETSI GS MEC 030 V2X Information Service API described using OpenAPI.'
Elian Kraja's avatar
Elian Kraja committed
  contact:
Elian Kraja's avatar
Elian Kraja committed
    name: ETSI Forge
    email: cti_support@etsi.org
Elian Kraja's avatar
Elian Kraja committed
    url: https://forge.etsi.org/rep/mec/gs030-vis-api
Elian Kraja's avatar
Elian Kraja committed
  license:
    name: BSD-3-Clause
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
    url: 'https://forge.etsi.org/legal-matters'
Elian Kraja's avatar
Elian Kraja committed
externalDocs:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
  description: 'ETSI GS MEC 030 V2X Information Service API, v2.1.1'
  url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/030/02.01.01_60/gs_mec030v020101p.pdf'
Elian Kraja's avatar
Elian Kraja committed
servers:
Elian Kraja's avatar
Elian Kraja committed
  - url: 'https://localhost/vis/v1'
Elian Kraja's avatar
Elian Kraja committed
tags:
  - name: queries
    description: Queries
  - name: subscription
    description: Subscription
Elian Kraja's avatar
Elian Kraja committed
paths:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
  /queries/uu_unicast_provisioning_info:
    get:
      tags:
        - 'queries'
      summary: 'Used to query provisioning information for V2X communication over Uu unicast.'
      description: 'Used to query provisioning information for V2X communication over Uu unicast.'
      operationId: prov_info_uu_unicastGET
      parameters:
Elian Kraja's avatar
Elian Kraja committed
        - in: query
          name: location_info
          schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
            type: string
Elian Kraja's avatar
Elian Kraja committed
          required: true
          description: 'Comma separated list of locations to identify a cell of a base station or a particular geographical area'

M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      responses:
Elian Kraja's avatar
Elian Kraja committed
        '200':
          description: 'A response body containing the Uu unicast provisioning information. '
          content:
            application/json:
              schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
                $ref: '#/components/schemas/UuUnicastProvisioningInfo'
Elian Kraja's avatar
Elian Kraja committed
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '429':
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          $ref: '#/components/responses/429'

  /queries/uu_mbms_provisioning_info:
    get:
      tags:
        - 'queries'
      summary: 'retrieve information required for V2X communication over Uu MBMS.'
      description: 'retrieve information required for V2X communication over Uu MBMS.'
      operationId: prov_info_uu_mbmsGET
      parameters:
Elian Kraja's avatar
Elian Kraja committed
        - in: query
          name: location_info
          schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
            type: string
Elian Kraja's avatar
Elian Kraja committed
          required: true
          description: 'omma separated list of locations to identify a cell of a base station or a particular geographical area'

M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      responses:
Elian Kraja's avatar
Elian Kraja committed
        '200':
          description: 'A response body containing the Uu unicast provisioning information. '
          content:
            application/json:
              schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
                $ref: '#/components/schemas/UuMbmsProvisioningInfo'
Elian Kraja's avatar
Elian Kraja committed
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '429':
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          $ref: '#/components/responses/429'

  /queries/pc5_provisioning_info:
    get:
      tags:
        - 'queries'
      summary: 'Query provisioning information for V2X communication over PC5.'
      description: 'Query provisioning information for V2X communication over PC5.'
      operationId: prov_infoGET
      parameters:
        - in: query
          name: location_info
          schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
            type: string
          required: true
          description: 'Comma separated list of locations to identify a cell of a base station or a particular geographical area'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      responses:
        '200':
          description: 'A response body containing the PC5 provisioning information is returned.'
          content:
            application/json:
              schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
                $ref: '#/components/schemas/Pc5ProvisioningInfo'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '429':
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          $ref: '#/components/responses/429'

  /provide_predicted_qos:
    post:
      tags:
        - 'QoS'
      summary: 'Request the predicted QoS correspondent to potential routes of a vehicular UE.'
      description: 'Request the predicted QoS correspondent to potential routes of a vehicular UE.'
      operationId: predicted_qosPOST
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PredictedQos'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      responses:
        '200':
          description: 'The response body shall contain the predicted QoS corresponding to potential routes of a vehicular UE'
          content:
            application/json:
              schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
                $ref: '#/components/schemas/PredictedQos'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          $ref: '#/components/responses/404'

  /publish_v2x_message:
    post:
      tags:
        - 'V2X_msg'
      summary: 'Used to publish a V2X message.'
      description: 'Used to publish a V2X message.'
      operationId: v2x_messagePOST
      requestBody:
        required: true
        content:
          application/json:
            schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
              $ref: '#/components/schemas/V2xMsgPublication'
      responses:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          $ref: '#/components/responses/204'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '429':
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          $ref: '#/components/responses/429'

  /subscriptions:
    get:
      tags:
        - 'subscription'
      summary: 'Request information about the subscriptions for this requestor.'
      description: 'Request information about the subscriptions for this requestor.'
      operationId: subGET
      parameters:
        - in: query
          name: subscription_type
          description: 'Query parameter to filter on a specific subscription type. Permitted values:  prov_chg_uu_uni: provisioning information change for V2X communication over Uuunicast prov_chg_uu_mbms: provisioning information change for V2X communication over Uu MBMS prov_chg_uu_pc5: provisioning information change for V2X communication over PC5. v2x_msg: V2X interoperability message'
          schema:
            type: string
          required: false
      responses:
        '200':
          description: 'A response body containing the list of links to requestor subscriptions is returned.'
          content:
            application/json:
              schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
                $ref: '#/components/schemas/SubscriptionLinkList'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '429':
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          $ref: '#/components/responses/429'
    post:
      tags:
        - 'subscription'
      summary: ' create a new subscription to VIS notifications.'
      description: ' create a new subscription to VIS notifications.'
      operationId: subPOST
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
                - $ref: '#/components/schemas/ProvChgUuUniSubscription'
                - $ref: '#/components/schemas/ProvChgUuMbmsSubscription'
                - $ref: '#/components/schemas/ProvChgPc5Subscription'
                - $ref: '#/components/schemas/V2xMsgSubscription'
      responses:
        '201':
          description: 'In the returned NotificationSubscription structure, the created subscription is described using the appropriate data type.'
          content:
            application/json:
              schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
                oneOf:
                  - $ref: '#/components/schemas/ProvChgUuUniSubscription'
                  - $ref: '#/components/schemas/ProvChgUuMbmsSubscription'
                  - $ref: '#/components/schemas/ProvChgPc5Subscription'
                  - $ref: '#/components/schemas/V2xMsgSubscription'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '415':
          $ref: '#/components/responses/415'
        '422':
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          $ref: '#/components/responses/422'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          $ref: '#/components/responses/429'

      callbacks:
        notification:
          '{$request.body#/callbackReference}':
            post:
              summary: 'Callback POST used to send a notification'
              description: 'A notification from VIS.'
              operationId: notificationPOST
              requestBody:
                description: Subscription notification
                required: true
                content:
                  application/json:
                    schema:
                      oneOf:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
                        - $ref: '#/components/schemas/ProvChgUuUniNotification'
                        - $ref: '#/components/schemas/ProvChgUuMbmsNotification'
                        - $ref: '#/components/schemas/ProvChgPc5Notification'
                        - $ref: '#/components/schemas/V2xMsgNotification'
              responses:
                '204':
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
                  $ref: '#/components/responses/204'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
  /subscriptions/{subscriptionId}:
    parameters:
      - in: path
        name: subscriptionId
        description: 'Refers to created subscription, where the VIS API allocates a unique resource name for this subscription'
        schema:
          type: string
        required: true
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - 'subscription'
      summary: 'Retrieve information about this subscription.'
      description: 'Retrieve information about this subscription.'
      operationId: individualSubscriptionGET
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          description: 'A response body containing the data type describing the specific RNI event subscription is returned'
          content:
            application/json:
              schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
                oneOf:
                  - $ref: '#/components/schemas/ProvChgUuUniSubscription'
                  - $ref: '#/components/schemas/ProvChgUuMbmsSubscription'
                  - $ref: '#/components/schemas/ProvChgPc5Subscription'
                  - $ref: '#/components/schemas/V2xMsgSubscription'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '429':
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          $ref: '#/components/responses/429'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - 'subscription'
      summary: 'Used to update the existing subscription.'
      description: 'Used to update the existing subscription.'
      operationId: individualSubscriptionPUT
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
                - $ref: '#/components/schemas/ProvChgUuUniSubscription'
                - $ref: '#/components/schemas/ProvChgUuMbmsSubscription'
                - $ref: '#/components/schemas/ProvChgPc5Subscription'
                - $ref: '#/components/schemas/V2xMsgSubscription'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          description: 'A response body containing data type describing the updated subscription is returned'
          content:
            application/json:
              schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
                oneOf:
                  - $ref: '#/components/schemas/ProvChgUuUniSubscription'
                  - $ref: '#/components/schemas/ProvChgUuMbmsSubscription'
                  - $ref: '#/components/schemas/ProvChgPc5Subscription'
                  - $ref: '#/components/schemas/V2xMsgSubscription'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          $ref: '#/components/responses/412'

        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
    delete:
      tags:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - 'subscription'
      summary: 'Used to cancel the existing subscription.'
      description: 'Used to cancel the existing subscription.'
      operationId: individualSubscriptionDELETE
      responses:
        '204':
          $ref: '#/components/responses/204'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed

    # /notifitication_end_point_provided_by_client
    #post:

Elian Kraja's avatar
Elian Kraja committed
components:
  schemas:
    CellId:
      properties:
        cellId:
          description: E-UTRAN Cell Identity as a bit string (size (28)).
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - cellId
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.6.2
    Earfcn:
      properties:
        earfcn:
          description: E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)
          type: integer
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Integer
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - earfcn
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.6.3
    Ecgi:
      properties:
        cellId:
          # description': The E-UTRAN Cell Identity.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': CellId
          $ref: '#/components/schemas/CellId'
        plmn:
          # description': Public Land Mobile Network Identity.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': Plmn
          $ref: '#/components/schemas/Plmn'
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - plmn
        - cellId
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.5.5
    FddInfo:
      properties:
        dlEarfcn:
          # description': ''
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': Earfcn
          $ref: '#/components/schemas/Earfcn'
        dlTransmissionBandwidth:
          # description': ''
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': TransmissionBandwidth
          $ref: '#/components/schemas/TransmissionBandwidth'
        ulEarfcn:
          # description': ''
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': Earfcn
          $ref: '#/components/schemas/Earfcn'
        ulTransmissionBandwidth:
          # description': ''
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': TransmissionBandwidth
          $ref: '#/components/schemas/TransmissionBandwidth'
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - ulEarfcn
        - dlEarfcn
        - ulTransmissionBandwidth
        - dlTransmissionBandwidth
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.5.6
Elian Kraja's avatar
Elian Kraja committed
    LocationInfo.geoArea:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: Information of a geographical area.
      properties:
        latitude:
          description: 'Latitude (DATUM = WGS84) -90 to 90 in decimal degree format DDD.ddd'
          format: Float
          type: number
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Float
        longitude:
          description: 'Longitude (DATUM = WGS84)-180 to 180 in decimal degree format DDD.ddd'
          format: Float
          type: number
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Float
      required:
        - latitude
        - longitude
      type: object
      x-etsi-mec-cardinality: 0..1

Elian Kraja's avatar
Elian Kraja committed
    LocationInfo:
      properties:
        ecgi:
          # description': E-UTRAN CelI Global Identifier of the serving cell.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': Ecgi
          $ref: '#/components/schemas/Ecgi'
        geoArea:
          $ref: '#/components/schemas/LocationInfo.geoArea'
      type: object
      x-etsi-notes: "NOTE:\tEither ecgi or geoArea shall be present, but not both."
      x-etsi-ref: 6.5.3
    Pc5NeighbourCellInfo:
      properties:
        ecgi:
          # description': E-UTRAN CelI Global Identifier.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': Ecgi
          $ref: '#/components/schemas/Ecgi'
        plmn:
          # description': Public Land Mobile Network Identity.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': Plmn
          $ref: '#/components/schemas/Plmn'
        siV2xConfig:
          description: V2X sidelink communication configuration, as defined in ETSI TS 136 331 [i.11].
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': SystemInformationBlockType21 (as defined in ETSI TS 136 331 [i.11])
          type: string
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - plmn
        - ecgi
        - siV2xConfig
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.5.12
Elian Kraja's avatar
Elian Kraja committed
    Pc5ProvisioningInfo.proInfoPc5:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: The provisioning information per location as defined below.

      properties:
        dstLayer2Id:
          description: "For sidelink communication, the Destination Layer-2 ID is set to the ProSe Layer-2 Group ID or Prose UE ID, see ETSI TS\_136\_321 [i.12].\nPLMN operators coordinate to make sure Destination Layer-2 ID(s) for different V2X services are configured in a consistent manner."
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        locationInfo:
          # description': Location information to identify a cell of a base station or a particular geographical area.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LocationInfo
          $ref: '#/components/schemas/LocationInfo'
        neighbourCellInfo:
          description: The information of the neighbour cells in a visiting PLMN that support V2X communication over PC5.
          items:
            $ref: '#/components/schemas/Pc5NeighbourCellInfo'
          minItems: 0
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: Pc5NeighbourCellInfo
      required:
        - locationInfo
        - dstLayer2Id

Elian Kraja's avatar
Elian Kraja committed
    Pc5ProvisioningInfo:
      properties:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        proInfoPc5:
          type: array
          items:
            $ref: '#/components/schemas/Pc5ProvisioningInfo.proInfoPc5'
        timeStamp:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
          $ref: '#/components/schemas/TimeStamp'
Elian Kraja's avatar
Elian Kraja committed
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - proInfoPc5
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.2.4
Elian Kraja's avatar
Elian Kraja committed
    Plmn:
      properties:
        mcc:
          description: The Mobile Country Code part of PLMN Identity.
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        mnc:
          description: The Mobile Network Code part of PLMN Identity.
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - mcc
        - mnc
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.5.4
    PredictedQos.routes.routeInfo:
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - location
      properties:
        location:
          $ref: '#/components/schemas/LocationInfo'
        time:
          $ref: '#/components/schemas/TimeStamp'
        rsrp:
          description: 'Reference Signal Received Quality as defined in ETSI TS 136 214 [i.13]. Shall only be included in the response'
          type: integer
          format: Uint8
        rsrq:
          description: 'Reference Signal Received Quality as defined in ETSI TS 136 214 [i.13]. Shall only be included in the response'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          type: integer
    PredictedQos.routes:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      properties:
        routeinfo:
          description: 'Information relating to a specific route. The first structure shall relate to the route origin and the last to the route destination. Intermediate waypoint locations may also be provided. '
          type: array
          minItems: 2
          items:
            $ref: '#/components/schemas/PredictedQos.routes.routeInfo'
      required:
        - routeinfo

    PredictedQos:
      description: 'predicted QoS of a vehicular UE'
      properties:
        timeGranularity:
          $ref: '#/components/schemas/TimeStamp'
        locationGranularity:
          description: 'Granularity of visited location. Measured in meters'
          type: string
        routes:
          type: array
          items:
            $ref: '#/components/schemas/PredictedQos.routes'
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - locationGranularity
        - routes
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      x-etsi-mec-cardinality: 0..1

Elian Kraja's avatar
Elian Kraja committed
    ProvChgPc5Notification:
      properties:
        dstLayer2Id:
          description: For sidelink communication, the Destination Layer-2 ID is set to the ProSe Layer-2 Group ID or Prose UE ID, see ETSI TS 136 321 [i.12].
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        locationInfo:
          # description': Location information to identify a cell of a base station or a particular geographical area.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LocationInfo
          $ref: '#/components/schemas/LocationInfo'
        neighbourCellInfo:
          description: The information of the neighbour cells in a visiting PLMN that support V2X communication over PC5.
          items:
            $ref: '#/components/schemas/Pc5NeighbourCellInfo'
          minItems: 0
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: Pc5NeighbourCellInfo
        notificationType:
          description: Shall be set to "ProvChgPc5Notification".
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        timeStamp:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
          $ref: '#/components/schemas/TimeStamp'
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - notificationType
        - locationInfo
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.4.4
Elian Kraja's avatar
Elian Kraja committed
    ProvChgPc5Subscription.links:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.
      properties:
        self:
          # description': Self-referring URI. The URI shall be unique within the VIS API as it acts as an ID for the subscription.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LinkType
          $ref: '#/components/schemas/LinkType'
      required:
        - self
      type: object
      x-etsi-mec-cardinality: 0..1

Elian Kraja's avatar
Elian Kraja committed
    ProvChgPc5Subscription.filterCriteria:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response.
      properties:
        dstLayer2Id:
          description: For sidelink communication, the Destination Layer-2 ID is set to the ProSe Layer-2 Group ID or Prose UE ID, see ETSI TS 136 321 [i.12].
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        locationInfo:
          # description': Location information to identify a cell of a base station or a particular geographical area.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LocationInfo
          $ref: '#/components/schemas/LocationInfo'
        neighbourCellInfo:
          description: The information of the neighbour cells in a visiting PLMN that support V2X communication over PC5.
          items:
            $ref: '#/components/schemas/Pc5NeighbourCellInfo'
          minItems: 0
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: Pc5NeighbourCellInfo
      required:
        - locationInfo
        - dstLayer2Id
      type: object
      x-etsi-mec-cardinality: '1'
Elian Kraja's avatar
Elian Kraja committed
    ProvChgPc5Subscription:
      properties:
        _links:
          $ref: '#/components/schemas/ProvChgPc5Subscription.links'
        callbackReference:
          description: URI selected by the service consumer to receive notifications on the subscribed VIS information. This shall be included both in the request and in response.
          format: uri
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: URI
        expiryDeadline:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
          $ref: '#/components/schemas/TimeStamp'
        filterCriteria:
          $ref: '#/components/schemas/ProvChgPc5Subscription.filterCriteria'
        subscriptionType:
          description: Shall be set to "ProvChgPc5Subscription".
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - subscriptionType
        - callbackReference
        - filterCriteria
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.3.4
    ProvChgUuMbmsNotification:
      properties:
        locationInfo:
          # description': Location information to identify a cell of a base station or a particular geographical area.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LocationInfo
          $ref: '#/components/schemas/LocationInfo'
        neighbourCellInfo:
          description: The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu MBMS.
          items:
            $ref: '#/components/schemas/UuMbmsNeighbourCellInfo'
          minItems: 0
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: UuMbmsNeighbourCellInfo
        notificationType:
          description: Shall be set to "ProvChgUuMbmsNotification".
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        timeStamp:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
          $ref: '#/components/schemas/TimeStamp'
        v2xServerUsd:
          # description': User Service Description for V2X Application Server is used to configure the UE for receiving local V2X Application Server information when it is provided over MBMS.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': V2xServerUsd
          $ref: '#/components/schemas/V2xServerUsd'
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - notificationType
        - locationInfo
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.4.3
    ProvChgUuMbmsSubscription.links:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.
      properties:
        self:
          # description': Self-referring URI. The URI shall be unique within the VIS API as it acts as an ID for the subscription.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LinkType
          $ref: '#/components/schemas/LinkType'
      required:
        - self
      type: object
      x-etsi-mec-cardinality: 0..1

Elian Kraja's avatar
Elian Kraja committed
    ProvChgUuMbmsSubscription.filterCriteria:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response.
      properties:
        locationInfo:
          # description': Location information to identify a cell of a base station or a particular geographical area.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LocationInfo
          $ref: '#/components/schemas/LocationInfo'
        neighbourCellInfo:
          description: The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu MBMS.
          items:
            $ref: '#/components/schemas/UuMbmsNeighbourCellInfo'
          minItems: 0
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: UuMbmsNeighbourCellInfo
        v2xServerUsd:
          # description': User Service Description for V2X Application Server is used to configure the UE for receiving local V2X Application Server information when it is provided over MBMS.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': V2xServerUsd
          $ref: '#/components/schemas/V2xServerUsd'
      required:
        - locationInfo
        - v2xServerUsd
      type: object
      x-etsi-mec-cardinality: '1'

Elian Kraja's avatar
Elian Kraja committed
    ProvChgUuMbmsSubscription:
      properties:
        _links:
          $ref: '#/components/schemas/ProvChgUuMbmsSubscription.links'
        callbackReference:
          description: URI selected by the service consumer to receive notifications on the subscribed VIS information. This shall be included both in the request and in response.
          format: uri
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: URI
        expiryDeadline:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
          $ref: '#/components/schemas/TimeStamp'
        filterCriteria:
          $ref: '#/components/schemas/ProvChgUuMbmsSubscription.filterCriteria'
        subscriptionType:
          description: Shall be set to "ProvChgUuMbmsSubscription".
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - subscriptionType
        - callbackReference
        - filterCriteria
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.3.3
    ProvChgUuUniNotification:
      properties:
        locationInfo:
          # description': Location information to identify a cell of a base station or a particular geographical area.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LocationInfo
          $ref: '#/components/schemas/LocationInfo'
        neighbourCellInfo:
          description: The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu unicast.
          items:
            $ref: '#/components/schemas/UuUniNeighbourCellInfo'
          minItems: 0
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: UuUniNeighbourCellInfo
        notificationType:
          description: Shall be set to "ProvChgUuUniNotification".
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        timeStamp:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
          $ref: '#/components/schemas/TimeStamp'
        v2xApplicationServer:
          # description': V2X Application Server address (consisting of IP address and UDP port) for unicast.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': V2xApplicationServer
          $ref: '#/components/schemas/V2xApplicationServer'
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - notificationType
        - locationInfo
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.4.2
    ProvChgUuUniSubscription.links:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.
      properties:
        self:
          # description': Self-referring URI. The URI shall be unique within the VIS API as it acts as an ID for the subscription.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LinkType
          $ref: '#/components/schemas/LinkType'
      required:
        - self
      type: object
      x-etsi-mec-cardinality: 0..1

Elian Kraja's avatar
Elian Kraja committed
    ProvChgUuUniSubscription.filterCriteria:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response.
      properties:
        locationInfo:
          # description': Location information to identify a cell of a base station or a particular geographical area.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LocationInfo
          $ref: '#/components/schemas/LocationInfo'
        neighbourCellInfo:
          description: The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu unicast.
          items:
            $ref: '#/components/schemas/UuUniNeighbourCellInfo'
          minItems: 0
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: UuUniNeighbourCellInfo
        v2xApplicationServer:
          # description': V2X Application Server address (consisting of IP address and UDP port) for unicast.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': V2xApplicationServer
          $ref: '#/components/schemas/V2xApplicationServer'
      required:
        - locationInfo
        - v2xApplicationServer
      type: object
      x-etsi-mec-cardinality: '1'

Elian Kraja's avatar
Elian Kraja committed
    ProvChgUuUniSubscription:
      properties:
        _links:
          $ref: '#/components/schemas/ProvChgUuUniSubscription.links'
        callbackReference:
          description: URI selected by the service consumer to receive notifications on the subscribed VIS information. This shall be included both in the request and in response.
          format: uri
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: URI
        expiryDeadline:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
          $ref: '#/components/schemas/TimeStamp'
        filterCriteria:
          $ref: '#/components/schemas/ProvChgUuUniSubscription.filterCriteria'
        subscriptionType:
          description: Shall be set to "ProvChgUuUniSubscription".
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - subscriptionType
        - callbackReference
        - filterCriteria
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.3.2
Elian Kraja's avatar
Elian Kraja committed
    SubscriptionLinkList.links.subscriptions:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: "The service consumer\u2019s subscriptions."
      properties:
        href:
          description: The URI referring to the subscription.
          format: uri
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: URI
        subscriptionType:
          description: Type of the subscription. The values are as defined in the \"subscriptionType\" attribute for each different V2X information event subscription data type.
          type: string
Elian Kraja's avatar
Elian Kraja committed
          x-etsi-mec-cardinality: '1'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          x-etsi-mec-origin-type: String
      required:
        - href
        - subscriptionType
      x-etsi-mec-cardinality: 0..N

    SubscriptionLinkList.links:
      description: List of hyperlinks related to the resource.
      properties:
        self:
          # description': URI of this resource.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LinkType
          $ref: '#/components/schemas/LinkType'
        subscriptions:
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionLinkList.links.subscriptions'
      type: object
      required:
        - self
      x-etsi-mec-cardinality: '1'

Elian Kraja's avatar
Elian Kraja committed
    SubscriptionLinkList:
      properties:
        _links:
          $ref: '#/components/schemas/SubscriptionLinkList.links'
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - _links
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.3.6
Elian Kraja's avatar
Elian Kraja committed
    TddInfo:
      properties:
        earfcn:
          # description': ''
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': Earfcn
          $ref: '#/components/schemas/Earfcn'
        subframeAssignment:
          description: Uplink-downlink subframe configuration information.
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        transmissionBandwidth:
          # description': ''
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': TransmissionBandwidth
          $ref: '#/components/schemas/TransmissionBandwidth'
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - earfcn
        - transmissionBandwidth
        - subframeAssignment
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.5.7
    TimeStamp:
      properties:
        nanoSeconds:
          description: The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.
          format: Uint32
          type: integer
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Uint32
        seconds:
          description: The seconds part of the time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC.
          format: Uint32
          type: integer
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Uint32
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - seconds
        - nanoSeconds
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.5.2
    TransmissionBandwidth.transmissionBandwidth:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: 'Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)'
      enum:
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
      type: integer
      x-etsi-mec-cardinality: '1'
      x-etsi-mec-origin-type: Enum

Elian Kraja's avatar
Elian Kraja committed
    TransmissionBandwidth:
      properties:
        transmissionBandwidth:
          $ref: '#/components/schemas/TransmissionBandwidth.transmissionBandwidth'
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - transmissionBandwidth
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.6.4
    UuMbmsNeighbourCellInfo:
      properties:
        ecgi:
          # description': E-UTRAN CelI Global Identifier.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': Ecgi
          $ref: '#/components/schemas/Ecgi'
        fddInfo:
          # description': Information for FDD operation.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': FddInfo
          $ref: '#/components/schemas/FddInfo'
        mbmsServiceAreaIdentity:
          description: Supported MBMS Service Area Identities in the cell.
          items:
            type: string
          minItems: 1
          type: array
          x-etsi-mec-cardinality: 1..N
          x-etsi-mec-origin-type: String
        pci:
          description: Physical Cell Identifier.
          type: integer
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Integer
        plmn:
          # description': Public Land Mobile Network Identity.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': Plmn
          $ref: '#/components/schemas/Plmn'
        tddInfo:
          # description': Information for TDD operation.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': TddInfo
          $ref: '#/components/schemas/TddInfo'
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - plmn
        - ecgi
        - pci
        - fddInfo
        - tddInfo
        - mbmsServiceAreaIdentity
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.5.11
Elian Kraja's avatar
Elian Kraja committed
    UuMbmsProvisioningInfo.proInfoUuMbms:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: The provisioning information per location as defined below.
      properties:
        locationInfo:
          # description': Location information to identify a cell of a base station or a particular geographical area.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LocationInfo
          $ref: '#/components/schemas/LocationInfo'
        neighbourCellInfo:
          description: The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu MBMS.
          type: array
          items:
            $ref: '#/components/schemas/UuMbmsNeighbourCellInfo'
          minItems: 0

          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: UuMbmsNeighbourCellInfo
        v2xServerUsd:
          # description': User Service Description for V2X Application Server is used to configure the UE for receiving local V2X Application Server information when it is provided over MBMS.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': V2xServerUsd
          $ref: '#/components/schemas/V2xServerUsd'
      required:
        - locationInfo
        - v2xServerUsd

Elian Kraja's avatar
Elian Kraja committed
    UuMbmsProvisioningInfo:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      properties:
        proInfoUuMbms:
          $ref: '#/components/schemas/UuMbmsProvisioningInfo.proInfoUuMbms'
        timeStamp:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
          $ref: '#/components/schemas/TimeStamp'
      required:
Elian Kraja's avatar
Elian Kraja committed
        - proInfoUuMbms
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      type: object
      x-etsi-ref: 6.2.3

Elian Kraja's avatar
Elian Kraja committed
    UuUniNeighbourCellInfo:
      properties:
        ecgi:
          # description': E-UTRAN CelI Global Identifier.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': Ecgi
          $ref: '#/components/schemas/Ecgi'
        fddInfo:
          # description': Information for FDD operation.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': FddInfo
          $ref: '#/components/schemas/FddInfo'
        pci:
          description: Physical Cell Identifier.
          type: integer
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Integer
        plmn:
          # description': Public Land Mobile Network Identity.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': Plmn
          $ref: '#/components/schemas/Plmn'
        tddInfo:
          # description': Information for TDD operation.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': TddInfo
          $ref: '#/components/schemas/TddInfo'
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - plmn
        - ecgi
        - pci
        - fddInfo
        - tddInfo
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.5.9
Elian Kraja's avatar
Elian Kraja committed
    UuUnicastProvisioningInfo.proInfoUuUnicast:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: The provisioning information per location as defined below.
      properties:
        locationInfo:
          # description': Location information to identify a cell of a base station or a particular geographical area.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LocationInfo
          $ref: '#/components/schemas/LocationInfo'
        neighbourCellInfo:
          description: The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu unicast.
          items:
            $ref: '#/components/schemas/UuUniNeighbourCellInfo'
          minItems: 0
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: UuUniNeighbourCellInfo
        v2xApplicationServer:
          # description': V2X Application Server address (consisting of IP address and UDP port) for unicast.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': V2xApplicationServer
          $ref: '#/components/schemas/V2xApplicationServer'
      required:
        - locationInfo
        - v2xApplicationServer
      x-etsi-mec-cardinality: 1..N
Elian Kraja's avatar
Elian Kraja committed
    UuUnicastProvisioningInfo:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      properties:
        proInfoUuUnicast:
          type: array
          items:
Elian Kraja's avatar
Elian Kraja committed
            $ref: '#/components/schemas/UuUnicastProvisioningInfo.proInfoUuUnicast'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        timeStamp:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
          $ref: '#/components/schemas/TimeStamp'
      required:
Elian Kraja's avatar
Elian Kraja committed
        - proInfoUuUnicast
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      type: object
      x-etsi-ref: 6.2.2
Elian Kraja's avatar
Elian Kraja committed
    V2xApplicationServer:
      properties:
        ipAddress:
          description: ''
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        udpPort:
          description: ''
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - ipAddress
        - udpPort
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.5.8
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: ' denm(1): Decentralized Environmental Notification Message (DENM) as specified in ETSI EN 302 637-3 [i.3],  cam(2): Cooperative Awareness Message (CAM) as specified in ETSI EN 302 637-2 [i.2],  poi(3): Point of Interest message as specified in ETSI TS 101 556-1 [i.11],  spat(4): Signal Phase And Timing (SPAT) message as specified in SAE J2735 [i.12],  map(5): MAP message as specified in SAE J2735 [i.12],  ivi(6): In Vehicle Information (IVI) message as defined in ISO TS 19321 [i.13],  ev-rsr(7): Electric vehicle recharging spot reservation message, as defined in ETSI TS 101 556-3 [i.14], '
      enum:
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
      type: integer
      x-etsi-mec-cardinality: '1'
      x-etsi-mec-origin-type: Enum

Elian Kraja's avatar
Elian Kraja committed
    V2xMsgPublication:
      properties:
        msgContent:
          description: Published V2X message content. Its format is defined by the standardization organization indicated by the attribute stdOrganization.
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        msgEncodeFormat:
          description: The encode format of the V2X message, for example base64.
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        msgType:
          $ref: '#/components/schemas/msgType'
Elian Kraja's avatar
Elian Kraja committed
          #x-etsi-mec-origin-type: Enum
        stdOrganization:
          description: "Standardization organization which defines the published V2X message type: \nETSI: European Telecommunications Standards Institute. \nSee note 1."
          enum:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
            - ETSI
Elian Kraja's avatar
Elian Kraja committed
          type: string
          x-etsi-mec-cardinality: '1'
          #-etsi-mec-origin-type: Enum
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - stdOrganization
        - msgType
        - msgEncodeFormat
        - msgContent
Elian Kraja's avatar
Elian Kraja committed
      type: object
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      x-etsi-notes: 'NOTE 1: Other standardization organizations could be added as needed.NOTE 2:The V2X message types of ETSI shall be used as specified in ETSI TS 102 894-2 [6], clause A.114.'
Elian Kraja's avatar
Elian Kraja committed
      x-etsi-ref: 6.2.6
Elian Kraja's avatar
Elian Kraja committed
    V2xMsgSubscription.links:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.
      properties:
        self:
          # description': Self-referring URI. The URI shall be unique within the VIS API as it acts as an ID for the subscription.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LinkType
          $ref: '#/components/schemas/LinkType'
      required:
        - self
      type: object
      x-etsi-mec-cardinality: 0..1

Elian Kraja's avatar
Elian Kraja committed
    V2xMsgSubscription.filterCriteria:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response.
      properties:
        msgType:
          description: Subscribed V2X message type. Its value is defined by the standardization organization indicated by the attribute stdOrganization. See note 2.
          items:
            type: string
          minItems: 0
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: Enum
        stdOrganization:
          description: "Standardization organization which defines the subscribed V2X message type: \nETSI: European Telecommunications Standards Institute. \nSee note 1."
          enum:
            - ETSI
          type: string
Elian Kraja's avatar
Elian Kraja committed
          x-etsi-mec-cardinality: '1'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          x-etsi-mec-origin-type: Enum
      required:
        - stdOrganization
      type: object
      x-etsi-mec-cardinality: '1'

Elian Kraja's avatar
Elian Kraja committed
    V2xMsgSubscription:
      properties:
        _links:
          $ref: '#/components/schemas/V2xMsgSubscription.links'
        callbackReference:
          description: URI selected by the service consumer to receive notifications on the subscribed V2X message. This shall be included both in the request and in response.
          format: uri
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: URI
        expiryDeadline:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
          $ref: '#/components/schemas/TimeStamp'
        filterCriteria:
          $ref: '#/components/schemas/V2xMsgSubscription.filterCriteria'
        subscriptionType:
          description: Shall be set to "V2xMsgSubscription".
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - subscriptionType
        - callbackReference
        - filterCriteria
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-notes: "NOTE 1:\tOther standardization organizations could be added as needed.\nNOTE 2:\tThe V2X message types of ETSI shall be used as specified in ETSI TS 102 894-2 [6], clause A.114."
      x-etsi-ref: 6.3.5

    V2xMsgNotification.links:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: 'Links to resources related to this notification.'
      properties:
        subscription:
          # description': Self-referring URI. The URI shall be unique within the VIS API as it acts as an ID for the subscription.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LinkType
          $ref: '#/components/schemas/LinkType'
      required:
        - subscription
      type: object
      x-etsi-mec-cardinality: 0..1

    V2xMsgNotification:
      properties:
        notificationType:
          description: Shall be set to "V2xMsgNotification".
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        timeStamp:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
          $ref: '#/components/schemas/TimeStamp'
        stdOrganization:
          description: 'Standardization organization which defines the published V2X message type ETSI: European Telecommunications Standards Institute. See note 1.'
          enum:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
            - 'ETSI'
          type: string
        msgType:
          $ref: '#/components/schemas/msgType'
        msgEncodeFormat:
          description: 'The encode format of the V2X message, for example base64 '
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          type: string
        msgContent:
          description: 'Published V2X message content. The format of the string is defined by the standardization organization indicated by the attribute stdOrganization.'
          type: string
        _links:
          $ref: '#/components/schemas/V2xMsgNotification.links'
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - notificationType
        - timeStamp
        - stdOrganization
        - msgType
        - msgEncodeFormat
        - msgContent
        - _links
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      x-etsi-notes: 'NOTE 1: Other standardization organizations could be added as needed. NOTE 2: The V2X message types of ETSI shall be used as specified in ETSI TS 102 894-2 [6], clause A.114'

Elian Kraja's avatar
Elian Kraja committed
    V2xServerUsd.sdpInfo:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: SDP with IP multicast address and port number used for V2X communication via MBMS.
      properties:
        ipMulticastAddress:
          description: ''
          type: string
Elian Kraja's avatar
Elian Kraja committed
          x-etsi-mec-cardinality: '1'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          x-etsi-mec-origin-type: String
        portNumber:
          description: ''
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
      required:
        - ipMulticastAddress
        - portNumber
      type: object
      x-etsi-mec-cardinality: '1'
Elian Kraja's avatar
Elian Kraja committed
    V2xServerUsd.tmgi:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      description: Temporary Mobile Group Identity (TMGI), which is used within MBMS to uniquely identify Multicast and Broadcast bearer services.
      properties:
        mbmsServiceId:
          description: MBMS Service ID consisting of three octets.
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        mcc:
          description: The Mobile Country Code part of PLMN Identity.
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        mnc:
          description: The Mobile Network Code part of PLMN Identity.
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
      required:
        - mbmsServiceId
        - mcc
        - mnc
      type: object
      x-etsi-mec-cardinality: ''

Elian Kraja's avatar
Elian Kraja committed
    V2xServerUsd:
      properties:
        sdpInfo:
          $ref: '#/components/schemas/V2xServerUsd.sdpInfo'
        serviceAreaIdentifier:
          description: A list of service area identifier for the applicable MBMS broadcast area.
          items:
            type: string
          minItems: 1
          type: array
          x-etsi-mec-cardinality: 1..N
          x-etsi-mec-origin-type: String
        tmgi:
          $ref: '#/components/schemas/V2xServerUsd.tmgi'
      required:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
        - tmgi
        - serviceAreaIdentifier
        - sdpInfo
Elian Kraja's avatar
Elian Kraja committed
      type: object
      x-etsi-ref: 6.5.10
Elian Kraja's avatar
Elian Kraja committed
    LinkType:
      description: >-
        'This data type represents a type of link'
      type: object
      required:
        - href
      properties:
        href:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
          $ref: '#/components/schemas/Href'
Elian Kraja's avatar
Elian Kraja committed
    Href:
      description: >-
        The URI referring to the subscription.
      type: string
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      format: uri
Elian Kraja's avatar
Elian Kraja committed
    ProblemDetails:
      properties:
        detail:
          description: A human-readable explanation specific to this occurrence of the problem
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        instance:
          description: A URI reference that identifies the specific occurrence of the problem
          format: uri
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: URI
        status:
          description: The HTTP status code for this occurrence of the problem
          format: uint32
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: Uint32
        title:
          description: A short, human-readable summary of the problem type
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        type:
          description: A URI reference according to IETF RFC 3986 that identifies the problem type
          format: uri
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: URI
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
      type: object
Elian Kraja's avatar
Elian Kraja committed
  responses:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
    '204':
Elian Kraja's avatar
Elian Kraja committed
      description: No Content
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
    '206':
      description: Partial content
    '400':
Elian Kraja's avatar
Elian Kraja committed
      description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
      content:
        application/json:
          schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
            $ref: '#/components/schemas/ProblemDetails'
    '401':
Elian Kraja's avatar
Elian Kraja committed
      description: 'Unauthorized :  used when the client did not submit credentials.'
      content:
        application/json:
          schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
            $ref: '#/components/schemas/ProblemDetails'
    '403':
Elian Kraja's avatar
Elian Kraja committed
      description: 'Forbidden :  operation is not allowed given the current status of the resource.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
    '404':
Elian Kraja's avatar
Elian Kraja committed
      description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
      content:
        application/json:
          schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
            $ref: '#/components/schemas/ProblemDetails'
    '406':
Elian Kraja's avatar
Elian Kraja committed
      description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
    '409':
Elian Kraja's avatar
Elian Kraja committed
      description: 'Conflict : The operation cannot be executed currently, due to a conflict with the state of the resource'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
    '412':
Elian Kraja's avatar
Elian Kraja committed
      description: 'Precondition failed :  used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT'
      content:
        application/json:
          schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
            $ref: '#/components/schemas/ProblemDetails'
    '415':
Elian Kraja's avatar
Elian Kraja committed
      description: 'Unsupported Media Type :  used to indicate that the server or the client does not support the content type of the entity body.'
      content:
        application/json:
          schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
            $ref: '#/components/schemas/ProblemDetails'
    '422':
Elian Kraja's avatar
Elian Kraja committed
      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.'
      content:
        application/json:
          schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
            $ref: '#/components/schemas/ProblemDetails'
    '429':
Elian Kraja's avatar
Elian Kraja committed
      description: 'Too Many Requests : used when a rate limiter has triggered.'
      content:
        application/json:
          schema:
M. Rehan Abbasi's avatar
M. Rehan Abbasi committed
            $ref: '#/components/schemas/ProblemDetails'