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

     1  openapi: 3.0.0
     2  
     3  info:
     4    version: '1.0.0'
     5    title: 'NSSF NSSAI Availability'
     6    description: 'NSSF NSSAI Availability Service'
     7  security:
     8    - {}
     9    - oAuth2Clientcredentials:
    10      - nnssf-nssaiavailability
    11  servers:
    12    - url: '{apiRoot}/nnssf-nssaiavailability/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    /nssai-availability/{nfId}:
    22      put:
    23        summary: Updates/replaces the NSSF with the S-NSSAIs the NF service consumer (e.g AMF)supports per TA
    24        tags:
    25          - NF Instance ID (Document)
    26        operationId: NSSAIAvailabilityPut
    27        parameters:
    28          - name: nfId
    29            in: path
    30            description: Identifier of the NF service consumer instance
    31            required: true
    32            schema:
    33              $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
    34        requestBody:
    35          description: Parameters to update/replace at the NSSF, the S-NSSAIs supported per TA
    36          required: true
    37          content:
    38            application/json:
    39              schema:
    40                $ref: '#/components/schemas/NssaiAvailabilityInfo'
    41        responses:
    42          '200':
    43            description: OK (Successful update of SNSSAI information per TA)
    44            content:
    45              application/json:
    46                schema:
    47                  $ref: '#/components/schemas/AuthorizedNssaiAvailabilityInfo'
    48          '400': 
    49            $ref: 'TS29571_CommonData.yaml#/components/responses/400'
    50          '401': 
    51            $ref: 'TS29571_CommonData.yaml#/components/responses/401'
    52          '403':
    53            $ref: 'TS29571_CommonData.yaml#/components/responses/403'
    54          '404':
    55            $ref: 'TS29571_CommonData.yaml#/components/responses/404'
    56  
    57          '411': 
    58            $ref: 'TS29571_CommonData.yaml#/components/responses/411'
    59          '413': 
    60            $ref: 'TS29571_CommonData.yaml#/components/responses/413'
    61          '415': 
    62            $ref: 'TS29571_CommonData.yaml#/components/responses/415'
    63          '429':
    64            $ref: 'TS29571_CommonData.yaml#/components/responses/429'
    65          '500': 
    66            $ref: 'TS29571_CommonData.yaml#/components/responses/500'
    67          '503': 
    68            $ref: 'TS29571_CommonData.yaml#/components/responses/503'
    69          default:
    70            description: Unexpected error
    71        
    72      patch:
    73        summary: Updates an already existing S-NSSAIs per TA provided by the NF service consumer (e.g AMF)
    74        tags:
    75          - NF Instance ID (Document)
    76        operationId: NSSAIAvailabilityPatch
    77        parameters:
    78          - name: nfId
    79            in: path
    80            description: Identifier of the NF service consumer instance
    81            required: true
    82            schema:
    83              type: string
    84        requestBody:
    85          description: JSON Patch instructions to update at the NSSF, the S-NSSAIs supported per TA
    86          required: true
    87          content:
    88            application/json-patch+json::
    89              schema:
    90                $ref: '#/components/schemas/PatchDocument'
    91              
    92        responses:
    93          '200':
    94            description: OK (Successful update of SNSSAI information per TA)
    95            content:
    96              application/json:
    97                schema:
    98                  $ref: '#/components/schemas/AuthorizedNssaiAvailabilityInfo'
    99          '400': 
   100            $ref: 'TS29571_CommonData.yaml#/components/responses/400'
   101          '401': 
   102            $ref: 'TS29571_CommonData.yaml#/components/responses/401'
   103          '403':
   104            $ref: 'TS29571_CommonData.yaml#/components/responses/403'
   105  
   106          '404':
   107            $ref: 'TS29571_CommonData.yaml#/components/responses/404'
   108  
   109          '411': 
   110            $ref: 'TS29571_CommonData.yaml#/components/responses/411'
   111          '413': 
   112            $ref: 'TS29571_CommonData.yaml#/components/responses/413'
   113          '415': 
   114            $ref: 'TS29571_CommonData.yaml#/components/responses/415'
   115          '429':
   116            $ref: 'TS29571_CommonData.yaml#/components/responses/429'
   117          '500': 
   118            $ref: 'TS29571_CommonData.yaml#/components/responses/500'
   119          '503': 
   120            $ref: 'TS29571_CommonData.yaml#/components/responses/503'
   121          default:
   122            description: Unexpected error
   123  
   124  
   125      delete:
   126        summary: Deletes an already existing S-NSSAIs per TA provided by the NF service consumer (e.g AMF)
   127        tags:
   128          - NF Instance ID (Document)
   129        operationId: NSSAIAvailabilityDelete
   130        parameters:
   131          - name: nfId
   132            in: path
   133            description: Identifier of the NF service consumer instance
   134            required: true
   135            schema:
   136              type: string
   137        
   138        responses:
   139          '204':
   140            description: No Content (Successful deletion of SNSSAI information per TA)
   141          '400':
   142            $ref: 'TS29571_CommonData.yaml#/components/responses/400'
   143          '401':
   144            $ref: 'TS29571_CommonData.yaml#/components/responses/401'
   145          '404':
   146            $ref: 'TS29571_CommonData.yaml#/components/responses/404'
   147  
   148          '429':
   149            $ref: 'TS29571_CommonData.yaml#/components/responses/429'
   150          '500': 
   151            $ref: 'TS29571_CommonData.yaml#/components/responses/500'
   152          '503': 
   153            $ref: 'TS29571_CommonData.yaml#/components/responses/503'
   154          
   155          default:
   156            description: Unexpected error
   157  
   158    
   159    /nssai-availability/subscriptions:
   160      post:
   161        summary: Creates subscriptions for notification about updates to NSSAI availability information
   162        tags:
   163          - Subscriptions (Collection)
   164        operationId: NSSAIAvailabilityPost
   165        requestBody:
   166          description: Subscription for notification about updates to NSSAI availability information
   167          required: true
   168          content:
   169            application/json:
   170              schema:
   171                $ref: '#/components/schemas/NssfEventSubscriptionCreateData'
   172        callbacks:
   173          nssaiAvailabilityNotification:
   174            '{request.body#/nfNssaiAvailabilityUri}':
   175              post:
   176                requestBody:  # contents of the callback message
   177                  required: true
   178                  content:
   179                    application/json:
   180                      schema:
   181                        $ref: '#/components/schemas/NssfEventNotification'
   182                responses:
   183                  '204':
   184                    description: No Content (successful notification)
   185                  '400':
   186                    $ref: 'TS29571_CommonData.yaml#/components/responses/400'
   187                  '411':
   188                    $ref: 'TS29571_CommonData.yaml#/components/responses/411'
   189                  '413':
   190                    $ref: 'TS29571_CommonData.yaml#/components/responses/413'
   191                  '415':
   192                    $ref: 'TS29571_CommonData.yaml#/components/responses/415'
   193                  '429':
   194                    $ref: 'TS29571_CommonData.yaml#/components/responses/429'
   195                  '500':
   196                    $ref: 'TS29571_CommonData.yaml#/components/responses/500'
   197                  '503':
   198                    $ref: 'TS29571_CommonData.yaml#/components/responses/503'
   199                  default:
   200                    description: Unexpected error
   201  
   202  
   203        responses:
   204          '201':
   205            description: Created (Successful creation of subscription for notification)
   206            content:
   207              application/json:
   208                schema:
   209                  $ref: '#/components/schemas/NssfEventSubscriptionCreatedData'
   210            headers:
   211              Location:
   212                description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nnssf-nssaiavailability/v1/nssai-availability/subscriptions/{subscriptionId}'
   213                required: true
   214                schema:
   215                  type: string
   216          '400': 
   217            $ref: 'TS29571_CommonData.yaml#/components/responses/400'
   218          '401': 
   219            $ref: 'TS29571_CommonData.yaml#/components/responses/401'
   220          '403':
   221            $ref: 'TS29571_CommonData.yaml#/components/responses/403'
   222          '404':
   223            $ref: 'TS29571_CommonData.yaml#/components/responses/404'
   224  
   225          '411': 
   226            $ref: 'TS29571_CommonData.yaml#/components/responses/411'
   227          '413': 
   228            $ref: 'TS29571_CommonData.yaml#/components/responses/413'
   229          '415': 
   230            $ref: 'TS29571_CommonData.yaml#/components/responses/415'
   231          '429':
   232            $ref: 'TS29571_CommonData.yaml#/components/responses/429'
   233          '500': 
   234            $ref: 'TS29571_CommonData.yaml#/components/responses/500'
   235          '503': 
   236            $ref: 'TS29571_CommonData.yaml#/components/responses/503'
   237          default:
   238            description: Unexpected error
   239  
   240    /nssai-availability/subscriptions/{subscriptionId}:
   241      delete:
   242        summary: Deletes an already existing NSSAI availability notification subscription
   243        tags:
   244          - Subscription ID (Document)
   245        operationId: NSSAIAvailabilityUnsubscribe
   246        parameters:
   247          - name: subscriptionId
   248            in: path
   249            description: Identifier of the subscription for notification
   250            required: true
   251            schema:
   252              type: string
   253        
   254        responses:
   255          '204':
   256            description: No Content (Successful deletion of subscription for NSSAI Availability notification) 
   257          '400': 
   258            $ref: 'TS29571_CommonData.yaml#/components/responses/400'
   259          '401': 
   260            $ref: 'TS29571_CommonData.yaml#/components/responses/401'
   261          '404': 
   262            $ref: 'TS29571_CommonData.yaml#/components/responses/404'
   263  
   264          '429':
   265            $ref: 'TS29571_CommonData.yaml#/components/responses/429'
   266          '500': 
   267            $ref: 'TS29571_CommonData.yaml#/components/responses/500'
   268          '503': 
   269            $ref: 'TS29571_CommonData.yaml#/components/responses/503'
   270          
   271          default:
   272            description: Unexpected error
   273    
   274  components:
   275    securitySchemes:
   276      oAuth2ClientCredentials:
   277        type: oauth2
   278        flows: 
   279          clientCredentials: 
   280            tokenUrl: '{nrfApiRoot}/oauth2/token'
   281            scopes:
   282              nnssf-nssaiavailability: Access to the Nnssf_NSSAIAvailability API
   283  
   284    schemas:
   285      NssaiAvailabilityInfo:
   286        type: object
   287        required:
   288          - supportedNssaiAvailabilityData
   289        properties:
   290          supportedNssaiAvailabilityData:
   291            type: array
   292            items:
   293              $ref: '#/components/schemas/SupportedNssaiAvailabilityData'
   294            minItems: 1
   295          supportedFeatures:
   296            $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
   297      
   298      SupportedNssaiAvailabilityData:
   299        type: object
   300        required:
   301          - tai
   302          - supportedSnssaiList
   303        properties:
   304          tai:
   305            $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai'
   306          supportedSnssaiList:
   307            type: array
   308            items:
   309              $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   310            minItems: 1
   311      
   312      AuthorizedNssaiAvailabilityData:
   313        type: object
   314        required:
   315          - tai
   316          - supportedSnssaiList
   317        properties:
   318          tai:
   319            $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai'
   320          supportedSnssaiList:
   321            type: array
   322            items:
   323              $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   324            minItems: 1
   325          restrictedSnssaiList:
   326            type: array
   327            items:
   328              $ref: '#/components/schemas/RestrictedSnssai'
   329            minItems: 1
   330      
   331      RestrictedSnssai:
   332        type: object
   333        required:
   334          - homePlmnId
   335          - sNssaiList
   336        properties:
   337          homePlmnId:
   338            $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
   339          sNssaiList:
   340            type: array
   341            items:
   342              $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
   343            minItems: 1
   344      
   345      AuthorizedNssaiAvailabilityInfo:
   346        type: object
   347        required:
   348          - authorizedNssaiAvailabilityData
   349        properties:
   350          authorizedNssaiAvailabilityData:
   351            type: array
   352            items:
   353              $ref: '#/components/schemas/AuthorizedNssaiAvailabilityData'
   354            minItems: 1
   355          supportedFeatures:
   356            $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
   357      
   358      NssfEventSubscriptionCreateData:
   359        type: object
   360        required:
   361          - nfNssaiAvailabilityUri
   362          - taiList
   363          - event
   364        properties:
   365          nfNssaiAvailabilityUri:
   366            $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
   367          taiList:
   368            type: array
   369            items:
   370              $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai'
   371            minItems: 1
   372          event:
   373            $ref: '#/components/schemas/NssfEventType'
   374          expiry:
   375            $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
   376      
   377      NssfEventSubscriptionCreatedData:
   378        type: object
   379        required:
   380          - subscriptionId
   381        properties:
   382          subscriptionId:
   383            type: string
   384          expiry:
   385            $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
   386          authorizedNssaiAvailabilityData:
   387            type: array
   388            items:
   389              $ref: '#/components/schemas/AuthorizedNssaiAvailabilityData'
   390            minItems: 1
   391      
   392      NssfEventNotification:
   393        type: object
   394        required:
   395          - subscriptionId
   396          - authorizedNssaiAvailabilityData
   397        properties:
   398          subscriptionId:
   399            type: string
   400          authorizedNssaiAvailabilityData:
   401            type: array
   402            items:
   403              $ref: '#/components/schemas/AuthorizedNssaiAvailabilityData'
   404            minItems: 1
   405      NssfEventType:
   406        anyOf:
   407          - type: string
   408            enum:
   409              - SNSSAI_STATUS_CHANGE_REPORT
   410          - type: string
   411      PatchDocument:
   412        type: array
   413        items:
   414          $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem'
   415        minItems: 1