A.5 ChargeableParty API

29.1223GPPRelease 18T8 reference point for Northbound APIsTS

openapi: 3.0.0

info:

title: 3gpp-chargeable-party

version: 1.2.1

description: |

API for Chargeable Party 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-chargeable-party/v1’

variables:

apiRoot:

default: https://example.com

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

paths:

/{scsAsId}/transactions:

get:

summary: Read all or queried chargeable party transaction resources for a given SCS/AS.

operationId: FetchAllChargeablePartyTransactions

tags:

– Chargeable Party Transaction Operation

parameters:

– name: scsAsId

in: path

description: Identifier of SCS/AS

required: true

schema:

type: string

– name: ip-addrs

in: query

description: The IP address(es) of the requested UE(s).

required: false

content:

application/json:

schema:

type: array

items:

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

minItems: 1

– name: ip-domain

in: query

description: The IPv4 address domain identifier. The attribute may only be provided if IPv4 address is included in the ip-addrs query parameter.

required: false

schema:

type: string

– name: mac-addrs

in: query

description: The MAC address(es) of the requested UE(s).

required: false

schema:

type: array

items:

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

minItems: 1

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.

‘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 chargeable party transaction resource.

operationId: CreateChargeablePartyTransaction

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:

‘204’:

description: No Content (The successful acknowledgement of the 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: 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.

operationId: FetchIndChargeablePartyTransaction

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’

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

patch:

summary: Updates a existing chargeable party resource for a given SCS/AS and transaction Id.

operationId: UpdateChargeablePartyTransaction

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

requestBody:

description: representation of the chargeable party resource to be udpated in the SCEF

required: true

content:

application/merge-patch+json:

schema:

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

responses:

‘200’:

description: successful update of a chargeable party resource

content:

application/json:

schema:

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

‘204’:

description: No Content

‘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: Deletes a chargeable party resource for a given SCS/AS and a transcation Id.

operationId: DeleteChargeablePartyTransaction

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:

‘204’:

description: successful deletion of an resouce of chargeable party

‘200’:

description: OK (Successful deletion of the existing subscription)

content:

application/json:

schema:

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

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

ChargeableParty:

description: Represents the configuration of a chargeable party.

type: object

properties:

self:

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

supportedFeatures:

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

dnn:

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

snssai:

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

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’

exterAppId:

type: string

description: Identifies the external Application Identifier.

ipv4Addr:

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

ipDomain:

type: string

ipv6Addr :

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

macAddr:

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

flowInfo:

type: array

items:

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

minItems: 1

description: Describes the application flows.

ethFlowInfo:

type: array

items:

$ref: ‘TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription’

minItems: 1

description: Identifies Ethernet packet flows.

sponsorInformation:

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

sponsoringEnabled:

type: boolean

description: >

Indicates whether the sponsoring data connectivity is enabled (true) or not (false).

referenceId:

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

servAuthInfo:

$ref: ‘TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ServAuthInfo’

usageThreshold:

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

events:

type: array

items:

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

minItems: 1

description: Represents the list of event(s) to which the SCS/AS requests to subscribe to.

required:

– notificationDestination

– sponsorInformation

– sponsoringEnabled

ChargeablePartyPatch:

description: Represents a modification request of a chargeable party resource.

type: object

properties:

flowInfo:

type: array

items:

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

minItems: 1

description: Describes the IP flows.

exterAppId:

type: string

description: Identifies the external Application Identifier.

ethFlowInfo:

type: array

items:

$ref: ‘TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription’

minItems: 1

description: Identifies Ethernet packet flows.

sponsoringEnabled:

type: boolean

description: >

Indicates whether the sponsoring data connectivity is enabled (true) or not (false).

referenceId:

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

usageThreshold:

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

notificationDestination:

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

events:

description: Represents the list of event(s) to which the SCS/AS requests to subscribe to.

type: array

items:

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

minItems: 1