github.com/free5gc/openapi@v1.0.8/Nnssf_NSSelection/api/openapi.yaml (about)

     1  openapi: 3.0.0
     2  
     3  info:
     4    version: '1.0.0'
     5    title: 'NSSF NS Selection'
     6    description: 'NSSF Network Slice Selection Service'
     7  security:
     8    - {}
     9    - oAuth2Clientcredentials:
    10      - nnssf-nsselection
    11  servers:
    12    - url: '{apiRoot}/nnssf-nsselection/v1'
    13      variables:
    14        apiRoot:
    15          default: https://example.com
    16          description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501
    17  externalDocs:
    18    description: 3GPP TS 29.531 V15.2.0; 5G System; Network Slice Selection Services; Stage 3
    19    url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.531/
    20  paths:
    21    /network-slice-information:
    22      get:
    23        summary:  Retrieve the Network Slice Selection Information 
    24        tags:
    25          - Network Slice Information (Document)
    26        operationId: NSSelectionGet
    27        parameters:
    28          - name: nf-type
    29            in: query
    30            description: NF type of the NF service consumer
    31            required: true
    32            schema:
    33              $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType'
    34          - name: nf-id
    35            in: query
    36            description: NF Instance ID of the NF service consumer
    37            required: true
    38            schema:
    39              $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
    40          - name: slice-info-request-for-registration
    41            in: query
    42            description: Requested network slice information during Registration procedure
    43            content:
    44              application/json:
    45                schema:
    46                  $ref: '#/components/schemas/SliceInfoForRegistration'
    47          - name: slice-info-request-for-pdu-session
    48            in: query
    49            description: Requested network slice information during PDU session establishment procedure
    50            content:
    51              application/json:
    52                schema:
    53                  $ref: '#/components/schemas/SliceInfoForPDUSession'
    54          - name: home-plmn-id
    55            in: query
    56            description: PLMN ID of the HPLMN
    57            content:
    58              application/json:
    59                schema:
    60                  $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
    61          - name: tai
    62            in: query
    63            description: TAI of the UE
    64            content:
    65              application/json:
    66                schema:
    67                  $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai'
    68          - name: supported-features
    69            in: query
    70            description: Features required to be supported by the NFs in the target slice instance
    71            schema:
    72              $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
    73                
    74        responses:
    75          '200':
    76            description: OK (Successful Network Slice Selection)
    77            content:
    78              application/json:
    79                schema:
    80                  $ref: '#/components/schemas/AuthorizedNetworkSliceInfo'
    81          '400': 
    82            $ref: 'TS29571_CommonData.yaml#/components/responses/400'
    83          '401':
    84            $ref: 'TS29571_CommonData.yaml#/components/responses/401'
    85          '403':
    86            $ref: 'TS29571_CommonData.yaml#/components/responses/403'
    87          '404':
    88            $ref: 'TS29571_CommonData.yaml#/components/responses/404'
    89          '406':
    90            $ref: 'TS29571_CommonData.yaml#/components/responses/406'
    91          '414': 
    92            $ref: 'TS29571_CommonData.yaml#/components/responses/414'
    93          '429':
    94            $ref: 'TS29571_CommonData.yaml#/components/responses/429'
    95          '500': 
    96            $ref: 'TS29571_CommonData.yaml#/components/responses/500'
    97          '503': 
    98            $ref: 'TS29571_CommonData.yaml#/components/responses/503'
    99          default:
   100            description: Unexpected error
   101  
   102  components:
   103    securitySchemes:
   104      oAuth2ClientCredentials:
   105        type: oauth2
   106        flows: 
   107          clientCredentials: 
   108            tokenUrl: '{nrfApiRoot}/oauth2/token'
   109            scopes:
   110              nnssf-nsselection: Access to the Nnssf_NSSelection API
   111    schemas:
   112      AuthorizedNetworkSliceInfo:
   113        type: object
   114        properties:
   115          allowedNssaiList:
   116            type: array
   117            items:
   118              $ref: '#/components/schemas/AllowedNssai'
   119            minItems: 1
   120          configuredNssai:
   121            type: array
   122            items:
   123              $ref: '#/components/schemas/ConfiguredSnssai'
   124            minItems: 1
   125          targetAmfSet:
   126            type: string
   127          candidateAmfList:
   128            type: array
   129            items:
   130              $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
   131            minItems: 1
   132          rejectedNssaiInPlmn:
   133            type: array
   134            items:
   135              $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   136            minItems: 1
   137          rejectedNssaiInTa:
   138            type: array
   139            items:
   140              $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   141            minItems: 1
   142          nsiInformation:
   143            $ref: '#/components/schemas/NsiInformation'
   144          supportedFeatures:
   145            $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
   146          nrfAmfSet:
   147            $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
   148        
   149      SubscribedSnssai:
   150        type: object
   151        required:
   152          - subscribedSnssai
   153        properties:
   154          subscribedSnssai:
   155            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   156          defaultIndication:
   157            type: boolean
   158        
   159      
   160      AllowedSnssai:
   161        type: object
   162        required:
   163          - allowedSnssai
   164        properties:
   165          allowedSnssai:
   166            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   167          nsiInformationList:
   168            type: array
   169            items:
   170              $ref: '#/components/schemas/NsiInformation'
   171            minItems: 1
   172          mappedHomeSnssai:
   173            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   174      
   175      AllowedNssai:
   176        type: object
   177        required:
   178          - allowedSnssaiList
   179          - accessType
   180        properties:
   181          allowedSnssaiList:
   182            type: array
   183            items:
   184              $ref: '#/components/schemas/AllowedSnssai'
   185            minItems: 1
   186          accessType:
   187            $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
   188      
   189      NsiInformation:
   190        type: object
   191        required:
   192          - nrfId
   193        properties:
   194          nrfId:
   195            $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
   196          nsiId:
   197            $ref: '#/components/schemas/NsiId'
   198      
   199      MappingOfSnssai:
   200        type: object
   201        required:
   202          - servingSnssai
   203          - homeSnssai
   204        properties:
   205          servingSnssai:
   206            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   207          homeSnssai:
   208            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   209      
   210      
   211      SliceInfoForRegistration:
   212        type: object
   213        properties:
   214          subscribedNssai:
   215            type: array
   216            items:
   217              $ref: '#/components/schemas/SubscribedSnssai'
   218            minItems: 1
   219          allowedNssaiCurrentAccess:
   220            $ref: '#/components/schemas/AllowedNssai'
   221          allowedNssaiOtherAccess:
   222            $ref: '#/components/schemas/AllowedNssai'
   223          sNssaiForMapping:
   224            type: array
   225            items:
   226              $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   227            minItems: 1
   228          requestedNssai:
   229            type: array
   230            items:
   231              $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   232            minItems: 1
   233          defaultConfiguredSnssaiInd:
   234            type: boolean
   235          mappingOfNssai:
   236            type: array
   237            items:
   238              $ref: '#/components/schemas/MappingOfSnssai'
   239            minItems: 1
   240          requestMapping:
   241            type: boolean
   242      
   243      SliceInfoForPDUSession:
   244        type: object
   245        required:
   246          - sNssai
   247          - roamingIndication
   248        properties:
   249          sNssai:
   250            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   251          roamingIndication:
   252            $ref: '#/components/schemas/RoamingIndication'
   253          homeSnssai:
   254            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   255      
   256      ConfiguredSnssai:
   257        type: object
   258        required:
   259          - configuredSnssai
   260        properties:
   261          configuredSnssai:
   262            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   263          mappedHomeSnssai:
   264            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   265      
   266      
   267      RoamingIndication:
   268        anyOf:
   269          - type: string
   270            enum:
   271              - NON_ROAMING
   272              - LOCAL_BREAKOUT
   273              - HOME_ROUTED_ROAMING
   274          - type: string
   275      NsiId:
   276        type: string