openapi: 3.0.0

info:
  version: '1.2.3'
  title: 'Nsmf_PDUSession'
  description: |
    SMF PDU Session Service.  
    © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  
    All rights reserved.

externalDocs:
  description: 3GPP TS 29.502 V17.8.0; 5G System; Session Management Services; Stage 3
  url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.502/

servers:
  - url: '{apiRoot}/nsmf-pdusession/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: >
          apiRoot as defined in clause 4.4 of 3GPP TS 29.501. The sm-contexts and pdu-sessions
          resources can be distributed on different processing instances or hosts. Thus the
          authority and/or deployment-specific string of the apiRoot of the created individual
          sm context and pdu-session resources' URIs may differ from the authority and/or
          deployment-specific string of the apiRoot of the sm-contexts and pdu-sessions
          collections' URIs.

security:
  - {}
  - oAuth2ClientCredentials:
    - nsmf-pdusession

paths:
  /sm-contexts:
    post:
      summary:  Create SM Context
      tags:
        - SM contexts collection
      operationId: PostSmContexts
      requestBody:
        description: representation of the SM context to be created in the SMF
        required: true
        content:
          multipart/related:  # message with binary body part(s)
            schema:
              type: object
              properties: # Request parts
                jsonData:
                  $ref: '#/components/schemas/SmContextCreateData'
                binaryDataN1SmMessage:
                  type: string
                  format: binary
                binaryDataN2SmInformation:
                  type: string
                  format: binary
                binaryDataN2SmInformationExt1:
                  type: string
                  format: binary
            encoding:
              jsonData:
                contentType:  application/json
              binaryDataN1SmMessage:
                contentType:  application/vnd.3gpp.5gnas
                headers:
                  Content-Id:
                    schema:
                      type: string
              binaryDataN2SmInformation:
                contentType:  application/vnd.3gpp.ngap
                headers:
                  Content-Id:
                    schema:
                      type: string
              binaryDataN2SmInformationExt1:
                contentType:  application/vnd.3gpp.ngap
                headers:
                  Content-Id:
                    schema:
                      type: string
      callbacks:
        smContextStatusNotification:
          '{$request.body#/smContextStatusUri}':
            post:
              requestBody:  # contents of the callback message
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/SmContextStatusNotification'
              responses:
                '204':
                  description: successful notification
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '400':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/400'
                '403':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/403'
                '404':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/404'
                '411':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/411'
                '413':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/413'
                '415':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/415'
                '429':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/429'
                '500':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/500'
                '503':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/503'

      responses:
        '201':
          description: successful creation of an SM context
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/SmContextCreatedData'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties: # Request parts
                  jsonData:
                    $ref: '#/components/schemas/SmContextCreatedData'
                  binaryDataN2SmInformation:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN2SmInformation:
                  contentType:  application/vnd.3gpp.ngap
                  headers:
                    Content-Id:
                      schema:
                        type: string
          headers:
            Location:
              description: >
                Contains the URI of the newly created resource, according to the structure:
                {apiRoot}/nsmf-pdusession/<apiVersion>/sm-contexts/{smContextRef}
              required: true
              schema:
                type: string

        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          description: unsuccessful creation of an SM context - bad request
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/SmContextCreateError'
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties: # Request parts
                  jsonData:
                    $ref: '#/components/schemas/SmContextCreateError'
                  binaryDataN1SmMessage:
                    type: string
                    format: binary
                  binaryDataN2SmMessage:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN1SmMessage:
                  contentType:  application/vnd.3gpp.5gnas
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN2SmMessage:
                  contentType:  application/vnd.3gpp.ngap
                  headers:
                    Content-Id:
                      schema:
                        type: string
        '403':
          description: unsuccessful creation of an SM context - forbidden
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/SmContextCreateError'
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties: # Request parts
                  jsonData:
                    $ref: '#/components/schemas/SmContextCreateError'
                  binaryDataN1SmMessage:
                    type: string
                    format: binary
                  binaryDataN2SmMessage:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN1SmMessage:
                  contentType:  application/vnd.3gpp.5gnas
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN2SmMessage:
                  contentType:  application/vnd.3gpp.ngap
                  headers:
                    Content-Id:
                      schema:
                        type: string
        '404':
          description: unsuccessful creation of an SM context - not found
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/SmContextCreateError'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties: # Request parts
                  jsonData:
                    $ref: '#/components/schemas/SmContextCreateError'
                  binaryDataN1SmMessage:
                    type: string
                    format: binary
                  binaryDataN2SmMessage:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN1SmMessage:
                  contentType:  application/vnd.3gpp.5gnas
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN2SmMessage:
                  contentType:  application/vnd.3gpp.ngap
                  headers:
                    Content-Id:
                      schema:
                        type: string
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: '#/components/responses/413'
        '415':
          $ref: '#/components/responses/415'
        '429':
          $ref: '#/components/responses/429'

        '500':
          description: unsuccessful creation of an SM context - internal server error
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/SmContextCreateError'
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties: # Request parts
                  jsonData:
                    $ref: '#/components/schemas/SmContextCreateError'
                  binaryDataN1SmMessage:
                    type: string
                    format: binary
                  binaryDataN2SmMessage:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN1SmMessage:
                  contentType:  application/vnd.3gpp.5gnas
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN2SmMessage:
                  contentType:  application/vnd.3gpp.ngap
                  headers:
                    Content-Id:
                      schema:
                        type: string
        '503':
          description: unsuccessful creation of an SM context - service unavailable
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/SmContextCreateError'
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties: # Request parts
                  jsonData:
                    $ref: '#/components/schemas/SmContextCreateError'
                  binaryDataN1SmMessage:
                    type: string
                    format: binary
                  binaryDataN2SmMessage:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN1SmMessage:
                  contentType:  application/vnd.3gpp.5gnas
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN2SmMessage:
                  contentType:  application/vnd.3gpp.ngap
                  headers:
                    Content-Id:
                      schema:
                        type: string

        '504':
          description: unsuccessful creation of an SM context - gateway timeout
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/SmContextCreateError'
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties: # Request parts
                  jsonData:
                    $ref: '#/components/schemas/SmContextCreateError'
                  binaryDataN1SmMessage:
                    type: string
                    format: binary
                  binaryDataN2SmMessage:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN1SmMessage:
                  contentType:  application/vnd.3gpp.5gnas
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN2SmMessage:
                  contentType:  application/vnd.3gpp.ngap
                  headers:
                    Content-Id:
                      schema:
                        type: string
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'


  /sm-contexts/{smContextRef}/retrieve:
    post:
      summary:  Retrieve SM Context
      tags:
        - Individual SM context
      operationId: RetrieveSmContext
      parameters:
        - name: smContextRef
          in: path
          description:  SM context reference
          required: true
          schema:
            type: string
      requestBody:
        description: parameters used to retrieve the SM context
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SmContextRetrieveData'
      responses:
        '200':
          description: successful retrieval of an SM context
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmContextRetrievedData'
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        '504':
          $ref: 'TS29571_CommonData.yaml#/components/responses/504'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

  /sm-contexts/{smContextRef}/modify:
    post:
      summary:  Update SM Context
      tags:
        - Individual SM context
      operationId: UpdateSmContext
      parameters:
        - name: smContextRef
          in: path
          description:  SM context reference
          required: true
          schema:
            type: string
      requestBody:
        description: representation of the updates to apply to the SM context
        required: true
        content:
          application/json: # message without binary body part
            schema:
              $ref: '#/components/schemas/SmContextUpdateData'
          multipart/related:  # message with binary body part(s)
            schema:
              type: object
              properties: # Request parts
                jsonData:
                  $ref: '#/components/schemas/SmContextUpdateData'
                binaryDataN1SmMessage:
                  type: string
                  format: binary
                binaryDataN2SmInformation:
                  type: string
                  format: binary
                binaryDataN2SmInformationExt1:
                  type: string
                  format: binary
            encoding:
              jsonData:
                contentType:  application/json
              binaryDataN1SmMessage:
                contentType:  application/vnd.3gpp.5gnas
                headers:
                  Content-Id:
                    schema:
                      type: string
              binaryDataN2SmInformation:
                contentType:  application/vnd.3gpp.ngap
                headers:
                  Content-Id:
                    schema:
                      type: string
              binaryDataN2SmInformationExt1:
                contentType:  application/vnd.3gpp.ngap
                headers:
                  Content-Id:
                    schema:
                      type: string
      responses:
        '200':
          description: successful update of an SM context with content in the response
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/SmContextUpdatedData'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties: # Request parts
                  jsonData:
                    $ref: '#/components/schemas/SmContextUpdatedData'
                  binaryDataN1SmMessage:
                    type: string
                    format: binary
                  binaryDataN2SmInformation:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN1SmMessage:
                  contentType:  application/vnd.3gpp.5gnas
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN2SmInformation:
                  contentType:  application/vnd.3gpp.ngap
                  headers:
                    Content-Id:
                      schema:
                        type: string
        '204':
          description: successful update of an SM context without content in the response
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          description: unsuccessful update of an SM context - bad request
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/SmContextUpdateError'
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties: # Request parts
                  jsonData:
                    $ref: '#/components/schemas/SmContextUpdateError'
                  binaryDataN1SmMessage:
                    type: string
                    format: binary
                  binaryDataN2SmInformation:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN1SmMessage:
                  contentType:  application/vnd.3gpp.5gnas
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN2SmInformation:
                  contentType:  application/vnd.3gpp.ngap
                  headers:
                    Content-Id:
                      schema:
                        type: string
        '403':
          description: unsuccessful update of an SM context - forbidden
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/SmContextUpdateError'
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties: # Request parts
                  jsonData:
                    $ref: '#/components/schemas/SmContextUpdateError'
                  binaryDataN1SmMessage:
                    type: string
                    format: binary
                  binaryDataN2SmInformation:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN1SmMessage:
                  contentType:  application/vnd.3gpp.5gnas
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN2SmInformation:
                  contentType:  application/vnd.3gpp.ngap
                  headers:
                    Content-Id:
                      schema:
                        type: string
        '404':
          description: unsuccessful update of an SM context - not found
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/SmContextUpdateError'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties: # Request parts
                  jsonData:
                    $ref: '#/components/schemas/SmContextUpdateError'
                  binaryDataN1SmMessage:
                    type: string
                    format: binary
                  binaryDataN2SmInformation:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN1SmMessage:
                  contentType:  application/vnd.3gpp.5gnas
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN2SmInformation:
                  contentType:  application/vnd.3gpp.ngap
                  headers:
                    Content-Id:
                      schema:
                        type: string
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: '#/components/responses/413'
        '415':
          $ref: '#/components/responses/415'
        '429':
          $ref: '#/components/responses/429'
        '500':
          description: unsuccessful update of an SM context - Internal server error
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/SmContextUpdateError'
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties: # Request parts
                  jsonData:
                    $ref: '#/components/schemas/SmContextUpdateError'
                  binaryDataN1SmMessage:
                    type: string
                    format: binary
                  binaryDataN2SmInformation:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN1SmMessage:
                  contentType:  application/vnd.3gpp.5gnas
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN2SmInformation:
                  contentType:  application/vnd.3gpp.ngap
                  headers:
                    Content-Id:
                      schema:
                        type: string
        '503':
          description: unsuccessful update of an SM context - Service Unavailable
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/SmContextUpdateError'
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties: # Request parts
                  jsonData:
                    $ref: '#/components/schemas/SmContextUpdateError'
                  binaryDataN1SmMessage:
                    type: string
                    format: binary
                  binaryDataN2SmInformation:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN1SmMessage:
                  contentType:  application/vnd.3gpp.5gnas
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN2SmInformation:
                  contentType:  application/vnd.3gpp.ngap
                  headers:
                    Content-Id:
                      schema:
                        type: string
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

  /sm-contexts/{smContextRef}/release:
    post:
      summary:  Release SM Context
      tags:
        - Individual SM context
      operationId: ReleaseSmContext
      parameters:
        - name: smContextRef
          in: path
          description:  SM context reference
          required: true
          schema:
            type: string
      requestBody:
        description: representation of the data to be sent to the SMF when releasing the SM context
        required: false
        content:
          application/json: # message without binary body part
            schema:
              $ref: '#/components/schemas/SmContextReleaseData'
          multipart/related:  # message with binary body part(s)
            schema:
              type: object
              properties: # Request parts
                jsonData:
                  $ref: '#/components/schemas/SmContextReleaseData'
                binaryDataN2SmInformation:
                  type: string
                  format: binary
            encoding:
              jsonData:
                contentType:  application/json
              binaryDataN2SmInformation:
                contentType:  application/vnd.3gpp.ngap
                headers:
                  Content-Id:
                    schema:
                      type: string

      responses:
        '200':
          description: successful release of a PDU session with content in the response
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/SmContextReleasedData'
        '204':
          description: successful release of an SM context without content in the response
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

  /sm-contexts/{smContextRef}/send-mo-data:
    post:
      summary:  Send MO Data
      tags:
        - Individual SM context
      operationId: SendMoData
      parameters:
        - name: smContextRef
          in: path
          description:  SM context reference
          required: true
          schema:
            type: string
      requestBody:
        description: representation of the payload of Send MO Data Request
        required: true
        content:
          multipart/related:  # message with a binary body part
            schema:
              type: object
              properties:
                jsonData:
                  $ref: '#/components/schemas/SendMoDataReqData'
                binaryMoData:
                  type: string
                  format: binary
            encoding:
              jsonData:
                contentType:  application/json
              binaryMoData:
                contentType:  application/vnd.3gpp.5gnas
                headers:
                  Content-Id:
                    schema:
                      type: string
      responses:
        '204':
          description: successful sending of MO data
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: '#/components/responses/413'
        '415':
          $ref: '#/components/responses/415'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

  /pdu-sessions:
    post:
      summary:  Create
      tags:
        - PDU sessions collection
      operationId: PostPduSessions
      requestBody:
        description: representation of the PDU session to be created in the H-SMF or SMF
        required: true
        content:
          application/json: # message without binary body part
            schema:
              $ref: '#/components/schemas/PduSessionCreateData'
          multipart/related:  # message with binary body part(s)
            schema:
              type: object
              properties: # Request parts
                jsonData:
                  $ref: '#/components/schemas/PduSessionCreateData'
                binaryDataN1SmInfoFromUe:
                  type: string
                  format: binary
                binaryDataUnknownN1SmInfo:
                  type: string
                  format: binary
            encoding:
              jsonData:
                contentType:  application/json
              binaryDataN1SmInfoFromUe:
                contentType:  application/vnd.3gpp.5gnas
                headers:
                  Content-Id:
                    schema:
                      type: string
              binaryDataUnknownN1SmInfo:
                contentType:  application/vnd.3gpp.5gnas
                headers:
                  Content-Id:
                    schema:
                      type: string
      callbacks:
        statusNotification:
          '{$request.body#/vsmfPduSessionUri}':
            post:
              summary:  Notify Status
              tags:
                - Individual PDU session (V-SMF)
              operationId: NotifyStatus
              requestBody:
                $ref: '#/components/requestBodies/NotifyStatusRequestBody'
              responses:
                '204':
                  description: successful notificationof the status change
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '400':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/400'
                '403':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/403'
                '404':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/404'
                '411':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/411'
                '413':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/413'
                '415':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/415'
                '429':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/429'
                '500':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/500'
                '503':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/503'
                default:
                  $ref: 'TS29571_CommonData.yaml#/components/responses/default'
        statusNotification-ismf:
          '{$request.body#/ismfPduSessionUri}':
            post:
              summary:  Notify Status
              tags:
                - Individual PDU session (I-SMF)
              operationId: NotifyStatus-isfm
              requestBody:
                $ref: '#/components/requestBodies/NotifyStatusRequestBody'
              responses:
                '204':
                  description: successful notificationof the status change
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '400':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/400'
                '403':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/403'
                '404':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/404'
                '411':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/411'
                '413':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/413'
                '415':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/415'
                '429':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/429'
                '500':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/500'
                '503':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/503'
                default:
                  $ref: 'TS29571_CommonData.yaml#/components/responses/default'


        update:
          '{$request.body#/vsmfPduSessionUri}/modify':
            post:
              summary:  Update (initiated by H-SMF)
              tags:
                - Individual PDU session (V-SMF)
              operationId: ModifyPduSession
              requestBody:
                $ref: '#/components/requestBodies/VsmfUpdateRequestBody'
              responses:
                '200':
                  $ref: '#/components/responses/VsmfUpdateResponse200'
                '204':
                  description: successful update of a PDU session without content in the response
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '400':
                  $ref: '#/components/responses/VsmfUpdateError'
                '403':
                  $ref: '#/components/responses/VsmfUpdateError'
                '404':
                  $ref: '#/components/responses/VsmfUpdateError'
                '409':
                  $ref: '#/components/responses/VsmfUpdateError'
                '411':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/411'
                '413':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/413'
                '415':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/415'
                '429':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/429'
                '500':
                  $ref: '#/components/responses/VsmfUpdateError'
                '503':
                  $ref: '#/components/responses/VsmfUpdateError'
                '504':
                  $ref: '#/components/responses/VsmfUpdateError'
                default:
                  $ref: 'TS29571_CommonData.yaml#/components/responses/default'

        update-ismf:
          '{$request.body#/ismfPduSessionUri}/modify':
            post:
              summary:  Update (initiated by SMF)
              tags:
                - Individual PDU session (I-SMF)
              operationId: ModifyPduSession-ismf
              requestBody:
                $ref: '#/components/requestBodies/VsmfUpdateRequestBody'
              responses:
                '200':
                  $ref: '#/components/responses/VsmfUpdateResponse200'
                '204':
                  description: successful update of a PDU session without content in the response
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '400':
                  $ref: '#/components/responses/VsmfUpdateError'
                '403':
                  $ref: '#/components/responses/VsmfUpdateError'
                '404':
                  $ref: '#/components/responses/VsmfUpdateError'
                '409':
                  $ref: '#/components/responses/VsmfUpdateError'
                '411':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/411'
                '413':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/413'
                '415':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/415'
                '429':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/429'
                '500':
                  $ref: '#/components/responses/VsmfUpdateError'
                '503':
                  $ref: '#/components/responses/VsmfUpdateError'
                '504':
                  $ref: '#/components/responses/VsmfUpdateError'
                default:
                  $ref: 'TS29571_CommonData.yaml#/components/responses/default'

        transferMtData:
          '{$request.body#/vsmfPduSessionUri}/transfer-mt-data':
            post:
              summary:  Transfer MT Data (by H-SMF)
              tags:
                - Individual PDU session (V-SMF)
              operationId: TransferMtData
              requestBody:
                description: representation of the payload of Transfer MT Data Request
                required: true
                content:
                  multipart/related:  # message with a binary body part
                    schema:
                      type: object
                      properties:
                        jsonData:
                          $ref: '#/components/schemas/TransferMtDataReqData'
                        binaryMtData:
                          type: string
                          format: binary
                    encoding:
                      jsonData:
                        contentType:  application/json
                      binaryMtData:
                        contentType:  application/vnd.3gpp.5gnas
                        headers:
                          Content-Id:
                            schema:
                              type: string
              responses:
                '204':
                  description: successful transfering of MT data
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '400':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/400'
                '401':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/401'
                '403':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/403'
                '404':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/404'
                '411':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/411'
                '413':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/413'
                '415':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/415'
                '429':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/429'
                '500':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/500'
                '503':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/503'
                '504':
                  description: unsuccessful delivery of mobile terminated data - gateway timeout
                  content:
                    application/json:
                      schema:
                        $ref: '#/components/schemas/TransferMtDataError'
                default:
                  $ref: 'TS29571_CommonData.yaml#/components/responses/default'

        transferMtData-ismf:
          '{$request.body#/ismfPduSessionUri}/transfer-mt-data':
            post:
              summary:  Transfer MT Data (by SMF)
              tags:
                - Individual PDU session (I-SMF)
              operationId: TransferMtData-ismf
              requestBody:
                description: representation of the payload of Transfer MT Data Request
                required: true
                content:
                  multipart/related:  # message with a binary body part
                    schema:
                      type: object
                      properties:
                        jsonData:
                          $ref: '#/components/schemas/TransferMtDataReqData'
                        binaryMtData:
                          type: string
                          format: binary
                    encoding:
                      jsonData:
                        contentType:  application/json
                      binaryMtData:
                        contentType:  application/vnd.3gpp.5gnas
                        headers:
                          Content-Id:
                            schema:
                              type: string
              responses:
                '204':
                  description: successful transfering of MT data
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '400':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/400'
                '401':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/401'
                '403':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/403'
                '404':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/404'
                '411':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/411'
                '413':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/413'
                '415':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/415'
                '429':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/429'
                '500':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/500'
                '503':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/503'
                '504':
                  description: unsuccessful delivery of mobile terminated data - gateway timeout
                  content:
                    application/json:
                      schema:
                        $ref: '#/components/schemas/TransferMtDataError'
                default:
                  $ref: 'TS29571_CommonData.yaml#/components/responses/default'

      responses:
        '201':
          description: successful creation of a PDU session
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/PduSessionCreatedData'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties: # Request parts
                  jsonData:
                    $ref: '#/components/schemas/PduSessionCreatedData'
                  binaryDataN1SmInfoToUe:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN1SmInfoToUe:
                  contentType:  application/vnd.3gpp.5gnas
                  headers:
                    Content-Id:
                      schema:
                        type: string
          headers:
            Location:
              description: >
                Contains the URI of the newly created resource, according to the structure:
                {apiRoot}/nsmf-pdusession/<apiVersion>/pdu-sessions/{pduSessionRef}
              required: true
              schema:
                type: string
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: '#/components/responses/PduSessionCreateError'
        '403':
          $ref: '#/components/responses/PduSessionCreateError'
        '404':
          $ref: '#/components/responses/PduSessionCreateError'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: '#/components/responses/PduSessionCreateError'
        '503':
          $ref: '#/components/responses/PduSessionCreateError'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

  /pdu-sessions/{pduSessionRef}/modify:
    post:
      summary:  Update (initiated by V-SMF or I-SMF)
      tags:
        - Individual PDU session (H-SMF or SMF)
      operationId: UpdatePduSession
      parameters:
        - name: pduSessionRef
          in: path
          description:  PDU session reference
          required: true
          schema:
            type: string
      requestBody:
        description: representation of the updates to apply to the PDU session
        required: true
        content:
          application/json: # message without binary body part
            schema:
              $ref: '#/components/schemas/HsmfUpdateData'
          multipart/related:  # message with binary body part(s)
            schema:
              type: object
              properties: # Request parts
                jsonData:
                  $ref: '#/components/schemas/HsmfUpdateData'
                binaryDataN1SmInfoFromUe:
                  type: string
                  format: binary
                binaryDataUnknownN1SmInfo:
                  type: string
                  format: binary
                binaryDataN4Information:
                  type: string
                  format: binary
                binaryDataN4InformationExt1:
                  type: string
                  format: binary
                binaryDataN4InformationExt2:
                  type: string
                  format: binary
            encoding:
              jsonData:
                contentType:  application/json
              binaryDataN1SmInfoFromUe:
                contentType:  application/vnd.3gpp.5gnas
                headers:
                  Content-Id:
                    schema:
                      type: string
              binaryDataUnknownN1SmInfo:
                contentType:  application/vnd.3gpp.5gnas
                headers:
                  Content-Id:
                    schema:
                      type: string
              binaryDataN4Information:
                contentType:  application/vnd.3gpp.pfcp
                headers:
                  Content-Id:
                    schema:
                      type: string
              binaryDataN4InformationExt1:
                contentType:  application/vnd.3gpp.pfcp
                headers:
                  Content-Id:
                    schema:
                      type: string
              binaryDataN4InformationExt2:
                contentType:  application/vnd.3gpp.pfcp
                headers:
                  Content-Id:
                    schema:
                      type: string
      responses:
        '200':
          description: successful update of a PDU session with content in the response
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/HsmfUpdatedData'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties: # Request parts
                  jsonData:
                    $ref: '#/components/schemas/HsmfUpdatedData'
                  binaryDataN1SmInfoToUe:
                    type: string
                    format: binary
                  binaryDataN4Information:
                    type: string
                    format: binary
                  binaryDataN4InformationExt1:
                    type: string
                    format: binary
                  binaryDataN4InformationExt2:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN1SmInfoToUe:
                  contentType:  application/vnd.3gpp.5gnas
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN4Information:
                  contentType:  application/vnd.3gpp.pfcp
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN4InformationExt1:
                  contentType:  application/vnd.3gpp.pfcp
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN4InformationExt2:
                  contentType:  application/vnd.3gpp.pfcp
                  headers:
                    Content-Id:
                      schema:
                        type: string
        '204':
          description: successful update of a PDU session without content in the response
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: '#/components/responses/HsmfUpdateError'
        '403':
          $ref: '#/components/responses/HsmfUpdateError'
        '404':
          $ref: '#/components/responses/HsmfUpdateError'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: '#/components/responses/HsmfUpdateError'
        '503':
          $ref: '#/components/responses/HsmfUpdateError'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

  /pdu-sessions/{pduSessionRef}/release:
    post:
      summary:  Release
      tags:
        - Individual PDU session (H-SMF or SMF)
      operationId: ReleasePduSession
      parameters:
        - name: pduSessionRef
          in: path
          description:  PDU session reference
          required: true
          schema:
            type: string
      requestBody:
        description: data sent to H-SMF or SMF when releasing the PDU session
        required: false
        content:
          application/json: # message without binary body part
            schema:
              $ref: '#/components/schemas/ReleaseData'
          multipart/related:  # message with binary body part(s)
            schema:
              type: object
              properties:
                jsonData:
                  $ref: '#/components/schemas/ReleaseData'
                binaryDataN4Information:
                  type: string
                  format: binary
                binaryDataN4InformationExt1:
                  type: string
                  format: binary
                binaryDataN4InformationExt2:
                  type: string
                  format: binary
            encoding:
              jsonData:
                contentType:  application/json
              binaryDataN4Information:
                contentType:  application/vnd.3gpp.pfcp
                headers:
                  Content-Id:
                    schema:
                      type: string
              binaryDataN4InformationExt1:
                contentType:  application/vnd.3gpp.pfcp
                headers:
                  Content-Id:
                    schema:
                      type: string
              binaryDataN4InformationExt2:
                contentType:  application/vnd.3gpp.pfcp
                headers:
                  Content-Id:
                    schema:
                      type: string

      responses:
        '200':
          description: successful release of a PDU session with content in the response
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/ReleasedData'
            multipart/related:  # message with binary body part(s)
              schema:
                type: object
                properties:
                  jsonData:
                    $ref: '#/components/schemas/ReleasedData'
                  binaryDataN4Information:
                    type: string
                    format: binary
                  binaryDataN4InformationExt1:
                    type: string
                    format: binary
                  binaryDataN4InformationExt2:
                    type: string
                    format: binary
              encoding:
                jsonData:
                  contentType:  application/json
                binaryDataN4Information:
                  contentType:  application/vnd.3gpp.pfcp
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN4InformationExt1:
                  contentType:  application/vnd.3gpp.pfcp
                  headers:
                    Content-Id:
                      schema:
                        type: string
                binaryDataN4InformationExt2:
                  contentType:  application/vnd.3gpp.pfcp
                  headers:
                    Content-Id:
                      schema:
                        type: string
        '204':
          description: successful release of a PDU session
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

  /pdu-sessions/{pduSessionRef}/retrieve:
    post:
      summary:  Retrieve
      tags:
        - Individual PDU session (H-SMF or SMF)
      operationId: RetrievePduSession
      parameters:
        - name: pduSessionRef
          in: path
          description:  PDU session reference
          required: true
          schema:
            type: string
      requestBody:
        description: representation of the payload of the Retrieve Request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RetrieveData'
      responses:
        '200':
          description: successful information retrieval
          content:
            application/json: # message without binary body part
              schema:
                $ref: '#/components/schemas/RetrievedData'
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        '504':
          $ref: 'TS29571_CommonData.yaml#/components/responses/504'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

  /pdu-sessions/{pduSessionRef}/transfer-mo-data:
    post:
      summary:  Transfer MO Data
      tags:
        - Individual PDU session (H-SMF or SMF)
      operationId: TransferMoData
      parameters:
        - name: pduSessionRef
          in: path
          description:  PDU session reference
          required: true
          schema:
            type: string
      requestBody:
        description: representation of the payload of Transfer MO Data Request
        required: true
        content:
          multipart/related:  # message with a binary body part
            schema:
              type: object
              properties:
                jsonData:
                  $ref: '#/components/schemas/TransferMoDataReqData'
                binaryMoData:
                  type: string
                  format: binary
            encoding:
              jsonData:
                contentType:  application/json
              binaryMoData:
                contentType:  application/vnd.3gpp.5gnas
                headers:
                  Content-Id:
                    schema:
                      type: string
      responses:
        '204':
          description: successful transfering of MO data
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29571_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: '{nrfApiRoot}/oauth2/token'
          scopes:
            nsmf-pdusession: Access to the nsmf-pdusession API

  schemas:
#
# STRUCTURED DATA TYPES
#
    SmContextCreateData:
      description: Data within Create SM Context Request
      type: object
      properties:
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        unauthenticatedSupi:
          type: boolean
          default:  false
        pei:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        pduSessionId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId'
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        selectedDnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        sNssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        hplmnSnssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        servingNfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        guami:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami'
        serviceName:
          $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName'
        servingNetwork:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid'
        requestType:
          $ref: '#/components/schemas/RequestType'
        n1SmMsg:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        anType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        additionalAnType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        ratType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        presenceInLadn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState'
        ueLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        ueTimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        addUeLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        smContextStatusUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        hSmfUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        hSmfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        smfUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        smfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        additionalHsmfUri:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
          minItems: 1
        additionalHsmfId:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
          minItems: 1
        additionalSmfUri:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
          minItems: 1
        additionalSmfId:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
          minItems: 1
        oldPduSessionId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId'
        pduSessionsActivateList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId'
          minItems: 1
        ueEpsPdnConnection:
          $ref: '#/components/schemas/EpsPdnCnxContainer'
        hoState:
          $ref: '#/components/schemas/HoState'
        pcfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        pcfGroupId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId'
        pcfSetId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId'
        nrfUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        selMode:
          $ref: '#/components/schemas/DnnSelectionMode'
        backupAmfInfo:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo'
          minItems: 1
        traceData:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData'
        udmGroupId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId'
        routingIndicator:
          type: string
        hNwPubKeyId:
          type: integer
        epsInterworkingInd:
          $ref: '#/components/schemas/EpsInterworkingIndication'
        indirectForwardingFlag:
          type: boolean
        directForwardingFlag:
          type: boolean
        targetId:
          $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/NgRanTargetId'
        epsBearerCtxStatus:
          $ref: '#/components/schemas/EpsBearerContextStatus'
        cpCiotEnabled:
          type: boolean
          default: false
        cpOnlyInd:
          type: boolean
          default: false
        invokeNef:
          type: boolean
          default: false
        maRequestInd:
          type: boolean
          default: false
        maNwUpgradeInd:
          type: boolean
          default: false
        n2SmInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        n2SmInfoType:
          $ref: '#/components/schemas/N2SmInfoType'
        n2SmInfoExt1:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        n2SmInfoTypeExt1:
          $ref: '#/components/schemas/N2SmInfoType'
        smContextRef:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        smContextSmfPlmnId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid'
        smContextSmfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        smContextSmfSetId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId'
        smContextSmfServiceSetId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId'
        smContextSmfBinding:
          $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/SbiBindingLevel'
        upCnxState:
          $ref: '#/components/schemas/UpCnxState'
        smallDataRateStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus'
        apnRateStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus'
        extendedNasSmTimerInd:
          type: boolean
          default: false
        dlDataWaitingInd:
          type: boolean
          default: false
        ddnFailureSubs:
          $ref: '#/components/schemas/DdnFailureSubs'
        smfTransferInd:
          type: boolean
          default: false
        oldSmfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        oldSmContextRef:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        wAgfInfo:
          $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/WAgfInfo'
        tngfInfo:
          $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TngfInfo'
        twifInfo:
          $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TwifInfo'
        ranUnchangedInd:
          type: boolean
        samePcfSelectionInd:
          type: boolean
          default: false
        targetDnai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
        nrfManagementUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        nrfDiscoveryUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        nrfAccessTokenUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        nrfOauth2Required:
          type: object
          description: 'Map indicating whether the NRF requires Oauth2-based authorization for accessing its services. The key of the map shall be the name of an NRF service, e.g. "nnrf-nfm" or "nnrf-disc"'
          additionalProperties:
            type: boolean
          minProperties: 1
        smfBindingInfo:
          type: string
        pvsInfo:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/ServerAddressingInfo'
          minItems: 1
        onboardingInd:
          type: boolean
          default: false
        oldPduSessionRef:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        smPolicyNotifyInd:
          type: boolean
          default: false
        pcfUeCallbackInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PcfUeCallbackInfo'
        satelliteBackhaulCat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SatelliteBackhaulCategory'
        upipSupported:
          type: boolean
          default: false
        uavAuthenticated:
          type: boolean
        disasterRoamingInd:
          type: boolean
          default: false
        anchorSmfOauth2Required:
          type: boolean
        smContextSmfOauth2Required:
          type: boolean
      required:
        - servingNfId
        - servingNetwork
        - anType
        - smContextStatusUri

    SmContextCreatedData:
      description: Data within Create SM Context Response
      type: object
      properties:
        hSmfUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        smfUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        pduSessionId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId'
        sNssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        upCnxState:
          $ref: '#/components/schemas/UpCnxState'
        n2SmInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        n2SmInfoType:
          $ref: '#/components/schemas/N2SmInfoType'
        allocatedEbiList:
          type: array
          items:
            $ref: '#/components/schemas/EbiArpMapping'
          minItems: 1
        hoState:
          $ref: '#/components/schemas/HoState'
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        smfServiceInstanceId:
          type: string
        recoveryTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        selectedSmfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        selectedOldSmfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        interPlmnApiRoot:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'

    SmContextUpdateData:
      description: Data within Update SM Context Request
      type: object
      properties:
        pei:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
        servingNfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        guami:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami'
        servingNetwork:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid'
        backupAmfInfo:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo'
          minItems: 1
          nullable: true
        anType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        additionalAnType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        anTypeToReactivate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        ratType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        presenceInLadn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState'
        ueLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        ueTimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        addUeLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        upCnxState:
          $ref: '#/components/schemas/UpCnxState'
        hoState:
          $ref: '#/components/schemas/HoState'
        toBeSwitched:
          type: boolean
          default: false
        failedToBeSwitched:
          type: boolean
        n1SmMsg:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        n2SmInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        n2SmInfoType:
          $ref: '#/components/schemas/N2SmInfoType'
        targetId:
          $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/NgRanTargetId'
        targetServingNfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        smContextStatusUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        dataForwarding:
          type: boolean
          default: false
        n9ForwardingTunnel:
          $ref: '#/components/schemas/TunnelInfo'
        n9DlForwardingTnlList:
          type: array
          items:
            $ref: '#/components/schemas/IndirectDataForwardingTunnelInfo'
          minItems: 1
        n9UlForwardingTnlList:
          type: array
          items:
            $ref: '#/components/schemas/IndirectDataForwardingTunnelInfo'
          minItems: 1
        n9DlForwardingTunnel:
          $ref: '#/components/schemas/TunnelInfo'
        n9InactivityTimer:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        epsBearerSetup:
          type: array
          items:
            $ref: '#/components/schemas/EpsBearerContainer'
          minItems: 0
        revokeEbiList:
          type: array
          items:
            $ref: '#/components/schemas/EpsBearerId'
          minItems: 1
        release:
          type: boolean
          default: false
        cause:
          $ref: '#/components/schemas/Cause'
        ngApCause:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause'
        5gMmCauseValue:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause'
        sNssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        traceData:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData'
        epsInterworkingInd:
          $ref: '#/components/schemas/EpsInterworkingIndication'
        anTypeCanBeChanged:
          type: boolean
          default: false
        n2SmInfoExt1:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        n2SmInfoTypeExt1:
          $ref: '#/components/schemas/N2SmInfoType'
        maReleaseInd:
          $ref: '#/components/schemas/MaReleaseIndication'
        maNwUpgradeInd:
          type: boolean
          default: false
        maRequestInd:
          type: boolean
          default: false
        exemptionInd:
          $ref: '#/components/schemas/ExemptionInd'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        moExpDataCounter:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MoExpDataCounter'
        extendedNasSmTimerInd:
          type: boolean
        forwardingFTeid:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes'
        forwardingBearerContexts:
          type: array
          items:
            $ref: '#/components/schemas/ForwardingBearerContainer'
          minItems: 1
        ddnFailureSubs:
          $ref: '#/components/schemas/DdnFailureSubs'
        skipN2PduSessionResRelInd:
          type: boolean
          default: false
        secondaryRatUsageDataReportContainer:
          type: array
          items:
            $ref: '#/components/schemas/SecondaryRatUsageDataReportContainer'
          minItems: 1
        smPolicyNotifyInd:
          type: boolean
          enum:
           - true
        pcfUeCallbackInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PcfUeCallbackInfo'
        satelliteBackhaulCat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SatelliteBackhaulCategory'

    SmContextUpdatedData:
      description: Data within Update SM Context Response
      type: object
      properties:
        upCnxState:
          $ref: '#/components/schemas/UpCnxState'
        hoState:
          $ref: '#/components/schemas/HoState'
        releaseEbiList:
          type: array
          items:
            $ref: '#/components/schemas/EpsBearerId'
          minItems: 1
        allocatedEbiList:
          type: array
          items:
            $ref: '#/components/schemas/EbiArpMapping'
          minItems: 1
        modifiedEbiList:
          type: array
          items:
            $ref: '#/components/schemas/EbiArpMapping'
          minItems: 1
        n1SmMsg:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        n2SmInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        n2SmInfoType:
          $ref: '#/components/schemas/N2SmInfoType'
        epsBearerSetup:
          type: array
          items:
            $ref: '#/components/schemas/EpsBearerContainer'
          minItems: 1
        dataForwarding:
          type: boolean
        n3DlForwardingTnlList:
          type: array
          items:
            $ref: '#/components/schemas/IndirectDataForwardingTunnelInfo'
          minItems: 1
        n3UlForwardingTnlList:
          type: array
          items:
            $ref: '#/components/schemas/IndirectDataForwardingTunnelInfo'
          minItems: 1
        n9UlForwardingTunnel:
          $ref: '#/components/schemas/TunnelInfo'
        cause:
          $ref: '#/components/schemas/Cause'
        maAcceptedInd:
          type: boolean
          default: false
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        forwardingFTeid:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes'
        forwardingBearerContexts:
          type: array
          items:
            $ref: '#/components/schemas/ForwardingBearerContainer'
          minItems: 1
        selectedSmfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        selectedOldSmfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        interPlmnApiRoot:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        anchorSmfFeatures:
          $ref: '#/components/schemas/AnchorSmfFeatures'

    SmContextReleaseData:
      description: Data within Release SM Context Request
      type: object
      properties:
        cause:
          $ref: '#/components/schemas/Cause'
        ngApCause:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause'
        5gMmCauseValue:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause'
        ueLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        ueTimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        addUeLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        vsmfReleaseOnly:
          type: boolean
          default: false
        n2SmInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        n2SmInfoType:
          $ref: '#/components/schemas/N2SmInfoType'
        ismfReleaseOnly:
          type: boolean
          default: false

    SmContextReleasedData:
      description: Data within Release SM Context Response
      type: object
      properties:
        smallDataRateStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus'
        apnRateStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus'

    SmContextStatusNotification:
      description: Data within Notify SM Context Status Request
      type: object
      properties:
        statusInfo :
          $ref: '#/components/schemas/StatusInfo'
        smallDataRateStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus'
        apnRateStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus'
        ddnFailureStatus:
          type: boolean
          default: false
        notifyCorrelationIdsForddnFailure:
          type: array
          items:
            type: string
          minItems: 1
        newIntermediateSmfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        newSmfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        newSmfSetId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId'
        oldSmfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        oldSmContextRef:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        altAnchorSmfUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        altAnchorSmfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        targetDnaiInfo:
          $ref: '#/components/schemas/TargetDnaiInfo'
        oldPduSessionRef:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        interPlmnApiRoot:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
      required:
        - statusInfo

    PduSessionCreateData:
      description: Data within Create Request
      type: object
      properties:
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        unauthenticatedSupi:
          type: boolean
          default: false
        pei:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
        pduSessionId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId'
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        selectedDnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        sNssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        hplmnSnssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        vsmfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        ismfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        servingNetwork:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid'
        requestType:
          $ref: '#/components/schemas/RequestType'
        epsBearerId:
          type: array
          items:
            $ref: '#/components/schemas/EpsBearerId'
          minItems: 1
        pgwS8cFteid:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes'
        vsmfPduSessionUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        ismfPduSessionUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        vcnTunnelInfo:
          $ref: '#/components/schemas/TunnelInfo'
        icnTunnelInfo:
          $ref: '#/components/schemas/TunnelInfo'
        n9ForwardingTunnelInfo:
          $ref: '#/components/schemas/TunnelInfo'
        additionalCnTunnelInfo:
          $ref: '#/components/schemas/TunnelInfo'
        anType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        additionalAnType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        ratType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        ueLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        ueTimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        addUeLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        n1SmInfoFromUe:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        unknownN1SmInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        hPcfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        pcfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        pcfGroupId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId'
        pcfSetId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId'
        hoPreparationIndication:
          type: boolean
        selMode:
          $ref: '#/components/schemas/DnnSelectionMode'
        alwaysOnRequested:
          type: boolean
          default: false
        udmGroupId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId'
        routingIndicator:
          type: string
        hNwPubKeyId:
          type: integer
        epsInterworkingInd:
          $ref: '#/components/schemas/EpsInterworkingIndication'
        vSmfServiceInstanceId:
          type: string
        iSmfServiceInstanceId:
          type: string
        recoveryTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        roamingChargingProfile:
          $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/RoamingChargingProfile'
        chargingId:
          type: string
          pattern: '^(0|([1-9]{1}[0-9]{0,9}))$'
        oldPduSessionId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId'
        epsBearerCtxStatus:
          $ref: '#/components/schemas/EpsBearerContextStatus'
        amfNfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        guami:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami'
        maxIntegrityProtectedDataRateUl:
          $ref: '#/components/schemas/MaxIntegrityProtectedDataRate'
        maxIntegrityProtectedDataRateDl:
          $ref: '#/components/schemas/MaxIntegrityProtectedDataRate'
        cpCiotEnabled:
          type: boolean
          default: false
        cpOnlyInd:
          type: boolean
          default: false
        invokeNef:
          type: boolean
          default: false
        maRequestInd:
          type: boolean
          default: false
        maNwUpgradeInd:
          type: boolean
          default: false
        dnaiList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
          minItems: 1
        presenceInLadn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState'
        secondaryRatUsageInfo:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageInfo'
          minItems: 1
        smallDataRateStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus'
        apnRateStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus'
        dlServingPlmnRateCtl:
          type: integer
          minimum: 10
        upSecurityInfo:
          $ref: '#/components/schemas/UpSecurityInfo'
        vplmnQos:
          $ref: '#/components/schemas/VplmnQos'
        oldSmContextRef:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        redundantPduSessionInfo:
          $ref: '#/components/schemas/RedundantPduSessionInformation'
        oldPduSessionRef:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        smPolicyNotifyInd:
          type: boolean
          default: false
        pcfUeCallbackInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PcfUeCallbackInfo'
        satelliteBackhaulCat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SatelliteBackhaulCategory'
        upipSupported:
          type: boolean
          default: false
        upCnxState:
          $ref: '#/components/schemas/UpCnxState'
        disasterRoamingInd:
          type: boolean
          default: false
      required:
        - dnn
        - servingNetwork
        - anType
      oneOf:
        - required: [ vsmfId, vsmfPduSessionUri ]
        - required: [ ismfId, ismfPduSessionUri ]

    PduSessionCreatedData:
      description: Data within Create Response
      type: object
      properties:
        pduSessionType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType'
        sscMode:
          type: string
          pattern: '^[0-7]$'
        hcnTunnelInfo:
          $ref: '#/components/schemas/TunnelInfo'
        cnTunnelInfo:
          $ref: '#/components/schemas/TunnelInfo'
        additionalCnTunnelInfo:
          $ref: '#/components/schemas/TunnelInfo'
        sessionAmbr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
        qosFlowsSetupList:
          type: array
          items:
            $ref: '#/components/schemas/QosFlowSetupItem'
          minItems: 1
        hSmfInstanceId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        smfInstanceId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        pduSessionId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId'
        sNssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        enablePauseCharging:
          type: boolean
          default: false
        ueIpv4Address:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
        ueIpv6Prefix:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
        n1SmInfoToUe:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        epsPdnCnxInfo:
          $ref: '#/components/schemas/EpsPdnCnxInfo'
        epsBearerInfo:
          type: array
          items:
            $ref: '#/components/schemas/EpsBearerInfo'
          minItems: 1
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        maxIntegrityProtectedDataRate:
          $ref: '#/components/schemas/MaxIntegrityProtectedDataRate'
        maxIntegrityProtectedDataRateDl:
          $ref: '#/components/schemas/MaxIntegrityProtectedDataRate'
        alwaysOnGranted:
          type: boolean
          default: false
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        upSecurity:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UpSecurity'
        roamingChargingProfile:
          $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/RoamingChargingProfile'
        hSmfServiceInstanceId:
          type: string
        smfServiceInstanceId:
          type: string
        recoveryTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        dnaiList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
          minItems: 1
        ipv6MultiHomingInd:
          type: boolean
          default: false
        maAcceptedInd:
          type: boolean
          default: false
        homeProvidedChargingId:
          type: string
          pattern: '^(0|([1-9]{1}[0-9]{0,9}))$'
        nefExtBufSupportInd:
          type: boolean
          default: false
        smallDataRateControlEnabled:
          type: boolean
          default: false
        ueIpv6InterfaceId:
          type: string
          pattern: '^[A-Fa-f0-9]{16}$'
        ipv6Index:
          $ref: 'TS29519_Policy_Data.yaml#/components/schemas/IpIndex'
        dnAaaAddress:
          $ref: '#/components/schemas/IpAddress'
        redundantPduSessionInfo:
          $ref: '#/components/schemas/RedundantPduSessionInformation'
        nspuSupportInd:
          type: boolean
        interPlmnApiRoot:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        intraPlmnApiRoot:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
      required:
        - pduSessionType
        - sscMode
      oneOf:
        - required: [ hSmfInstanceId ]
        - required: [ smfInstanceId ]

    HsmfUpdateData:
      description: Data within Update Request towards H-SMF, or from I-SMF to SMF
      type: object
      properties:
        requestIndication:
          $ref: '#/components/schemas/RequestIndication'
        pei:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
        vcnTunnelInfo:
          $ref: '#/components/schemas/TunnelInfo'
        icnTunnelInfo:
          $ref: '#/components/schemas/TunnelInfo'
        additionalCnTunnelInfo:
          $ref: '#/components/schemas/TunnelInfo'
        servingNetwork:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid'
        anType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        additionalAnType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        ratType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        ueLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        ueTimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        addUeLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        pauseCharging:
          type: boolean
        pti:
          $ref: '#/components/schemas/ProcedureTransactionId'
        n1SmInfoFromUe:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        unknownN1SmInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        qosFlowsRelNotifyList:
          type: array
          items:
            $ref: '#/components/schemas/QosFlowItem'
          minItems: 1
        qosFlowsNotifyList:
          type: array
          items:
            $ref: '#/components/schemas/QosFlowNotifyItem'
          minItems: 1
        NotifyList:
          type: array
          items:
            $ref: '#/components/schemas/PduSessionNotifyItem'
          minItems: 1
# The attribute name does not follow the naming conventions specified in 3GPP TS 29.501. The attribute name is kept though as defined in the current specification for backward compatibility reason.
        epsBearerId:
          type: array
          items:
            $ref: '#/components/schemas/EpsBearerId'
          minItems: 0
        hoPreparationIndication:
          type: boolean
        revokeEbiList:
          type: array
          items:
            $ref: '#/components/schemas/EpsBearerId'
          minItems: 1
        cause:
          $ref: '#/components/schemas/Cause'
        ngApCause:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause'
        5gMmCauseValue:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause'
        alwaysOnRequested:
          type: boolean
          default: false
        epsInterworkingInd:
          $ref: '#/components/schemas/EpsInterworkingIndication'
        secondaryRatUsageReport:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageReport'
          minItems: 1
        secondaryRatUsageInfo:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageInfo'
          minItems: 1
        anTypeCanBeChanged:
          type: boolean
          default: false
        maReleaseInd:
          $ref: '#/components/schemas/MaReleaseIndication'
        maNwUpgradeInd:
          type: boolean
          default: false
        maRequestInd:
          type: boolean
          default: false
        unavailableAccessInd:
          $ref: '#/components/schemas/UnavailableAccessIndication'
        psaInfo:
          type: array
          items:
            $ref: '#/components/schemas/PsaInformation'
          minItems: 1
        ulclBpInfo:
          $ref: '#/components/schemas/UlclBpInformation'
        n4Info:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt1:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt2:
          $ref: '#/components/schemas/N4Information'
        presenceInLadn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState'
        vsmfPduSessionUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        vsmfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        vSmfServiceInstanceId:
          type: string
        ismfPduSessionUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        ismfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        iSmfServiceInstanceId:
          type: string
        dlServingPlmnRateCtl:
          type: integer
          minimum: 10
          nullable: true
        dnaiList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
          minItems: 1
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        roamingChargingProfile:
          $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/RoamingChargingProfile'
        moExpDataCounter:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MoExpDataCounter'
        vplmnQos:
          $ref: '#/components/schemas/VplmnQos'
        securityResult:
          $ref: '#/components/schemas/SecurityResult'
        upSecurityInfo:
          $ref: '#/components/schemas/UpSecurityInfo'
        amfNfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        guami:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami'
        secondaryRatUsageDataReportContainer:
          type: array
          items:
            $ref: '#/components/schemas/SecondaryRatUsageDataReportContainer'
          minItems: 1
        smPolicyNotifyInd:
          type: boolean
          enum:
           - true
        pcfUeCallbackInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PcfUeCallbackInfo'
        satelliteBackhaulCat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SatelliteBackhaulCategory'
        maxIntegrityProtectedDataRateUl:
          $ref: '#/components/schemas/MaxIntegrityProtectedDataRate'
        maxIntegrityProtectedDataRateDl:
          $ref: '#/components/schemas/MaxIntegrityProtectedDataRate'
        upCnxState:
          $ref: '#/components/schemas/UpCnxState'
      required:
        - requestIndication

    HsmfUpdatedData:
      description: Data within Update Response from H-SMF, or from SMF to I-SMF
      type: object
      properties:
        n1SmInfoToUe:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        n4Info:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt1:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt2:
          $ref: '#/components/schemas/N4Information'
        dnaiList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
          minItems: 1
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        roamingChargingProfile:
          $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/RoamingChargingProfile'
        homeProvidedChargingId:
          type: string
          pattern: '^(0|([1-9]{1}[0-9]{0,9}))$'
        upSecurity:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UpSecurity'
        maxIntegrityProtectedDataRateUl:
          $ref: '#/components/schemas/MaxIntegrityProtectedDataRate'
        maxIntegrityProtectedDataRateDl:
          $ref: '#/components/schemas/MaxIntegrityProtectedDataRate'
        ipv6MultiHomingInd:
          type: boolean
          default: false
        qosFlowsSetupList:
          type: array
          items:
            $ref: '#/components/schemas/QosFlowSetupItem'
          minItems: 1
        sessionAmbr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
        epsPdnCnxInfo:
          $ref: '#/components/schemas/EpsPdnCnxInfo'
        epsBearerInfo:
          type: array
          items:
            $ref: '#/components/schemas/EpsBearerInfo'
          minItems: 1
        pti:
          $ref: '#/components/schemas/ProcedureTransactionId'
        interPlmnApiRoot:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        intraPlmnApiRoot:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'

    ReleaseData:
      description: Data within Release Request
      type: object
      properties:
        cause:
          $ref: '#/components/schemas/Cause'
        ngApCause:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause'
        5gMmCauseValue:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause'
        ueLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        ueTimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        addUeLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        secondaryRatUsageReport:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageReport'
          minItems: 1
        secondaryRatUsageInfo:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageInfo'
          minItems: 1
        n4Info:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt1:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt2:
          $ref: '#/components/schemas/N4Information'

    ReleasedData:
      description: Data within Release Response
      type: object
      properties:
        smallDataRateStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus'
        apnRateStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus'
        n4Info:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt1:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt2:
          $ref: '#/components/schemas/N4Information'

    VsmfUpdateData:
      description: Data within Update Request towards V-SMF, or from SMF to I-SMF
      type: object
      properties:
        requestIndication:
          $ref: '#/components/schemas/RequestIndication'
        sessionAmbr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
        qosFlowsAddModRequestList:
          type: array
          items:
            $ref: '#/components/schemas/QosFlowAddModifyRequestItem'
          minItems: 1
        qosFlowsRelRequestList:
          type: array
          items:
            $ref: '#/components/schemas/QosFlowReleaseRequestItem'
          minItems: 1
        epsBearerInfo:
          type: array
          items:
            $ref: '#/components/schemas/EpsBearerInfo'
          minItems: 1
        assignEbiList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp'
          minItems: 1
        revokeEbiList:
          type: array
          items:
            $ref: '#/components/schemas/EpsBearerId'
          minItems: 1
        modifiedEbiList:
          type: array
          items:
            $ref: '#/components/schemas/EbiArpMapping'
          minItems: 1
        pti:
          $ref: '#/components/schemas/ProcedureTransactionId'
        n1SmInfoToUe:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        alwaysOnGranted:
          type: boolean
          default: false
        hsmfPduSessionUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        newSmfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        newSmfPduSessionUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        cause:
          $ref: '#/components/schemas/Cause'
        n1smCause:
          type: string
        backOffTimer:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        maReleaseInd:
          $ref: '#/components/schemas/MaReleaseIndication'
        maAcceptedInd:
          type: boolean
          default: false
        additionalCnTunnelInfo:
          $ref: '#/components/schemas/TunnelInfo'
        dnaiList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
        n4Info:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt1:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt2:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt3:
          $ref: '#/components/schemas/N4Information'
        smallDataRateControlEnabled:
          type: boolean
        qosMonitoringInfo:
          $ref: '#/components/schemas/QosMonitoringInfo'
        epsPdnCnxInfo:
          $ref: '#/components/schemas/EpsPdnCnxInfo'
        n9DataForwardingInd:
          type: boolean
          default: false
        n9InactivityTimer:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
      required:
        - requestIndication

    VsmfUpdatedData:
      description: Data within Update Response from V-SMF, or from I-SMF to SMF
      type: object
      properties:
        qosFlowsAddModList:
          type: array
          items:
            $ref: '#/components/schemas/QosFlowItem'
          minItems: 1
        qosFlowsRelList:
          type: array
          items:
            $ref: '#/components/schemas/QosFlowItem'
          minItems: 1
        qosFlowsFailedtoAddModList:
          type: array
          items:
            $ref: '#/components/schemas/QosFlowItem'
          minItems: 1
        qosFlowsFailedtoRelList:
          type: array
          items:
            $ref: '#/components/schemas/QosFlowItem'
          minItems: 1
        n1SmInfoFromUe:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        unknownN1SmInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        ueLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        ueTimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        addUeLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        assignedEbiList:
          type: array
          items:
            $ref: '#/components/schemas/EbiArpMapping'
          minItems: 1
        failedToAssignEbiList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp'
          minItems: 1
        releasedEbiList:
          type: array
          items:
            $ref: '#/components/schemas/EpsBearerId'
          minItems: 1
        secondaryRatUsageReport:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageReport'
          minItems: 1
        secondaryRatUsageInfo:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageInfo'
          minItems: 1
        n4Info:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt1:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt2:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt3:
          $ref: '#/components/schemas/N4Information'
        modifiedEbiListNotDelivered:
          type: boolean

    StatusNotification:
      description: Data within Notify Status Request
      type: object
      properties:
        statusInfo :
          $ref: '#/components/schemas/StatusInfo'
        smallDataRateStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus'
        apnRateStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus'
        targetDnaiInfo:
          $ref: '#/components/schemas/TargetDnaiInfo'
        oldPduSessionRef:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        newSmfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        epsPdnCnxInfo:
          $ref: '#/components/schemas/EpsPdnCnxInfo'
        interPlmnApiRoot:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        intraPlmnApiRoot:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
      required:
        - statusInfo

    QosFlowItem:
      description: Individual QoS flow
      type: object
      properties:
        qfi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi'
        cause:
          $ref: '#/components/schemas/Cause'
        currentQosProfileIndex:
          type: integer
          minimum: 1
          maximum: 8
        nullQoSProfileIndex:
          type: boolean
        ngApCause:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause'
      required:
        - qfi

    QosFlowSetupItem:
      description: Individual QoS flow to setup
      type: object
      properties:
        qfi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi'
        qosRules:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes'
        ebi:
          $ref: '#/components/schemas/EpsBearerId'
        qosFlowDescription:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes'
        qosFlowProfile:
          $ref: '#/components/schemas/QosFlowProfile'
        associatedAnType:
          $ref: '#/components/schemas/QosFlowAccessType'
        defaultQosRuleInd:
          type: boolean
      required:
        - qfi
        - qosRules

    QosFlowAddModifyRequestItem:
      description: Individual QoS flow requested to be created or modified
      type: object
      properties:
        qfi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi'
        ebi:
          $ref: '#/components/schemas/EpsBearerId'
        qosRules:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes'
        qosFlowDescription:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes'
        qosFlowProfile:
          $ref: '#/components/schemas/QosFlowProfile'
        associatedAnType:
          $ref: '#/components/schemas/QosFlowAccessType'
      required:
        - qfi

    QosFlowReleaseRequestItem:
      description: Individual QoS flow requested to be released
      type: object
      properties:
        qfi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi'
        qosRules:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes'
        qosFlowDescription:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes'
      required:
        - qfi

    QosFlowProfile:
      description: QoS flow profile
      type: object
      properties:
        5qi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi'
        nonDynamic5Qi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NonDynamic5Qi'
        dynamic5Qi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dynamic5Qi'
        arp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp'
        gbrQosFlowInfo:
          $ref: '#/components/schemas/GbrQosFlowInformation'
        rqa:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ReflectiveQoSAttribute'
        additionalQosFlowInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AdditionalQosFlowInfo'
        qosMonitoringReq:
          $ref: '#/components/schemas/QosMonitoringReq'
        qosRepPeriod:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
      required:
        - 5qi

    GbrQosFlowInformation:
      description: GBR QoS flow information
      type: object
      properties:
        maxFbrDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        maxFbrUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        guaFbrDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        guaFbrUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        notifControl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NotificationControl'
        maxPacketLossRateDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate'
        maxPacketLossRateUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate'
        alternativeQosProfileList:
          type: array
          items:
            $ref: '#/components/schemas/AlternativeQosProfile'
      required:
        - maxFbrDl
        - maxFbrUl
        - guaFbrDl
        - guaFbrUl

    QosFlowNotifyItem:
      description: Notification related to a QoS flow
      type: object
      properties:
        qfi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi'
        notificationCause:
          $ref: '#/components/schemas/NotificationCause'
        currentQosProfileIndex:
          type: integer
          minimum: 1
          maximum: 8
        nullQoSProfileIndex:
          type: boolean
      required:
        - qfi
        - notificationCause


    SmContextRetrieveData:
      description: Data within Retrieve SM Context Request
      type: object
      properties:
        targetMmeCap:
          $ref: '#/components/schemas/MmeCapabilities'
        smContextType:
          $ref: '#/components/schemas/SmContextType'
        servingNetwork:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        notToTransferEbiList:
          type: array
          items:
            $ref: '#/components/schemas/EpsBearerId'
          minItems: 1
        ranUnchangedInd:
          type: boolean
          default: false

    SmContextRetrievedData:
      description: Data within Retrieve SM Context Response
      type: object
      properties:
        ueEpsPdnConnection:
          $ref: '#/components/schemas/EpsPdnCnxContainer'
        smContext:
          $ref: '#/components/schemas/SmContext'
        smallDataRateStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus'
        apnRateStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus'
        dlDataWaitingInd:
          type: boolean
          default: false
        afCoordinationInfo:
          $ref: '#/components/schemas/AfCoordinationInfo'
      required:
        - ueEpsPdnConnection

    MmeCapabilities:
      description: MME capabilities
      type: object
      properties:
        nonIpSupported:
          type: boolean
          default: false
        ethernetSupported:
          type: boolean
          default: false
        upipSupported:
          type: boolean
          default: false

    TunnelInfo:
      description: Tunnel Information
      type: object
      properties:
        ipv4Addr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
        ipv6Addr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr'
        gtpTeid:
          $ref: '#/components/schemas/Teid'
        anType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
      required:
        - gtpTeid

    StatusInfo:
      description: Status of SM context or of PDU session
      type: object
      properties:
        resourceStatus:
          $ref: '#/components/schemas/ResourceStatus'
        cause:
          $ref: '#/components/schemas/Cause'
        cnAssistedRanPara:
          $ref: '#/components/schemas/CnAssistedRanPara'
        anType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
      required:
        - resourceStatus


    EpsPdnCnxInfo:
      description: EPS PDN Connection Information from H-SMF to V-SMF, or from SMF to I-SMF
      type: object
      properties:
        pgwS8cFteid:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes'
        pgwNodeName:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes'
        linkedBearerId:
          $ref: '#/components/schemas/EpsBearerId'
      required:
        - pgwS8cFteid

    EpsBearerInfo:
      description: EPS Bearer Information from H-SMF to V-SMF, or from SMF to I-SMF
      type: object
      properties:
        ebi:
          $ref: '#/components/schemas/EpsBearerId'
        pgwS8uFteid:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes'
        bearerLevelQoS:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes'
      required:
        - ebi
        - pgwS8uFteid
        - bearerLevelQoS

    PduSessionNotifyItem:
      description: Notification related to a PDU session
      type: object
      properties:
        notificationCause:
          $ref: '#/components/schemas/NotificationCause'
      required:
        - notificationCause

    EbiArpMapping:
      description: EBI to ARP mapping
      type: object
      properties:
        epsBearerId:
          $ref: '#/components/schemas/EpsBearerId'
        arp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp'
      required:
        - epsBearerId
        - arp

    SmContextCreateError:
      description: Error within Create SM Context Response
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ExtProblemDetails'
        n1SmMsg:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        n2SmInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        n2SmInfoType:
          $ref: '#/components/schemas/N2SmInfoType'
        recoveryTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
      required:
        - error

    SmContextUpdateError:
      description: Error within Update SM Context Response
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ExtProblemDetails'
        n1SmMsg:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        n2SmInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        n2SmInfoType:
          $ref: '#/components/schemas/N2SmInfoType'
        upCnxState:
          $ref: '#/components/schemas/UpCnxState'
        recoveryTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
      required:
        - error

    PduSessionCreateError:
      description: Error within Create Response
      type: object
      properties:
        error:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        n1smCause:
          type: string
          pattern: '^[A-F0-9]{2}$'
        n1SmInfoToUe:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        backOffTimer:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        recoveryTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
      required:
        - error

    HsmfUpdateError:
      description: Error within Update Response from H-SMF, or from SMF to I-SMF
      type: object
      properties:
        error:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        pti:
          $ref: '#/components/schemas/ProcedureTransactionId'
        n1smCause:
          type: string
          pattern: '^[A-F0-9]{2}$'
        n1SmInfoToUe:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        backOffTimer:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        recoveryTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
      required:
        - error

    VsmfUpdateError:
      description: Error within Update Response from V-SMF, or from I-SMF to SMF
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ExtProblemDetails'
        pti:
          $ref: '#/components/schemas/ProcedureTransactionId'
        n1smCause:
          type: string
          pattern: '^[A-F0-9]{2}$'
        n1SmInfoFromUe:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        unknownN1SmInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        failedToAssignEbiList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp'
          minItems: 1
        ngApCause:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause'
        5gMmCauseValue:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause'
        recoveryTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        n4Info:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt1:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt2:
          $ref: '#/components/schemas/N4Information'
        n4InfoExt3:
          $ref: '#/components/schemas/N4Information'
      required:
        - error

    SmContext:
      description: Complete SM Context
      type: object
      properties:
        pduSessionId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId'
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        selectedDnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        sNssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        hplmnSnssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        pduSessionType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType'
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        hSmfUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        smfUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        pduSessionRef:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        interPlmnApiRoot:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        intraPlmnApiRoot:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        pcfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        pcfGroupId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId'
        pcfSetId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId'
        selMode:
          $ref: '#/components/schemas/DnnSelectionMode'
        udmGroupId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId'
        routingIndicator:
          type: string
        hNwPubKeyId:
          type: integer
        sessionAmbr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
        qosFlowsList:
          type: array
          items:
            $ref: '#/components/schemas/QosFlowSetupItem'
          minItems: 1
        hSmfInstanceId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        smfInstanceId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        pduSessionSmfSetId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId'
        pduSessionSmfServiceSetId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId'
        pduSessionSmfBinding:
          $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/SbiBindingLevel'
        enablePauseCharging:
          type: boolean
          default: false
        ueIpv4Address:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
        ueIpv6Prefix:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
        epsPdnCnxInfo:
          $ref: '#/components/schemas/EpsPdnCnxInfo'
        epsBearerInfo:
          type: array
          items:
            $ref: '#/components/schemas/EpsBearerInfo'
          minItems: 1
        maxIntegrityProtectedDataRate:
          $ref: '#/components/schemas/MaxIntegrityProtectedDataRate'
        maxIntegrityProtectedDataRateDl:
          $ref: '#/components/schemas/MaxIntegrityProtectedDataRate'
        alwaysOnGranted:
          type: boolean
          default: false
        upSecurity:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UpSecurity'
        hSmfServiceInstanceId:
          type: string
        smfServiceInstanceId:
          type: string
        recoveryTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        forwardingInd:
          type: boolean
          default: false
        psaTunnelInfo:
          $ref: '#/components/schemas/TunnelInfo'
        chargingId:
          type: string
          pattern: '^(0|([1-9]{1}[0-9]{0,9}))$'
        chargingInfo:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ChargingInformation'
        roamingChargingProfile:
          $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/RoamingChargingProfile'
        nefExtBufSupportInd:
          type: boolean
          default: false
        ipv6Index:
          $ref: 'TS29519_Policy_Data.yaml#/components/schemas/IpIndex'
        dnAaaAddress:
          $ref: '#/components/schemas/IpAddress'
        redundantPduSessionInfo:
          $ref: '#/components/schemas/RedundantPduSessionInformation'
        ranTunnelInfo:
          $ref: '#/components/schemas/QosFlowTunnel'
        addRanTunnelInfo:
          type: array
          items:
            $ref: '#/components/schemas/QosFlowTunnel'
          minItems: 1
        redRanTunnelInfo:
          $ref: '#/components/schemas/QosFlowTunnel'
        addRedRanTunnelInfo:
          type: array
          items:
            $ref: '#/components/schemas/QosFlowTunnel'
          minItems: 1
        nspuSupportInd:
          type: boolean
        smfBindingInfo:
          type: string
        satelliteBackhaulCat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SatelliteBackhaulCategory'
        sscMode:
          type: string
          pattern: '^[0-7]$'
        dlsetSupportInd:
          type: boolean
        n9fscSupportInd:
          type: boolean
        disasterRoamingInd:
          type: boolean
          default: false
        anchorSmfOauth2Required:
          type: boolean
      required:
        - pduSessionId
        - dnn
        - sNssai
        - pduSessionType
        - sessionAmbr
        - qosFlowsList

    ExemptionInd:
      description: Exemption Indication
      type: object
      properties:
        dnnCongestion:
          type: boolean
          default: false
        snssaiOnlyCongestion:
          type: boolean
          default: false
        snssaiDnnCongestion:
          type: boolean
          default: false

    PsaInformation:
      description: PSA Information
      type: object
      properties:
        psaInd:
          $ref: '#/components/schemas/PsaIndication'
        dnaiList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
          minItems: 1
        ueIpv6Prefix:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
        psaUpfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'

    DnaiInformation:
      description: DNAI Information
      type: object
      properties:
        dnai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
        noDnaiChangeInd:
          type: boolean
        noLocalPsaChangeInd:
          type: boolean
      required:
        - dnai

    N4Information:
      description: N4 Information
      type: object
      properties:
        n4MessageType:
          $ref: '#/components/schemas/N4MessageType'
        n4MessagePayload:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        n4DnaiInfo:
          $ref: '#/components/schemas/DnaiInformation'
        psaUpfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        ulClBpId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        n9UlPdrIdList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16'
          minItems: 1
      required:
        - n4MessageType
        - n4MessagePayload

    IndirectDataForwardingTunnelInfo:
      description: Indirect Data Forwarding Tunnel Information
      type: object
      properties:
        ipv4Addr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
        ipv6Addr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr'
        gtpTeid:
          $ref: '#/components/schemas/Teid'
        drbId:
          $ref: '#/components/schemas/DrbId'
        additionalTnlNb:
          $ref: '#/components/schemas/AdditionalTnlNb'
      required:
        - gtpTeid
      not:
        required: [ drbId, additionalTnlNb ]

    SendMoDataReqData:
      description: Data within Send MO Data Request
      type: object
      properties:
        moData:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        moExpDataCounter:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MoExpDataCounter'
        ueLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
      required:
        - moData

    CnAssistedRanPara:
      description: SMF derived CN assisted RAN parameters tuning
      type: object
      properties:
        stationaryIndication:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/StationaryIndication'
        communicationDurationTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        periodicTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        scheduledCommunicationTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationTime'
        scheduledCommunicationType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationType'
        trafficProfile:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TrafficProfile'
        batteryIndication:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BatteryIndication'

    UlclBpInformation:
      description: UL CL or BP Information
      type: object
      properties:
        ulclBpUpfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'

    TransferMoDataReqData:
      description: Data within Transfer MO Data Request
      type: object
      properties:
        moData:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        moExpDataCounter:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MoExpDataCounter'
        ueLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
      required:
        - moData

    TransferMtDataReqData:
      description: Data within Transfer MT Data Request
      type: object
      properties:
        mtData:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
      required:
        - mtData

    TransferMtDataError:
      description: Transfer MT Data Error Response
      allOf:
      - $ref: '#/components/schemas/ExtProblemDetails'
      - $ref: '#/components/schemas/TransferMtDataAddInfo'

    TransferMtDataAddInfo:
      description: Transfer MT Data Error Response Additional Information
      type: object
      properties:
        maxWaitingTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'

    VplmnQos:
      description: VPLMN QoS
      type: object
      properties:
        5qi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi'
        arp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp'
        sessionAmbr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
        maxFbrDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        maxFbrUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        guaFbrDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        guaFbrUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'

    DdnFailureSubs:
      description: DDN Failure Subscription
      type: object
      properties:
        ddnFailureSubsInd:
          type: boolean
          default: false
        ddnFailureSubsInfoList:
          type: array
          items:
            $ref: '#/components/schemas/DdnFailureSubInfo'
          minItems: 1

    DdnFailureSubInfo:
      description: DDN Failure Subscription Information
      type: object
      required:
        - notifyCorrelationId
      properties:
        notifyCorrelationId:
          type: string
        dddTrafficDescriptorList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor'
          minItems: 1

    RetrieveData:
      description: Data within Retrieve Request
      type: object
      properties:
        smallDataRateStatusReq:
          type: boolean
          default: false
        pduSessionContextType:
          $ref: '#/components/schemas/PduSessionContextType'

    RetrievedData:
      description: Data within Retrieve Response
      type: object
      properties:
        smallDataRateStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus'
        afCoordinationInfo:
          $ref: '#/components/schemas/AfCoordinationInfo'

    SecurityResult:
      description: Security Result
      type: object
      properties:
        integrityProtectionResult:
          $ref: '#/components/schemas/ProtectionResult'
        confidentialityProtectionResult:
          $ref: '#/components/schemas/ProtectionResult'

    UpSecurityInfo:
      description: User Plane Security Information
      type: object
      properties:
        upSecurity:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UpSecurity'
        maxIntegrityProtectedDataRateUl:
          $ref: '#/components/schemas/MaxIntegrityProtectedDataRate'
        maxIntegrityProtectedDataRateDl:
          $ref: '#/components/schemas/MaxIntegrityProtectedDataRate'
        securityResult:
          $ref: '#/components/schemas/SecurityResult'
      required:
        - upSecurity

    AlternativeQosProfile:
      description: Alternative QoS Profile
      type: object
      properties:
        index:
          type: integer
          minimum: 1
          maximum: 8
        guaFbrDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        guaFbrUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        packetDelayBudget:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget'
        packetErrRate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate'
      required:
        - index

    ExtProblemDetails:
      description: Extended Problem Details
      allOf:
      - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
      - $ref: '#/components/schemas/ProblemDetailsAddInfo'

    ProblemDetailsAddInfo:
      description: Problem Details Additional Information
      type: object
      properties:
        remoteError:
          type: boolean

    QosMonitoringInfo:
      description: QoS Monitoring Information
      type: object
      properties:
        qosMonitoringInd:
          type: boolean
          default: false

    IpAddress:
      description: IP Address
      type: object
      oneOf:
        - required:
          - ipv4Addr
        - required:
          - ipv6Addr
        - required:
          - ipv6Prefix
      properties:
        ipv4Addr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
        ipv6Addr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr'
        ipv6Prefix:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'

    RedundantPduSessionInformation:
      description: Redundant PDU Session Information
      type: object
      properties:
        rsn:
          $ref: '#/components/schemas/Rsn'
        pduSessionPairId:
          type: integer
          minimum: 0
          maximum: 255
      required:
        - rsn

    QosFlowTunnel:
      description: Tunnel Information per QoS Flow
      type: object
      properties:
        qfiList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi'
          minItems: 1
        tunnelInfo:
          $ref: '#/components/schemas/TunnelInfo'
      required:
        - qfiList
        - tunnelInfo

    TargetDnaiInfo:
      description: Target DNAI Information
      type: object
      properties:
        targetDnai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
        smfSelectionType:
          $ref: '#/components/schemas/SmfSelectionType'
      required:
        - smfSelectionType

    AfCoordinationInfo:
      description: AF Coordination Information
      type: object
      properties:
        sourceDnai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
        sourceUeIpv4Addr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
        sourceUeIpv6Prefix:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
        notificationInfoList:
          type: array
          items:
            $ref: '#/components/schemas/NotificationInfo'
          minItems: 1

    NotificationInfo:
      description: >
        Notification Correlation ID and Notification URI provided by the NF service consumer
      type: object
      properties:
        notifId:
          type: string
        notifUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        upBufferInd:
          type: boolean
          default: false
      required:
        - notifId
        - notifUri

    AnchorSmfFeatures:
      description: Anchor SMF supported features 
      type: object
      properties:
        psetrSupportInd:
          type: boolean

#
# SIMPLE DATA TYPES
#
    ProcedureTransactionId:
      description: Procedure Transaction Identifier
      type: integer
      minimum: 0
      maximum: 255

    EpsBearerId:
      description: EPS Bearer Identifier
      type: integer
      minimum: 0
      maximum: 15

    EpsPdnCnxContainer:
      description: UE EPS PDN Connection container from SMF to AMF
      type: string

    EpsBearerContainer:
      description: EPS Bearer container from SMF to AMF
      type: string

    Teid:
      type: string
      description: GTP Tunnel Endpoint Identifier
      pattern: '^[A-Fa-f0-9]{8}$'

    EpsBearerContextStatus:
      description: EPS bearer context status
      type: string
      pattern: '^[A-Fa-f0-9]{4}$'

    DrbId:
      description: Data Radio Bearer Identity
      type: integer
      minimum: 1
      maximum: 32

    AdditionalTnlNb:
      description: indicates first, second or third additional indirect data forwarding tunnel
      type: integer
      minimum: 1
      maximum: 3

    ForwardingBearerContainer:
      description: Forwarding Bearer Container
      type: string

    SecondaryRatUsageDataReportContainer:
      description: Secondary Rat Usage Data Report Container
      type: string
      format: byte

#
# ENUMERATIONS
#
    UpCnxState:
      anyOf:
      - type: string
        enum:
          - ACTIVATED
          - DEACTIVATED
          - ACTIVATING
          - SUSPENDED
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        User Plane Connection State. Possible values are
        - ACTIVATED
        - DEACTIVATED
        - ACTIVATING
        - SUSPENDED

    HoState:
      anyOf:
      - type: string
        enum:
          - NONE
          - PREPARING
          - PREPARED
          - COMPLETED
          - CANCELLED
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Handover state. Possible values are
        - NONE
        - PREPARING
        - PREPARED
        - COMPLETED
        - CANCELLED

    RequestType:
      anyOf:
      - type: string
        enum:
          - INITIAL_REQUEST
          - EXISTING_PDU_SESSION
          - INITIAL_EMERGENCY_REQUEST
          - EXISTING_EMERGENCY_PDU_SESSION
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Request Type in Create (SM context) service operation. Possible values are
        - INITIAL_REQUEST
        - EXISTING_PDU_SESSION
        - INITIAL_EMERGENCY_REQUEST
        - EXISTING_EMERGENCY_PDU_SESSION

    RequestIndication:
      anyOf:
      - type: string
        enum:
          - UE_REQ_PDU_SES_MOD
          - UE_REQ_PDU_SES_REL
          - PDU_SES_MOB
          - NW_REQ_PDU_SES_AUTH
          - NW_REQ_PDU_SES_MOD
          - NW_REQ_PDU_SES_REL
          - EBI_ASSIGNMENT_REQ
          - REL_DUE_TO_5G_AN_REQUEST
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Request Indication in Update (SM context) service operation. Possible values are
        - UE_REQ_PDU_SES_MOD
        - UE_REQ_PDU_SES_REL
        - PDU_SES_MOB
        - NW_REQ_PDU_SES_AUTH
        - NW_REQ_PDU_SES_MOD
        - NW_REQ_PDU_SES_REL
        - EBI_ASSIGNMENT_REQ
        - REL_DUE_TO_5G_AN_REQUEST

    NotificationCause:
      anyOf:
      - type: string
        enum:
          - QOS_FULFILLED
          - QOS_NOT_FULFILLED
          - UP_SEC_FULFILLED
          - UP_SEC_NOT_FULFILLED
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Cause for generating a notification. Possible values are
        - QOS_FULFILLED
        - QOS_NOT_FULFILLED
        - UP_SEC_FULFILLED
        - UP_SEC_NOT_FULFILLED

    Cause:
      anyOf:
      - type: string
        enum:
          - REL_DUE_TO_HO
          - EPS_FALLBACK
          - REL_DUE_TO_UP_SEC
          - DNN_CONGESTION
          - S_NSSAI_CONGESTION
          - REL_DUE_TO_REACTIVATION
          - 5G_AN_NOT_RESPONDING
          - REL_DUE_TO_SLICE_NOT_AVAILABLE
          - REL_DUE_TO_DUPLICATE_SESSION_ID
          - PDU_SESSION_STATUS_MISMATCH
          - HO_FAILURE
          - INSUFFICIENT_UP_RESOURCES
          - PDU_SESSION_HANDED_OVER
          - PDU_SESSION_RESUMED
          - CN_ASSISTED_RAN_PARAMETER_TUNING
          - ISMF_CONTEXT_TRANSFER
          - SMF_CONTEXT_TRANSFER
          - REL_DUE_TO_PS_TO_CS_HO
          - REL_DUE_TO_SUBSCRIPTION_CHANGE
          - HO_CANCEL
          - REL_DUE_TO_SLICE_NOT_AUTHORIZED
          - PDU_SESSION_HAND_OVER_FAILURE
          - DDN_FAILURE_STATUS
          - REL_DUE_TO_CP_ONLY_NOT_APPLICABLE
          - NOT_SUPPORTED_WITH_ISMF
          - CHANGED_ANCHOR_SMF
          - CHANGED_INTERMEDIATE_SMF
          - TARGET_DNAI_NOTIFICATION
          - REL_DUE_TO_VPLMN_QOS_FAILURE
          - REL_DUE_TO_SMF_NOT_SUPPORT_PSETR
          - REL_DUE_TO_SNPN_SNPN_MOBILITY
          - REL_DUE_TO_NO_HR_AGREEMENT
          - REL_DUE_TO_UNSPECIFIED_REASON
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Cause information. Possible values are
        - REL_DUE_TO_HO
        - EPS_FALLBACK
        - REL_DUE_TO_UP_SEC
        - DNN_CONGESTION
        - S_NSSAI_CONGESTION
        - REL_DUE_TO_REACTIVATION
        - 5G_AN_NOT_RESPONDING
        - REL_DUE_TO_SLICE_NOT_AVAILABLE
        - REL_DUE_TO_DUPLICATE_SESSION_ID
        - PDU_SESSION_STATUS_MISMATCH
        - HO_FAILURE
        - INSUFFICIENT_UP_RESOURCES
        - PDU_SESSION_HANDED_OVER
        - PDU_SESSION_RESUMED
        - CN_ASSISTED_RAN_PARAMETER_TUNING
        - ISMF_CONTEXT_TRANSFER
        - SMF_CONTEXT_TRANSFER
        - REL_DUE_TO_PS_TO_CS_HO
        - REL_DUE_TO_SUBSCRIPTION_CHANGE
        - HO_CANCEL
        - REL_DUE_TO_SLICE_NOT_AUTHORIZED
        - PDU_SESSION_HAND_OVER_FAILURE
        - DDN_FAILURE_STATUS
        - REL_DUE_TO_CP_ONLY_NOT_APPLICABLE
        - NOT_SUPPORTED_WITH_ISMF
        - CHANGED_ANCHOR_SMF
        - CHANGED_INTERMEDIATE_SMF
        - TARGET_DNAI_NOTIFICATION
        - REL_DUE_TO_VPLMN_QOS_FAILURE
        - REL_DUE_TO_SMF_NOT_SUPPORT_PSETR
        - REL_DUE_TO_SNPN_SNPN_MOBILITY
        - REL_DUE_TO_NO_HR_AGREEMENT
        - REL_DUE_TO_UNSPECIFIED_REASON

    ResourceStatus:
      anyOf:
      - type: string
        enum:
          - RELEASED
          - UNCHANGED
          - TRANSFERRED
          - UPDATED
          - ALT_ANCHOR_SMF
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Status of SM context or PDU session resource. Possible values are
        - RELEASED
        - UNCHANGED
        - TRANSFERRED
        - UPDATED
        - ALT_ANCHOR_SMF

    DnnSelectionMode:
      anyOf:
      - type: string
        enum:
          - VERIFIED
          - UE_DNN_NOT_VERIFIED
          - NW_DNN_NOT_VERIFIED
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        DNN Selection Mode. Possible values are
        - VERIFIED
        - UE_DNN_NOT_VERIFIED
        - NW_DNN_NOT_VERIFIED

    EpsInterworkingIndication:
      anyOf:
      - type: string
        enum:
          - NONE
          - WITH_N26
          - WITHOUT_N26
          - IWK_NON_3GPP
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        EPS Interworking Indication. Possible values are
        - NONE
        - WITH_N26
        - WITHOUT_N26
        - IWK_NON_3GPP

    N2SmInfoType:
      anyOf:
      - type: string
        enum:
          - PDU_RES_SETUP_REQ
          - PDU_RES_SETUP_RSP
          - PDU_RES_SETUP_FAIL
          - PDU_RES_REL_CMD
          - PDU_RES_REL_RSP
          - PDU_RES_MOD_REQ
          - PDU_RES_MOD_RSP
          - PDU_RES_MOD_FAIL
          - PDU_RES_NTY
          - PDU_RES_NTY_REL
          - PDU_RES_MOD_IND
          - PDU_RES_MOD_CFM
          - PATH_SWITCH_REQ
          - PATH_SWITCH_SETUP_FAIL
          - PATH_SWITCH_REQ_ACK
          - PATH_SWITCH_REQ_FAIL
          - HANDOVER_REQUIRED
          - HANDOVER_CMD
          - HANDOVER_PREP_FAIL
          - HANDOVER_REQ_ACK
          - HANDOVER_RES_ALLOC_FAIL
          - SECONDARY_RAT_USAGE
          - PDU_RES_MOD_IND_FAIL
          - UE_CONTEXT_RESUME_REQ
          - UE_CONTEXT_RESUME_RSP
          - UE_CONTEXT_SUSPEND_REQ
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        N2 SM Information Type. Possible values are
        - PDU_RES_SETUP_REQ
        - PDU_RES_SETUP_RSP
        - PDU_RES_SETUP_FAIL
        - PDU_RES_REL_CMD
        - PDU_RES_REL_RSP
        - PDU_RES_MOD_REQ
        - PDU_RES_MOD_RSP
        - PDU_RES_MOD_FAIL
        - PDU_RES_NTY
        - PDU_RES_NTY_REL
        - PDU_RES_MOD_IND
        - PDU_RES_MOD_CFM
        - PATH_SWITCH_REQ
        - PATH_SWITCH_SETUP_FAIL
        - PATH_SWITCH_REQ_ACK
        - PATH_SWITCH_REQ_FAIL
        - HANDOVER_REQUIRED
        - HANDOVER_CMD
        - HANDOVER_PREP_FAIL
        - HANDOVER_REQ_ACK
        - HANDOVER_RES_ALLOC_FAIL
        - SECONDARY_RAT_USAGE
        - PDU_RES_MOD_IND_FAIL
        - UE_CONTEXT_RESUME_REQ
        - UE_CONTEXT_RESUME_RSP
        - UE_CONTEXT_SUSPEND_REQ

    MaxIntegrityProtectedDataRate:
      anyOf:
      - type: string
        enum:
          - 64_KBPS
          - MAX_UE_RATE
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Maximum Integrity Protected Data Rate. Possible values are
          - 64_KBPS
          - MAX_UE_RATE

    MaReleaseIndication:
      anyOf:
      - type: string
        enum:
          - REL_MAPDU_OVER_3GPP
          - REL_MAPDU_OVER_N3GPP
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Multi-Access PDU session release Indication. Possible values are
          - REL_MAPDU_OVER_3GPP
          - REL_MAPDU_OVER_N3GPP

    SmContextType:
      anyOf:
      - type: string
        enum:
          - EPS_PDN_CONNECTION
          - SM_CONTEXT
          - AF_COORDINATION_INFO
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Type of SM Context information. Possible values are
          - EPS_PDN_CONNECTION
          - SM_CONTEXT
          - AF_COORDINATION_INFO

    PsaIndication:
      anyOf:
      - type: string
        enum:
          - PSA_INSERTED
          - PSA_REMOVED
          - PSA_INSERTED_ONLY
          - PSA_REMOVED_ONLY
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Indication of whether a PSA is inserted or removed. Possible values are
          - PSA_INSERTED
          - PSA_REMOVED
          - PSA_INSERTED_ONLY
          - PSA_REMOVED_ONLY

    N4MessageType:
      anyOf:
      - type: string
        enum:
          - PFCP_SES_EST_REQ
          - PFCP_SES_EST_RSP
          - PFCP_SES_MOD_REQ
          - PFCP_SES_MOD_RSP
          - PFCP_SES_DEL_REQ
          - PFCP_SES_DEL_RSP
          - PFCP_SES_REP_REQ
          - PFCP_SES_REP_RSP
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        N4 Message Type. Possible values are
          - PFCP_SES_EST_REQ
          - PFCP_SES_EST_RSP
          - PFCP_SES_MOD_REQ
          - PFCP_SES_MOD_RSP
          - PFCP_SES_DEL_REQ
          - PFCP_SES_DEL_RSP
          - PFCP_SES_REP_REQ
          - PFCP_SES_REP_RSP

    QosFlowAccessType:
      anyOf:
      - type: string
        enum:
          - 3GPP
          - NON_3GPP
          - 3GPP_AND_NON_3GPP
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Access type associated with a QoS Flow. Possible values are
          - 3GPP
          - NON_3GPP
          - 3GPP_AND_NON_3GPP

    UnavailableAccessIndication:
      anyOf:
      - type: string
        enum:
          - 3GA_UNAVAILABLE
          - N3GA_UNAVAILABLE
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Indicates the access type of a MA PDU session that is unavailable. Possible values are
          - 3GA_UNAVAILABLE
          - N3GA_UNAVAILABLE

    ProtectionResult:
      anyOf:
      - type: string
        enum:
          - PERFORMED
          - NOT_PERFORMED
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Protection Result of the security policy indicated as "preferred". Possible values are
          - PERFORMED
          - NOT_PERFORMED

    QosMonitoringReq:
      anyOf:
      - type: string
        enum:
          - UL
          - DL
          - BOTH
          - NONE
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        QoS monitoring request. Possible values are
          - UL
          - DL
          - BOTH
          - NONE

    Rsn:
      anyOf:
      - type: string
        enum:
          - V1
          - V2
          - NONE
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Redundancy Sequence Number. Possible values are
          - V1
          - V2
          - NONE

    SmfSelectionType:
      anyOf:
      - type: string
        enum:
          - CURRENT_PDU_SESSION
          - NEXT_PDU_SESSION
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Smf Selection Type. Possible values are
          - CURRENT_PDU_SESSION
          - NEXT_PDU_SESSION

    PduSessionContextType:
      anyOf:
      - type: string
        enum:
          - AF_COORDINATION_INFO
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Type of PDU Session information. Possible values are
          - AF_COORDINATION_INFO
#
# HTTP request bodies
#
  requestBodies:
    'VsmfUpdateRequestBody':
      description: representation of updates to apply to the PDU session
      required: true
      content:
        application/json:   # message without binary body part
          schema:
            $ref: '#/components/schemas/VsmfUpdateData'
        multipart/related:  # message with binary body part(s)
          schema:
            type: object
            properties:     # Request parts
              jsonData:
                $ref: '#/components/schemas/VsmfUpdateData'
              binaryDataN1SmInfoToUe:
                type: string
                format: binary
              binaryDataN4Information:
                type: string
                format: binary
              binaryDataN4InformationExt1:
                type: string
                format: binary
              binaryDataN4InformationExt2:
                type: string
                format: binary
              binaryDataN4InformationExt3:
                type: string
                format: binary
          encoding:
            jsonData:
              contentType:  application/json
            binaryDataN1SmInfoToUe:
              contentType:  application/vnd.3gpp.5gnas
              headers:
                Content-Id:
                  schema:
                    type: string
            binaryDataN4Information:
              contentType:  application/vnd.3gpp.pfcp
              headers:
                Content-Id:
                  schema:
                    type: string
            binaryDataN4InformationExt1:
              contentType:  application/vnd.3gpp.pfcp
              headers:
                Content-Id:
                  schema:
                    type: string
            binaryDataN4InformationExt2:
              contentType:  application/vnd.3gpp.pfcp
              headers:
                Content-Id:
                  schema:
                    type: string
            binaryDataN4InformationExt3:
              contentType:  application/vnd.3gpp.pfcp
              headers:
                Content-Id:
                  schema:
                    type: string

    'NotifyStatusRequestBody':
      description: representation of the status notification
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StatusNotification'

#
# HTTP responses
#
  responses:
    'VsmfUpdateResponse200':
      description: successful update of a PDU session with content in the response
      content:
        application/json: # message without binary body part
          schema:
            $ref: '#/components/schemas/VsmfUpdatedData'
        multipart/related:  # message with binary body part(s)
          schema:
            type: object
            properties: # Request parts
              jsonData:
                $ref: '#/components/schemas/VsmfUpdatedData'
              binaryDataN1SmInfoFromUe:
                type: string
                format: binary
              binaryDataUnknownN1SmInfo:
                type: string
                format: binary
              binaryDataN4Information:
                type: string
                format: binary
              binaryDataN4InformationExt1:
                type: string
                format: binary
              binaryDataN4InformationExt2:
                type: string
                format: binary
              binaryDataN4InformationExt3:
                type: string
                format: binary
          encoding:
            jsonData:
              contentType:  application/json
            binaryDataN1SmInfoFromUe:
              contentType:  application/vnd.3gpp.5gnas
              headers:
                Content-Id:
                  schema:
                    type: string
            binaryDataUnknownN1SmInfo:
              contentType:  application/vnd.3gpp.5gnas
              headers:
                Content-Id:
                  schema:
                    type: string
            binaryDataN4Information:
              contentType:  application/vnd.3gpp.pfcp
              headers:
                Content-Id:
                  schema:
                    type: string
            binaryDataN4InformationExt1:
              contentType:  application/vnd.3gpp.pfcp
              headers:
                Content-Id:
                  schema:
                    type: string
            binaryDataN4InformationExt2:
              contentType:  application/vnd.3gpp.pfcp
              headers:
                Content-Id:
                  schema:
                    type: string
            binaryDataN4InformationExt3:
              contentType:  application/vnd.3gpp.pfcp
              headers:
                Content-Id:
                  schema:
                    type: string

    'PduSessionCreateError':
      description: unsuccessful creation of a PDU session
      content:
        application/json: # message without binary body part
          schema:
            $ref: '#/components/schemas/PduSessionCreateError'
        application/problem+json:
          schema:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        multipart/related:  # message with binary body part(s)
          schema:
            type: object
            properties: # Request parts
              jsonData:
                $ref: '#/components/schemas/PduSessionCreateError'
              binaryDataN1SmInfoToUe:
                type: string
                format: binary
          encoding:
            jsonData:
              contentType:  application/json
            binaryDataN1SmInfoToUe:
              contentType:  application/vnd.3gpp.5gnas
              headers:
                Content-Id:
                  schema:
                    type: string

    'HsmfUpdateError':
      description: unsuccessful update of a PDU session
      content:
        application/json: # message without binary body part
          schema:
            $ref: '#/components/schemas/HsmfUpdateError'
        application/problem+json:
          schema:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        multipart/related:  # message with binary body part(s)
          schema:
            type: object
            properties: # Request parts
              jsonData:
                $ref: '#/components/schemas/HsmfUpdateError'
              binaryDataN1SmInfoToUe:
                type: string
                format: binary
          encoding:
            jsonData:
              contentType:  application/json
            binaryDataN1SmInfoToUe:
              contentType:  application/vnd.3gpp.5gnas
              headers:
                Content-Id:
                  schema:
                    type: string

    'VsmfUpdateError':
      description: unsuccessful update of a PDU session
      content:
        application/json: # message without binary body part
          schema:
            $ref: '#/components/schemas/VsmfUpdateError'
        application/problem+json:
          schema:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        multipart/related:  # message with binary body part(s)
          schema:
            type: object
            properties: # Request parts
              jsonData:
                $ref: '#/components/schemas/VsmfUpdateError'
              binaryDataN1SmInfoFromUe:
                type: string
                format: binary
              binaryDataUnknownN1SmInfo:
                type: string
                format: binary
              binaryDataN4Information:
                type: string
                format: binary
              binaryDataN4InformationExt1:
                type: string
                format: binary
              binaryDataN4InformationExt2:
                type: string
                format: binary
              binaryDataN4InformationExt3:
                type: string
                format: binary
          encoding:
            jsonData:
              contentType:  application/json
            binaryDataN1SmInfoFromUe:
              contentType:  application/vnd.3gpp.5gnas
              headers:
                Content-Id:
                  schema:
                    type: string
            binaryDataUnknownN1SmInfo:
              contentType:  application/vnd.3gpp.5gnas
              headers:
                Content-Id:
                  schema:
                    type: string
            binaryDataN4Information:
              contentType:  application/vnd.3gpp.pfcp
              headers:
                Content-Id:
                  schema:
                    type: string
            binaryDataN4InformationExt1:
              contentType:  application/vnd.3gpp.pfcp
              headers:
                Content-Id:
                  schema:
                    type: string
            binaryDataN4InformationExt2:
              contentType:  application/vnd.3gpp.pfcp
              headers:
                Content-Id:
                  schema:
                    type: string
            binaryDataN4InformationExt3:
              contentType:  application/vnd.3gpp.pfcp
              headers:
                Content-Id:
                  schema:
                    type: string

    '400':
      description: Bad request
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ExtProblemDetails'
    '401':
      description: Unauthorized
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ExtProblemDetails'
    '403':
      description: Forbidden
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ExtProblemDetails'
    '404':
      description: Not Found
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ExtProblemDetails'
    '413':
      description: Payload Too Large
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ExtProblemDetails'
    '415':
      description: Unsupported Media Type
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ExtProblemDetails'
    '429':
      description: Too Many Requests
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ExtProblemDetails'
    '500':
      description: Internal Server Error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ExtProblemDetails'
    '503':
      description: Service Unavailable
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ExtProblemDetails'
