2020-05-18 21:00:37 +00:00
openapi : 3.0 .0
info :
title : 3gpp-network-status-reporting
version : 1.0 .1
description : |
API for reporting network status.
2020-06-04 18:12:05 +00:00
© 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
2020-05-18 21:00:37 +00:00
All rights reserved.
externalDocs :
description : 3GPP TS 29.122 V15.4.0 T8 reference point for Northbound APIs
url : 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/'
security :
- {}
- oAuth2ClientCredentials : [ ]
servers :
- url : '{apiRoot}/3gpp-net-stat-report/v1'
variables :
apiRoot :
default : https://example.com
description : apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122.
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.
responses :
'200' :
description : The requested information was returned successfully.
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/NetworkStatusReportingSubscription'
minItems : 0
'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.
requestBody :
required : true
content :
application/json :
schema :
$ref : '#/components/schemas/NetworkStatusReportingSubscription'
callbacks :
notificationDestination :
'{request.body#/notificationDestination}' :
post :
requestBody : # contents of the callback message
required : true
content :
application/json :
schema :
$ref : '#/components/schemas/NetworkStatusReportingNotification'
responses :
'204' :
description : No Content (successful notification)
'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'
/{scsAsId}/subscriptions/{subscriptionId}:
parameters :
- name : scsAsId
in : path
description : Identifier of the SCS/AS
required : true
schema :
$ref : 'TS29122_CommonData.yaml#/components/schemas/ScsAsId'
- name : subscriptionId
in : path
description : Identifier of the subscription resource of type string
required : true
schema :
$ref : 'TS29122_CommonData.yaml#/components/schemas/ResourceId'
get :
summary : Read an active network status reporting subscription resource.
responses :
'200' :
description : The requested information was returned successfully.
content :
application/json :
schema :
$ref : '#/components/schemas/NetworkStatusReportingSubscription'
'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'
put :
summary : Modify an existing subscription resource to update a subscription.
requestBody :
required : true
content :
application/json :
schema :
$ref : '#/components/schemas/NetworkStatusReportingSubscription'
responses :
'200' :
description : The subscription was updated successfully.
content :
application/json :
schema :
$ref : '#/components/schemas/NetworkStatusReportingSubscription'
'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 : Delete an existing continuous network status reporting subscription resource.
responses :
'204' :
description : The subscription was updated successfully.
'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'
components :
securitySchemes :
oAuth2ClientCredentials :
type : oauth2
flows :
clientCredentials :
tokenUrl : '{tokenUrl}'
scopes : {}
schemas :
NetworkStatusReportingSubscription :
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
2020-06-04 18:12:05 +00:00
description : Set to true by the SCS/AS to request the SCEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise.
2020-05-18 21:00:37 +00:00
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]
NetworkStatusReportingNotification :
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]
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.
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 : >
Possible values are
- HIGH : The congestion status is high.
- MEDIUM : The congestion status is medium.
2020-06-04 18:12:05 +00:00
- LOW : The congestion status is low.