openapi: 3.0.0 info: title: 3gpp-asti version: 1.2.0 description: | API for ASTI. © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: > 3GPP TS 29.522 V19.5.0; 5G System; Network Exposure Function Northbound APIs. url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' security: - {} - oAuth2ClientCredentials: [] servers: - url: '{apiRoot}/3gpp-asti/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. paths: /{afId}/configurations: get: summary: read all of the active configurations of 5G access stratum time distribution for the AF operationId: ReadAllConfigurations tags: - ASTI Configurations parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string responses: '200': description: OK (Successful get all of the active configurations for the AF) content: application/json: schema: type: array items: $ref: '#/components/schemas/AccessTimeDistributionData' 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 configuration resource operationId: CreateNewConfiguration tags: - ASTI Configurations parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string requestBody: description: new configuration creation required: true content: application/json: schema: $ref: '#/components/schemas/AccessTimeDistributionData' responses: '201': description: Created (Successful creation) content: application/json: schema: $ref: '#/components/schemas/AccessTimeDistributionData' 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' callbacks: astiNotification: '{$request.body#/astiNotifUri}': post: requestBody: description: Notification of an ASTI configuration change event. required: true content: application/json: schema: $ref: '#/components/schemas/AstiConfigNotification' responses: '204': description: No Content, Notification was succesfull '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' /{afId}/configurations/retrieve: post: summary: Request the status of the 5G access stratum time distribution configuration for a list of UEs. operationId: RetrieveStatusofConfiguration tags: - ASTI Configurations parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string requestBody: description: Contains the list of GPSIs. required: true content: application/json: schema: $ref: '#/components/schemas/StatusRequestData' responses: '200': description: Successful retrieval of the status of the 5G access stratum time distribution content: application/json: schema: $ref: '#/components/schemas/StatusResponseData' '400': $ref: 'TS29122_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29122_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29122_CommonData.yaml#/components/responses/404' '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}/configurations/{configId}: get: summary: Reads an active configuration for the AF and the configuration Id operationId: ReadAnConfiguration tags: - Individual ASTI Configuration parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: configId in: path description: Identifier of the configuration resource required: true schema: type: string responses: '200': description: OK (Successful get the active configuration) content: application/json: schema: $ref: '#/components/schemas/AccessTimeDistributionData' '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: Modifies an active configuration for the AF and the configuration Id operationId: FullyModifyAnConfiguration tags: - Individual ASTI Configuration parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: configId in: path description: Identifier of the configuration resource required: true schema: type: string requestBody: description: Parameters to update/replace the existing configuration required: true content: application/json: schema: $ref: '#/components/schemas/AccessTimeDistributionData' responses: '200': description: OK (Successful update of the configuration) content: application/json: schema: $ref: '#/components/schemas/AccessTimeDistributionData' '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 an already existing configuration operationId: DeleteAnConfiguration tags: - Individual ASTI Configuration parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: configId in: path description: Identifier of the configuration resource required: true schema: type: string responses: '204': description: No Content (Successful deletion of the existing configuration) '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: AccessTimeDistributionData: description: > Contains the parameters for the creation of 5G access stratum time distribution configuration. type: object properties: gpsis: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' minItems: 1 exterGroupId: $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' asTimeDisParam: $ref: 'TS29565_Ntsctsf_ASTI.yaml#/components/schemas/AfAsTimeDistributionParam' coverageArea: $ref: 'TS29571_CommonData.yaml#/components/schemas/SpatialValidityCond' suppFeat: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' astiNotifUri: $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' astiNotifId: type: string description: Notification correlation identifier. required: - asTimeDisParam oneOf: - required: [gpsis] - required: [exterGroupId] AstiConfigNotification: description: > Contains the report of a change in the 5G Access Stratum Time Distribution parameters applied to the UE(s). type: object properties: astiNotifId: type: string description: > It is used to set the value of Notification Correlation ID in the corresponding notification stateConfigs: type: array items: $ref: '#/components/schemas/AstiConfigStateNotification' minItems: 1 description: > It contains the reported event(s) and event information. required: - astiNotifId - stateConfigs AstiConfigStateNotification: description: > Contains the report of a change in the 5G Access Stratum Time Distribution parameters applied to a UE. type: object properties: gpsi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' event: $ref: 'TS29565_Ntsctsf_ASTI.yaml#/components/schemas/AstiEvent' required: - event - gpsi StatusRequestData: description: > Contains the parameters for retrieval of the status of the access stratum time distribution for a list of UEs. type: object properties: gpsis: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' minItems: 1 required: - gpsis StatusResponseData: description: > Contains the parameters for the status of the access stratum time distribution for a list of UEs. type: object properties: inactiveUes: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' minItems: 1 activeUes: type: array items: $ref: '#/components/schemas/ActiveUe' minItems: 1 ActiveUe: description: > Contains the UE identifier whose status of the access stratum time distribution is active and the optional requested time synchronization error budget. type: object properties: gpsi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' timeSyncErrBdgt: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'