A.4 ResourceManagementOfBdt API

29.1223GPPRelease 18T8 reference point for Northbound APIsTS

openapi: 3.0.0

info:

title: 3gpp-bdt

version: 1.2.1

description: |

API for BDT resouce management.

© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).

All rights reserved.

externalDocs:

description: 3GPP TS 29.122 V17.7.0 T8 reference point for Northbound APIs

url: ‘https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/’

security:

– {}

– oAuth2ClientCredentials: []

servers:

– url: ‘{apiRoot}/3gpp-bdt/v1’

variables:

apiRoot:

default: https://example.com

description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122.

paths:

/{scsAsId}/subscriptions:

parameters:

– name: scsAsId

description: String identifying the SCS/AS.

in: path

required: true

schema:

type: string

get:

summary: Fetch all active background data transfer subscription resources for a given SCS/AS.

operationId: FetchAllActiveBDTSubscriptions

tags:

– BDT Subscription

responses:

‘200’:

description: all BDT policy subscriptions.

content:

application/json:

schema:

type: array

items:

$ref: ‘#/components/schemas/Bdt’

minItems: 0

description: individual BDT policy subscription.

‘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: Creates a new background data transfer subscription resource.

operationId: CreateBDTSubscription

tags:

– BDT Subscription

requestBody:

description: Contains the data to create a BDT subscription.

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/Bdt’

callbacks:

bDTWarningNotification:

‘{$request.body#/notificationDestination}’:

post:

requestBody: # contents of the callback message

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/ExNotification’

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: Background data transfer policies offered to the SCS/AS.

content:

application/json:

schema:

$ref: ‘#/components/schemas/Bdt’

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’

‘409’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/409’

‘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

description: String identifying the SCS/AS.

in: path

required: true

schema:

type: string

– name: subscriptionId

description: String identifying the individual BDT policy resource in the SCEF.

in: path

required: true

schema:

type: string

get:

summary: Read a background data transfer subscription resource.

operationId: FetchIndBDTSubscription

tags:

– Individual BDT Subscription

responses:

‘200’:

description: Background data transfer policies offered to and selected by the SCEF.

content:

application/json:

schema:

$ref: ‘#/components/schemas/Bdt’

‘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’

put:

summary: Update a background data transfer subscription resource for negotiation of background data transfer policy.

operationId: UpdateBDTSubscription

tags:

– Individual BDT Subscription

requestBody:

description: Parameters to update/replace the existing BDT subscription

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/Bdt’

responses:

‘200’:

description: OK (Successful update of the BDT subscription)

content:

application/json:

schema:

$ref: ‘#/components/schemas/Bdt’

‘204’:

description: No Content. The Individual BDT Subscription resource was updated successfully.

‘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’

patch:

summary: Modify a background data transfer subscription resource to select one of the transfer policies offered by the SCEF.

operationId: ModifyBDTSubscription

tags:

– Individual BDT Subscription

requestBody:

description: Contains information to be performed on the Bdt data structure to select a transfer policy.

required: true

content:

application/merge-patch+json:

schema:

$ref: ‘#/components/schemas/BdtPatch’

responses:

‘200’:

description: The Individual BDT Policy resource is modified with a selected policy and a representation of that resource is returned.

content:

application/json:

schema:

$ref: ‘#/components/schemas/Bdt’

‘204’:

description: The Individual BDT Policy resource is modified with a selected policy.

‘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: Delete a background data transfer resource.

operationId: DeleteBDTSubscription

tags:

– Individual BDT Subscription

responses:

‘204’:

description: The Individual BDT Policy resource is 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’

components:

securitySchemes:

oAuth2ClientCredentials:

type: oauth2

flows:

clientCredentials:

tokenUrl: ‘{tokenUrl}’

scopes: {}

schemas:

Bdt:

description: Represents a Background Data Transfer subscription.

type: object

properties:

self:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/Link’

supportedFeatures:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’

volumePerUE:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/UsageThreshold’

numberOfUEs:

type: integer

minimum: 1

description: Identifies the number of UEs.

desiredTimeWindow:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/TimeWindow’

locationArea:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/LocationArea’

locationArea5G:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/LocationArea5G’

referenceId:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/BdtReferenceId’

transferPolicies:

type: array

items:

$ref: ‘#/components/schemas/TransferPolicy’

minItems: 1

description: Identifies an offered transfer policy.

readOnly: true

selectedPolicy:

type: integer

description: Identity of the selected background data transfer policy. Shall not be present in initial message exchange, can be provided by NF service consumer in a subsequent message exchange.

externalGroupId:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/ExternalGroupId’

notificationDestination:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/Link’

warnNotifEnabled:

type: boolean

description: >

Indicates whether the BDT warning notification is enabled (true) or not (false). Default

value is false.

trafficDes:

$ref: ‘#/components/schemas/TrafficDescriptor’

required:

– volumePerUE

– numberOfUEs

– desiredTimeWindow

BdtPatch:

description: Represents a Background Data Transfer subscription modification request.

type: object

properties:

selectedPolicy:

type: integer

description: Identity of the selected background data transfer policy.

warnNotifEnabled:

type: boolean

description: >

Indicates whether the BDT warning notification is enabled (true) or not (false).

notificationDestination:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/Link’

required:

– selectedPolicy

TransferPolicy:

description: Represents an offered transfer policy sent from the SCEF to the SCS/AS, or a selected transfer policy sent from the SCS/AS to the SCEF.

type: object

properties:

bdtPolicyId:

type: integer

description: Identifier for the transfer policy

maxUplinkBandwidth:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/Bandwidth’

maxDownlinkBandwidth:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/Bandwidth’

ratingGroup:

type: integer

minimum: 0

description: Indicates the rating group during the time window.

timeWindow:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/TimeWindow’

required:

– bdtPolicyId

– ratingGroup

– timeWindow

ExNotification:

description: Represents a Background Data Transfer notification.

type: object

properties:

bdtRefId:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/BdtReferenceId’

locationArea5G:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/LocationArea5G’

timeWindow:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/TimeWindow’

candPolicies:

type: array

items:

$ref: ‘#/components/schemas/TransferPolicy’

minItems: 1

description: This IE indicates a list of the candidate transfer policies from which the AF may select a new transfer policy due to network performance degradation.

required:

– bdtRefId

TrafficDescriptor:

type: string

description: Identify a traffic descriptor as defined in Figure 5.2.2 of 3GPP TS 24.526, octets v+5 to w.