B.4 Ndcaf_DataReporting service API
26.5323GPPData Collection and ReportingProtocols and FormatsRelease 17TS
|
openapi: 3.0.0 info: title: Ndcaf_DataReporting version: 1.1.0 description: | Data Collection AF: Data Collection and Reporting Configuration API and Data Reporting API © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: – name: Ndcaf_DataReporting description: ‘Data Collection and Reporting: Client Configuration and Data Reporting (R2/R3/R4) APIs’ externalDocs: description: ‘TS 26.532 V17.1.0; Data Collection and Reporting; Protocols and Formats’ url: ‘https://www.3gpp.org/ftp/Specs/archive/26_series/26.532/’ servers: – url: ‘{apiRoot}/3gpp-ndcaf_data-reporting/v1’ variables: apiRoot: default: https://example.com description: See 3GPP TS 29.532 clause 5.2. security: – {} – oAuth2ClientCredentials: [] paths: /sessions: post: operationId: CreateSession summary: ‘Create a new Data Reporting Session’ requestBody: required: true content: application/json: schema: $ref: ‘#/components/schemas/DataReportingSession’ responses: ‘201’: description: ‘Data Reporting Session successfully created’ headers: Location: description: ‘URL including the resource identifier of the newly created Data Reporting Session.’ required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’ content: application/json: schema: $ref: ‘#/components/schemas/DataReportingSession’ ‘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’ ‘503’: $ref: ‘TS29571_CommonData.yaml#/components/responses/503’ default: $ref: ‘TS29571_CommonData.yaml#/components/responses/default’ /sessions/{sessionId}: parameters: – name: sessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Data Reporting Session.’ get: operationId: RetrieveSession summary: ‘Retrieve an existing Data Reporting Session’ responses: ‘200’: description: ‘Representation of Data Reporting Session is returned’ content: application/json: schema: $ref: ‘#/components/schemas/DataReportingSession’ ‘307’: $ref: ‘TS29571_CommonData.yaml#/components/responses/307’ ‘308’: $ref: ‘TS29571_CommonData.yaml#/components/responses/308’ ‘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’ ‘503’: $ref: ‘TS29571_CommonData.yaml#/components/responses/503’ default: $ref: ‘TS29571_CommonData.yaml#/components/responses/default’ delete: operationId: DestroySession summary: ‘Destroy an existing Data Reporting Session’ responses: ‘204’: description: ‘Data Reporting Session resource successfully destroyed’ # No Content ‘307’: $ref: ‘TS29571_CommonData.yaml#/components/responses/307’ ‘308’: $ref: ‘TS29571_CommonData.yaml#/components/responses/308’ ‘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’ ‘429’: $ref: ‘TS29571_CommonData.yaml#/components/responses/429’ ‘500’: $ref: ‘TS29571_CommonData.yaml#/components/responses/500’ ‘503’: $ref: ‘TS29571_CommonData.yaml#/components/responses/503’ default: $ref: ‘TS29571_CommonData.yaml#/components/responses/default’ /sessions/{sessionId}/report: parameters: – name: sessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Data Reporting Session.’ post: operationId: Report summary: ‘Report UE data in the context of an existing Data Reporting Session’ requestBody: required: true content: application/json: schema: $ref: ‘#/components/schemas/DataReport’ responses: ‘200’: description: ‘Data Report accepted and updated Data Reporting Session is returned’ headers: Location: description: ‘URL including the resource identifier of the returned Data Reporting Session.’ required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’ content: application/json: schema: $ref: ‘#/components/schemas/DataReportingSession’ ‘204’: description: ‘Data Report accepted’ # No Content ‘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’ ‘503’: $ref: ‘TS29571_CommonData.yaml#/components/responses/503’ default: $ref: ‘TS29571_CommonData.yaml#/components/responses/default’ components: securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: ‘{tokenUri}’ scopes: {} description: > For a trusted data collection client, ‘ndcaf-datareporting’ shall be used as ‘scopes’ and ‘{nrfApiRoot}/oauth2/token’ shall be used as ‘tokenUri’. schemas: DataReportingSession: description: "A representation of a Data Reporting Session." type: object properties: sessionId: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ validUntil: $ref: ‘TS29571_CommonData.yaml#/components/schemas/DateTime’ externalApplicationId: $ref: ‘TS29571_CommonData.yaml#/components/schemas/ApplicationId’ supportedDomains: type: array items: $ref: ‘#/components/schemas/DataDomain’ minItems: 0 reportingConditions: type: object # Check that the following is the correct syntax to constrain the type of the dictionary keys properties: default: $ref: ‘#/components/schemas/DataDomain’ required: – default additionalProperties: $ref: ‘#/components/schemas/ReportingCondition’ required: – externalApplicationId – supportedDomains ReportingCondition: description: "A condition that triggers data reporting by a data collection client to the Data Collection AF." type: object properties: type: $ref: ‘#/components/schemas/ReportingConditionType’ period: $ref: ‘TS29571_CommonData.yaml#/components/schemas/DurationSec’ parameter: type: string threshold: anyOf: – $ref: ‘TS29571_CommonData.yaml#/components/schemas/Double’ – $ref: ‘TS29571_CommonData.yaml#/components/schemas/Float’ – $ref: ‘TS29571_CommonData.yaml#/components/schemas/Int32’ – $ref: ‘TS29571_CommonData.yaml#/components/schemas/Int64’ – $ref: ‘TS29571_CommonData.yaml#/components/schemas/Uint16’ – $ref: ‘TS29571_CommonData.yaml#/components/schemas/Uint32’ – $ref: ‘TS29571_CommonData.yaml#/components/schemas/Uint64’ – $ref: ‘TS29571_CommonData.yaml#/components/schemas/Uinteger’ reportWhenBelow: type: boolean eventTrigger: $ref: ‘#/components/schemas/ReportingEventTrigger’ required: – type DataReport: description: "A data report sent by a data collection client to the Data Collection AF." type: object properties: externalApplicationId: $ref: ‘TS29571_CommonData.yaml#/components/schemas/ApplicationId’ serviceExperienceRecords: type: array items: $ref: ‘#/components/schemas/ServiceExperienceRecord’ minItems: 1 locationRecords: type: array items: $ref: ‘#/components/schemas/LocationRecord’ minItems: 1 communicationRecords: type: array items: $ref: ‘#/components/schemas/CommunicationRecord’ minItems: 1 performanceDataRecords: type: array items: $ref: ‘#/components/schemas/PerformanceDataRecord’ minItems: 1 applicationSpecificRecords: type: array items: $ref: ‘#/components/schemas/ApplicationSpecificRecord’ minItems: 1 tripPlanRecords: type: array items: $ref: ‘#/components/schemas/TripPlanRecord’ minItems: 1 mediaStreamingAccessRecords: type: array items: $ref: ‘TS26512_R4_DataReporting.yaml#/components/schemas/MediaStreamingAccessRecord’ minItems: 1 required: – externalApplicationId DataDomain: description: "A data reporting domain." anyOf: – type: string enum: [SERVICE_EXPERIENCE, LOCATION, COMMUNICATION, PERFORMANCE, APPLICATION_SPECIFIC, MS_ACCESS_ACTIVITY, PLANNED_TRIPS] – type: string description: > This string provides forward-compatibility with future extensions to the enumeration but is not used to encode content defined in the present version of this API. ReportingConditionType: description: "The type of condition that triggers reporting by a data collection client to the Data Collection AF." anyOf: – type: string enum: [INTERVAL, THRESHOLD, EVENT] – type: string description: > This string provides forward-compatibility with future extensions to the enumeration but is not used to encode content defined in the present version of this API. ReportingEventTrigger: description: "The type of event that triggers reporting by a data collection client to the Data Collection AF." anyOf: – type: string enum: [LOCATION, DESTINATION] – type: string description: > This string provides forward-compatibility with future extensions to the enumeration but is not used to encode content defined in the present version of this API. BaseRecord: type: object properties: timestamp: $ref: ‘TS29571_CommonData.yaml#/components/schemas/DateTime’ required: – timestamp ServiceExperienceRecord: allOf: – $ref: ‘#/components/schemas/BaseRecord’ – type: object properties: serviceExperienceInfos: $ref: ‘#/components/schemas/PerFlowServiceExperienceInfo’ required: – serviceExperienceInfos PerFlowServiceExperienceInfo: type: object properties: serviceExperience: $ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/SvcExperience’ timeInterval: $ref: ‘TS29122_CommonData.yaml#/components/schemas/TimeWindow’ remoteEndpoint: $ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/AddrFqdn’ required: – serviceExperience – timeInterval – remoteEndpoint LocationRecord: allOf: – $ref: ‘#/components/schemas/BaseRecord’ – type: object properties: location: $ref: ‘TS29572_Nlmf_Location.yaml#/components/schemas/LocationData’ required: – location CommunicationRecord: allOf: – $ref: ‘#/components/schemas/BaseRecord’ – type: object properties: timeInterval: $ref: ‘TS29122_CommonData.yaml#/components/schemas/TimeWindow’ uplinkVolume: $ref: ‘TS29122_CommonData.yaml#/components/schemas/Volume’ downlinkVolume: $ref: ‘TS29122_CommonData.yaml#/components/schemas/Volume’ required: – timeInterval PerformanceDataRecord: allOf: – $ref: ‘#/components/schemas/BaseRecord’ – type: object properties: timeInterval: $ref: ‘TS29122_CommonData.yaml#/components/schemas/TimeWindow’ location: $ref: ‘TS29122_CommonData.yaml#/components/schemas/LocationArea5G’ remoteEndpoint: $ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/AddrFqdn’ packetDelayBudget: $ref: ‘TS29571_CommonData.yaml#/components/schemas/PacketDelBudget’ packetLossRate: $ref: ‘TS29571_CommonData.yaml#/components/schemas/PacketLossRate’ uplinkThroughput: $ref: ‘TS29571_CommonData.yaml#/components/schemas/BitRate’ downlinkThrougput: $ref: ‘TS29571_CommonData.yaml#/components/schemas/BitRate’ required: – timeInterval ApplicationSpecificRecord: allOf: – $ref: ‘#/components/schemas/BaseRecord’ – type: object properties: recordType: $ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’ recordContainer: {} # (Syntax determined by recordType.) required: – recordType – recordContainer TripPlanRecord: allOf: – $ref: ‘#/components/schemas/BaseRecord’ – type: object properties: startingPoint: $ref: ‘TS29572_Nlmf_Location.yaml#/components/schemas/LocationData’ waypoints: type: array items: $ref: ‘TS29572_Nlmf_Location.yaml#/components/schemas/LocationData’ minItems: 1 destination: $ref: ‘TS29572_Nlmf_Location.yaml#/components/schemas/LocationData’ estimatedAverageSpeed: $ref: ‘TS29572_Nlmf_Location.yaml#/components/schemas/HorizontalSpeed’ estimatedArrivalTime: $ref: ‘TS29571_CommonData.yaml#/components/schemas/DateTime’ required: – startingPoint – destination |
Annex C (informative):
Change history
|
Change history |
|||||||
|
Date |
Meeting |
TDoc |
CR |
Rev |
Cat |
Subject/Comment |
New version |
|
2021-08 |
Sa4#115-e |
S4-211220 |
Initial specification skeleton |
0.1.0 |
|||
|
2021-11 |
SA4#116-e |
S4-211422 S4-211578 S4-211593 |
Document reorganization, and miscellaneous modifications and corrections to previous document outline. Added text under clause previously empty clause 4.2.3. Added text to previously empty clauses 4.2.4, 4.2.5, 4.2.6, 4.2.7, 4.3.2 and 4.3.3 |
0.2.0 |
|||
|
2022-02 |
SA4#117-e |
S4-220233 S4-220241 S4-220242 |
Additional references under clause 2, changes and added text under clause 4.2.3.3, changes and additions under clause 5.4, corrections and added text under clauses 7.2 and 7.3, new Annex A, and demoted existing Annexes A and B by one level, and added new subclause B.2. |
0.3.0 |
|||
|
2022-03 |
SA#95-e |
SP-220248 |
Presentation to SA for Information |
1.0.0 |
|||
|
2022-04 |
SA4#118-e |
S4-220536 S4-220537 S4-220538 S4-220539 |
Additional and corrective text to TS 26.532 V1.0.0 in accordance with agreed pCRs in S4-220536, S4-220537, S4-220538 and S4-220539. |
1.1.0 |
|||
|
2022-05 |
SA4#119-e |
S4-220798 |
Merger of various changes to TS 25.532 V1.1.0 which were made after SA4#118-e in the pCR SA-220716, reviewed/agreed at SA4#119-e. Also includes further modifications in accordance with pCRs in S4-220638, S4-220716 and S4-220721, agreed at SA4#119-e, and represented by S4-220798. |
1.3.0 |
|||
|
2022-06 |
SA4#119-3 |
S4-220847 |
Version agreed by SA4 to be sent to the SA#96 for approval |
2.0.0 |
|||
|
2022-06 |
SA#96 |
SP-220604 |
Under Change Control |
17.0.0 |
|||
|
2022-07 |
SA#96 |
Editorials+Adding YAML files |
17.0.1 |
||||
|
2022-09 |
SA#97-e |
SP-220757 |
0001 |
1 |
F |
[EVEX] TS 26.532 PUT/PATCH corrections |
17.1.0 |
|
2022-09 |
SA#97-e |
SP-220757 |
0002 |
1 |
F |
[EVEX] TS 26.532 Bug fixes regarding updating data collection and reporting configurations for data collection clients |
17.1.0 |