3GPP TS 29.522 Data Reporting API

API for 3GPP Data Reporting. An OpenAPI 3.0.0 document with 3 path(s), API version 1.2.0, published verbatim by 3GPP in 3GPP TS 29.522 as part of the 5G NEF Northbound (Network Exposure) suite and mirrored in the public 3GPP Forge GitLab repository.

OpenAPI Specification

3gpp-ts29522-datareporting.yml Raw ↑
openapi: 3.0.0
info:
  title: 3gpp-data-reporting
  version: 1.2.0
  description: |
    API for 3GPP Data Reporting.  
    © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  
    All rights reserved.

externalDocs:
  description: >
    3GPP TS 29.522 V19.5.0; 5G System; Network Exposure Function Northbound APIs.
  url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/'

security:
  - {}
  - oAuth2ClientCredentials: []

servers:
  - url: '{apiRoot}/3gpp-data-reporting/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122.

paths:
  /sessions:
    post:
      summary: Create a new Data Reporting Session.
      operationId: CreateDataRepSession
      tags:
        - Data Reporting Sessions
      requestBody:
        description: >
          Representation of the Data Reporting Session to be created in the NEF.
        required: true
        content:
          application/json:
            schema:
              $ref: 'TS26532_Ndcaf_DataReporting.yaml#/components/schemas/DataReportingSession'
      responses:
        '201':
          description: Created. Successful creation of a new Data Reporting Session.
          content:
            application/json:
              schema:
                $ref: 'TS26532_Ndcaf_DataReporting.yaml#/components/schemas/DataReportingSession'
          headers:
            Location:
              required: true
              schema:
                type: string
              description: >
                Contains the URI of the newly created resource, according to the structure
                {apiRoot}/3gpp-data-reporting/<apiVersion>/sessions/{sessionId}
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29122_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29122_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29122_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'

  /sessions/{sessionId}:
    parameters:
      - name: sessionId
        in: path
        description: Identifier of the Data Reporting Session.
        required: true
        schema:
          type: string
    get:
      summary: Request the retrieval of an existing Individual Data Reporting Session resource.
      operationId: GetIndDataRepSession
      tags:
        - Individual Data Reporting Session
      responses:
        '200':
          description: >
            OK. The requested Individual Data Reporting Session resource is
            Successfully returned.
          content:
            application/json:
              schema:
                $ref: 'TS26532_Ndcaf_DataReporting.yaml#/components/schemas/DataReportingSession'
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29122_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29122_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29122_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'

    put:
      summary: Request the update of an existing Individual Data Reporting Session resource.
      operationId: UpdateIndDataRepSession
      tags:
        - Individual Data Reporting Session
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: 'TS26532_Ndcaf_DataReporting.yaml#/components/schemas/DataReportingSession'
      responses:
        '200':
          description: >
            OK. The Individual Data Reporting Session resource was successfully
            updated.
          content:
            application/json:
              schema:
                $ref: 'TS26532_Ndcaf_DataReporting.yaml#/components/schemas/DataReportingSession'
        '204':
          description: >
            No Content. The Individual Data Reporting Session resource was successfully
            updated and no content is returned in the response body.
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29122_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29122_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29122_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'

    delete:
      summary: Deletes an already existing Data Reporting Session resource.
      operationId: DeleteIndDataRepSession
      tags:
        - Individual Data Reporting Session
      responses:
        '204':
          description: >
            No Content. The concerned Individual Data Reporting Session resource was
            successfully deleted.
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'

  /sessions/{sessionId}/report:
    parameters:
      - name: sessionId
        in: path
        description: Identifier of the Data Reporting Session.
        required: true
        schema:
          type: string
    post:
      summary: Report collected UE data.
      operationId: ReportUEData
      tags:
        - Individual Data Reporting Session
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: 'TS26532_Ndcaf_DataReporting.yaml#/components/schemas/DataReport'
      responses:
        '200':
          description: OK. The UE data report was successfully received.
          content:
            application/json:
              schema:
                $ref: 'TS26532_Ndcaf_DataReporting.yaml#/components/schemas/DataReportingSession'
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29122_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29122_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29122_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'

components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: '{tokenUrl}'
          scopes: {}