openapi: 3.0.0
info:
  version: 1.0.1
  title: Namf_MT
  description: AMF Mobile Termination Service
security:
  - {}
  - oAuth2ClientCredentials:
      - namf-mt
externalDocs:
  description: 3GPP TS 29.518 V15.3.0; 5G System; Access and Mobility Management Services
  url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.518/'
servers:
  - url: '{apiRoot}/namf-mt/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in subclause subclause 4.4 of 3GPP TS 29.501
paths:
  '/ue-contexts/{ueContextId}':
    get:
      summary: Namf_MT Provide Domain Selection Info service Operation
      tags:
        - ueContext (Document)
      operationId: Provide Domain Selection Info
      parameters:
        - name: ueContextId
          in: path
          description: UE Context Identifier
          required: true
          schema:
            type: string
            pattern: '^(imsi-[0-9]{5,15}|nai-.+|.+)$'
        - name: info-class
          in: query
          description: UE Context Information Class
          schema:
            $ref: '#/components/schemas/UeContextInfoClass'
        - name: supported-features
          in: query
          description: Supported Features
          schema:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
      responses:
        '200':
          description: Requested UE Context Information returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UeContextInfo'
        '307':
          description: Temporary Redirect
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '414':
          $ref: 'TS29571_CommonData.yaml#/components/responses/414'
        '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:
          description: Unexpected error
  /ue-contexts/{ueContextId}/ue-reachind:
    put:
      summary: Namf_MT EnableUEReachability service Operation
      tags:
        - ueReachInd (Document)
      operationId: EnableUeReachability
      parameters:
        - name: ueContextId
          in: path
          description: UE Context Identifier
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnableUeReachabilityReqData'
        required: true
      responses:
        '200':
          description: UE has become reachable as desired
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnableUeReachabilityRspData'
        '307':
          description: Temporary Redirect
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '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:
          description: Unexpected error
components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows: 
        clientCredentials: 
          tokenUrl: '{nrfApiRoot}/oauth2/token'
          scopes:
            namf-mt: Access to the Namf_MT API
  schemas:
    EnableUeReachabilityReqData:
      type: object
      properties:
        reachability:
          $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/UeReachability'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
      required:
        - reachability
    EnableUeReachabilityRspData:
      type: object
      properties:
        reachability:
          $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/UeReachability'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
      required:
        - reachability
    UeContextInfo:
      type: object
      properties:
        supportVoPS:
          type: boolean
        supportVoPSn3gpp:
          type: boolean
        lastActTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        accessType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        ratType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
    UeContextInfoClass:
      anyOf:
      - type: string
        enum:
          - TADS
      - type: string
