openapi: 3.2.0 info: title: 3gpp-vfl-training Individual VFL Training Subscription (Document) API version: 1.0.1 description: "API for VFL Training. \n© 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). \nAll rights reserved.\n" servers: - url: '{apiRoot}/3gpp-vfl-training/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. security: - {} - oAuth2ClientCredentials: [] tags: - name: Individual VFL Training Subscription (Document) paths: /{afId}/subscriptions/{subId}: parameters: - name: afId in: path description: Represents the identifier of the AF. required: true schema: type: string - name: subId in: path description: Represents the identifier of the Individual VFL Training Subscription resource. required: true schema: type: string get: summary: Retrieve an existing Individual VFL Training Subscription resource. operationId: GetVFLTrainingSubscription tags: - Individual VFL Training Subscription (Document) responses: '200': description: 'OK. The requested Individual VFL Training Subscription resource is successfully returned in the response body. ' content: application/json: schema: $ref: '#/components/schemas/VflTrainingSubs' '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: Request the update of an existing Individual VFL Training Subscription resource. operationId: UpdateVFLTrainingSubscription tags: - Individual VFL Training Subscription (Document) requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VflTrainingSubs' responses: '200': description: 'OK. The Individual VFL Training Subscription resource is successfully updated and a representation of the updated resource is returned in the response body. ' content: application/json: schema: $ref: '#/components/schemas/VflTrainingSubs' '204': description: 'No Content. The Individual VFL Training Subscription resource is successfully updated and no content is returned in the response body. ' '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: Request modification of an existing Individual VFL Training Subscription resource. operationId: ModifyVFLTrainingSubscription tags: - Individual VFL Training Subscription (Document) requestBody: required: true content: application/merge-patch+json: schema: $ref: '#/components/schemas/VflTrainingSubsPatch' responses: '200': description: 'OK. The Individual VFL Training Subscription resource is successfully modified and a representation of the updated resource is returned in the response body. ' content: application/json: schema: $ref: '#/components/schemas/VflTrainingSubs' '204': description: 'No Content. The Individual VFL Training Subscription resource is successfully modified and no content is returned in the response body. ' '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: Request deletion of an existing Individual VFL Training Subscription resource. operationId: DeleteVFLTrainingSubscription tags: - Individual VFL Training Subscription (Document) responses: '204': description: 'No Content. The Individual VFL Training Subscription resource is successfully 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: schemas: VflTrainingSubsPatch: description: Represents contents for modifying a VFL Training subscription. type: object properties: vflTrainSubs: type: array items: $ref: TS29520_Nnwdaf_VFLTraining.yaml#/components/schemas/VflTrainingSub minItems: 1 notifUri: $ref: TS29571_CommonData.yaml#/components/schemas/Uri notifCorrId: type: string description: Notification correlation identifier. reportingReqs: $ref: TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation VflTrainingSubs: description: Represents VFL Training subscription. type: object properties: notifUri: $ref: TS29571_CommonData.yaml#/components/schemas/Uri notifCorrId: type: string description: Notification correlation identifier. vflPreFlag: type: boolean description: 'Indicates the subscription is for preparation of VFL, when it is included and set to "true". The default value is "false" if omitted. ' vflTrainSubs: type: array items: $ref: TS29520_Nnwdaf_VFLTraining.yaml#/components/schemas/VflTrainingSub minItems: 1 extNwdafId: type: string description: 'Contains the external identifier of the NWDAF that is being requested to act as VFL client. ' reportingReqs: $ref: TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation trainReports: type: array items: $ref: TS29520_Nnwdaf_VFLTraining.yaml#/components/schemas/VflTrainingNotify minItems: 1 suppFeat: $ref: TS29571_CommonData.yaml#/components/schemas/SupportedFeatures required: - vflTrainSubs - extNwdafId securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' scopes: {} externalDocs: description: '3GPP TS 29.522 V19.6.0; 5G System; Network Exposure Function Northbound APIs. ' url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/