Commit d8f57334 authored by wangrro's avatar wangrro
Browse files

Edit TS29506_Aiot_Data.yaml, preliminary implementation after CT4#133 meeting.

parent d1faf14e
Loading
Loading
Loading
Loading
Loading
+122 −33
Original line number Diff line number Diff line
@@ -5,12 +5,12 @@ info:
  title: Unified Data Repository Service API file for Ambient IoT data
  description: |
    The API version is defined in 3GPP TS 29.504  
    © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  
    © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  
    All rights reserved.

externalDocs:
  description: >
    3GPP TS 29.506 V19.1.0; 5G System; Usage of the Unified Data Repository Service for AIoT Data
    3GPP TS 29.506 V19.2.0; 5G System; Usage of the Unified Data Repository Service for AIoT Data
  url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.506/'

paths:
@@ -22,7 +22,7 @@ paths:
       schema:
         $ref: 'TS29571_CommonData.yaml#/components/schemas/AiotDevPermId'
    get:
      summary: Retrieves the AIoT device profile data for an AIoT device permanent identifier
      summary: Retrieves the AIoT device profile data for a given AIoT device permanent identifier
      operationId: ReadAiotDeviceProfileData
      tags:
        - AiotDeviceProfileData (Document)
@@ -39,7 +39,7 @@ paths:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiotDeviceProfileData'
                $ref: 'TS29369_Nadm_DM.yaml#/components/schemas/AiotDevProfileData'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '401':
@@ -65,7 +65,7 @@ paths:
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'
    patch:
      summary: Modify the AIoT device profile data for an AIoT device permanent identifier.
      summary: Modify the AIoT device profile data for a given AIoT device permanent identifier.
      operationId: UpdateAiotDeviceProfileData
      tags:
        - AiotDeviceProfileData (Document)
@@ -85,9 +85,9 @@ paths:
      requestBody:
        required: true
        content:
          application/merge-patch+json:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/AiotDeviceProfileDataPatch'
              $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem'
      responses:
        '200':
          description: Expected response to a valid request.
@@ -126,6 +126,120 @@ paths:
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

  /aiot-data/aiot-device-profile-data:
    get:
      summary: Retrieves the AIoT device profile data for bundled AIoT devices
      operationId: ReadBundledAiotDeviceProfileData
      tags:
        - BundledAiotDeviceProfileData (Document)
      parameters:
        - name: requester-aiot-devices-id
          in: query
          description: a list of AIoT Device Permanent ID
          required: true
          style: form
          explode: false
          schema:
            type: array
            items:
              $ref: 'TS29571_CommonData.yaml#/components/schemas/AiotDevPermId'
            minItems: 1
      security:
        - {}
        - oAuth2ClientCredentials:
          - nudr-dr
          - nudr-dr:aiot-data:aiot-device-profile-data
          - nudr-dr:aiot-data:aiot-device-profile-data:read
      responses:
        '200':
          description: >
            Upon success, a response body containing bundled AIoT device profile data shall be returned.
          content:
            application/json:
              schema:
                $ref: 'TS29369_Nadm_DM.yaml#/components/schemas/AiotDevProfileDataList'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29571_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '406':
          $ref: 'TS29571_CommonData.yaml#/components/responses/406'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '502':
          $ref: 'TS29571_CommonData.yaml#/components/responses/502'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

    patch:
      summary: Modify the AIoT device profile data for bundled AIoT devices.
      operationId: UpdateBundledAiotDeviceProfileData
      tags:
        - BundledAiotDeviceProfileData (Document)
      security:
        - {}
        - oAuth2ClientCredentials:
          - nudr-dr
          - nudr-dr:aiot-data:aiot-device-profile-data
          - nudr-dr:aiot-data:aiot-device-profile-data:modify
      parameters:
        - name: supported-features
          in: query
          description: Supported Features
          required: true
          schema:
             $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
      requestBody:
        required: true
        content:
          application/merge-patch+json:
            schema:
              type: array
              items:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem'
      responses:
        '200':
          description: Expected response to a valid request.
          content:
            application/json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult'
        '204':
          description: No content. Response to successful modification.
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29571_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '502':
          $ref: 'TS29571_CommonData.yaml#/components/responses/502'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'


  /aiot-data/af-authorization-data:
    get:
      summary: get AF Authorization Data
@@ -136,7 +250,7 @@ paths:
        - {}
        - oAuth2ClientCredentials:
          - nudr-dr:aiot-data:af-authorization-data
          - nudr-dr:aiot-data:af-authorization-data:AfId
          - nudr-dr:aiot-data:af-authorization-data:read
      parameters:
        - name: af-id
          in: query
@@ -178,31 +292,6 @@ components:

# STRUCTURED TYPES

    AiotDeviceProfileData:
      description: Contains the AIoT device profile data for a given AIoT device permanent id.
      type: object
      properties:
        aiotDevPermId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AiotDevPermId'
        lastKnownAiotfInfo:
          $ref: 'TS29369_Nadm_DM.yaml#/components/schemas/LastKnownAiotfInfo'
        tidCurrent:
          $ref: 'TS29369_Nadm_DM.yaml#/components/schemas/Tid'
        tidPrevious:
          $ref: 'TS29369_Nadm_DM.yaml#/components/schemas/Tid'
      required:
        - aiotDevPermId
        - lastKnownAiotfInfo

    AiotDeviceProfileDataPatch:
      description: Contains the modifiable AIoT device profile data for a given AIoT device permanent Id.
      type: object
      properties:
        lastKnownAiotfInfo:
          $ref: 'TS29369_Nadm_DM.yaml#/components/schemas/LastKnownAiotfInfo'
          description: >
            Contains Last known AIOTF that serves the AIoT device, or unknown.



# ENUMS: