openapi: 3.0.0

info:
  version: '1.0.0.alpha-1'
  title: 'Nudm_NIDDAU'
  description: 'Nudm NIDD Authorization Service'

externalDocs:
  description: 3GPP TS 29.503 Unified Data Management Services, version 16.0.0
  url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.503/'

servers:
  - url: '{apiRoot}/nudm-niddau/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in subclause subclause 4.4 of 3GPP TS 29.501.

security:
  - oAuth2ClientCredentials:
    - nudm-niddau
  - {}

paths:
  /{ueIdentity}/authorization:
    get:
      summary: retrieve multiple data sets
      operationId: GetAuthorizationData
      tags:
        - Retrieval of multiple data sets
      parameters:
        - name: ueIdentity
          in: path
          description: Represents the scope of the UE for which the NIDD Authorizations are retrieved. Contains the GPSI of the user or the external group ID.
          required: true
          schema:
            type: string
            pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+)$'
        - name: supported-features
          in: query
          description: Supported Features
          schema:
             $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        - name: nssai
          in: query
          content:
            application/json:
              schema:
                $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/Nssai'
        - name: dnn
          in: query
          description: DNN
          schema:
             $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        - name: mtcProviderInformation
          in: query
          description: mtcProviderInformation
          schema:
             $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation'
        - name: If-None-Match
          in: header
          description: Validator for conditional requests, as described in RFC 7232, 3.2
          schema:
            type: string
      responses:
        '200':
          description: Expected response to a valid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationData'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        default:
          description: Unexpected error


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

  schemas:

# COMPLEX TYPES:
#
    AuthorizationData:
      type: array
      items:
        $ref: '#/components/schemas/UserIdentifier'
      minItems: 1
      uniqueItems: true

    UserIdentifier:
      type: object
      required:
        - supi
      properties:
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'




# SIMPLE TYPES:



# ENUMS: