openapi: 3.0.0
info:
  description: "API for CAPIF security management.  \n© 2024, 3GPP Organizational\
    \ Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  \nAll rights reserved.\n"
  title: CAPIF_Security_API
  version: 1.3.0-alpha.4
externalDocs:
  description: 3GPP TS 29.222 V18.5.0 Common API Framework for 3GPP Northbound APIs
  url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/
servers:
- url: "{apiRoot}/capif-security/v1"
  variables:
    apiRoot:
      default: https://example.com
      description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222.
paths:
  /securities/{securityId}/token:
    post:
      operationId: securities_security_id_token_post
      parameters:
      - description: Identifier of an individual API invoker
        explode: false
        in: path
        name: securityId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AccessTokenReq'
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessTokenRsp'
          description: Successful Access Token Request
        "307":
          description: Temporary Redirect
          headers:
            Location:
              description: An alternative URI of the resource.
              required: true
              schema:
                type: string
        "308":
          description: Permanent Redirect
          headers:
            Location:
              description: An alternative URI of the resource.
              required: true
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessTokenErr'
          description: Error in the Access Token Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessTokenErr'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Forbidden
        "404":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Not Found
        "411":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Length Required
        "413":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Content Too Large
        "415":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Unsupported Media Type
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Too Many Requests
        "500":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Internal Server Error
        "503":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Service Unavailable
        default:
          description: Generic Error
      x-openapi-router-controller: capif_security.controllers.default_controller
  /trustedInvokers/{apiInvokerId}:
    delete:
      operationId: trusted_invokers_api_invoker_id_delete
      parameters:
      - description: Identifier of an individual API invoker
        explode: false
        in: path
        name: apiInvokerId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "204":
          description: No Content (Successful deletion of the existing subscription)
        "307":
          description: Temporary Redirect
          headers:
            Location:
              description: An alternative URI of the resource.
              required: true
              schema:
                type: string
        "308":
          description: Permanent Redirect
          headers:
            Location:
              description: An alternative URI of the resource.
              required: true
              schema:
                type: string
        "400":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Bad request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Forbidden
        "404":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Not Found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Too Many Requests
        "500":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Internal Server Error
        "503":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Service Unavailable
        default:
          description: Generic Error
      x-openapi-router-controller: capif_security.controllers.default_controller
    get:
      operationId: trusted_invokers_api_invoker_id_get
      parameters:
      - description: Identifier of an individual API invoker
        explode: false
        in: path
        name: apiInvokerId
        required: true
        schema:
          type: string
        style: simple
      - description: |
          When set to 'true', it indicates the CAPIF core function to send the authentication information of the API invoker. Set to false or omitted otherwise.
        explode: true
        in: query
        name: authenticationInfo
        required: false
        schema:
          type: boolean
        style: form
      - description: |
          When set to 'true', it indicates the CAPIF core function to send the authorization information of the API invoker. Set to false or omitted otherwise.
        explode: true
        in: query
        name: authorizationInfo
        required: false
        schema:
          type: boolean
        style: form
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceSecurity'
          description: |
            The security related information of the API Invoker based on the request from the API exposing function.
        "307":
          description: Temporary Redirect
          headers:
            Location:
              description: An alternative URI of the resource.
              required: true
              schema:
                type: string
        "308":
          description: Permanent Redirect
          headers:
            Location:
              description: An alternative URI of the resource.
              required: true
              schema:
                type: string
        "400":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Bad request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Forbidden
        "404":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Not Found
        "406":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Not Acceptable
        "414":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: URI Too Long
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Too Many Requests
        "500":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Internal Server Error
        "503":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Service Unavailable
        default:
          description: Generic Error
      x-openapi-router-controller: capif_security.controllers.default_controller
    put:
      callbacks:
        notificationDestination:
          '{request.body#/notificationDestination}':
            post:
              operationId: notificationDestination_request_bodyNotificationDestinationPost
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/SecurityNotification'
                required: true
              responses:
                "204":
                  description: No Content (successful notification)
                "307":
                  description: Temporary Redirect
                  headers:
                    Location:
                      description: An alternative URI of the resource.
                      required: true
                      schema:
                        type: string
                "308":
                  description: Permanent Redirect
                  headers:
                    Location:
                      description: An alternative URI of the resource.
                      required: true
                      schema:
                        type: string
                "400":
                  content:
                    application/problem+json:
                      schema:
                        $ref: '#/components/schemas/ProblemDetails'
                  description: Bad request
                "401":
                  content:
                    application/problem+json:
                      schema:
                        $ref: '#/components/schemas/ProblemDetails'
                  description: Unauthorized
                "403":
                  content:
                    application/problem+json:
                      schema:
                        $ref: '#/components/schemas/ProblemDetails'
                  description: Forbidden
                "404":
                  content:
                    application/problem+json:
                      schema:
                        $ref: '#/components/schemas/ProblemDetails'
                  description: Not Found
                "411":
                  content:
                    application/problem+json:
                      schema:
                        $ref: '#/components/schemas/ProblemDetails'
                  description: Length Required
                "413":
                  content:
                    application/problem+json:
                      schema:
                        $ref: '#/components/schemas/ProblemDetails'
                  description: Content Too Large
                "415":
                  content:
                    application/problem+json:
                      schema:
                        $ref: '#/components/schemas/ProblemDetails'
                  description: Unsupported Media Type
                "429":
                  content:
                    application/problem+json:
                      schema:
                        $ref: '#/components/schemas/ProblemDetails'
                  description: Too Many Requests
                "500":
                  content:
                    application/problem+json:
                      schema:
                        $ref: '#/components/schemas/ProblemDetails'
                  description: Internal Server Error
                "503":
                  content:
                    application/problem+json:
                      schema:
                        $ref: '#/components/schemas/ProblemDetails'
                  description: Service Unavailable
                default:
                  description: Generic Error
              x-callback-request: true
      operationId: trusted_invokers_api_invoker_id_put
      parameters:
      - description: Identifier of an individual API invoker
        explode: false
        in: path
        name: apiInvokerId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceSecurity'
        description: create a security context for an API invoker
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceSecurity'
          description: Successful created.
          headers:
            Location:
              description: |
                Contains the URI of the newly created resource, according to the structure {apiRoot}/capif-security/v1/trustedInvokers/{apiInvokerId}
              explode: false
              required: true
              schema:
                type: string
              style: simple
        "400":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Bad request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Forbidden
        "411":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Length Required
        "413":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Content Too Large
        "414":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: URI Too Long
        "415":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Unsupported Media Type
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Too Many Requests
        "500":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Internal Server Error
        "503":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Service Unavailable
        default:
          description: Generic Error
      x-openapi-router-controller: capif_security.controllers.default_controller
  /trustedInvokers/{apiInvokerId}/delete:
    post:
      operationId: trusted_invokers_api_invoker_id_delete_post
      parameters:
      - description: Identifier of an individual API invoker
        explode: false
        in: path
        name: apiInvokerId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecurityNotification'
        description: Revoke the authorization of the API invoker for APIs.
        required: true
      responses:
        "204":
          description: Successful revoked.
        "307":
          description: Temporary Redirect
          headers:
            Location:
              description: An alternative URI of the resource.
              required: true
              schema:
                type: string
        "308":
          description: Permanent Redirect
          headers:
            Location:
              description: An alternative URI of the resource.
              required: true
              schema:
                type: string
        "400":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Bad request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Forbidden
        "404":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Not Found
        "411":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Length Required
        "413":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Content Too Large
        "415":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Unsupported Media Type
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Too Many Requests
        "500":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Internal Server Error
        "503":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Service Unavailable
        default:
          description: Generic Error
      x-openapi-router-controller: capif_security.controllers.default_controller
  /trustedInvokers/{apiInvokerId}/update:
    post:
      operationId: trusted_invokers_api_invoker_id_update_post
      parameters:
      - description: Identifier of an individual API invoker
        explode: false
        in: path
        name: apiInvokerId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceSecurity'
        description: Update the security context (e.g. re-negotiate the security methods).
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceSecurity'
          description: Successful updated.
        "307":
          description: Temporary Redirect
          headers:
            Location:
              description: An alternative URI of the resource.
              required: true
              schema:
                type: string
        "308":
          description: Permanent Redirect
          headers:
            Location:
              description: An alternative URI of the resource.
              required: true
              schema:
                type: string
        "400":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Bad request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Forbidden
        "404":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Not Found
        "411":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Length Required
        "413":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Content Too Large
        "415":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Unsupported Media Type
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Too Many Requests
        "500":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Internal Server Error
        "503":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          description: Service Unavailable
        default:
          description: Generic Error
      x-openapi-router-controller: capif_security.controllers.default_controller
components:
  responses:
    "307":
      description: Temporary Redirect
      headers:
        Location:
          description: An alternative URI of the resource.
          required: true
          schema:
            type: string
    "308":
      description: Permanent Redirect
      headers:
        Location:
          description: An alternative URI of the resource.
          required: true
          schema:
            type: string
    "400":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Bad request
    "401":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Unauthorized
    "403":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Forbidden
    "404":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Not Found
    "406":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Not Acceptable
    "414":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: URI Too Long
    "429":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Too Many Requests
    "500":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Internal Server Error
    "503":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Service Unavailable
    default:
      description: Generic Error
    "411":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Length Required
    "413":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Content Too Large
    "415":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Unsupported Media Type
  schemas:
    ServiceSecurity:
      description: |
        Represents the details of the security method for each service API interface. When included by the API invoker, it indicates the preferred method of security. When included by the CAPIF core function, it indicates the security method to be used for the service API interface.
      example:
        notificationDestination: notificationDestination
        supportedFeatures: supportedFeatures
        securityInfo:
        - selSecurityMethod: null
          authenticationInfo: authenticationInfo
          authorizationInfo: authorizationInfo
          interfaceDetails:
            ipv6Addr: ipv6Addr
            securityMethods:
            - PSK
            - PSK
            fqdn: fqdn
            port: 5248
            apiPrefix: apiPrefix
            ipv4Addr: ipv4Addr
          prefSecurityMethods:
          - null
          - null
          aefId: aefId
          grantType:
          - CLIENT_CREDENTIALS
          - CLIENT_CREDENTIALS
          apiId: apiId
        - selSecurityMethod: null
          authenticationInfo: authenticationInfo
          authorizationInfo: authorizationInfo
          interfaceDetails:
            ipv6Addr: ipv6Addr
            securityMethods:
            - PSK
            - PSK
            fqdn: fqdn
            port: 5248
            apiPrefix: apiPrefix
            ipv4Addr: ipv4Addr
          prefSecurityMethods:
          - null
          - null
          aefId: aefId
          grantType:
          - CLIENT_CREDENTIALS
          - CLIENT_CREDENTIALS
          apiId: apiId
        websockNotifConfig:
          requestWebsocketUri: true
          websocketUri: websocketUri
        requestTestNotification: true
      properties:
        securityInfo:
          items:
            $ref: '#/components/schemas/SecurityInformation'
          minimum: 1
          title: securityInfo
          type: array
        notificationDestination:
          description: string providing an URI formatted according to IETF RFC 3986.
          title: type
          type: string
        requestTestNotification:
          description: |
            Set to true by API invoker to request the CAPIF core function to send a test notification as defined in in clause 7.6. Set to false or omitted otherwise.
          title: requestTestNotification
          type: boolean
        websockNotifConfig:
          $ref: '#/components/schemas/WebsockNotifConfig'
        supportedFeatures:
          description: |
            A string used to indicate the features supported by an API that is used as defined in clause  6.6 in 3GPP TS 29.500. The string shall contain a bitmask indicating supported features in  hexadecimal representation Each character in the string shall take a value of "0" to "9",  "a" to "f" or "A" to "F" and shall represent the support of 4 features as described in  table 5.2.2-3. The most significant character representing the highest-numbered features shall  appear first in the string, and the character representing features 1 to 4 shall appear last  in the string. The list of features and their numbering (starting with 1) are defined  separately for each API. If the string contains a lower number of characters than there are  defined features for an API, all features that would be represented by characters that are not  present in the string are not supported.
          pattern: "^[A-Fa-f0-9]*$"
          title: supportedFeatures
          type: string
      required:
      - notificationDestination
      - securityInfo
      title: ServiceSecurity
      type: object
    SecurityInformation:
      description: Represents the interface details and the security method.
      example:
        selSecurityMethod: null
        authenticationInfo: authenticationInfo
        authorizationInfo: authorizationInfo
        interfaceDetails:
          ipv6Addr: ipv6Addr
          securityMethods:
          - PSK
          - PSK
          fqdn: fqdn
          port: 5248
          apiPrefix: apiPrefix
          ipv4Addr: ipv4Addr
        prefSecurityMethods:
        - null
        - null
        aefId: aefId
        grantType:
        - CLIENT_CREDENTIALS
        - CLIENT_CREDENTIALS
        apiId: apiId
      nullable: true
      oneOf:
      - required:
        - aefId
      - required:
        - interfaceDetails
      properties:
        interfaceDetails:
          $ref: '#/components/schemas/InterfaceDescription'
        aefId:
          description: Identifier of the API exposing function
          title: aefId
          type: string
        apiId:
          description: API identifier
          title: apiId
          type: string
        prefSecurityMethods:
          description: Security methods preferred by the API invoker for the API interface.
          items:
            $ref: '#/components/schemas/SecurityMethod'
          minItems: 1
          title: prefSecurityMethods
          type: array
        selSecurityMethod:
          $ref: '#/components/schemas/SecurityMethod'
        authenticationInfo:
          description: Authentication related information
          title: authenticationInfo
          type: string
        authorizationInfo:
          description: Authorization related information
          title: authorizationInfo
          type: string
        grantType:
          items:
            $ref: '#/components/schemas/OAuthGrantType'
          minItems: 1
          title: grantType
          type: array
      required:
      - prefSecurityMethods
      title: SecurityInformation
      type: object
    SecurityNotification:
      description: Represents the revoked authorization notification details.
      example:
        apiInvokerId: apiInvokerId
        cause: OVERLIMIT_USAGE
        aefId: aefId
        apiIds:
        - apiIds
        - apiIds
      properties:
        apiInvokerId:
          description: String identifying the API invoker assigned by the CAPIF core
            function.
          title: apiInvokerId
          type: string
        aefId:
          description: String identifying the AEF.
          title: aefId
          type: string
        apiIds:
          description: Identifier of the service API
          items:
            type: string
          minItems: 1
          title: apiIds
          type: array
        cause:
          $ref: '#/components/schemas/Cause'
      required:
      - apiIds
      - apiInvokerId
      - cause
      title: SecurityNotification
      type: object
    AccessTokenReq:
      description: Represents the access token request information.
      properties:
        grant_type:
          enum:
          - client_credentials
          - authorization_code
          type: string
        client_id:
          type: string
        resOwnerId:
          $ref: '#/components/schemas/ResOwnerId'
        client_secret:
          type: string
        scope:
          type: string
        authCode:
          type: string
        redirect_uri:
          type: string
      required:
      - client_id
      - grant_type
      type: object
    AccessTokenRsp:
      description: Represents the access token response information.
      example:
        access_token: access_token
        scope: scope
        token_type: Bearer
        expires_in: 0
      properties:
        access_token:
          description: |
            JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims)
          title: access_token
          type: string
        token_type:
          enum:
          - Bearer
          title: token_type
          type: string
        expires_in:
          description: Unsigned integer identifying a period of time in units of seconds.
          minimum: 0
          title: expires_in
          type: integer
        scope:
          title: scope
          type: string
      required:
      - access_token
      - expires_in
      - token_type
      title: AccessTokenRsp
      type: object
    AccessTokenClaims:
      description: Represents the claims data structure for the access token.
      properties:
        iss:
          type: string
        scope:
          type: string
        exp:
          description: Unsigned integer identifying a period of time in units of seconds.
          minimum: 0
          title: expires_in
          type: integer
        resOwnerId:
          $ref: '#/components/schemas/ResOwnerId'
      required:
      - exp
      - iss
      - scope
      type: object
    ResOwnerId:
      anyOf: []
      description: |
        Represents the identifier of the resource owner.
      nullable: true
      properties:
        gpsi:
          description: "String identifying a Gpsi shall contain either an External\
            \ Id or an MSISDN.  It shall be formatted as follows -External Identifier=\
            \ \"extid-'extid', where 'extid'  shall be formatted according to clause\
            \ 19.7.2 of 3GPP TS 23.003 that describes an  External Identifier. \n"
          pattern: "^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$"
          title: Gpsi
          type: string
      title: ResOwnerId
      type: object
    AccessTokenErr:
      description: Represents an error in the access token request.
      example:
        error_description: error_description
        error: invalid_request
        error_uri: error_uri
      properties:
        error:
          enum:
          - invalid_request
          - invalid_client
          - invalid_grant
          - unauthorized_client
          - unsupported_grant_type
          - invalid_scope
          title: error
          type: string
        error_description:
          title: error_description
          type: string
        error_uri:
          title: error_uri
          type: string
      required:
      - error
      title: AccessTokenErr
      type: object
    Cause:
      anyOf:
      - enum:
        - OVERLIMIT_USAGE
        - UNEXPECTED_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.
        type: string
      description: "Indicates the cause for revoking the API invoker's authorization\
        \ to the service API.  \nPossible values are:\n- OVERLIMIT_USAGE:\n     The\
        \ revocation of the authorization of the API invoker is due to the overlimit\n\
        \     usage of the service API\n- UNEXPECTED_REASON:\n     The revocation\
        \ of the authorization of the API invoker is due to unexpected reason.\n"
      title: Cause
    OAuthGrantType:
      anyOf:
      - enum:
        - CLIENT_CREDENTIALS
        - AUTHORIZATION_CODE
        - AUTHORIZATION_CODE_WITH_PKCE
        type: string
      - description: |
          This string provides forward-compatibility with future extensions to the enumeration and is not used to encode content defined in the present version of this API.
        type: string
      description: "Indicates the supported authorization flow (e.g. client credentials\
        \ flow, authorization code         flow, etc.) to the API invoker.  \nPossible\
        \ values are:\n- CLIENT_CREDENTIALS: Indicate that the grant type is is client\
        \ credentials flow.\n- AUTHORIZATION_CODE: Indicate that the grant type is\
        \ authorization code.\n- AUTHORIZATION_CODE_WITH_PKCE: Indicate that the grant\
        \ type is authorization code with PKCE.\n"
      title: OAuthGrantType
    ProblemDetails:
      description: Represents additional information and details on an error response.
      properties:
        type:
          description: string providing an URI formatted according to IETF RFC 3986.
          title: type
          type: string
        title:
          description: "A short, human-readable summary of the problem type. It should\
            \ not change from occurrence to occurrence of the problem. \n"
          title: title
          type: string
        status:
          description: The HTTP status code for this occurrence of the problem.
          title: status
          type: integer
        detail:
          description: A human-readable explanation specific to this occurrence of
            the problem.
          title: detail
          type: string
        instance:
          description: string providing an URI formatted according to IETF RFC 3986.
          title: type
          type: string
        cause:
          description: |
            A machine-readable application error cause specific to this occurrence of the problem. This IE should be present and provide application-related error information, if available.
          title: cause
          type: string
        invalidParams:
          description: |
            Description of invalid parameters, for a request rejected due to invalid parameters.
          items:
            $ref: '#/components/schemas/InvalidParam'
          minItems: 1
          title: invalidParams
          type: array
        supportedFeatures:
          description: |
            A string used to indicate the features supported by an API that is used as defined in clause  6.6 in 3GPP TS 29.500. The string shall contain a bitmask indicating supported features in  hexadecimal representation Each character in the string shall take a value of "0" to "9",  "a" to "f" or "A" to "F" and shall represent the support of 4 features as described in  table 5.2.2-3. The most significant character representing the highest-numbered features shall  appear first in the string, and the character representing features 1 to 4 shall appear last  in the string. The list of features and their numbering (starting with 1) are defined  separately for each API. If the string contains a lower number of characters than there are  defined features for an API, all features that would be represented by characters that are not  present in the string are not supported.
          pattern: "^[A-Fa-f0-9]*$"
          title: supportedFeatures
          type: string
      title: ProblemDetails
      type: object
    Uri:
      description: string providing an URI formatted according to IETF RFC 3986.
      title: type
      type: string
    InvalidParam:
      description: |
        Represents the description of invalid parameters, for a request rejected due to invalid parameters.
      properties:
        param:
          description: "Attribute's name encoded as a JSON Pointer, or header's name."
          title: param
          type: string
        reason:
          description: "A human-readable reason, e.g. \"must be a positive integer\"\
            ."
          title: reason
          type: string
      required:
      - param
      title: InvalidParam
      type: object
    ProblemDetails_1:
      description: Provides additional information in an error response.
      properties:
        type:
          description: String providing an URI formatted according to RFC 3986.
          title: Uri_1
          type: string
        title:
          type: string
        status:
          type: integer
        detail:
          description: A human-readable explanation specific to this occurrence of
            the problem.
          type: string
        instance:
          description: String providing an URI formatted according to RFC 3986.
          title: Uri_1
          type: string
        cause:
          description: |
            A machine-readable application error cause specific to this occurrence of the problem.  This IE should be present and provide application-related error information, if available.
          type: string
        invalidParams:
          items:
            $ref: '#/components/schemas/InvalidParam_1'
          minItems: 1
          type: array
        supportedFeatures:
          description: |
            A string used to indicate the features supported by an API that is used as defined in clause  6.6 in 3GPP TS 29.500. The string shall contain a bitmask indicating supported features in  hexadecimal representation Each character in the string shall take a value of "0" to "9",  "a" to "f" or "A" to "F" and shall represent the support of 4 features as described in  table 5.2.2-3. The most significant character representing the highest-numbered features shall  appear first in the string, and the character representing features 1 to 4 shall appear last  in the string. The list of features and their numbering (starting with 1) are defined  separately for each API. If the string contains a lower number of characters than there are  defined features for an API, all features that would be represented by characters that are not  present in the string are not supported.
          pattern: "^[A-Fa-f0-9]*$"
          title: supportedFeatures
          type: string
        accessTokenError:
          $ref: '#/components/schemas/AccessTokenErr_1'
        accessTokenRequest:
          $ref: '#/components/schemas/AccessTokenReq_1'
        nrfId:
          description: Fully Qualified Domain Name
          maxLength: 253
          minLength: 4
          pattern: "^([0-9A-Za-z]([-0-9A-Za-z]{0,61}[0-9A-Za-z])?\\.)+[A-Za-z]{2,63}\\\
            .?$"
          title: Fqdn
          type: string
        supportedApiVersions:
          items:
            type: string
          minItems: 1
          type: array
        noProfileMatchInfo:
          $ref: '#/components/schemas/NoProfileMatchInfo'
      type: object
    Uri_1:
      description: String providing an URI formatted according to RFC 3986.
      title: Uri_1
      type: string
    InvalidParam_1:
      description: It contains an invalid parameter and a related description.
      properties:
        param:
          description: |
            If the invalid parameter is an attribute in a JSON body, this IE shall contain the  attribute's name and shall be encoded as a JSON Pointer. If the invalid parameter is  an HTTP header, this IE shall be formatted as the concatenation of the string "header "  plus the name of such header. If the invalid parameter is a query parameter, this IE  shall be formatted as the concatenation of the string "query " plus the name of such  query parameter. If the invalid parameter is a variable part in the path of a resource  URI, this IE shall contain the name of the variable, including the symbols "{" and "}"  used in OpenAPI specification as the notation to represent variable path segments.
          title: param
          type: string
        reason:
          description: |
            A human-readable reason, e.g. "must be a positive integer". In cases involving failed  operations in a PATCH request, the reason string should identify the operation that  failed using the operation's array index to assist in correlation of the invalid  parameter with the failed operation, e.g." Replacement value invalid for attribute  (failed operation index= 4)"
          title: reason
          type: string
      required:
      - param
      title: InvalidParam_1
      type: object
    SupportedFeatures:
      description: |
        A string used to indicate the features supported by an API that is used as defined in clause  6.6 in 3GPP TS 29.500. The string shall contain a bitmask indicating supported features in  hexadecimal representation Each character in the string shall take a value of "0" to "9",  "a" to "f" or "A" to "F" and shall represent the support of 4 features as described in  table 5.2.2-3. The most significant character representing the highest-numbered features shall  appear first in the string, and the character representing features 1 to 4 shall appear last  in the string. The list of features and their numbering (starting with 1) are defined  separately for each API. If the string contains a lower number of characters than there are  defined features for an API, all features that would be represented by characters that are not  present in the string are not supported.
      pattern: "^[A-Fa-f0-9]*$"
      title: supportedFeatures
      type: string
    Fqdn:
      description: Fully Qualified Domain Name
      maxLength: 253
      minLength: 4
      pattern: "^([0-9A-Za-z]([-0-9A-Za-z]{0,61}[0-9A-Za-z])?\\.)+[A-Za-z]{2,63}\\\
        .?$"
      title: Fqdn
      type: string
    WebsockNotifConfig:
      description: |
        Represents the configuration information for the delivery of notifications over Websockets.
      example:
        requestWebsocketUri: true
        websocketUri: websocketUri
      properties:
        websocketUri:
          description: string formatted according to IETF RFC 3986 identifying a referenced
            resource.
          title: Link
          type: string
        requestWebsocketUri:
          description: Set by the SCS/AS to indicate that the Websocket delivery is
            requested.
          title: requestWebsocketUri
          type: boolean
      title: WebsockNotifConfig
      type: object
    Link:
      description: string formatted according to IETF RFC 3986 identifying a referenced
        resource.
      title: Link
      type: string
    InterfaceDescription:
      description: Represents the description of an API's interface.
      example:
        ipv6Addr: ipv6Addr
        securityMethods:
        - PSK
        - PSK
        fqdn: fqdn
        port: 5248
        apiPrefix: apiPrefix
        ipv4Addr: ipv4Addr
      nullable: true
      oneOf:
      - required:
        - ipv4Addr
      - required:
        - ipv6Addr
      - required:
        - fqdn
      properties:
        ipv4Addr:
          description: |
            string identifying a Ipv4 address formatted in the "dotted decimal" notation as defined in IETF RFC 1166.
          title: Ipv4Addr
          type: string
        ipv6Addr:
          description: |
            string identifying a Ipv6 address formatted according to clause 4 in IETF RFC 5952. The mixed Ipv4 Ipv6 notation according to clause 5 of IETF RFC 5952 shall not be used.
          title: Ipv6Addr
          type: string
        fqdn:
          description: Fully Qualified Domain Name
          maxLength: 253
          minLength: 4
          pattern: "^([0-9A-Za-z]([-0-9A-Za-z]{0,61}[0-9A-Za-z])?\\.)+[A-Za-z]{2,63}\\\
            .?$"
          title: Fqdn
          type: string
        port:
          description: Unsigned integer with valid values between 0 and 65535.
          maximum: 65535
          minimum: 0
          title: Port
          type: integer
        apiPrefix:
          description: |
            A string representing a sequence of path segments that starts with the slash character.
          title: apiPrefix
          type: string
        securityMethods:
          description: |
            Security methods supported by the interface, it take precedence over the security methods provided in AefProfile, for this specific interface.
          items:
            $ref: '#/components/schemas/SecurityMethod'
          minItems: 1
          title: securityMethods
          type: array
      title: InterfaceDescription
      type: object
    SecurityMethod:
      anyOf:
      - enum:
        - PSK
        - PKI
        - OAUTH
        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.
        type: string
      description: "Indicates the security method.  \nPossible values are:\n- PSK:\
        \ Security method 1 (Using TLS-PSK) as described in 3GPP TS 33.122.\n- PKI:\
        \ Security method 2 (Using PKI) as described in 3GPP TS 33.122.\n- OAUTH:\
        \ Security method 3 (TLS with OAuth token) as described in 3GPP TS 33.122.\n"
      title: SecurityMethod
    DurationSec:
      description: Unsigned integer identifying a period of time in units of seconds.
      minimum: 0
      title: expires_in
      type: integer
    Gpsi:
      description: "String identifying a Gpsi shall contain either an External Id\
        \ or an MSISDN.  It shall be formatted as follows -External Identifier= \"\
        extid-'extid', where 'extid'  shall be formatted according to clause 19.7.2\
        \ of 3GPP TS 23.003 that describes an  External Identifier. \n"
      pattern: "^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$"
      title: Gpsi
      type: string
    AccessTokenErr_1:
      description: Error returned in the access token response message
      properties:
        error:
          enum:
          - invalid_request
          - invalid_client
          - invalid_grant
          - unauthorized_client
          - unsupported_grant_type
          - invalid_scope
          title: error
          type: string
        error_description:
          title: error_description
          type: string
        error_uri:
          title: error_uri
          type: string
      required:
      - error
      title: AccessTokenErr_1
      type: object
    AccessTokenReq_1:
      description: Contains information related to the access token request
      properties:
        grant_type:
          enum:
          - client_credentials
          title: grant_type
          type: string
        nfInstanceId:
          description: "String uniquely identifying a NF instance. The format of the\
            \ NF Instance ID shall be a  Universally Unique Identifier (UUID) version\
            \ 4, as described in IETF RFC 4122. \n"
          format: uuid
          title: NfInstanceId
          type: string
        nfType:
          $ref: '#/components/schemas/NFType'
        targetNfType:
          $ref: '#/components/schemas/NFType'
        scope:
          pattern: "^([a-zA-Z0-9_:-]+)( [a-zA-Z0-9_:-]+)*$"
          title: scope
          type: string
        targetNfInstanceId:
          description: "String uniquely identifying a NF instance. The format of the\
            \ NF Instance ID shall be a  Universally Unique Identifier (UUID) version\
            \ 4, as described in IETF RFC 4122. \n"
          format: uuid
          title: NfInstanceId
          type: string
        requesterPlmn:
          $ref: '#/components/schemas/PlmnId'
        requesterPlmnList:
          items:
            $ref: '#/components/schemas/PlmnId'
          minItems: 2
          title: requesterPlmnList
          type: array
        requesterSnssaiList:
          items:
            $ref: '#/components/schemas/Snssai'
          minItems: 1
          title: requesterSnssaiList
          type: array
        requesterFqdn:
          description: Fully Qualified Domain Name
          maxLength: 253
          minLength: 4
          pattern: "^([0-9A-Za-z]([-0-9A-Za-z]{0,61}[0-9A-Za-z])?\\.)+[A-Za-z]{2,63}\\\
            .?$"
          title: Fqdn
          type: string
        requesterSnpnList:
          items:
            $ref: '#/components/schemas/PlmnIdNid'
          minItems: 1
          title: requesterSnpnList
          type: array
        targetPlmn:
          $ref: '#/components/schemas/PlmnId'
        targetSnpn:
          $ref: '#/components/schemas/PlmnIdNid'
        targetSnssaiList:
          items:
            $ref: '#/components/schemas/Snssai'
          minItems: 1
          title: targetSnssaiList
          type: array
        targetNsiList:
          items:
            type: string
          minItems: 1
          title: targetNsiList
          type: array
        targetNfSetId:
          description: "NF Set Identifier (see clause 28.12 of 3GPP TS 23.003), formatted\
            \ as the following string \"set<Set ID>.<nftype>set.5gc.mnc<MNC>.mcc<MCC>\"\
            , or  \"set<SetID>.<NFType>set.5gc.nid<NID>.mnc<MNC>.mcc<MCC>\" with \
            \ <MCC> encoded as defined in clause 5.4.2 (\"Mcc\" data type definition)\
            \  <MNC> encoding the Mobile Network Code part of the PLMN, comprising\
            \ 3 digits. \n  If there are only 2 significant digits in the MNC, one\
            \ \"0\" digit shall be inserted \n  at the left side to fill the 3 digits\
            \ coding of MNC.  Pattern: '^[0-9]{3}$'\n<NFType> encoded as a value defined\
            \ in Table 6.1.6.3.3-1 of 3GPP TS 29.510 but \n  with lower case characters\
            \ <Set ID> encoded as a string of characters consisting of \n  alphabetic\
            \ characters (A-Z and a-z), digits (0-9) and/or the hyphen (-) and that\
            \ \n  shall end with either an alphabetic character or a digit. \n"
          title: NfSetId
          type: string
        targetNfServiceSetId:
          description: "NF Service Set Identifier (see clause 28.12 of 3GPP TS 23.003)\
            \ formatted as the following  string \"set<Set ID>.sn<Service Name>.nfi<NF\
            \ Instance ID>.5gc.mnc<MNC>.mcc<MCC>\", or  \"set<SetID>.sn<ServiceName>.nfi<NFInstanceID>.5gc.nid<NID>.mnc<MNC>.mcc<MCC>\"\
            \ with  <MCC> encoded as defined in clause 5.4.2 (\"Mcc\" data type definition)\
            \   <MNC> encoding the Mobile Network Code part of the PLMN, comprising\
            \ 3 digits. \n  If there are only 2 significant digits in the MNC, one\
            \ \"0\" digit shall be inserted \n  at the left side to fill the 3 digits\
            \ coding of MNC.  Pattern: '^[0-9]{3}$'\n<NID> encoded as defined in clause\_\
            5.4.2 (\"Nid\" data type definition)  <NFInstanceId> encoded as defined\
            \ in clause 5.3.2  <ServiceName> encoded as defined in 3GPP TS 29.510\
            \  <Set ID> encoded as a string of characters consisting of alphabetic\
            \ \n  characters (A-Z and a-z), digits (0-9) and/or the hyphen (-) and\
            \ that shall end \n  with either an alphabetic character or a digit.\n"
          title: NfServiceSetId
          type: string
        hnrfAccessTokenUri:
          description: String providing an URI formatted according to RFC 3986.
          title: Uri_1
          type: string
        sourceNfInstanceId:
          description: "String uniquely identifying a NF instance. The format of the\
            \ NF Instance ID shall be a  Universally Unique Identifier (UUID) version\
            \ 4, as described in IETF RFC 4122. \n"
          format: uuid
          title: NfInstanceId
          type: string
      required:
      - grant_type
      - nfInstanceId
      - scope
      title: AccessTokenReq_1
      type: object
    NoProfileMatchInfo:
      description: Provides the reason for not finding NF matching the search criteria
      properties:
        reason:
          $ref: '#/components/schemas/NoProfileMatchReason'
        queryParamCombinationList:
          items:
            $ref: '#/components/schemas/QueryParamCombination'
          minItems: 1
          title: queryParamCombinationList
          type: array
      required:
      - reason
      title: NoProfileMatchInfo
      type: object
    NoProfileMatchReason:
      anyOf:
      - enum:
        - REQUESTER_PLMN_NOT_ALLOWED
        - TARGET_NF_SUSPENDED
        - TARGET_NF_UNDISCOVERABLE
        - QUERY_PARAMS_COMBINATION_NO_MATCH
        - TARGET_NF_TYPE_NOT_SUPPORTED
        - UNSPECIFIED
        type: string
      - type: string
      description: No Profile Match Reason
      title: NoProfileMatchReason
    QueryParamCombination:
      description: Contains a list of Query Parameters
      properties:
        queryParams:
          items:
            $ref: '#/components/schemas/QueryParameter'
          minItems: 1
          title: queryParams
          type: array
      required:
      - queryParams
      title: QueryParamCombination
      type: object
    QueryParameter:
      description: Contains the name and value of a query parameter
      properties:
        name:
          title: name
          type: string
        value:
          title: value
          type: string
      required:
      - name
      - value
      title: QueryParameter
      type: object
    Ipv4Addr:
      description: |
        string identifying a Ipv4 address formatted in the "dotted decimal" notation as defined in IETF RFC 1166.
      title: Ipv4Addr
      type: string
    Ipv6Addr:
      description: |
        string identifying a Ipv6 address formatted according to clause 4 in IETF RFC 5952. The mixed Ipv4 Ipv6 notation according to clause 5 of IETF RFC 5952 shall not be used.
      title: Ipv6Addr
      type: string
    Port:
      description: Unsigned integer with valid values between 0 and 65535.
      maximum: 65535
      minimum: 0
      title: Port
      type: integer
    NfInstanceId:
      description: "String uniquely identifying a NF instance. The format of the NF\
        \ Instance ID shall be a  Universally Unique Identifier (UUID) version 4,\
        \ as described in IETF RFC 4122. \n"
      format: uuid
      title: NfInstanceId
      type: string
    NFType:
      anyOf:
      - enum:
        - NRF
        - UDM
        - AMF
        - SMF
        - AUSF
        - NEF
        - PCF
        - SMSF
        - NSSF
        - UDR
        - LMF
        - GMLC
        - 5G_EIR
        - SEPP
        - UPF
        - N3IWF
        - AF
        - UDSF
        - BSF
        - CHF
        - NWDAF
        - PCSCF
        - CBCF
        - HSS
        - UCMF
        - SOR_AF
        - SPAF
        - MME
        - SCSAS
        - SCEF
        - SCP
        - NSSAAF
        - ICSCF
        - SCSCF
        - DRA
        - IMS_AS
        - AANF
        - 5G_DDNMF
        - NSACF
        - MFAF
        - EASDF
        - DCCF
        - MB_SMF
        - TSCTSF
        - ADRF
        - GBA_BSF
        - CEF
        - MB_UPF
        - NSWOF
        - PKMF
        - MNPF
        - SMS_GMSC
        - SMS_IWMSC
        - MBSF
        - MBSTF
        - PANF
        - IP_SM_GW
        - SMS_ROUTER
        - DCSF
        - MRF
        - MRFP
        - MF
        - SLPKMF
        - RH
        type: string
      - type: string
      description: NF types known to NRF
      title: NFType
    PlmnId:
      description: |
        When PlmnId needs to be converted to string (e.g. when used in maps as key), the string  shall be composed of three digits "mcc" followed by "-" and two or three digits "mnc".
      properties:
        mcc:
          description: "Mobile Country Code part of the PLMN, comprising 3 digits,\
            \ as defined in clause 9.3.3.5 of 3GPP TS 38.413. \n"
          pattern: "^\\d{3}$"
          title: Mcc
          type: string
        mnc:
          description: "Mobile Network Code part of the PLMN, comprising 2 or 3 digits,\
            \ as defined in  clause 9.3.3.5 of 3GPP TS 38.413. \n"
          pattern: "^\\d{2,3}$"
          title: Mnc
          type: string
      required:
      - mcc
      - mnc
      title: PlmnId
      type: object
    Mcc:
      description: "Mobile Country Code part of the PLMN, comprising 3 digits, as\
        \ defined in clause 9.3.3.5 of 3GPP TS 38.413. \n"
      pattern: "^\\d{3}$"
      title: Mcc
      type: string
    Mnc:
      description: "Mobile Network Code part of the PLMN, comprising 2 or 3 digits,\
        \ as defined in  clause 9.3.3.5 of 3GPP TS 38.413. \n"
      pattern: "^\\d{2,3}$"
      title: Mnc
      type: string
    Snssai:
      description: |
        When Snssai needs to be converted to string (e.g. when used in maps as key), the string shall be composed of one to three digits "sst" optionally followed by "-" and 6 hexadecimal digits "sd".
      properties:
        sst:
          description: "Unsigned integer, within the range 0 to 255, representing\
            \ the Slice/Service Type.  It indicates the expected Network Slice behaviour\
            \ in terms of features and services. Values 0 to 127 correspond to the\
            \ standardized SST range. Values 128 to 255 correspond  to the Operator-specific\
            \ range. See clause 28.4.2 of 3GPP TS 23.003. Standardized values are\
            \ defined in clause 5.15.2.2 of 3GPP TS 23.501. \n"
          maximum: 255
          minimum: 0
          title: sst
          type: integer
        sd:
          description: |
            3-octet string, representing the Slice Differentiator, in hexadecimal representation. Each character in the string shall take a value of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most significant character representing the 4 most significant bits of the SD shall appear first in the string, and the character representing the 4 least significant bit of the SD shall appear last in the string. This is an optional parameter that complements the Slice/Service type(s) to allow to  differentiate amongst multiple Network Slices of the same Slice/Service type. This IE shall be absent if no SD value is associated with the SST.
          pattern: "^[A-Fa-f0-9]{6}$"
          title: sd
          type: string
      required:
      - sst
      title: Snssai
      type: object
    PlmnIdNid:
      description: |
        Contains the serving core network operator PLMN ID and, for an SNPN, the NID that together with the PLMN ID identifies the SNPN.
      properties:
        mcc:
          description: "Mobile Country Code part of the PLMN, comprising 3 digits,\
            \ as defined in clause 9.3.3.5 of 3GPP TS 38.413. \n"
          pattern: "^\\d{3}$"
          title: Mcc
          type: string
        mnc:
          description: "Mobile Network Code part of the PLMN, comprising 2 or 3 digits,\
            \ as defined in  clause 9.3.3.5 of 3GPP TS 38.413. \n"
          pattern: "^\\d{2,3}$"
          title: Mnc
          type: string
        nid:
          description: "This represents the Network Identifier, which together with\
            \ a PLMN ID is used to identify an SNPN (see 3GPP TS 23.003 and 3GPP TS\
            \ 23.501 clause 5.30.2.1). \n"
          pattern: "^[A-Fa-f0-9]{11}$"
          title: Nid
          type: string
      required:
      - mcc
      - mnc
      title: PlmnIdNid
      type: object
    Nid:
      description: "This represents the Network Identifier, which together with a\
        \ PLMN ID is used to identify an SNPN (see 3GPP TS 23.003 and 3GPP TS 23.501\
        \ clause 5.30.2.1). \n"
      pattern: "^[A-Fa-f0-9]{11}$"
      title: Nid
      type: string
    NfSetId:
      description: "NF Set Identifier (see clause 28.12 of 3GPP TS 23.003), formatted\
        \ as the following string \"set<Set ID>.<nftype>set.5gc.mnc<MNC>.mcc<MCC>\"\
        , or  \"set<SetID>.<NFType>set.5gc.nid<NID>.mnc<MNC>.mcc<MCC>\" with  <MCC>\
        \ encoded as defined in clause 5.4.2 (\"Mcc\" data type definition)  <MNC>\
        \ encoding the Mobile Network Code part of the PLMN, comprising 3 digits.\
        \ \n  If there are only 2 significant digits in the MNC, one \"0\" digit shall\
        \ be inserted \n  at the left side to fill the 3 digits coding of MNC.  Pattern:\
        \ '^[0-9]{3}$'\n<NFType> encoded as a value defined in Table 6.1.6.3.3-1 of\
        \ 3GPP TS 29.510 but \n  with lower case characters <Set ID> encoded as a\
        \ string of characters consisting of \n  alphabetic characters (A-Z and a-z),\
        \ digits (0-9) and/or the hyphen (-) and that \n  shall end with either an\
        \ alphabetic character or a digit. \n"
      title: NfSetId
      type: string
    NfServiceSetId:
      description: "NF Service Set Identifier (see clause 28.12 of 3GPP TS 23.003)\
        \ formatted as the following  string \"set<Set ID>.sn<Service Name>.nfi<NF\
        \ Instance ID>.5gc.mnc<MNC>.mcc<MCC>\", or  \"set<SetID>.sn<ServiceName>.nfi<NFInstanceID>.5gc.nid<NID>.mnc<MNC>.mcc<MCC>\"\
        \ with  <MCC> encoded as defined in clause 5.4.2 (\"Mcc\" data type definition)\
        \   <MNC> encoding the Mobile Network Code part of the PLMN, comprising 3\
        \ digits. \n  If there are only 2 significant digits in the MNC, one \"0\"\
        \ digit shall be inserted \n  at the left side to fill the 3 digits coding\
        \ of MNC.  Pattern: '^[0-9]{3}$'\n<NID> encoded as defined in clause\_5.4.2\
        \ (\"Nid\" data type definition)  <NFInstanceId> encoded as defined in clause\
        \ 5.3.2  <ServiceName> encoded as defined in 3GPP TS 29.510  <Set ID> encoded\
        \ as a string of characters consisting of alphabetic \n  characters (A-Z and\
        \ a-z), digits (0-9) and/or the hyphen (-) and that shall end \n  with either\
        \ an alphabetic character or a digit.\n"
      title: NfServiceSetId
      type: string
