openapi: 3.0.0

info:
  version: 1.1.1
  title: 'Nudr_GroupIDmap'
  description: |
    Unified Data Repository Service for NF-Group ID retrieval.  
    © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  
    All rights reserved.

externalDocs:
  description: 3GPP TS 29.504 V17.20.0; 5G System; Unified Data Repository Services; Stage 3
  url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.504/'

servers:
  - description: API root
    url: '{apiRoot}/nudr-group-id-map/v1'
    variables:
      apiRoot:
        default: https://example.com

security:
  - {}
  - oAuth2ClientCredentials:
      - nudr-group-id-map

paths:
  /nf-group-ids:
    get:
      summary: Retrieves NF-Group IDs for provided Subscriber and NF types
      operationId: GetNfGroupIDs
      tags:
        - NF Group IDs (Document)
      parameters:
        - name: nf-type
          in: query
          description: Type of NF
          required: true
          style: form
          explode: false
          schema:
            type: array
            items:
              $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType'
            minItems: 1
        - name: subscriberId
# The name of this query parameter is left not following the naming convention as defined in 3GPP TS 29.501 due to backward compatibility consideration.
          in: query
          description: Identifier of the subscriber
          required: true
          schema:
            $ref: '#/components/schemas/SubscriberId'
      responses:
        '200':
          description: >
            Expected response to a valid request; it shall contain a map (list of key-value
            pairs) where NFType is the key of the map
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId'
                minProperties: 1
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        default:
          description: Unexpected error


components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: '{nrfApiRoot}/oauth2/token'
          scopes:
            nudr-group-id-map: Access to the Nudr_GroupIDmap API



  schemas:

# COMPLEX TYPES:


# SIMPLE TYPES:

    SubscriberId:
      description: Represents the Subscription Identifier SUPI or GPSI or IMPI or IMPU.
      type: string
      pattern: '^(imsi-[0-9]{5,15}|nai-.+|msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|impi-.+|impu-.+|.+)$'

# ENUMS:
