Commit a39506cd authored by Tien-Thinh Nguyen's avatar Tien-Thinh Nguyen
Browse files

add 3gpp specs

parent bbd6072d
openapi: 3.0.0
info:
title: 3gpp-as-session-with-qos
version: 1.0.2
description: |
API for setting us an AS session with required QoS.
© 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
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-as-session-with-qos/v1'
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122.
paths:
/{scsAsId}/subscriptions:
get:
summary: read all of the active subscriptions for the SCS/AS
tags:
- AsSessionWithQoS API SCS/AS level GET Operation
parameters:
- name: scsAsId
in: path
description: Identifier of the SCS/AS
required: true
schema:
type: string
responses:
'200':
description: OK.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AsSessionWithQoSSubscription'
'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: Creates a new subscription resource
tags:
- AsSessionWithQoS API Subscription level POST Operation
parameters:
- name: scsAsId
in: path
description: Identifier of the SCS/AS
required: true
schema:
type: string
requestBody:
description: Request to create a new subscription resource
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AsSessionWithQoSSubscription'
callbacks:
notificationDestination:
'{request.body#/notificationDestination}':
post:
requestBody: # contents of the callback message
required: true
content:
application/json:
schema:
$ref: 'TS29122_CommonData.yaml#/components/schemas/NotificationData'
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: Created (Successful creation of subscription)
content:
application/json:
schema:
$ref: '#/components/schemas/AsSessionWithQoSSubscription'
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}:
get:
summary: read an active subscriptions for the SCS/AS and the subscription Id
tags:
- AsSessionWithQoS API Subscription level GET Operation
parameters:
- name: scsAsId
in: path
description: Identifier of the SCS/AS
required: true
schema:
type: string
- name: subscriptionId
in: path
description: Identifier of the subscription resource
required: true
schema:
type: string
responses:
'200':
description: OK (Successful get the active subscription)
content:
application/json:
schema:
$ref: '#/components/schemas/AsSessionWithQoSSubscription'
'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: Updates/replaces an existing subscription resource
tags:
- AsSessionWithQoS API subscription level PUT Operation
parameters:
- name: scsAsId
in: path
description: Identifier of the SCS/AS
required: true
schema:
type: string
- name: subscriptionId
in: path
description: Identifier of the subscription resource
required: true
schema:
type: string
requestBody:
description: Parameters to update/replace the existing subscription
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AsSessionWithQoSSubscription'
responses:
'200':
description: OK (Successful update of the subscription)
content:
application/json:
schema:
$ref: '#/components/schemas/AsSessionWithQoSSubscription'
'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'
patch:
summary: Updates/replaces an existing subscription resource
tags:
- AsSessionWithQoS API subscription level PATCH Operation
parameters:
- name: scsAsId
in: path
description: Identifier of the SCS/AS
required: true
schema:
type: string
- name: subscriptionId
in: path
description: Identifier of the subscription resource
required: true
schema:
type: string
requestBody:
required: true
content:
application/merge-patch+json:
schema:
$ref: '#/components/schemas/AsSessionWithQoSSubscriptionPatch'
responses:
'200':
description: OK. The subscription was modified successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/AsSessionWithQoSSubscription'
'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 subscription
tags:
- AsSessionWithQoS API Subscription level DELETE Operation
parameters:
- name: scsAsId
in: path
description: Identifier of the SCS/AS
required: true
schema:
type: string
- name: subscriptionId
in: path
description: Identifier of the subscription resource
required: true
schema:
type: string
responses:
'204':
description: No Content (Successful deletion of the existing subscription)
'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:
AsSessionWithQoSSubscription:
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'
flowInfo:
type: array
items:
$ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo'
minItems: 1
description: Describe the data flow which requires QoS.
ethFlowInfo:
type: array
items:
$ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription'
minItems: 1
description: Identifies Ethernet packet flows.
qosReference:
type: string
description: Identifies a pre-defined QoS information
ueIpv4Addr:
$ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr'
ueIpv6Addr:
$ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr'
macAddr:
$ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'
usageThreshold:
$ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold'
sponsorInfo:
$ref: 'TS29122_CommonData.yaml#/components/schemas/SponsorInformation'
requestTestNotification:
type: boolean
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.
websockNotifConfig:
$ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig'
required:
- notificationDestination
AsSessionWithQoSSubscriptionPatch:
type: object
properties:
flowInfo:
type: array
items:
$ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo'
minItems: 1
description: Describe the data flow which requires QoS.
ethFlowInfo:
type: array
items:
$ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription'
minItems: 1
description: Identifies Ethernet packet flows.
qosReference:
type: string
description: Pre-defined QoS reference
usageThreshold:
$ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThresholdRm'
\ No newline at end of file
openapi: 3.0.0
info:
title: 3gpp-chargeable-party
version: 1.0.2
description: |
API for Chargeable Party management.
© 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
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-chargeable-party/v1'
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122.
paths:
/{scsAsId}/transactions:
get:
summary: Read all chargeable party transaction resources for a given SCS/AS
tags:
- Chargeable Party Transaction Operation
parameters:
- name: scsAsId
in: path
description: Identifier of SCS/AS
required: true
schema:
type: string
responses:
'200':
description: OK (successful query of Chargeable Party resource)
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ChargeableParty'
minItems: 0
description: individual BDT policy subscription.
'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 chargeable party transaction resource
tags:
- Chargeable Party Transaction Operation
parameters:
- name: scsAsId
in: path
description: Identifier of SCS/AS
required: true
schema:
type: string
requestBody:
description: representation of the Chargeable Party resource to be Created in the SCEF
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ChargeableParty'
callbacks:
eventNotification:
'{$request.body#/notificationDestination}':
post:
requestBody: # contents of the callback message
required: true
content:
application/json:
schema:
$ref: 'TS29122_CommonData.yaml#/components/schemas/NotificationData'
responses:
'200':
description: OK (The successful acknowledgement of the notification with a body)
'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: successful creation of a chargeable party resource
content:
application/json:
schema:
$ref: '#/components/schemas/ChargeableParty'
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}/transactions/{transactionId}:
get:
summary: read a chargeable party resource for a given SCS/AS and a transaction Id
tags:
- Individual chargeable party resource Operation
parameters:
- name: scsAsId
in: path
description: Identifier of SCS/AS
required: true
schema:
type: string
- name: transactionId
in: path
description: Identifier of transaction
required: true
schema:
type: string
responses:
'200':
description: OK (successful query of a chargeable party resource)
content:
application/json:
schema:
$ref: '#/components/schemas/ChargeableParty'
'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'
patch:
summary: Updates a existing chargeable party resource for a given SCS/AS and transaction Id.
tags:
- Individual chargeable party resource Operation
parameters:
- name: scsAsId
in: path