openapi: 3.2.0 info: title: 3gpp-network-status-reporting Network Status Reporting Subscriptions API version: 1.3.0 description: "API for reporting network status. \n© 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). \nAll rights reserved.\n" servers: - url: '{apiRoot}/3gpp-net-stat-report/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. security: - {} - oAuth2ClientCredentials: [] tags: - name: Network Status Reporting Subscriptions paths: /{scsAsId}/subscriptions: parameters: - name: scsAsId in: path description: Identifier of the SCS/AS required: true schema: $ref: TS29122_CommonData.yaml#/components/schemas/ScsAsId get: summary: Read all network status reporting subscription resources for a given SCS/AS. operationId: FetchAllNwStatusReportSubscriptions tags: - Network Status Reporting Subscriptions responses: '200': description: The requested information was returned successfully. content: application/json: schema: type: array items: $ref: '#/components/schemas/NetworkStatusReportingSubscription' minItems: 0 '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 '406': $ref: TS29122_CommonData.yaml#/components/responses/406 '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 post: summary: Create a new network status reporting subscription resource. operationId: CreateNwStatusReportSubscription tags: - Network Status Reporting Subscriptions requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NetworkStatusReportingSubscription' callbacks: notificationDestination: '{$request.body#/notificationDestination}': post: requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NetworkStatusReportingNotification' responses: '204': description: No Content (successful notification) '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 responses: '201': description: 'The subscription was created successfully. The URI of the created resource shall be returned in the "Location" HTTP header. ' content: application/json: schema: $ref: '#/components/schemas/NetworkStatusReportingSubscription' headers: Location: description: Contains the URI of the newly created resource required: true schema: type: string '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: schemas: CongestionValue: type: integer minimum: 0 maximum: 31 description: 'Unsigned integer with valid values between 0 and 31. The value 0 indicates that there is no congestion. The value 1 is the lowest congestion level and value 31 is the highest congestion level. ' NetworkStatusReportingNotification: description: Represents a network status reporting notification. type: object properties: subscription: $ref: TS29122_CommonData.yaml#/components/schemas/Link nsiValue: $ref: '#/components/schemas/CongestionValue' nsiType: $ref: '#/components/schemas/CongestionType' required: - subscription not: required: - nsiValue - nsiType CongestionType: anyOf: - type: string enum: - HIGH - MEDIUM - LOW - 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. ' description: "Represents abstracted values for congestion status. \nPossible values are:\n- HIGH: The congestion status is high.\n- MEDIUM: The congestion status is medium.\n- LOW: The congestion status is low.\n" NetworkStatusReportingSubscription: description: Represents a subscription to network status information reporting. type: object properties: self: $ref: TS29122_CommonData.yaml#/components/schemas/Link supportedFeatures: $ref: TS29571_CommonData.yaml#/components/schemas/SupportedFeatures notificationDestination: $ref: TS29122_CommonData.yaml#/components/schemas/Link requestTestNotification: type: boolean description: 'Set to true by the SCS/AS to request the SCEF to send a test notification as defined in clause 5.2.5.3. Set to false or omitted otherwise. ' websockNotifConfig: $ref: TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig locationArea: $ref: TS29122_CommonData.yaml#/components/schemas/LocationArea timeDuration: $ref: TS29122_CommonData.yaml#/components/schemas/DateTime thresholdValues: type: array items: $ref: '#/components/schemas/CongestionValue' minItems: 1 description: 'Identifies a list of congestion level(s) with exact value that the SCS/AS requests to be informed of when reached. ' thresholdTypes: type: array items: $ref: '#/components/schemas/CongestionType' minItems: 1 description: Identifies a list of congestion level(s) with abstracted value that the SCS/AS requests to be informed of when reached. required: - notificationDestination - locationArea not: required: - thresholdValues - thresholdTypes securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' scopes: {} externalDocs: description: 3GPP TS 29.122 V18.6.0 T8 reference point for Northbound APIs url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/