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 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' '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. 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: successful deletion of an resouce of chargeable party '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: 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 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' ipv4Addr: $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' 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 sponsoring status. referenceId: $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' usageThreshold: $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' required: - notificationDestination - sponsorInformation - sponsoringEnabled ChargeablePartyPatch: type: object properties: 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. sponsoringEnabled: type: boolean description: Indicates sponsoring status. referenceId: $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' usageThreshold: $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThresholdRm'