openapi: 3.0.0 info: title: 3gpp-applying-bdt-policy version: 1.0.2 description: | API for applying BDT policy © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 29.522 V16.7.0; 5G System; Network Exposure Function Northbound APIs. url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' security: - {} - oAuth2ClientCredentials: [] servers: - url: '{apiRoot}/3gpp-applying-bdt-policy/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. paths: /{afId}/subscriptions: parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string get: summary: read all of the active subscriptions for the AF tags: - Applied BDT Policy Subscription responses: '200': description: OK. content: application/json: schema: type: array items: $ref: '#/components/schemas/AppliedBdtPolicy' minItems: 0 '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 subscription resource tags: - Applied BDT Policy Subscription requestBody: description: Request to create a new subscription resource required: true content: application/json: schema: $ref: '#/components/schemas/AppliedBdtPolicy' responses: '201': description: Created (Successful creation of subscription) content: application/json: schema: $ref: '#/components/schemas/AppliedBdtPolicy' 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' /{afId}/subscriptions/{subscriptionId}: parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: subscriptionId in: path description: Identifier of the subscription resource required: true schema: type: string get: summary: read an active subscriptions for the SCS/AS and the subscription Id tags: - Individual Applied BDT Policy Subscription responses: '200': description: OK (Successful get the active subscription) content: application/json: schema: $ref: '#/components/schemas/AppliedBdtPolicy' '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/replaces an existing subscription resource tags: - Individual Applied BDT Policy Subscription requestBody: required: true content: application/merge-patch+json: schema: $ref: '#/components/schemas/AppliedBdtPolicyPatch' responses: '200': description: OK. The subscription was modified successfully. content: application/json: schema: $ref: '#/components/schemas/AppliedBdtPolicy' '204': description: No content. The subscription was modified 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' delete: summary: Deletes an already existing subscription tags: - Individual Applied BDT Policy Subscription responses: '204': description: No Content (Successful deletion of the existing 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' '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: AppliedBdtPolicy: type: object properties: externalGroupId: $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' gpsi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' bdtRefId: $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' suppFeat: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' self: $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' required: - bdtRefId - suppFeat oneOf: - required: [gpsi] - required: [externalGroupId] AppliedBdtPolicyPatch: type: object properties: bdtRefId: $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' required: - bdtRefId