Npcf_BDTPolicyControl

The Npcf_BDTPolicyControl service is used by an NF service consumer to retrieve background data transfer policies from the PCF and to update the PCF with the background data transfer policy selected by the NF service consumer.

Reference: 3GPP TS 29.554 V16.0.0

OpenAPI

OpenAPI Version: 3.0.0

info

Title: Npcf_BDTPolicyControl Service API

Version: "1.0.0"

Description: The Npcf_BDTPolicyControl Service is used by an NF service consumer to retrieve background data transfer policies from the PCF and to update the PCF with the background data transfer policy selected by the NF service consumer.

externalDocs

Description: 3GPP TS 29.554 V15.2.0; 5G System; Background Data Transfer Policy Control Service.

URL: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.554/'

security

- {}

- oAuth2ClientCredentials:

- npcf-bdtpolicycontrol

servers

URL: '{apiRoot}/npcf-bdtpolicycontrol/v1'

Variables:

API Root:

Default: https://example.com

Description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501.

paths

/bdtpolicies

Method: Post

Summary: Create a new Individual BDT policy

Operation ID: CreateBDTPolicy

Tags:

- BDT policies (Collection)

Request Body:

Description: Contains information for the creation of a new Individual BDT policy resource.

Required/Optional: true

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/BdtReqData'

Responses:

'201' Background data transfer policies offered to an ASP.

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/BdtPolicy'

Headers:

Location:

Description: 'Contains the URI of the created individual BDT policy resource, according to the structure: {apiRoot}/npcf-bdtpolicycontrol/v1/bdtpolicies/{bdtPolicyId}'

Required/Optional: true

Schema:

Type: string

# Error scenarios POST

'303' See Other. The result of the POST request would be equivalent to the existing Individual BDT policy resource. The HTTP response shall contain a Location header field set to the URI of the existing individual BDT policy resource.

'400': Reference 'TS29571_CommonData.yaml#/components/responses/400'

'401': Reference 'TS29571_CommonData.yaml#/components/responses/401'

'403': Reference 'TS29571_CommonData.yaml#/components/responses/403'

'404': Reference 'TS29571_CommonData.yaml#/components/responses/404'

'411': Reference 'TS29571_CommonData.yaml#/components/responses/411'

'413': Reference 'TS29571_CommonData.yaml#/components/responses/413'

'415': Reference 'TS29571_CommonData.yaml#/components/responses/415'

'429': Reference 'TS29571_CommonData.yaml#/components/responses/429'

'500': Reference 'TS29571_CommonData.yaml#/components/responses/500'

'503': Reference 'TS29571_CommonData.yaml#/components/responses/503'

default: Reference 'TS29571_CommonData.yaml#/components/responses/default'

# End error scenarios POST

/bdtpolicies/{bdtPolicyId}

get:

Summary: Read an Individual BDT policy

Operation ID: GetBDTPolicy

Tags:

- Individual BDT policy (Document)

Parameters:

- name: bdtPolicyId

Description: String identifying the individual BDT policy resource in the PCF.

In: path

Required/Optional: true

Schema:

Type: string

Responses:

'200' Background data transfer policies offered to and selected by an ASP.

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/BdtPolicy'

# Error scenarios GET

'400': Reference 'TS29571_CommonData.yaml#/components/responses/400'

'401': Reference 'TS29571_CommonData.yaml#/components/responses/401'

'403': Reference 'TS29571_CommonData.yaml#/components/responses/403'

'404': Reference 'TS29571_CommonData.yaml#/components/responses/404'

'406': Reference 'TS29571_CommonData.yaml#/components/responses/406'

'429': Reference 'TS29571_CommonData.yaml#/components/responses/429'

'500': Reference 'TS29571_CommonData.yaml#/components/responses/500'

'503': Reference 'TS29571_CommonData.yaml#/components/responses/503'

default: Reference 'TS29571_CommonData.yaml#/components/responses/default'

# End error scenarios GET

patch:

Summary: Update an Individual BDT policy

Operation ID: UpdateBDTPolicy

Tags:

- Individual BDT policy (Document)

Parameters:

- name: bdtPolicyId

Description: String identifying the individual BDT policy resource in the PCF.

In: path

Required/Optional: true

Schema:

Type: string

Request Body:

Description: Contains modification instruction to be performed on the BdtPolicy data structure to select a transfer policy.

Required/Optional: true

Content:

application/merge-patch+json:

Schema:

Reference: '#/components/schemas/BdtPolicyDataPatch'

Responses:

'200' The Individual BDT Policy resource is modified and a representation of that resource is returned.

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/BdtPolicy'

'204' The Individual BDT Policy resource is modified.

# Error scenarios PATCH

'400': Reference 'TS29571_CommonData.yaml#/components/responses/400'

'401': Reference 'TS29571_CommonData.yaml#/components/responses/401'

'403': Reference 'TS29571_CommonData.yaml#/components/responses/403'

'404': Reference 'TS29571_CommonData.yaml#/components/responses/404'

'411': Reference 'TS29571_CommonData.yaml#/components/responses/411'

'413': Reference 'TS29571_CommonData.yaml#/components/responses/413'

'415': Reference 'TS29571_CommonData.yaml#/components/responses/415'

'429': Reference 'TS29571_CommonData.yaml#/components/responses/429'

'500': Reference 'TS29571_CommonData.yaml#/components/responses/500'

'503': Reference 'TS29571_CommonData.yaml#/components/responses/503'

default: Reference 'TS29571_CommonData.yaml#/components/responses/default'

# End error scenarios PATCH

components

securitySchemes

oAuth2ClientCredentials

Type: oauth2

Flows:

clientCredentials:

tokenUrl: '{nrfApiRoot}/oauth2/token'

scopes:

npcf-bdtpolicycontrol: Access to the Npcf_BDTPolicyControl API

schemas

# Structured data types

BdtPolicy

Description: Represents an Individual BDT policy resource.

Type: object

Properties:

bdtPolData:

Reference: '#/components/schemas/BdtPolicyData'

bdtReqData:

Reference: '#/components/schemas/BdtReqData'

BdtReqData

Description: Contains service requirements for creation a new Individual BDT policy resource.

Type: object

Required:

- aspId

- desTimeInt

- numOfUes

- volPerUe

Properties:

aspId:

Reference: '#/components/schemas/AspId'

desTimeInt:

Reference: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow'

nwAreaInfo:

Reference: '#/components/schemas/NetworkAreaInfo'

numOfUes:

Description: Indicates a number of UEs.

Type: integer

volPerUe:

Reference: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold'

suppFeat:

Reference: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'

BdtPolicyData

Description: Describes the authorization data of an Individual BDT policy resource.

Type: object

Required:

- bdtRefId

- transfPolicies

Properties:

bdtRefId:

Reference: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId'

transfPolicies:

Description: Contains transfer policies.

Type: array

Items:

Reference: '#/components/schemas/TransferPolicy'

minItems: 1

selTransPolicyId:

Description: Contains an identity of the selected transfer policy.

Type: integer

suppFeat:

Reference: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'

BdtPolicyDataPatch

Description: A JSON Merge Patch body schema containing modification instruction to be performed on the BdtPolicy data structure to select a transfer policy. Adds selTransPolicyId to BdtPolicyData data structure.

Type: object

Required:

- selTransPolicyId

Properties:

selTransPolicyId:

Description: Contains an identity (i.e. transPolicyId value) of the selected transfer policy.

Type: integer

TransferPolicy

Description: Describes a transfer policy.

Type: object

Required:

- ratingGroup

- recTimeInt

- transPolicyId

Properties:

maxBitRateDl:

Reference: 'TS29571_CommonData.yaml#/components/schemas/BitRate'

maxBitRateUl:

Reference: 'TS29571_CommonData.yaml#/components/schemas/BitRate'

ratingGroup:

Description: Indicates a rating group for the recommended time window.

Type: integer

recTimeInt:

Reference: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow'

transPolicyId:

Description: Contains an identity of a transfer policy.

Type: integer

NetworkAreaInfo

Description: Describes a network area information in which the NF service consumer requests the number of UEs.

Type: object

Properties:

ecgis:

Description: Contains a list of E-UTRA cell identities.

Type: array

Items:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Ecgi'

minItems: 1

ncgis:

Description: Contains a list of NR cell identities.

Type: array

Items:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'

minItems: 1

gRanNodeIds:

Description: Contains a list of NG RAN nodes.

Type: array

Items:

Reference: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId'

minItems: 1

tais:

Description: Contains a list of tracking area identities.

Type: array

Items:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Tai'

minItems: 1

# Simple data types

AspId

Description: Contains an identity of an application service provider.

Type: string