diff --git a/TS24558_Eecs_ServiceProvisioning.yaml b/TS24558_Eecs_ServiceProvisioning.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ff6361fbdea435f10db28f6cd8cff7a0ce587614 --- /dev/null +++ b/TS24558_Eecs_ServiceProvisioning.yaml @@ -0,0 +1,590 @@ +openapi: 3.0.0 + +info: + title: Eecs_ServiceProvisioning + version: "1.1.0-alpha.4" + description: | + API for ECS Service Provisioning. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 24.558 V18.3.0 Enabling Edge Applications; Protocol specification. + url: https://www.3gpp.org/ftp/Specs/archive/24_series/24.558/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/eecs-serviceprovisioning/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.558 + +paths: + + /subscriptions: + post: + description: > + Creates a new subscription in ECS in order to be notified of provisioning data + changes of interest. + operationId: CreateServProvSub + tags: + - Service Provisioning Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ECSServProvSubscription' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServProvNotification' + responses: + '204': + description: No Content (successful 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: > + Individual ECS Service Provisioning Subscription resource created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ECSServProvSubscription' + 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' + + /subscriptions/{subscriptionId}: + put: + description: > + Updates an existing individual service provisioning subscription identified + by the subscriptionId. + operationId: UpdateIndServProvSub + tags: + - Individual Service Provisioning Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Identifies an individual service provisioning subscription. + required: true + schema: + type: string + requestBody: + description: Parameters to replace the existing subscription. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ECSServProvSubscription' + responses: + '200': + description: > + OK (The individual service provisioning subscription matching the subscriptionId + was modified successfully). + content: + application/json: + schema: + $ref: '#/components/schemas/ECSServProvSubscription' + '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: + description: > + Deletes an existing individual service provisioning subscription identified by + the subscriptionId. + operationId: DeleteIndServProvSub + tags: + - Individual Service Provisioning Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Identifies an individual service provisioning subscription. + required: true + schema: + type: string + responses: + '204': + description: > + The individual service provisioning subscription matching the subscriptionId is + 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' + + patch: + description: > + Partially updates an existing individual service provisioning subscription identified + by the subscriptionId. + operationId: ModifyIndServProvSub + tags: + - Individual Service Provisioning Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Identifies an individual service provisioning subscription. + required: true + schema: + type: string + requestBody: + description: Parameters to replace the existing subscription. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ECSServProvSubscriptionPatch' + responses: + '200': + description: > + OK (The individual service provisioning subscription matching the subscriptionId + was modified successfully). + content: + application/json: + schema: + $ref: '#/components/schemas/ECSServProvSubscription' + '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' + + /request: + post: + summary: Request service provisioning information. + operationId: RequestServProv + tags: + - Request Service Provisioning + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ECSServProvReq' + responses: + '200': + description: > + OK (The requested service provisioning information was returned successfully). + content: + application/json: + schema: + $ref: '#/components/schemas/ECSServProvResp' + '204': + description: > + No Content (The requested service provisioning information does not exist). + '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' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + + ECSServProvReq: + description: ECS service provisioning request information. + type: object + properties: + eecId: + type: string + description: Represents a unique identifier of the EEC. + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + acProfs: + type: array + items: + $ref: 'TS24558_Eees_EECRegistration.yaml#/components/schemas/ACProfile' + description: Information about services the EEC wants to connect to. + eecSvcContSupp: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + description: > + Indicates if the EEC supports service continuity or not, also indicates which + ACR scenarios are supported by the EEC. + connInfo: + type: array + items: + $ref: '#/components/schemas/ConnectivityInfo' + description: List of connectivity information for the UE. + locInf: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + ecspIds: + type: array + items: + type: string + minItems: 1 + description: Indicates to the ECS which EES providers are preferred by the EEC. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - eecId + + ECSServProvResp: + description: ECS service provisioning response information. + type: object + properties: + ednCnfgInfo: + type: array + items: + $ref: '#/components/schemas/EDNConfigInfo' + minItems: 1 + description: List of EDN configuration information. + required: + - ednCnfgInfo + + ECSServProvSubscription: + description: Represents an individual service provisioning subscription resource. + type: object + properties: + eecId: + type: string + description: Represents a unique identifier of the EEC. + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + acProfs: + type: array + items: + $ref: 'TS24558_Eees_EECRegistration.yaml#/components/schemas/ACProfile' + description: Information about services the EEC wants to connect to. + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + eecSvcContSupp: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + description: > + Indicates if the EEC supports service continuity or not, also indicates which + ACR scenarios are supported by the EEC. + connInfo: + type: array + items: + $ref: '#/components/schemas/ConnectivityInfo' + description: List of connectivity information for the UE. + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + requestTestNotification: + type: boolean + description: > + Set to true by Subscriber to request the ECS to send a test notification. Set to + false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + ecspIds: + type: array + items: + type: string + minItems: 1 + description: Indicates to the ECS which EES providers are preferred by the EEC. + eecTriggerRequest: + type: boolean + description: > + Indicates to the ECS, whether the application triggering is required by the EEC. + Default value false indicates the application triggering is not required. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - eecId + + ServProvNotification: + description: Represents notification information of a service provisioning Event. + type: object + properties: + subId: + type: string + description: > + Identifier of the individual service provisioning subscription for which the service + provisioning notification is delivered. + ednCnfgInfo: + type: array + items: + $ref: '#/components/schemas/EDNConfigInfo' + minItems: 1 + description: List of EDN configuration information. + required: + - subId + - ednCnfgInfo + + ConnectivityInfo: + description: Represents the connectivity information for the UE. + type: object + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + ssId: + type: string + description: Identifies the SSID of the access point to which the UE is attached. + + EDNConfigInfo: + description: Represents the EDN configuration information. + type: object + properties: + ednConInfo: + $ref: '#/components/schemas/EDNConInfo' + eess: + type: array + items: + $ref: '#/components/schemas/EESInfo' + minItems: 1 + description: Contains the list of EESs of the EDN. + lifeTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + required: + - ednConInfo + - eess + + EDNConInfo: + description: Represents an EDN connection information. + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + ednTopoSrvArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + + EESInfo: + description: Represents EES information. + type: object + properties: + eesId: + type: string + description: Identity of the EES. + endPt: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + easIds: + type: array + items: + type: string + description: > + Application identities of the Edge Application Servers registered + with the EES. + ecspInfo: + type: string + description: Represents an ECSP Information. + svcArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + description: Represents list of Data network access identifiers. + eesSvcContSupp: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + description: > + Indicates if the EES supports service continuity or not, also indicates which ACR + scenarios are supported by the EES. + eecRegConf: + type: boolean + description: > + Indicates whether the EEC is required to register on the EES to use edge services + or not. + easInstInfos: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/EASInstantiationInfo' + minItems: 1 + description: > + The EAS instantiation status per EASID (e.g. instantiated, instantiable but not be + instantiated yet). + eesAuthMethods: + type: array + items: + $ref: '#/components/schemas/EesAuthMethod' + minItems: 1 + description: > + Indicates the authentication methods supported by the EES. + easBundleInfo: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EASBundleInfo' + required: + - eesId + - eecRegConf + + EesAuthMethod: + anyOf: + - type: string + enum: + - TLS_CLIENT_SERVER_CERTIFICATE + - TLS_WITH_AKMA + - TLS_WITH_GBA + - SERVER_SIDE_CERTIFICATE_BASED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Represents the Authentication methods supported by EES. + Possible values are: + - TLS_CLIENT_SERVER_CERTIFICATE: Represents TLS with client server certificate + authentication. + - TLS_WITH_AKMA: Represents TLS with AKMA authentication. + - TLS_WITH_GBA: Represents TLS with GBA authentication. + - SERVER_SIDE_CERTIFICATE_BASED: Represents server side certification only. + + ECSServProvSubscriptionPatch: + description: > + Represents modifications to an individual service provisioning subscription resource. + type: object + properties: + acProfs: + type: array + items: + $ref: 'TS24558_Eees_EECRegistration.yaml#/components/schemas/ACProfile' + description: Information about services the EEC wants to connect to. + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + eecSvcContSupp: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + description: > + Indicates which ACR scenarios are supported by the EEC. + connInfo: + type: array + items: + $ref: '#/components/schemas/ConnectivityInfo' + description: List of connectivity information for the UE. + diff --git a/TS24558_Eees_ACREvents.yaml b/TS24558_Eees_ACREvents.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1f817f8edb600d600fd04df3018a1218cade5511 --- /dev/null +++ b/TS24558_Eees_ACREvents.yaml @@ -0,0 +1,416 @@ +openapi: 3.0.0 + +info: + title: Eees_ACREvents + version: "1.1.0-alpha.2" + description: | + API for ACR events subscription and notification. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 24.558 V18.3.0 Enabling Edge Applications; Protocol specification. + url: 'https://www.3gpp.org/ftp/Specs/archive/24_series/24.558/' + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/eees-acrevents/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.558 + +paths: + + /subscriptions: + post: + description: Creates a new individual ACR events subscription. + operationId: CreateACREventsSubscripton + tags: + - ACR events subscription (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ACREventsSubscription' + responses: + '201': + description: Individual ACR events subscription resource created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ACREventsSubscription' + 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: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # Contents of the callback message. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ACRInfoNotification' + responses: + '204': + description: No Content (The receipt of the Notification is acknowledged). + '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' + + /subscriptions/{subscriptionId}: + put: + description: > + Updates an existing individual ACR events subscription identified by the subscriptionId. + operationId: UpdateACREventsSubscription + tags: + - Individual ACR Events Subscription + parameters: + - name: subscriptionId + in: path + description: Identifies an individual ACR Events subscription resource. + required: true + schema: + type: string + requestBody: + description: Parameters to replace the existing subscription. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ACREventsSubscription' + responses: + '200': + description: > + OK (An individual ACR Events subscription resource updated successfully). + content: + application/json: + schema: + $ref: '#/components/schemas/ACREventsSubscription' + '204': + description: No Content (updated 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: + description: > + Deletes an existing individual ACR events subscription identified by the subscriptionId. + operationId: DeleteACREventsSubscription + tags: + - Individual ACR Events Subscription + parameters: + - name: subscriptionId + in: path + description: Identifies an individual ACR Events subscription resource. + required: true + schema: + type: string + responses: + '204': + description: An individual ACR Events subscription resource deleted 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' + '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: + description: > + Partially modifies an existing individual ACR events subscription identified by + the subscriptionId. + operationId: ModifyACREventsSubscription + tags: + - Individual ACR Events Subscription + parameters: + - name: subscriptionId + in: path + description: Identifies an individual ACR Events subscription resource. + required: true + schema: + type: string + requestBody: + description: Parameters to replace the existing subscription. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ACREventsSubscriptionPatch' + responses: + '200': + description: > + OK (An individual ACR Events subscription resource updated successfully). + content: + application/json: + schema: + $ref: '#/components/schemas/ACREventsSubscription' + '204': + description: No Content (successful 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' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + + ACREventsSubscription: + description: ACE Events subscription request. + type: object + properties: + eecId: + type: string + description: Represents a unique identifier of the EEC. + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + easIds: + type: array + items: + type: string + minItems: 1 + description: The list of application identifiers of the EASs. + acIds: + type: array + items: + type: string + description: List of AC identities. + eventIds: + $ref: '#/components/schemas/ACREventIDs' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + requestTestNotification: + type: boolean + description: > + Set to true by Subscriber to request the ECS to send a test notification. Set to + false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - eecId + - easIds + - eventIds + - notificationDestination + + ACRInfoNotification: + description: Notification of ACR events information. + type: object + properties: + subId: + type: string + description: > + String identifying the Individual ACR events subscription for which the ACT + Information notification is delivered. + easId: + type: string + description: Application identifier of the EAS. + acId: + type: string + description: Identity of the AC. + eventId: + $ref: '#/components/schemas/ACREventIDs' + trgtInfo: + $ref: '#/components/schemas/TargetInfo' + acrStatus: + $ref: '#/components/schemas/ACRCompleteEventInfo' + eecCtxtReloc: + $ref: '#/components/schemas/EecCtxtRelocStatus' + required: + - subId + - easId + - eventId + + TargetInfo: + description: Details of the selected T-EAS and the T-EES. + type: object + properties: + trgetEASInfo: + $ref: 'TS24558_Eees_EASDiscovery.yaml#/components/schemas/DiscoveredEas' + trgetEESInfo: + $ref: 'TS24558_Eecs_ServiceProvisioning.yaml#/components/schemas/EDNConfigInfo' + + ACREventsSubscriptionPatch: + description: An individual ACR events subscription resource to be updated. + type: object + properties: + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + easIds: + type: array + items: + type: string + minItems: 1 + description: The list of application identifiers of the EASs. + eventIds: + $ref: '#/components/schemas/ACREventIDs' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + + ACREventIDs: + anyOf: + - type: string + enum: + - TARGET_INFORMATION + - ACR_COMPLETE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Represents the ACR events. + Possible values are: + - TARGET_INFORMATION: Represents the target information event. + - ACR_COMPLETE: Represents the ACR complete event. + + EecCtxtRelocStatus: + description: Indicates the registration id and expiry time of the registration. + type: object + properties: + implReg: + $ref: 'TS29558_Eees_EECContextRelocation.yaml#/components/schemas/ImplicitRegDetails' + + ACRCompleteEventInfo: + description: Indicates the completed ACR result and target EAS endpoint info. + type: object + properties: + acrRes: + type: boolean + description: Indicates whether the ACR is successful or failure. + tEasEndpoint: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + failReason: + type: string + description: Indicates the cause information for the failure. + required: + - acrRes + - tEasEndpoint + + diff --git a/TS24558_Eees_AppContextRelocation.yaml b/TS24558_Eees_AppContextRelocation.yaml new file mode 100644 index 0000000000000000000000000000000000000000..cf34a214ca87ddb300792e25b7055dcd9b0d3179 --- /dev/null +++ b/TS24558_Eees_AppContextRelocation.yaml @@ -0,0 +1,271 @@ +openapi: 3.0.0 +info: + title: Eees Application Context Relocation Service + version: "1.1.0-alpha.3" + description: | + Eees Application Context Relocation Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 24.558 V18.3.0; Enabling Edge Applications; Protocol specification; Stage 3. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/24.558/' + +servers: + - url: '{apiRoot}/eees-appctxtreloc/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +security: + - {} + - oAuth2ClientCredentials: + - eees-appctxtreloc + +paths: + /determine: + post: + summary: Request ACR determination. + operationId: Determine + tags: + - Determine ACR + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AcrDetermReq' + responses: + '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' + + /initiate: + post: + summary: Request the initiation of ACR. + operationId: Initiate + tags: + - Initiate ACR + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AcrInitReq' + responses: + '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' + + /declare: + post: + summary: Informs about the selected target EAS and provides the associated information. + operationId: Declare + tags: + - Declare selected target EAS + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AcrDecReq' + responses: + '204': + description: > + No Content. The selected target EAS information is successfully received. + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + eees-appctxtreloc: Access to the Eees_AppContextRelocation API + + schemas: + AcrDetermReq: + description: Represents the parameters to request ACR with action determination. + type: object + properties: + requestorId: + type: string + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + acId: + type: string + easId: + type: string + sEasEndpoint: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + expectedLocArea: + $ref: '#/components/schemas/ExpectedLocationArea' + required: + - requestorId + - sEasEndpoint + + AcrInitReq: + description: Represents the parameters to request ACR with action initiation. + type: object + properties: + requestorId: + type: string + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + acId: + type: string + easId: + type: string + tEasEndpoint: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + sEasEndpoint: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + prevTEasEndpoint: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + routeReq: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + simInactTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + easNotifInd: + type: boolean + default: false + prevEasNotifInd: + type: boolean + default: false + eecCtxtReloc: + $ref: '#/components/schemas/EecCtxtReloc' + predictExpTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + expectedLocArea: + $ref: '#/components/schemas/ExpectedLocationArea' + required: + - requestorId + - tEasEndpoint + - easNotifInd + + AcrDecReq: + description: > + Represents the parameters to inform about the selected target EAS and provide the + associated information. + type: object + properties: + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + acId: + type: string + tEasId: + type: string + tEasEndpoint: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + expectedLocArea: + $ref: '#/components/schemas/ExpectedLocationArea' + required: + - ueId + - tEasId + - tEasEndpoint + + EecCtxtReloc: + description: Represents EEC Context relocation information. + type: object + properties: + eecCtxtId: + type: string + sEesId: + type: string + sEecEndpoint: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + tEesId: + type: string + tEecEndpoint: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + required: + - eecCtxtId + + ExpectedLocationArea: + description: > + Represents the expected location or service are of UE. + type: object + properties: + locInfo: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + svcArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' diff --git a/TS24558_Eees_EASDiscovery.yaml b/TS24558_Eees_EASDiscovery.yaml new file mode 100644 index 0000000000000000000000000000000000000000..71539bd4fd1970f036a4e0db99cbd56774090b9d --- /dev/null +++ b/TS24558_Eees_EASDiscovery.yaml @@ -0,0 +1,735 @@ +openapi: 3.0.0 + +info: + title: Eees_EASDiscovery + description: | + API for EAS Discovery. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.1.0-alpha.4" + +externalDocs: + description: > + 3GPP TS 24.558 V18.3.0 Enabling Edge Applications; Protocol specification. + url: https://www.3gpp.org/ftp/Specs/archive/24_series/24.558/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/eees-easdiscovery/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.558. + +paths: + + /subscriptions: + post: + description: Creates a new individual EAS discovery subscription. + operationId: CreateEASDiscSub + tags: + - EAS Discovery Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EasDiscoverySubscription' + responses: + '201': + description: > + Created. A new Individual EAS Discovery Subscription resource was successfully + created. + content: + application/json: + schema: + $ref: '#/components/schemas/EasDiscoverySubscription' + 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: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EasDiscoveryNotification' + responses: + '204': + description: No Content (The receipt of the Notification is acknowledged). + '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' + + /subscriptions/{subscriptionId}: + put: + description: > + Updates an existing individual EAS discovery subscription identified by the subscriptionId. + operationId: UpdateIndEASDiscSub + tags: + - Individual EAS Discovery Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Identifies an individual EAS discovery subscription resource. + required: true + schema: + type: string + requestBody: + description: Parameters to replace the existing subscription. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EasDiscoverySubscription' + responses: + '200': + description: > + OK. The individual EAS discovery subscription resource was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/EasDiscoverySubscription' + '204': + description: No Content (updated successfully). + '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: + description: > + Deletes an existing individual EAS discovery subscription identified by the subscriptionId. + operationId: DeleteIndEASDiscSub + tags: + - Individual EAS Discovery Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Identifies an individual EAS discovery subscription resource. + required: true + schema: + type: string + responses: + '204': + description: > + An individual EAS discovery subscription resource deleted 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' + '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: + description: > + Partial update an existing EAS Discovery Subscription resource identified by a + subscriptionId. + operationId: ModifyIndEASDiscSub + tags: + - Individual EAS Discovery Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Identifies an individual EAS discovery subscription resource. + required: true + schema: + type: string + requestBody: + description: Parameters to replace the existing subscription. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/EasDiscoverySubscriptionPatch' + responses: + '200': + description: > + OK (An individual EAS discovery subscription resource updated successfully). + content: + application/json: + schema: + $ref: '#/components/schemas/EasDiscoverySubscription' + '204': + description: No Content (modified successfully). + '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' + + /eas-profiles/request-discovery: + post: + description: > + Provides EAS information requested by the service consumer (i.e. EEC, EAS or EES). + operationId: GetEASDiscInfo + tags: + - EAS Profiles (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EasDiscoveryReq' + responses: + '200': + description: > + OK (The requested EAS discovery information was returned successfully). + content: + application/json: + schema: + $ref: '#/components/schemas/EasDiscoveryResp' + '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' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + + EasDiscoveryReq: + description: EAS discovery request information. + type: object + properties: + requestorId: + $ref: '#/components/schemas/RequestorId' + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + easDiscoveryFilter: + $ref: '#/components/schemas/EasDiscoveryFilter' + eecSvcContinuity: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + description: > + Indicates if the EEC supports service continuity or not, also indicates which ACR + scenarios are supported by the EEC. + eesSvcContinuity: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + description: > + Indicates if the EES supports service continuity or not, also indicates which ACR + scenarios are supported by the EES. + easSvcContinuity: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + description: > + Indicates if the EAS supports service continuity or not, also indicates which ACR + scenarios are supported by the EAS. + locInf: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + easTDnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + easSelSupInd: + type: boolean + description: > + Indicates if the EEC requires the EAS selection support from the EES (e.g., for + constrained device). The default value false indicates the EAS selection is not + required from the EES. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + easIntTrigSup: + type: boolean + description: > + Indicates to the EES whether the EAS instantiation triggering should be performed for + the current request. The default value false indicates the EAS instantiation triggering + should not be performed. The true value indicate the EAS instantiation triggering should + be performed. + predictExpTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + servingPLMNInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + svcContinuityPlanInd: + type: boolean + description: > + Indicates to the EES whether the EAS discovery request is triggered as part of service + continuity planning. The default value false indicates this request is not part of + service continuity planning. The true value indicate this request is part of + service continuity planning. + required: + - requestorId + + EasDiscoveryResp: + description: EAS discovery response. + type: object + properties: + discoveredEas: + type: array + items: + $ref: '#/components/schemas/DiscoveredEas' + description: List of EAS discovery information. + easInstInfos: + type: object + additionalProperties: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/EASInstantiationInfo' + minProperties: 1 + description: > + Contains the EAS instantiation information for each discovered EAS returned within + the discoveredEas attribute. + edgeLoadAnalytics: + type: object + additionalProperties: + $ref: '#/components/schemas/EdgeLoadAnalytic' + minProperties: 1 + description: > + Contains the statistical analytics data and predictive analytics data for each + discovered application server. The key of the map shall be the EAS ID to which + the provided analytics data within the map value relates. + required: + - discoveredEas + + EasDiscoverySubscription: + description: Represents an Individual EAS Discovery Subscription resource. + type: object + properties: + eecId: + type: string + description: Represents a unique identifier of the EEC. + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + easEventType: + $ref: '#/components/schemas/EASDiscEventIDs' + easDiscoveryFilter: + $ref: '#/components/schemas/EasDiscoveryFilter' + easDynInfoFilter: + $ref: '#/components/schemas/EasDynamicInfoFilter' + easSvcContinuity: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + description: > + Indicates if the EEC supports service continuity or not, also indicates which ACR + scenarios are supported by the EEC. + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + requestTestNotification: + type: boolean + description: > + Set to true by Subscriber to request the EES to send a test notification. Set to false + or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + easIntTrigSup: + type: boolean + description: > + Indicates to the EES whether the EAS instantiation triggering should be performed for + the current request. The default value false indicates the EAS instantiation triggering + should not be performed. The true value indicate the EAS instantiation triggering should + be performed. + eecTriggerRequest: + type: boolean + description: > + Indicates to the EES whether the application triggering is required by the EEC. + Default value false indicates the application triggering is not required. + required: + - eecId + - easEventType + + EasDiscoveryNotification: + description: Notification of EAS discovery information. + type: object + properties: + subId: + type: string + description: > + Identifier of the individual service provisioning subscription for which the service + provisioning notification is delivered. + eventType: + $ref: '#/components/schemas/EASDiscEventIDs' + discoveredEas: + type: array + items: + $ref: '#/components/schemas/DiscoveredEas' + minItems: 1 + description: List of EAS discovery information. + easInstInfos: + type: object + additionalProperties: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/EASInstantiationInfo' + minProperties: 1 + description: > + Contains the EAS instantiation information for each discovered EAS returned within + the "discoveredEas" attribute. + edgeLoadAnalytics: + type: object + additionalProperties: + $ref: '#/components/schemas/EdgeLoadAnalytic' + minProperties: 1 + description: > + Contains the statistical analytics data and predictive analytics data for each + discovered application server. The key of the map shall be the EAS ID to which + the provided analytics data within the map value relates. + required: + - subId + - eventType + - discoveredEas + + EasDiscoveryFilter: + description: Represents the EAS characteristics. + type: object + properties: + acChars: + type: array + items: + $ref: '#/components/schemas/ACCharacteristics' + minItems: 1 + description: AC description for which an EAS is needed. + easChars: + type: array + items: + $ref: '#/components/schemas/EasCharacteristics' + minItems: 1 + description: Required EAS chararcteristics. + + EasCharacteristics: + description: Represents the EAS chararcteristics. + type: object + properties: + easId: + type: string + description: EAS application identifier. + appGrpId: + type: string + description: > + Application group identifier, identifying a group of UEs using the same + application service. + easSyncInd: + type: boolean + description: > + Indicates whether the synchronization between the EASs is required. The + default value false indicates the EAS synchronization is not required. + easProvId: + type: string + description: EAS provider identifier. + stdEasType: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EASCategory' + easType: + type: string + description: EAS type with the flexible value set. + easSched: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + svcArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + easSvcContinuity: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + description: > + Indicates if the EEC supports service continuity or not, also indicates which ACR + scenarios are supported by the EEC. + svcPermLevel: + type: string + description: Service permissions level. + svcFeats: + type: array + items: + type: string + minItems: 1 + description: Service features. + easBundleInfo: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EASBundleInfo' + not: + required: [stdEasType, easType] + + DiscoveredEas: + description: Represents an EAS discovery information. + type: object + properties: + eas: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EASProfile' + lifeTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + required: + - eas + + EasDynamicInfoFilter: + description: Represents EAS dynamic information changes filter. + type: object + properties: + dynInfoFilter: + type: array + items: + $ref: '#/components/schemas/EasDynamicInfoFilterData' + minItems: 1 + description: List of EAS dynamic information required by the EEC per EAS. + required: + - dynInfoFilter + + EasDynamicInfoFilterData: + description: Represents an EAS dynamic information. + type: object + properties: + eecId: + type: string + description: The application identifier of the EAS, e.g. FQDN, URI. + easStatus: + type: boolean + description: Notify if EAS status changed. + easAcIds: + type: boolean + description: Notify if list of AC identifiers changed. + easDesc: + type: boolean + description: Notify if EAS description changed. + easPt: + type: boolean + description: Notify if EAS endpoint changed. + easEndPoint: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + easFeature: + type: boolean + description: Notify if EAS feature changed. + easSchedule: + type: boolean + description: Notify if EAS schedule changed. + svcArea: + type: boolean + description: Notify if EAS service area changed. + svcKpi: + type: boolean + description: Notify if EAS KPIs changed. + svcCont: + type: boolean + description: Notify if EAS supported ACR changed. + required: + - eecId + + ACCharacteristics: + description: Represents EAS dynamic information changes filter. + type: object + properties: + acProf: + $ref: 'TS24558_Eees_EECRegistration.yaml#/components/schemas/ACProfile' + required: + - acProf + + EASDiscEventIDs: + anyOf: + - type: string + enum: + - EAS_AVAILABILITY_CHANGE + - EAS_DYNAMIC_INFO_CHANGE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - EAS_AVAILABILITY_CHANGE: Represents the EAS availability change event. + - EAS_DYNAMIC_INFO_CHANGE: Represents the EAS dynamic information change event. + + EasDiscoverySubscriptionPatch: + description: Represents an Individual EAS Discovery Subscription resource. + type: object + properties: + easDiscoveryFilter: + $ref: '#/components/schemas/EasDiscoveryFilter' + easDynInfoFilter: + $ref: '#/components/schemas/EasDynamicInfoFilter' + easSvcContinuity: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + description: > + Indicates if the EEC supports service continuity or not, also indicates which ACR + scenarios are supported by the EEC. + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + easEventType: + $ref: '#/components/schemas/EASDiscEventIDs' + + RequestorId: + description: Represents identifier of the requestor. + type: object + properties: + eesId: + type: string + description: The identifier of the EES (e.g. S-EES). + easId: + type: string + description: The application identifier of the EAS (e.g. S-EAS), e.g. FQDN, URI. + eecId: + type: string + description: The identifier of the EEC. + oneOf: + - required: [eesId] + - required: [easId] + - required: [eecId] + + EdgeLoadAnalytic: + description: > + Contains the statistical analytics data and predictive analytics data for each + discovered application server. + type: object + properties: + easId: + type: string + description: The application identifier of the EAS, e.g. FQDN, URI. + predictData: + $ref: '#/components/schemas/PredictiveData' + statisticData: + $ref: '#/components/schemas/StatisticalData' + required: + - easId + + PredictiveData: + description: > + Contains the predictive analytics data for each discovered EAS service status + (e.g. EAS schedule, EAS status) change. + type: object + properties: + scheds: + type: array + items: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/ScheduledCommunicationTime' + minItems: 1 + status: + type: string + description: Indicates the EAS status (e.g. Enabled, Disabled etc.). + + StatisticalData: + description: > + Contains the statistical analytics data (e.g. number of times the client received + expected performance from the EAS). + type: object + properties: + numRecPerf: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + diff --git a/TS24558_Eees_EECRegistration.yaml b/TS24558_Eees_EECRegistration.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9ead54fa2a8697ee88ba914818805884d286d0f1 --- /dev/null +++ b/TS24558_Eees_EECRegistration.yaml @@ -0,0 +1,438 @@ +openapi: 3.0.0 + +info: + title: Eees_EECRegistration + version: "1.1.0-alpha.4" + description: | + API for EEC registration. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 24.558 V18.3.0 Enabling Edge Applications; Protocol specification. + url: 'https://www.3gpp.org/ftp/Specs/archive/24_series/24.558/' + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/eees-eecregistration/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.558. + +paths: + + /registrations: + post: + operationId: CreateEECReg + tags: + - EEC Registrations (Collection) + description: Create a new EEC registration at the EES. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EECRegistration' + responses: + '201': + description: Created (EEC information is registered successfully at EES). + content: + application/json: + schema: + $ref: '#/components/schemas/EECRegistration' + '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' + + /registrations/{registrationId}: + put: + operationId: UpdateIndEECReg + tags: + - Individual EEC registration (Document) + description: Update an existing EEC registration a the EES. + parameters: + - name: registrationId + in: path + description: Identifies an individual EEC registration. + required: true + schema: + type: string + requestBody: + description: Parameters to replace the existing registration. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EECRegistration' + responses: + '200': + description: OK (An individual EEC registration resource updated successfully). + content: + application/json: + schema: + $ref: '#/components/schemas/EECRegistration' + '204': + description: > + No Content (An individual EEC registration resource updated 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: + operationId: DeleteIndEECReg + tags: + - Individual EEC registration (Document) + description: Remove an existing EEC registration at EES. + parameters: + - name: registrationId + in: path + description: Identifies an individual EEC registration. + required: true + schema: + type: string + responses: + '204': + description: > + No Content (An individual EEC registration resource deleted 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' + '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: + operationId: ModifyIndEECReg + tags: + - Individual EEC registration (Document) + description: Partially update an existing EEC registration a the EES. + parameters: + - name: registrationId + in: path + description: Identifies an individual EEC registration. + required: true + schema: + type: string + requestBody: + description: Parameters to replace the existing registration. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/EECRegistrationPatch' + responses: + '200': + description: OK (An individual EEC registration resource updated successfully). + content: + application/json: + schema: + $ref: '#/components/schemas/EECRegistration' + '204': + description: > + No Content (An individual EEC registration resource updated 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' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + + EECRegistration: + description: Describes the parameters to perform EEC Registration related operations. + type: object + properties: + eecId: + type: string + description: Represents a unique identifier of the EEC. + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + acProfs: + type: array + items: + $ref: '#/components/schemas/ACProfile' + description: Profiles of ACs for which the EEC provides edge enabling services. + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + eecSvcContSupp: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + description: Profiles of ACs for which the EEC provides edge enabling services. + eecCntxId: + type: string + description: Identifier of the EEC context obtained from a previous registration. + srcEesId: + type: string + description: Identifier of the EES that provided EEC context ID. + endPt: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + ueMobilityReq: + type: boolean + description: > + Set to true to indicate that UE Mobility support is required. + Set to false to indicate that UE mobility support is not required. + The default value when omitted is false. + easSelReqInd: + type: boolean + description: > + Set to true to indicate the EES support for EAS selection. + Set to false to indicate the EES shall not select the EAS. + The default value when omitted is false. + ueType: + $ref: '#/components/schemas/DeviceType' + discoveredEas: + type: array + items: + $ref: 'TS24558_Eees_EASDiscovery.yaml#/components/schemas/DiscoveredEas' + unfulfillAcProfs: + type: array + items: + $ref: '#/components/schemas/UnfulfilledAcProfile' + minItems: 1 + description: > + A list of ACIDs of the AC Profile(s) sent from EES, for which the requirements + indicated in the AC profile(s) cannot be fulfilled. + unfulfilledAcProfs: + $ref: '#/components/schemas/UnfulfilledAcProfile' + not: + required: [ unfulfilledAcProfs, unfulfillAcProfs ] + required: + - eecId + + ACProfile: + description: AC information indicating required services and service characteristics. + type: object + properties: + acId: + type: string + description: Identity of the AC. + acType: + type: string + description: The category or type of AC. + prefEcsps: + type: array + items: + type: string + description: Indicates to the ECS which ECSPs are preferred for the AC. + acSchedule: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/ScheduledCommunicationTime' + expAcGeoServArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + acSvcContSupp: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + description: The ACR scenarios supported by the AC for service continuity. + simInactTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + eass: + type: array + items: + $ref: '#/components/schemas/EasDetail' + minItems: 1 + description: List of EAS information. + easBundleInfo: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EASBundleInfo' + required: + - acId + + EasDetail: + description: EAS details. + type: object + properties: + easId: + type: string + description: Application identifier of the EAS. + expectedSvcKPIs: + $ref: '#/components/schemas/ACServiceKPIs' + minimumReqSvcKPIs: + $ref: '#/components/schemas/ACServiceKPIs' + required: + - easId + + ACServiceKPIs: + description: Describes the KPIs required by the AC in order to receive required services. + type: object + properties: + connBand: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + reqRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + respTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + avail: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + reqComp: + type: string + description: The compute resources required by the AC. + reqGrapComp: + type: string + description: The graphical compute resources required by the AC. + reqMem: + type: string + description: The memory resources required by the AC. + reqStrg: + type: string + description: The storage resources required by the AC. + + EECRegistrationPatch: + description: Describes the parameters to perform EEC Registration update. + type: object + properties: + acProfs: + type: array + items: + $ref: '#/components/schemas/ACProfile' + description: Profiles of ACs for which the EEC provides edge enabling services. + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + ueMobilityReq: + type: boolean + description: Indicates whether UE requires mobility support or not. + easSelReqInd: + type: boolean + description: Indicates whether EES support for EAS selection is required or not. + ueType: + $ref: '#/components/schemas/DeviceType' + + UnfulfilledAcProfile: + description: Describes AC Profile ID and reason sent by EES in EEC Register response. + type: object + properties: + acId: + type: string + description: The AC ID of a AC profile. + reason: + $ref: '#/components/schemas/UnfulfillACProfRsn' + + UnfulfillACProfRsn: + anyOf: + - type: string + enum: + - EAS_NOT_AVAILABLE + - REQ_UNFULFILLED + - type: string + description: > + This string provides forward-compatibility with future extensions to the + enumeration and is not used to encode content defined in the present version + of this API. + description: | + Represents reason for unfulfilled AC profile requirements. + Possible values are: + - EAS_NOT_AVAILABLE: EAS is not available. + - REQ_UNFULFILLED: Requirements cannot be fulfilled. + + DeviceType: + anyOf: + - type: string + enum: + - CONSTRAINED_UE + - NORMAL_UE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: > + Represents the UE type. + Possible values are: + - CONSTRAINED_UE: Indicates UE is constrained with resources like power, processor etc. + - NORMAL_UE: Indicates UE is not constrained with resources. + diff --git a/TS26512_EventExposure.yaml b/TS26512_EventExposure.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d64ca290d1bdd8becb8917637b654b341dee480b --- /dev/null +++ b/TS26512_EventExposure.yaml @@ -0,0 +1,300 @@ +openapi: 3.0.0 +info: + title: 5GMS Event Exposure + version: 1.0.0 + description: | + 5GMS Event Exposure syntax + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +tags: + - name: 5GMS Event Exposure + description: '5G Media Streaming: Event Exposure' +externalDocs: + description: 'TS 26.512 V18.0.0; 5G Media Streaming (5GMS); Protocols' + url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' +paths: {} +components: + schemas: + BaseEventCollection: + type: object + description: Abstract base data type describing a collection of event records + required: + - collectionTimestamp + - startTimestamp + - endTimestamp + - sampleCount + - streamingDirection + - summarisations + - records + properties: + collectionTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + # The date–time at which this collection was exposed by the Data Collection AF as an event to its subscribed event consumers. + startTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + # Date–time of earliest data sample included in or summarised by this collection. + endTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + # Date–time of latest data sample included in or summarised by this collection. + sampleCount: + type: integer + minimum: 1 + description: The number of data samples included in or summarised by this collection. + streamingDirection: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ProvisioningSessionType' + summarisations: + type: array + minItems: 1 + items: + $ref: 'TS26532_Ndcaf_DataReportingProvisioning.yaml#/components/schemas/DataAggregationFunctionType' + description: One or more data aggregation functions that have been applied to the UE data to produce summary records present in this collection. + records: + type: array + minItems: 0 + items: {} + description: Type of record is defined by concrete data type. + + BaseEventRecord: + type: object + description: Abstract base data type describing a single UE data record or summarising a set of UE data records. + required: + - recordType + - recordTimestamp + properties: + recordType: + $ref: '#/components/schemas/EventRecordType' + recordTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + # The date–time at which the UE data carried in this record was sampled or summarised. + provisioningSessionId: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + # The identifier of the Provisioning Session to which this record pertains. Present only for individual data sample record type. + sessionId: + $ref: 'TS26512_CommonData.yaml#/components/schemas/MediaDeliverySessionId' + # A value synthesised by the 5GMS System that uniquely identifies the media streaming session to which this record pertains. Present only for individual data sample record type. + ueIdentification: + type: string + description: GPSI of the requesting UE or a stable globally unique string identifying the requesting Media Session Handler. Present only for individual data sample record type and only when exposure is permitted by the data exposure restrictions in force for the event type in question. + dataNetworkName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + # Identifying the Data Network of the M4 media streaming session. Present only for individual data sample record type. + sliceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + # The S-NSSAI identifying the Network Slice of the M4 media streaming session. Present only for individual data sample record type. + ueLocations: + type: array + minItems: 0 + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + description: The location of the UE when the data described by this record was sampled. Present only for individual data sample record type and only when exposure is permitted by the data exposure restrictions in force for the event in question. + + EventRecordType: + description: Enumeration of event record types. + anyOf: + - type: string + enum: [INDIVIDUAL_SAMPLE, SUMMARY_MEAN, SUMMARY_MINIMUM, SUMMARY_MAXIMUM, SUMMARY_SUM] + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + QoEMetricsCollection: + description: A collection of QoE Metrics Event records. + allOf: + - $ref: '#/components/schemas/BaseEventCollection' + - type: object + required: + - records + properties: + records: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/QoEMetricsEvent' + description: A set of QoE Metrics Event records, each one describing a QoE metrics report or summarising a set of QoE metrics reports. + + QoEMetricsEvent: + description: A QoE Metrics Event record. + allOf: + - $ref: '#/components/schemas/BaseEventRecord' + - type: object + required: + - metricType + properties: + metricType: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + # A fully-qualified term identifier that uniquely identifies the QoE metrics reporting scheme and the type of QoE metric included in this record, as specified in clause E.2, up to but excluding the first hierarchical separator. + samples: + type: array + minItems: 1 + items: + type: object + required: + - metrics + properties: + sampleTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + # The moment in time at which this QoE metric was sampled. + sampleDuration: + $ref: 'TS26512_CommonData.yaml#/components/schemas/Duration' + # The time duration over which this QoE metric was sampled. + mediaTimestamp: + $ref: 'TS26512_CommonData.yaml#/components/schemas/Duration' + # The time point in the media at which this QoE metric was sampled. + metrics: + type: array + minItems: 1 + description: A set of key–value pairs for the samples metrics associated with this QoE metric sample. + items: + type: object + description: A name and optional value for a QoE metric within a QoE metric sample. + required: + - key + properties: + key: + type: string + description: A token that uniquely identifies the type of metric within the scope of the event type. + value: {} + + ConsumptionReportingUnitsCollection: + description: A collection of Consumption Reporting Event records. + allOf: + - $ref: '#/components/schemas/BaseEventCollection' + - type: object + required: + - records + properties: + records: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/ConsumptionReportingEvent' + description: A set of records, each one describing a Consumption Reporting Unit. + + ConsumptionReportingEvent: + description: A Consumption Reporting Event record, corresponding to a Consumption Reporting Unit. + allOf: + - $ref: '#/components/schemas/BaseEventRecord' + - type: object + required: + - unitDuration + - mediaPlayerEntryUrl + - mediaComponentIdentifier + properties: + unitDuration: + $ref: 'TS26512_CommonData.yaml#/components/schemas/Duration' + # The duration of this consumption reporting unit. + clientEndpointAddress: + $ref: 'TS26512_CommonData.yaml#/components/schemas/EndpointAddress' + # The endpoint address of the UE that consumed media. + serverEndpointAddress: + $ref: 'TS26512_CommonData.yaml#/components/schemas/EndpointAddress' + # The endpoint address of the 5GMS AS from which media was consumed. + mediaPlayerEntryUrl: + $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl' + # The Media Player Entry URL to which this consumption reporting unit pertains. + mediaComponentIdentifier: + type: string + description: A token (e.g., an MPEG DASH representation identifier) identifying the media component of the Media Player Entry that was consumed during this consumption reporting unit. + + NetworkAssistanceInvocationsCollection: + description: A collection of Network Assistance Invocation Event records. + allOf: + - $ref: '#/components/schemas/BaseEventCollection' + - type: object + required: + - records + properties: + records: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/NetworkAssistanceInvocationEvent' + description: A set of records, each one describing a Network Assistance invocation or summarising a set of Network Assistance invocations. + + NetworkAssistanceInvocationEvent: + description: A Network Assistance Invocation Event record. + allOf: + - $ref: '#/components/schemas/BaseEventRecord' + - type: object + required: + - networkAssistanceType + properties: + networkAssistanceType: + $ref: '#/components/schemas/NetworkAssistanceType' + # The type of Network Assistance solicited by the Media Session Handler. + - $ref: 'TS26512_CommonData.yaml#/components/schemas/NetworkAssistanceInvocation' + + NetworkAssistanceType: + description: The type of network assistance sought by the Media Session Handler. + anyOf: + - type: string + enum: [AF_THROUGHPUT_ESTIMATION, AF_DELIVERY_BOOST, ANBR_THROUGHPUT_ESTIMATION, ANBR_DELIVERY_BOOST] + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + DynamicPolicyInvocationsCollection: + description: A collection of Dynamic Policy Invocation Event records. + allOf: + - $ref: '#/components/schemas/BaseEventCollection' + - type: object + required: + - records + properties: + records: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/DynamicPolicyInvocationEvent' + description: A set of records, each one describing a dynamic policy invocation. + + DynamicPolicyInvocationEvent: + description: A Dynamic Policy Invocation Event record. + allOf: + - $ref: '#/components/schemas/BaseEventRecord' + - type: object + required: + - policyTemplateId + properties: + policyTemplateId: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + serviceDataFlowDescriptions: + type: array + minItems: 1 + items: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ServiceDataFlowDescription' + description: The set of Service Data Flows to which the Media Session Handler requested that the Policy Template be applied. At least a domain name or one packet filter shall be present. + requestedQoS: + $ref: 'TS26512_CommonData.yaml#/components/schemas/UnidirectionalQoSSpecification' + # The network QoS parameters (if any) requested by the Media Session Handler. + enforcementMethod: + type: string + description: The policy enforcement method chosen by the 5GMS AF. + enforcementBitRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + # The enforcement bit rate (if any) selected by the 5GMS AF. + + MediaStreamingAccessesCollection: + description: A collection of Media Streaming Access Event records. + allOf: + - $ref: '#/components/schemas/BaseEventCollection' + - type: object + required: + - records + properties: + records: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/MediaStreamingAccessEvent' + description: A set of records, each one describing one media streaming access. + + MediaStreamingAccessEvent: + description: A Media Streaming Access Event record. + allOf: + - $ref: '#/components/schemas/BaseEventRecord' + - $ref: 'TS26512_CommonData.yaml#/components/schemas/MediaStreamingAccess' diff --git a/TS26512_M1_ConsumptionReportingProvisioning.yaml b/TS26512_M1_ConsumptionReportingProvisioning.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e9679462fce8fa4c3a789d9897a56becff7d7f2b --- /dev/null +++ b/TS26512_M1_ConsumptionReportingProvisioning.yaml @@ -0,0 +1,120 @@ +openapi: 3.0.0 +info: + title: M1_ConsumptionReportingProvisioning + version: 2.1.0 + description: | + 5GMS AF M1 Consumption Reporting Provisioning API + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +tags: + - name: M1_ConsumptionReportingProvisioning + description: '5G Media Streaming: Provisioning (M1) APIs: Consumption Reporting Provisioning' +externalDocs: + description: 'TS 26.512 V17.7.0; 5G Media Streaming (5GMS); Protocols' + url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' +servers: + - url: '{apiRoot}/3gpp-m1/v2' + variables: + apiRoot: + default: https://example.com + description: See 3GPP TS 29.512 clause 6.1. +paths: + /provisioning-sessions/{provisioningSessionId}/consumption-reporting-configuration: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + post: + operationId: activateConsumptionReporting + summary: 'Activate the consumption reporting procedure for the specified Provisioning Session by providing the Consumption Reporting Configuration' + requestBody: + description: 'A JSON representation of a Consumption Reporting Configuration' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ConsumptionReportingConfiguration' + responses: + '201': + description: 'Consumption Reporting Configuration Created' + headers: + Location: + description: 'URL of the newly created Consumption Reporting Configuration (same as request URL).' + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl' + get: + operationId: retrieveConsumptionReportingConfiguration + summary: 'Retrieve the Consumption Reporting Configuration of the specified Provisioning Session' + responses: + '200': + description: 'Success' + content: + application/json: + schema: + $ref: '#/components/schemas/ConsumptionReportingConfiguration' + put: + operationId: updateConsumptionReportingConfiguration + summary: 'Update the Consumption Reporting Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Consumption Reporting Configuration' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ConsumptionReportingConfiguration' + responses: + '204': + description: 'Updated Consumption Reporting Configuration' + '404': + description: 'Not Found' + patch: + operationId: patchConsumptionReportingConfiguration + summary: 'Patch the Consumption Reporting Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Consumption Reporting Configuration' + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ConsumptionReportingConfiguration' + application/json-patch+json: + schema: + $ref: '#/components/schemas/ConsumptionReportingConfiguration' + responses: + '200': + description: 'Patched Consumption Reporting Configuration' + content: + application/json: + schema: + $ref: '#/components/schemas/ConsumptionReportingConfiguration' + '404': + description: 'Not Found' + delete: + operationId: destroyConsumptionReportingConfiguration + summary: 'Destroy the current Consumption Reporting Configuration of the specified Provisioning Session' + responses: + '204': + description: 'Destroyed Consumption Reporting Configuration' + '404': + description: 'Not Found' +components: + schemas: + ConsumptionReportingConfiguration: + type: object + description: "A representation of a Consumption Reporting Configuration resource." + properties: + reportingInterval: + minimum: 0 + exclusiveMinimum: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + samplePercentage: + $ref: 'TS26512_CommonData.yaml#/components/schemas/Percentage' + locationReporting: + type: boolean + accessReporting: + type: boolean diff --git a/TS26512_M1_ContentHostingProvisioning.yaml b/TS26512_M1_ContentHostingProvisioning.yaml new file mode 100644 index 0000000000000000000000000000000000000000..baa2f09a88ab3136d52e39376aba69e3a550bac9 --- /dev/null +++ b/TS26512_M1_ContentHostingProvisioning.yaml @@ -0,0 +1,347 @@ +openapi: 3.0.0 +info: + title: M1_ContentHostingProvisioning + version: 2.3.0 + description: | + 5GMS AF M1 Content Hosting Provisioning API + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +tags: + - name: M1_ContentHostingProvisioning + description: '5G Media Streaming: Provisioning (M1) APIs: Content Hosting Provisioning' +externalDocs: + description: 'TS 26.512 V17.7.0; 5G Media Streaming (5GMS); Protocols' + url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' +servers: + - url: '{apiRoot}/3gpp-m1/v2' + variables: + apiRoot: + default: https://example.com + description: See 3GPP TS 29.512 clause 6.1. +paths: + /provisioning-sessions/{provisioningSessionId}/content-hosting-configuration: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + post: + operationId: createContentHostingConfiguration + summary: 'Create (and optionally upload) the Content Hosting Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Content Hosting Configuration' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ContentHostingConfiguration' + responses: + '201': + description: 'Content Hosting Configuration Created' + headers: + Location: + description: 'URL of the newly created Content Hosting Configuration (same as request URL).' + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl' + get: + operationId: retrieveContentHostingConfiguration + summary: 'Retrieve the Content Hosting Configuration of the specified Provisioning Session' + responses: + '200': + description: 'Success' + content: + application/json: + schema: + $ref: '#/components/schemas/ContentHostingConfiguration' + '404': + description: 'Not Found' + put: + operationId: updateContentHostingConfiguration + summary: 'Update the Content Hosting Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Content Hosting Configuration' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ContentHostingConfiguration' + responses: + '204': + description: 'Updated Content Hosting Configuration' + '404': + description: 'Not Found' + patch: + operationId: patchContentHostingConfiguration + summary: 'Patch the Content Hosting Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Content Hosting Configuration' + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ContentHostingConfiguration' + application/json-patch+json: + schema: + $ref: '#/components/schemas/ContentHostingConfiguration' + responses: + '200': + description: 'Patched Content Hosting Configuration' + content: + application/json: + schema: + $ref: '#/components/schemas/ContentHostingConfiguration' + '404': + description: 'Not Found' + delete: + operationId: destroyContentHostingConfiguration + summary: 'Destroy the current Content Hosting Configuration of the specified Provisioning Session' + responses: + '204': + description: 'Destroyed Content Hosting Configuration' + '404': + description: 'Not Found' + + /provisioning-sessions/{provisioningSessionId}/content-hosting-configuration/purge: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: A unique identifier of the Provisioning + post: + operationId: purgeContentHostingCache + summary: 'Purge the content of the cache for the Content Hosting Configuration of the specified Provisioning Session' + requestBody: + description: 'The regular expression pattern for resources to purge from the cache' + required: true + content: + application/x-www-form-urlencoded: + schema: + properties: + pattern: + description: 'The regular expression' + type: string + responses: + '200': + # OK + description: 'Content Purged' + content: + application/json: + schema: + description: 'The aggregate number of cache entries purged in all 5GMSd AS instances distributing content for the requested Provisioning Session.' + type: integer + minimum: 1 + '204': + # No Content + description: 'No Content Purged' + '400': + # Bad Request (e.g. syntactically invalid regular expression in request body) + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + # Not Found + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '413': + # Payload Too Large + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + # URI Too Long + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + # Unsupported Media Type + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '500': + # Internal Server Error + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + # Service Unavailable + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + schemas: + IngestConfiguration: + type: object + description: 'A configuration for content ingest.' + properties: + pull: + type: boolean + protocol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + baseURL: + $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl' + + M1MediaEntryPoint: + description: "A typed entry point for downlink or uplink media streaming." + type: object + required: + - relativePath + - contentType + properties: + relativePath: + $ref: 'TS26512_CommonData.yaml#/components/schemas/RelativeUrl' + contentType: + type: string + profiles: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + + PathRewriteRule: + type: object + description: 'A rule to manipulate URL paths.' + required: + - requestPathPattern + - mappedPath + properties: + requestPathPattern: + type: string + mappedPath: + type: string + + CachingConfiguration: + type: object + description: 'A content caching configuration.' + required: + - urlPatternFilter + properties: + urlPatternFilter: + type: string + cachingDirectives: + type: object + required: + - noCache + properties: + statusCodeFilters: + type: array + items: + type: integer + noCache: + type: boolean + maxAge: + type: integer + format: int32 + + DistributionConfiguration: + type: object + description: 'A content distribution configuration.' + properties: + entryPoint: + $ref: '#/components/schemas/M1MediaEntryPoint' + contentPreparationTemplateId: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + edgeResourcesConfigurationId: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + domainNameAlias: + type: string + baseURL: + $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl' + pathRewriteRules: + type: array + items: + $ref: '#/components/schemas/PathRewriteRule' + cachingConfigurations: + type: array + items: + $ref: '#/components/schemas/CachingConfiguration' + geoFencing: + type: object + required: + - locatorType + - locators + properties: + locatorType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + locators: + type: array + items: + type: string + description: 'Format of individual locators depends on the locatorType.' + minItems: 1 + urlSignature: + type: object + required: + - urlPattern + - tokenName + - passphraseName + - passphrase + - tokenExpiryName + - useIPAddress + properties: + urlPattern: + type: string + tokenName: + type: string + passphraseName: + type: string + passphrase: + type: string + tokenExpiryName: + type: string + useIPAddress: + type: boolean + ipAddressName: + type: string + certificateId: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + supplementaryDistributionNetworks: + type: array + items: + type: object + description: "A duple tying a type of supplementary distribution network to its distribution mode." + required: + - distributionNetworkType + - distributionMode + properties: + distributionNetworkType: + $ref: '#/components/schemas/DistributionNetworkType' + distributionMode: + $ref: '#/components/schemas/DistributionMode' + + # Schema for the resource itself + ContentHostingConfiguration: + type: object + description: "A representation of a Content Hosting Configuration resource." + required: + - name + - ingestConfiguration + - distributionCanonicalDomainName + - distributionConfigurations + properties: + name: + type: string + ingestConfiguration: + $ref: '#/components/schemas/IngestConfiguration' + distributionCanonicalDomainName: + type: string + distributionConfigurations: + type: array + items: + $ref: '#/components/schemas/DistributionConfiguration' + + DistributionNetworkType: + description: "Type of distribution network." + anyOf: + - type: string + enum: [NETWORK_EMBMS] + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + DistributionMode: + description: "Mode of content distribution." + anyOf: + - type: string + enum: [MODE_EXCLUSIVE, MODE_HYBRID, MODE_DYNAMIC] + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. diff --git a/TS26512_M1_ContentPreparationTemplatesProvisioning.yaml b/TS26512_M1_ContentPreparationTemplatesProvisioning.yaml new file mode 100644 index 0000000000000000000000000000000000000000..87e000aa7dce29618709f9eea5a046048702d055 --- /dev/null +++ b/TS26512_M1_ContentPreparationTemplatesProvisioning.yaml @@ -0,0 +1,150 @@ +openapi: 3.0.0 +info: + title: M1_ContentPreparationTemplatesProvisioning + version: 2.1.1 + description: | + 5GMS AF M1 Content Preparation Templates Provisioning API + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +tags: + - name: M1_ContentPreparationTemplatesProvisioning + description: '5G Media Streaming: Provisioning (M1) APIs: Content Preparation Templates Provisioning' +externalDocs: + description: 'TS 26.512 V17.7.0; 5G Media Streaming (5GMS); Protocols' + url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' +servers: + - url: '{apiRoot}/3gpp-m1/v2' + variables: + apiRoot: + default: https://example.com + description: See 3GPP TS 29.512 clause 6.1. +paths: + /provisioning-sessions/{provisioningSessionId}/content-preparation-templates: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + post: + operationId: createContentPreparationTemplate + summary: 'Create (and optionally upload) a new Content Preparation Template for the specified Provisioning Session' + requestBody: + description: 'A Content Preparation Template of any supported type' + required: true + content: + '*/*': + schema: + type: string + responses: + '201': + description: 'Content Preparation Template Created' + headers: + Location: + description: 'URL of the newly created Content Preparation Template.' + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl' + '415': + # Unsupported Media Type + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '503': + # Service Unavailable + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /provisioning-sessions/{provisioningSessionId}/content-preparation-templates/{contentPreparationTemplateId}: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + - name: contentPreparationTemplateId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Content Preparation Template.' + get: + operationId: retrieveContentPreparationTemplate + summary: 'Retrieve the specified Content Preparation Template of the specified Provisioning Session' + responses: + '200': + description: 'Success' + content: + '*/*': + schema: + type: string + put: + operationId: updateContentPreparationTemplate + summary: 'Update the specified Content Preparation Template for the specified Provisioning Session' + requestBody: + description: 'A Content Preparation Template of any type' + required: true + content: + '*/*': + schema: + type: string + responses: + '204': + description: 'Updated Content Preparation Template' + '404': + description: 'Not Found' + '415': + # Unsupported Media Type + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '503': + # Service Unavailable + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + patch: + operationId: patchContentPreparationTemplate + summary: 'Patch the specified Content Preparation Template for the specified Provisioning Session' + requestBody: + description: 'A Content Preparation Template patch of any type' + required: true + content: + application/merge-patch+json: + schema: + type: string + application/json-patch+json: + schema: + type: string + responses: + '200': + description: 'Patched Content Preparation Templates' + content: + '*/*': + schema: + type: string + '404': + description: 'Not Found' + '415': + # Unsupported Media Type + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '503': + # Service Unavailable + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + delete: + operationId: destroyContentPreparationTemplate + summary: 'Destroy the specified Content Preparation Template of the specified Provisioning Session' + responses: + '200': + # OK + description: 'Content Preparation Template Destroyed' + content: + '*/*': + schema: + type: string + '204': + # No Content + description: 'Content Preparation Template Destroyed' + '404': + # Not Found + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + # Conflict + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '410': + # Gone + $ref: 'TS29571_CommonData.yaml#/components/responses/410' diff --git a/TS26512_M1_ContentProtocolsDiscovery.yaml b/TS26512_M1_ContentProtocolsDiscovery.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bc198a5da246dae2b56f943985362b43d0e2b986 --- /dev/null +++ b/TS26512_M1_ContentProtocolsDiscovery.yaml @@ -0,0 +1,70 @@ +openapi: 3.0.0 +info: + title: M1_ContentProtocolsDiscovery + version: 2.0.0 + description: | + 5GMS AF M1 Content Protocols Discovery API + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +tags: + - name: M1_ContentDiscovery + description: '5G Media Streaming: Provisioning (M1) APIs: Content Protocols Discovery' +externalDocs: + description: 'TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols' + url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' +servers: + - url: '{apiRoot}/3gpp-m1/v2' + variables: + apiRoot: + default: https://example.com + description: See 3GPP TS 29.512 clause 6.1. +paths: + /provisioning-sessions/{provisioningSessionId}/protocols: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + get: + operationId: retrieveContentProtocols + summary: 'Retrieve the set of Content Protocols supported by the specified Provisioning Session' + responses: + '200': + description: 'Success' + content: + application/json: + schema: + $ref: '#/components/schemas/ContentProtocols' +components: + schemas: + ContentProtocolDescriptor: + type: object + description: "A descriptor describing a content protocol." + required: + - termIdentifier + properties: + termIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + descriptionLocator: + $ref: 'TS26512_CommonData.yaml#/components/schemas/Url' + ContentProtocols: + type: object + description: "A representation of the Content Protocols resource." + properties: + downlinkIngestProtocols: + type: array + items: + $ref: '#/components/schemas/ContentProtocolDescriptor' + minItems: 1 + uplinkEgestProtocols: + type: array + items: + $ref: '#/components/schemas/ContentProtocolDescriptor' + minItems: 1 + geoFencingLocatorTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 diff --git a/TS26512_M1_EdgeResourcesProvisioning.yaml b/TS26512_M1_EdgeResourcesProvisioning.yaml new file mode 100644 index 0000000000000000000000000000000000000000..854bea11c6b9d420efc209af30dad6cd3b7605b4 --- /dev/null +++ b/TS26512_M1_EdgeResourcesProvisioning.yaml @@ -0,0 +1,199 @@ +openapi: 3.0.0 +info: + title: M1_EdgeResourcesProvisioning + version: 2.1.2 + description: | + 5GMS AF M1 Edge Resources Provisioning API + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +tags: + - name: M1_EdgeResourcesProvisioning + description: '5G Media Streaming: Provisioning (M1) APIs: Edge Resources Provisioning' +externalDocs: + description: 'TS 26.512 V17.6.0; 5G Media Streaming (5GMS); Protocols' + url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' +servers: + - url: '{apiRoot}/3gpp-m1/v2' + variables: + apiRoot: + default: https://example.com + description: See 3GPP TS 29.512 clause 7.10. +paths: + /provisioning-sessions/{provisioningSessionId}/edge-resources-configurations: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + post: + operationId: createEdgeResourcesConfiguration + summary: 'Create an Edge Resources Configuration within the scope of the specified Provisioning Session' + requestBody: + description: 'A JSON representation of an Edge Resources Configuration' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EdgeResourcesConfiguration' + responses: + '201': + description: 'Edge Resources Configuration Created' + headers: + Location: + description: 'URL of the newly created Edge Resources Configuration.' + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl' + /provisioning-sessions/{provisioningSessionId}/edge-resources-configurations/{edgeResourcesConfigurationId}: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + - name: edgeResourcesConfigurationId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Edge Resources Configuration.' + get: + operationId: retrieveEdgeResourcesConfiguration + summary: 'Retrieve the Edge Resources Configuration of the specified Provisioning Session' + responses: + '200': + description: 'Success' + content: + application/json: + schema: + $ref: '#/components/schemas/EdgeResourcesConfiguration' + put: + operationId: updateEdgeResourcesConfiguration + summary: 'Update an Edge Resources Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of an Edge Resources Configuration' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EdgeResourcesConfiguration' + responses: + '204': + description: 'Updated Edge Resources Configuration' + '404': + description: 'Not Found' + patch: + operationId: patchEdgeResourcesConfiguration + summary: 'Patch the Edge Resources Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Edge Resources Configuration' + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/EdgeResourcesConfiguration' + application/json-patch+json: + schema: + $ref: '#/components/schemas/EdgeResourcesConfiguration' + responses: + '200': + description: 'Patched Edge Resources Configuration' + content: + application/json: + schema: + $ref: '#/components/schemas/EdgeResourcesConfiguration' + '404': + description: 'Not Found' + delete: + operationId: destroyEdgeResourcesConfiguration + responses: + '204': + description: 'Destroyed Edge Resources Configuration' + '404': + description: 'Not Found' + +components: + schemas: + EdgeResourcesConfiguration: + type: object + description: 'A representation of an Edge Resources Configuration resource.' + required: + - edgeResourcesConfigurationId + - edgeManagementMode + - easRequirements + properties: + edgeResourcesConfigurationId: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + edgeManagementMode: + $ref: '#/components/schemas/EdgeManagementMode' + eligibilityCriteria: + $ref: 'TS26512_CommonData.yaml#/components/schemas/EdgeProcessingEligibilityCriteria' + easRequirements: + $ref: '#/components/schemas/EASRequirements' + easRelocationRequirements: + $ref: '#/components/schemas/M1EASRelocationRequirements' + + M1EASRelocationRequirements: + type: object + description: 'Relocation requirements of an EAS.' + required: + - tolerance + properties: + tolerance: + $ref: 'TS26512_CommonData.yaml#/components/schemas/EASRelocationTolerance' + maxInterruptionDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + maxResponseTimeDifference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + + EASRequirements: + type: object + description: 'Requirements of an EAS.' + properties: + easProviderIds: + type: array + items: + type: string + minItems: 1 + easId: + type: string + easType: + type: string + easFeatures: + type: array + items: + type: string + minItems: 1 + serviceKpi: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EASServiceKPI' + serviceArea: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/GeographicalServiceArea' + serviceAvailabilitySchedule: + type: array + items: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/ScheduledCommunicationTime' + minItems: 1 + serviceContinuityScenarios: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + minItems: 1 + serviceContinuitySupport: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + minItems: 1 + + EdgeManagementMode: + description: 'The management mode of an EAS.' + anyOf: + - type: string + enum: [EM_AF_DRIVEN, EM_APP_DRIVEN] + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. diff --git a/TS26512_M1_EventDataProcessingProvisioning.yaml b/TS26512_M1_EventDataProcessingProvisioning.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bcdafe255714e009e4bd452d40542ce9f6d8f08f --- /dev/null +++ b/TS26512_M1_EventDataProcessingProvisioning.yaml @@ -0,0 +1,137 @@ +openapi: 3.0.0 +info: + title: M1_EventDataProcessingProvisioning + version: 2.0.1 + description: | + 5GMS AF M1 Event Data Processing Provisioning API + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +tags: + - name: M1_EventDataProcessingProvisioning + description: '5G Media Streaming: Provisioning (M1) APIs: Event Data Processing Provisioning' +externalDocs: + description: 'TS 26.512 V17.4.0; 5G Media Streaming (5GMS); Protocols' + url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' +servers: + - url: '{apiRoot}/3gpp-m1/v2' + variables: + apiRoot: + default: https://example.com + description: See 3GPP TS 29.512 clause 6.1. +paths: + /provisioning-sessions/{provisioningSessionId}/event-data-processing-configurations: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + post: + operationId: createEventDataProcessingConfiguration + summary: 'Supply an Event Data Processing Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Event Data Processing Configuration' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventDataProcessingConfiguration' + responses: + '201': + description: 'Event Data Processing Configuration Created' + headers: + Location: + description: 'URL of the newly created Event Data Processing Configuration (same as request URL).' + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl' + /provisioning-sessions/{provisioningSessionId}/event-data-processing-configurations/{eventDataProcessingConfigurationId}: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + - name: eventDataProcessingConfigurationId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an Event Data Processing Configuration.' + get: + operationId: retrieveEventDataProcessingConfiguration + summary: 'Retrieve the specified Event Data Processing Configuration of the specified Provisioning Session' + responses: + '200': + description: 'Success' + content: + application/json: + schema: + $ref: '#/components/schemas/EventDataProcessingConfiguration' + put: + operationId: updateEventDataProcessingConfiguration + summary: 'Update the specified Event Data Processing Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Event Data Processing Configuration' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventDataProcessingConfiguration' + responses: + '204': + description: 'Updated Event Data Processing Configuration' + '404': + description: 'Not Found' + patch: + operationId: patchEventDataProcessingConfiguration + summary: 'Patch the specified Event Data Processing Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Event Data Processing Configuration' + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/EventDataProcessingConfiguration' + application/json-patch+json: + schema: + $ref: '#/components/schemas/EventDataProcessingConfiguration' + responses: + '200': + description: 'Patched Event Data Processing Configuration' + content: + application/json: + schema: + $ref: '#/components/schemas/EventDataProcessingConfiguration' + '404': + description: 'Not Found' + delete: + operationId: destroyEventDataProcessingConfiguration + summary: 'Destroy the specified Event Data Processing Configuration of the specified Provisioning Session' + responses: + '204': + description: 'Destroyed Event Data Processing Configuration' + '404': + description: 'Not Found' +components: + schemas: + EventDataProcessingConfiguration: + description: 'A representation of an Event Data Processing Configuration resource.' + type: object + required: + - eventDataProcessingConfigurationId + - eventId + - dataAccessProfiles + properties: + eventDataProcessingConfigurationId: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + eventId: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEvent' + authorizationUrl: + $ref: 'TS26512_CommonData.yaml#/components/schemas/Url' + dataAccessProfiles: + type: array + items: + $ref: 'TS26532_Ndcaf_DataReportingProvisioning.yaml#/components/schemas/DataAccessProfile' diff --git a/TS26512_M1_MetricsReportingProvisioning.yaml b/TS26512_M1_MetricsReportingProvisioning.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6d51ce24929cc754d69c0be587b2480d3a5665e3 --- /dev/null +++ b/TS26512_M1_MetricsReportingProvisioning.yaml @@ -0,0 +1,148 @@ +openapi: 3.0.0 +info: + title: M1_MetricsReportingProvisioning + version: 2.1.0 + description: | + 5GMS AF M1 Metrics Reporting Provisioning API + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +tags: + - name: M1_MetricsReportingProvisioning + description: '5G Media Streaming: Provisioning (M1) APIs: Metrics Reporting Provisioning' +externalDocs: + description: 'TS 26.512 V17.6.0; 5G Media Streaming (5GMS); Protocols' + url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' +servers: + - url: '{apiRoot}/3gpp-m1/v2' + variables: + apiRoot: + default: https://example.com + description: See 3GPP TS 29.512 clause 6.1. +paths: + /provisioning-sessions/{provisioningSessionId}/metrics-reporting-configurations: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + post: + operationId: activateMetricsReporting + summary: 'Activate the Metrics reporting procedure for the specified Provisioning Session by providing the Metrics Reporting Configuration' + requestBody: + description: 'A JSON representation of a Metrics Reporting Configuration' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MetricsReportingConfiguration' + responses: + '201': + description: 'Metrics Reporting Configuration Created' + headers: + Location: + description: 'URL of the newly created Metrics Reporting Configuration (same as request URL).' + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl' + /provisioning-sessions/{provisioningSessionId}/metrics-reporting-configurations/{metricsReportingConfigurationId}: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + - name: metricsReportingConfigurationId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of a Metrics Reporting Configuration.' + get: + operationId: retrieveMetricsReportingConfiguration + summary: 'Retrieve the specified Metrics Reporting Configuration of the specified Provisioning Session' + responses: + '200': + description: 'Success' + content: + application/json: + schema: + $ref: '#/components/schemas/MetricsReportingConfiguration' + put: + operationId: updateMetricsReportingConfiguration + summary: 'Update the specified Metrics Reporting Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Metrics Reporting Configuration' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MetricsReportingConfiguration' + responses: + '204': + description: 'Updated Metrics Reporting Configuration' + '404': + description: 'Not Found' + patch: + operationId: patchMetricsReportingConfiguration + summary: 'Patch the specified Metrics Reporting Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Metrics Reporting Configuration' + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/MetricsReportingConfiguration' + application/json-patch+json: + schema: + $ref: '#/components/schemas/MetricsReportingConfiguration' + responses: + '200': + description: 'Patched Metrics Reporting Configuration' + content: + application/json: + schema: + $ref: '#/components/schemas/MetricsReportingConfiguration' + '404': + description: 'Not Found' + delete: + operationId: destroyMetricsReportingConfiguration + summary: 'Destroy the specified Metrics Reporting Configuration of the specified Provisioning Session' + responses: + '204': + description: 'Destroyed Metrics Reporting Configuration' + '404': + description: 'Not Found' +components: + schemas: + MetricsReportingConfiguration: + type: object + description: "A representation of a Metrics Reporting Configuration resource." + required: + - metricsReportingConfigurationId + - samplingPeriod + properties: + metricsReportingConfigurationId: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + scheme: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + dataNetworkName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + reportingInterval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + samplePercentage: + $ref: 'TS26512_CommonData.yaml#/components/schemas/Percentage' + urlFilters: + type: array + items: + type: string + minItems: 1 + samplingPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + metrics: + type: array + items: + type: string + minItems: 1 diff --git a/TS26512_M1_PolicyTemplatesProvisioning.yaml b/TS26512_M1_PolicyTemplatesProvisioning.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f78b7bf3b6156e7700d0451f8dc98a940fb0323c --- /dev/null +++ b/TS26512_M1_PolicyTemplatesProvisioning.yaml @@ -0,0 +1,161 @@ +openapi: 3.0.0 +info: + title: M1_PolicyTemplatesProvisioning + version: 2.2.1 + description: | + 5GMS AF M1 Policy Templates Provisioning API + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +tags: + - name: M1_PolicyTemplatesProvisioning + description: '5G Media Streaming: Provisioning (M1) APIs: Policy Templates Provisioning' +externalDocs: + description: 'TS 26.512 V17.7.0; 5G Media Streaming (5GMS); Protocols' + url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' +servers: + - url: '{apiRoot}/3gpp-m1/v2' + variables: + apiRoot: + default: https://example.com + description: See 3GPP TS 29.512 clause 6.1. +paths: + /provisioning-sessions/{provisioningSessionId}/policy-templates: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + post: + operationId: createPolicyTemplate + summary: 'Create (and optionally upload) a new Policy Template' + requestBody: + description: 'A JSON representation of a Policy Template' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyTemplate' + responses: + '201': + description: 'Policy Template Created' + headers: + Location: + description: 'URL of the newly created Policy Template resource.' + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl' + + /provisioning-sessions/{provisioningSessionId}/policy-templates/{policyTemplateId}: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'A unique identifier of the Provisioning Session.' + - name: policyTemplateId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'A resource identifier of a Policy Template.' + get: + operationId: retrievePolicyTemplate + summary: 'Retrieve a representation of an existing Policy Template in the specified Provisioning Session' + responses: + '200': + description: 'Success' + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyTemplate' + '404': + description: 'Not Found' + put: + operationId: updatePolicyTemplate + summary: 'Update a Policy Template for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Policy Template' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyTemplate' + responses: + '204': + description: 'Updated Policy Template' + '404': + description: 'Not Found' + patch: + operationId: patchPolicyTemplate + summary: 'Patch the Policy Template for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Policy Template' + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PolicyTemplate' + application/json-patch+json: + schema: + $ref: '#/components/schemas/PolicyTemplate' + responses: + '200': + description: 'Patched Content Hosting Configuration' + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyTemplate' + '404': + description: 'Not Found' + delete: + operationId: destroyPolicyTemplate + responses: + '204': + description: 'Destroyed Policy Template' + '404': + description: 'Not Found' +components: + schemas: + PolicyTemplate: + type: object + description: "A representation of a Policy Template resource." + required: + - policyTemplateId + - state + - stateReason + - externalReference + properties: + policyTemplateId: + readOnly: true + allOf: + - $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + state: + readOnly: true + anyOf: + - type: string + enum: [PENDING, INVALID, READY, SUSPENDED] + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + stateReason: + readOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + externalReference: + type: string + qoSSpecification: + $ref: 'TS26512_CommonData.yaml#/components/schemas/M1QoSSpecification' + applicationSessionContext: + type: object + properties: + sliceInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + chargingSpecification: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ChargingSpecification' diff --git a/TS26512_M1_ProvisioningSessions.yaml b/TS26512_M1_ProvisioningSessions.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3fa386f338b0c97ea038f0718771b2e75e414828 --- /dev/null +++ b/TS26512_M1_ProvisioningSessions.yaml @@ -0,0 +1,117 @@ +openapi: 3.0.0 +info: + title: M1_ProvisioningSessions + version: 2.1.0 + description: | + 5GMS AF M1 Provisioning Sessions API + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +tags: + - name: M1_ProvisioningSessions + description: '5G Media Streaming: Provisioning (M1) APIs: Provisioning Sessions' +externalDocs: + description: 'TS 26.512 V17.7.0; 5G Media Streaming (5GMS); Protocols' + url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' +servers: + - url: '{apiRoot}/3gpp-m1/v2' + variables: + apiRoot: + default: https://example.com + description: See 3GPP TS 29.512 clause 6.1. +paths: + /provisioning-sessions: + post: + operationId: createProvisioningSession + summary: 'Create a new Provisioning Session' + responses: + '201': + description: 'Provisioning Session Created' + headers: + Location: + description: 'URL including the resource identifier of the newly created Provisioning Session.' + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl' + content: + application/json: + schema: + $ref: '#/components/schemas/ProvisioningSession' + /provisioning-sessions/{provisioningSessionId}: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + get: + operationId: getProvisioningSessionById + summary: 'Retrieve an existing Provisioning Session' + responses: + '200': + description: 'Success' + content: + application/json: + schema: + $ref: '#/components/schemas/ProvisioningSession' + delete: + operationId: destroyProvisioningSession + summary: 'Destroy an existing Provisioning Session' + responses: + '204': + description: 'Provisioning Session Destroyed' + # No Content +components: + schemas: + ProvisioningSession: + type: object + description: "A representation of a Provisioning Session." + required: + - provisioningSessionId + - provisioningSessionType + - appId + properties: + provisioningSessionId: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + provisioningSessionType: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ProvisioningSessionType' + aspId: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AspId' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + serverCertificateIds: + type: array + items: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + minItems: 1 + uniqueItems: true + contentPreparationTemplateIds: + type: array + items: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + minItems: 1 + uniqueItems: true + metricsReportingConfigurationIds: + type: array + items: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + minItems: 1 + uniqueItems: true + policyTemplateIds: + type: array + items: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + minItems: 1 + uniqueItems: true + edgeResourcesConfigurationIds: + type: array + items: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + minItems: 1 + uniqueItems: true + eventDataProcessingConfigurationIds: + type: array + items: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + minItems: 1 + uniqueItems: true diff --git a/TS26512_M1_ServerCertificatesProvisioning.yaml b/TS26512_M1_ServerCertificatesProvisioning.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2906f15acdd0ff92256f063161e118dcefeb1e3c --- /dev/null +++ b/TS26512_M1_ServerCertificatesProvisioning.yaml @@ -0,0 +1,124 @@ +openapi: 3.0.0 +info: + title: M1_ServerCertificatesProvisioning + version: 2.1.1 + description: | + 5GMS AF M1 Server Certificates Provisioning API + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +tags: + - name: M1_ServerCertificatesProvisioning + description: '5G Media Streaming: Provisioning (M1) APIs: Server Certificates Provisioning' +externalDocs: + description: 'TS 26.512 V17.5.0; 5G Media Streaming (5GMS); Protocols' + url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' +servers: + - url: '{apiRoot}/3gpp-m1/v2' + variables: + apiRoot: + default: https://example.com + description: See 3GPP TS 29.512 clause 6.1. +paths: + /provisioning-sessions/{provisioningSessionId}/certificates: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: The resource identifier of an existing Provisioning Session.' + post: + operationId: createOrReserveServerCertificate + summary: 'Create or reserve a Service Certificate resource' + description: 'Without the optional csr query parameter, an X.509 certificate is generated and this is returned. If the csr query parameter is present, a Certificate Signing Request is instead generated and returned, allowing the X.509 certificate to be generated by the invoker and later uploaded.' + parameters: + - in: query + name: csr + schema: + type: string + description: 'When present, return a Certificate Signing Request instead of generating an X.509 certificate' + requestBody: + description: 'An optional list of domain name aliases to be included in the returned Certificate Signing Request' + content: + 'application/json': + schema: + type: array + items: + type: string + responses: + '200': + description: 'Server Certificate Created' + headers: + Location: + description: 'URL of the newly created Server Certificate resource' + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl' + content: + 'application/x-pem-file': + schema: + type: string + + /provisioning-sessions/{provisioningSessionId}/certificates/{certificateId}: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: The resource identifier of an existing Provisioning Session.' + - name: certificateId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Server Certificate' + put: + operationId: uploadServerCertificate + summary: "Upload the X.509 certificate for a previously reserved Server Certificate resource" + requestBody: + required: true + content: + application/x-pem-file: + schema: + type: string + responses: + '204': + description: 'Server Certificate Updated' + get: + operationId: retrieveServerCertificate + summary: 'Retrieve the X.509 certificate representation of the specified Server Certificate resource' + responses: + '200': + description: 'Success' + content: + 'application/x-pem-file': + schema: + type: string + '204': + description: 'Awaiting Upload' + '404': + description: 'Not Found' + delete: + operationId: destroyServerCertificate + summary: 'Destroy an existing Server Certificate resource' + responses: + '200': + # OK + description: 'Server Certificate Destroyed' + content: + 'application/x-pem-file': + schema: + type: string + '204': + # No Content + description: 'Server Certificate Destroyed' + '404': + # Not Found + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + # Conflict + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '410': + # Gone + $ref: 'TS29571_CommonData.yaml#/components/responses/410' diff --git a/TS26512_M5_ConsumptionReporting.yaml b/TS26512_M5_ConsumptionReporting.yaml new file mode 100644 index 0000000000000000000000000000000000000000..35b295e424bca2d199c6cefa541453431029876d --- /dev/null +++ b/TS26512_M5_ConsumptionReporting.yaml @@ -0,0 +1,87 @@ +openapi: 3.0.0 +info: + title: M5_ConsumptionReporting + version: 2.2.0 + description: | + 5GMS AF M5 Consumption Reporting API + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +tags: + - name: M5_ConsumptionReporting + description: '5G Media Streaming: Media Session Handling (M5) APIs: Consumption Reporting' +externalDocs: + description: 'TS 26.512 V17.7.0; 5G Media Streaming (5GMS); Protocols' + url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' +servers: + - url: '{apiRoot}/3gpp-m5/v2' + variables: + apiRoot: + default: https://example.com + description: See 3GPP TS 29.512 clause 6.1. +paths: + /consumption-reporting/{provisioningSessionId}: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'See 3GPP TS 26.512 clause 11.3.2.' + post: + operationId: submitConsumptionReport + summary: 'Submit a Consumption Report' + requestBody: + description: 'A Consumption Report' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ConsumptionReport' + responses: + '204': + description: 'Consumption Report Accepted' + '400': + description: 'Bad Request' + '415': + description: 'Unsupported Media Type' +components: + schemas: + ConsumptionReport: + description: "A representation of a Consumption Report." + type: object + required: + - mediaPlayerEntry + - reportingClientId + - consumptionReportingUnits + properties: + mediaPlayerEntry: + type: string + reportingClientId: + type: string + consumptionReportingUnits: + type: array + items: + $ref: '#/components/schemas/ConsumptionReportingUnit' + ConsumptionReportingUnit: + description: "A Consumption Reporting Unit." + type: object + required: + - mediaConsumed + - startTime + - duration + properties: + mediaConsumed: + type: string + clientEndpointAddress: + $ref: 'TS26512_CommonData.yaml#/components/schemas/EndpointAddress' + serverEndpointAddress: + $ref: 'TS26512_CommonData.yaml#/components/schemas/EndpointAddress' + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + duration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + locations: + type: array + items: + $ref: 'TS26512_CommonData.yaml#/components/schemas/TypedLocation' + minItems: 1 diff --git a/TS26512_M5_MetricsReporting.yaml b/TS26512_M5_MetricsReporting.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8ee510256205a86c4d6e8509639b72f0cd9b1d20 --- /dev/null +++ b/TS26512_M5_MetricsReporting.yaml @@ -0,0 +1,56 @@ +openapi: 3.0.0 +info: + title: M5_MetricsReporting + version: 2.0.0 + description: | + 5GMS AF M5 Metrics Reporting API + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +tags: + - name: M5_ConsumptionReporting + description: '5G Media Streaming: Media Session Handling (M5) APIs: Metrics Reporting' +externalDocs: + description: 'TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols' + url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' +servers: + - url: '{apiRoot}/3gpp-m5/v2' + variables: + apiRoot: + default: https://example.com + description: See 3GPP TS 29.512 clause 6.1. +paths: + /metrics-reporting/{provisioningSessionId}/{metricsReportingConfigurationId}: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + - name: metricsReportingConfigurationId + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of a Metrics Configuration in the specified Provisioning Session.' + post: + operationId: submitMetricsReport + summary: 'Submit a Metrics Report' + requestBody: + description: 'A Metrics Report' + required: true + content: + application/3gpdash-qoe-report+xml: + schema: + type: string + format: xml + application/*: + schema: + type: string + responses: + '204': + description: 'Metrics Report Accepted' + '400': + description: 'Bad Request' + '415': + description: 'Unsupported Media Type' diff --git a/TS26512_M5_ServiceAccessInformation.yaml b/TS26512_M5_ServiceAccessInformation.yaml new file mode 100644 index 0000000000000000000000000000000000000000..84b46d9ea673769cdffda456cab1c1f4eb976298 --- /dev/null +++ b/TS26512_M5_ServiceAccessInformation.yaml @@ -0,0 +1,214 @@ +openapi: 3.0.0 +info: + title: M5_ServiceAccessInformation + version: 2.4.0 + description: | + 5GMS AF M5 Service Access Information API + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +tags: + - name: M5_ServiceAccessInformation + description: '5G Media Streaming: Media Session Handling (M5) APIs: Service Access Information' +externalDocs: + description: 'TS 26.512 V17.7.0; 5G Media Streaming (5GMS); Protocols' + url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' +servers: + - url: '{apiRoot}/3gpp-m5/v2' + variables: + apiRoot: + default: https://example.com + description: See 3GPP TS 29.512 clause 6.1. +paths: + /service-access-information/{provisioningSessionId}: + parameters: + - name: provisioningSessionId + description: 'The resource identifier of an existing Provisioning Session.' + in: path + required: true + schema: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + get: + operationId: retrieveServiceAccessInformation + summary: 'Retrieve the Service Access Information resource' + responses: + '200': + description: 'Success' + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAccessInformationResource' + '404': + description: 'Not Found' +components: + schemas: + M5MediaEntryPoint: + description: "A typed entry point for downlink or uplink media streaming." + type: object + required: + - locator + - contentType + properties: + locator: + $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl' + contentType: + type: string + profiles: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + + ServerAddresses: + description: "A set of application endpoint addresses." + type: array + items: + $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl' + minItems: 1 + + ServiceAccessInformationResource: + description: "A representation of a Service Access Information resource." + type: object + required: + - provisioningSessionId + - provisioningSessionType + properties: + provisioningSessionId: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + provisioningSessionType: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ProvisioningSessionType' + streamingAccess: + type: object + properties: + entryPoints: + type: array + items: + $ref: '#/components/schemas/M5MediaEntryPoint' + eMBMSServiceAnnouncementLocator: + $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl' + clientConsumptionReportingConfiguration: + type: object + required: + - serverAddresses + - locationReporting + - accessReporting + - samplePercentage + properties: + reportingInterval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + serverAddresses: + $ref: '#/components/schemas/ServerAddresses' + locationReporting: + type: boolean + accessReporting: + type: boolean + samplePercentage: + $ref: 'TS26512_CommonData.yaml#/components/schemas/Percentage' + dynamicPolicyInvocationConfiguration: + type: object + required: + - serverAddresses + - policyTemplateBindings + - sdfMethods + properties: + serverAddresses: + $ref: '#/components/schemas/ServerAddresses' + policyTemplateBindings: + type: array + minItems: 1 + items: + type: object + required: + - externalReference + - policyTemplateId + properties: + externalReference: + type: string + policyTemplateId: + $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' + sdfMethods: + type: array + items: + $ref: 'TS26512_CommonData.yaml#/components/schemas/SdfMethod' + minItems: 0 + clientMetricsReportingConfigurations: + type: array + minItems: 1 + items: + type: object + required: + - serverAddresses + - scheme + - samplePercentage + - urlFilters + - samplingPeriod + - metrics + properties: + serverAddresses: + $ref: '#/components/schemas/ServerAddresses' + scheme: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + dataNetworkName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + reportingInterval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + samplePercentage: + $ref: 'TS26512_CommonData.yaml#/components/schemas/Percentage' + urlFilters: + type: array + items: + type: string + minItems: 0 + samplingPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + metrics: + type: array + items: + type: string + networkAssistanceConfiguration: + type: object + required: + - serverAddresses + properties: + serverAddresses: + $ref: '#/components/schemas/ServerAddresses' + clientEdgeResourcesConfiguration: + type: object + required: + - easDiscoveryTemplate + properties: + eligibilityCriteria: + $ref: 'TS26512_CommonData.yaml#/components/schemas/EdgeProcessingEligibilityCriteria' + easDiscoveryTemplate: + $ref: '#/components/schemas/EASDiscoveryTemplate' + easRelocationRequirements: + $ref: '#/components/schemas/M5EASRelocationRequirements' + + M5EASRelocationRequirements: + description: 'Relocation requirements of an EAS.' + type: object + required: + - tolerance + properties: + tolerance: + $ref: 'TS26512_CommonData.yaml#/components/schemas/EASRelocationTolerance' + maxInterruptionDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + + EASDiscoveryTemplate: + description: 'A template for discovering an EAS instance .' + type: object + properties: + easId: + type: string + easType: + type: string + easProviderIds: + type: array + items: + type: string + minItems: 1 + serviceFeatures: + type: array + items: + type: string + minItems: 1 diff --git a/TS28104_MdaNrm.yaml b/TS28104_MdaNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..758a190c8cb220a24bb0409fab189743adbe4778 --- /dev/null +++ b/TS28104_MdaNrm.yaml @@ -0,0 +1,225 @@ +openapi: 3.0.1 +info: + title: MDA NRM + version: 18.0.0 + description: >- + OAS 3.0.1 specification of the MDA NRM + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.104; MDA + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.104/ +paths: {} +components: + schemas: + +#-------- Definition of types----------------------------------------------------- + + MDATypes: + type: array + items: + type: string + + MDAOutputs: + type: array + items: + $ref: '#/components/schemas/MDAOutputPerMDAType' + + MDAOutputPerMDAType: + type: object + properties: + mDAType: + type: string + mDAOutputIEFilters: + type: array + items: + $ref: '#/components/schemas/MDAOutputIEFilter' + + MDAOutputIEFilter: + type: object + properties: + mDAOutputIEName: + type: string + filterValue: + type: string + threshold: + $ref: '#/components/schemas/ThresholdInfo' + analyticsPeriod: + $ref: '#/components/schemas/AnalyticsSchedule' + timeOut: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + + ReportingMethod: + type: string + enum: + - FILE + - STREAMING + - NOTIFICATION + + ReportingTarget: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + + AnalyticsScopeType: + oneOf: + - type: object + properties: + managedEntitiesScope: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + - type: object + properties: + areaScope: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + + AnalyticsSchedule: + oneOf: + - type: object + properties: + timeDurations: + type: array + items: + $ref: 'TS28104_MdaReport.yaml#/components/schemas/TimeWindow' + - type: object + properties: + granularityPeriod: + type: integer + + ThresholdInfo: + type: object + properties: + monitoredMDAOutputIE: + type: string + thresholdDirection: + type: string + enum: + - UP + - DOWN + - UP_AND_DOWN + thresholdValue: + oneOf: + - type: integer + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float' + hysteresis: + oneOf: + - type: integer + minimum: 0 + - type: number + format: float + minimum: 0 + +#-------- Definition of abstract IOCs -------------------------------------------- + + + +#-------- Definition of concrete IOCs -------------------------------------------- + + SubNetwork-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-Attr' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-ncO' + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + ManagedElement: + $ref: '#/components/schemas/ManagedElement-Multiple' + MDAFunction: + $ref: '#/components/schemas/MDAFunction-Multiple' + MDAReport: + $ref: '#/components/schemas/MDAReport-Multiple' + + + ManagedElement-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedElement-Attr' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedElement-ncO' + - type: object + properties: + MDAFunction: + $ref: '#/components/schemas/MDAFunction-Multiple' + + MDAFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + supportedMDACapabilities: + $ref: '#/components/schemas/MDATypes' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + MDARequest: + $ref: '#/components/schemas/MDARequest-Multiple' + + MDARequest-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + requestedMDAOutputs: + $ref: '#/components/schemas/MDAOutputs' + reportingMethod: + $ref: '#/components/schemas/ReportingMethod' + reportingTarget: + $ref: '#/components/schemas/ReportingTarget' + analyticsScope: + $ref: '#/components/schemas/AnalyticsScopeType' + startTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + stopTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + + MDAReport-Single: + $ref: 'TS28104_MdaReport.yaml#/components/schemas/MDAReport' + + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + + SubNetwork-Multiple: + type: array + items: + $ref: '#/components/schemas/SubNetwork-Single' + ManagedElement-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagedElement-Single' + MDAFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/MDAFunction-Single' + MDARequest-Multiple: + type: array + items: + $ref: '#/components/schemas/MDARequest-Single' + + MDAReport-Multiple: + type: array + items: + $ref: '#/components/schemas/MDAReport-Single' + +#-------- Definitions in TS 28.104 for TS 28.532 --------------------------------- + + resources-mdaNrm: + oneOf: + - $ref: '#/components/schemas/SubNetwork-Single' + - $ref: '#/components/schemas/ManagedElement-Single' + + - $ref: '#/components/schemas/MDAFunction-Single' + - $ref: '#/components/schemas/MDARequest-Single' + - $ref: '#/components/schemas/MDAReport-Single' diff --git a/TS28104_MdaReport.yaml b/TS28104_MdaReport.yaml new file mode 100644 index 0000000000000000000000000000000000000000..670f57a030cd9a96454681703affd35d37709fca --- /dev/null +++ b/TS28104_MdaReport.yaml @@ -0,0 +1,66 @@ +openapi: 3.0.1 +info: + title: MDA Report + version: 18.0.0 + description: >- + OAS 3.0.1 specification of the MDA Report + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.104; MDA Report + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.104/ +paths: {} +components: + schemas: + +#-------- Definition of types----------------------------------------------------- + + MDAOutputs: + type: object + properties: + mDAType: + type: string + mdaOutputList: + type: array + items: + $ref: '#/components/schemas/MDAOutputEntry' + mDARequestRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + analyticsWindow: + $ref: '#/components/schemas/TimeWindow' + confidenceDegree: + type: number + format: float + + MDAOutputEntry: + type: object + properties: + mDAOutputIEName: + type: string + mdaOutputIEValue: {} + + + TimeWindow: + type: object + properties: + mDAOutputStartTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + mDAOutputEndTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + + +#-------- Definition of MDA Report -------------------------------------------- + + MDAReport: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + mDAReportID: + type: string + mDAOutputs: + $ref: '#/components/schemas/MDAOutputs' diff --git a/TS28105_AiMlNrm.yaml b/TS28105_AiMlNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..943f6aebf00bbb6ccde002f308ba4974745a4478 --- /dev/null +++ b/TS28105_AiMlNrm.yaml @@ -0,0 +1,323 @@ +openapi: 3.0.1 +info: + title: AI/ML NRM + version: 18.1.0 + description: >- + OAS 3.0.1 specification of the AI/ML NRM + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.105; AI/ML Management + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.105/ +paths: {} +components: + schemas: + +#-------- Definition of types----------------------------------------------------- + + MLContext: + type: object + properties: + inferenceEntityRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + dataProviderRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + + RequestStatus: + type: string + enum: + - NOT_STARTED + - TRAINING_IN_PROGRESS + - SUSPENDED + - FINISHED + - CANCELLED + + PerformanceRequirements: + type: array + items: + $ref: '#/components/schemas/ModelPerformance' + + ModelPerformance: + type: object + properties: + inferenceOutputName: + type: string + performanceMetric: + type: string + performanceScore: + type: number + format: float + decisionConfidenceScore: + type: number + format: float + + TrainingProcessMonitor: + description: >- + This data type is the "ProcessMonitor" data type defined in “genericNrm.yaml” with specialisations for usage in the "MLTrainingProcess". + type: object + properties: + mLTrainingProcessId: + type: string + status: + type: string + enum: + - RUNNING + - CANCELLING + - CANCELLED + - SUSPENDED + - FINSHED + progressPercentage: + type: integer + minimum: 0 + maximum: 100 + progressStateInfo: + type: string + enum: + - COLLECTING_DATA + - PREPARING_TRAINING_DATA + - TRAINING + resultStateInfo: + type: string + +#-------- Definition of abstract IOCs -------------------------------------------- + + + +#-------- Definition of concrete IOCs -------------------------------------------- + + SubNetwork-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-Attr' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-ncO' + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + ManagedElement: + $ref: '#/components/schemas/ManagedElement-Multiple' + MLTrainingFunction: + $ref: '#/components/schemas/MLTrainingFunction-Multiple' + MLEntityRepository: + $ref: '#/components/schemas/MLEntityRepository-Multiple' + + ManagedElement-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedElement-Attr' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedElement-ncO' + - type: object + properties: + MLTrainingFunction: + $ref: '#/components/schemas/MLTrainingFunction-Multiple' + MLEntityRepository: + $ref: '#/components/schemas/MLEntityRepository-Multiple' + + MLTrainingFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + mLEntityRepositoryRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + MLTrainingRequest: + $ref: '#/components/schemas/MLTrainingRequest-Multiple' + MLTrainingProcess: + $ref: '#/components/schemas/MLTrainingProcess-Multiple' + MLTrainingReport: + $ref: '#/components/schemas/MLTrainingReport-Multiple' + + MLTrainingRequest-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + mLEntityId: + type: string + inferenceType: + type: string + candidateTrainingDataSource: + type: array + items: + type: string + trainingDataQualityScore: + type: number + format: float + trainingRequestSource: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + requestStatus: + $ref: '#/components/schemas/RequestStatus' + expectedRuntimeContext: + $ref: '#/components/schemas/MLContext' + performanceRequirements: + $ref: '#/components/schemas/PerformanceRequirements' + cancelRequest: + type: boolean + suspendRequest: + type: boolean + mLEntityToTrainRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + + MLTrainingProcess-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + mLTrainingProcessId: + type: string + priority: + type: integer + terminationConditions: + type: string + progressStatus: + $ref: '#/components/schemas/TrainingProcessMonitor' + cancelProcess: + type: boolean + suspendProcess: + type: boolean + trainingRequestRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + trainingReportRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + + + MLTrainingReport-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + mLEntityId: + type: string + areConsumerTrainingDataUsed: + type: boolean + usedConsumerTrainingData: + type: array + items: + type: string + confidenceIndication: + type: integer + modelPerformanceTraining: + type: array + items: + $ref: '#/components/schemas/ModelPerformance' + areNewTrainingDataUsed: + type: boolean + trainingRequestRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + trainingProcessRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + trainingReportRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + lastTrainingRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + mLEnityGeneratedRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + + MLEntity-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + mLEntityId: + type: string + inferenceType: + type: string + mLEntityVersion: + type: string + expectedRunTimeContext: + $ref: '#/components/schemas/MLContext' + trainingContext: + $ref: '#/components/schemas/MLContext' + runTimeContext: + $ref: '#/components/schemas/MLContext' + + MLEntityRepository-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + mLRepositoryId: + type: string + MLEntity: + $ref: '#/components/schemas/MLEntity-Multiple' + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + + SubNetwork-Multiple: + type: array + items: + $ref: '#/components/schemas/SubNetwork-Single' + ManagedElement-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagedElement-Single' + MLTrainingFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/MLTrainingFunction-Single' + MLTrainingRequest-Multiple: + type: array + items: + $ref: '#/components/schemas/MLTrainingRequest-Single' + MLTrainingProcess-Multiple: + type: array + items: + $ref: '#/components/schemas/MLTrainingProcess-Single' + MLTrainingReport-Multiple: + type: array + items: + $ref: '#/components/schemas/MLTrainingReport-Single' + MLEntity-Multiple: + type: array + items: + $ref: '#/components/schemas/MLEntity-Single' + MLEntityRepository-Multiple: + type: array + items: + $ref: '#/components/schemas/MLEntityRepository-Single' + +#-------- Definitions in TS 28.104 for TS 28.532 --------------------------------- + + resources-AiMlNrm: + oneOf: + - $ref: '#/components/schemas/SubNetwork-Single' + - $ref: '#/components/schemas/ManagedElement-Single' + + - $ref: '#/components/schemas/MLTrainingFunction-Single' + - $ref: '#/components/schemas/MLTrainingRequest-Single' + - $ref: '#/components/schemas/MLTrainingProcess-Single' + - $ref: '#/components/schemas/MLTrainingReport-Single' + - $ref: '#/components/schemas/MLEntity-Single' + - $ref: '#/components/schemas/MLEntityRepository-Single' diff --git a/TS28312_IntentExpectations.yaml b/TS28312_IntentExpectations.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5423a87adec8a3c0528b08c5843c3b45ea8bda89 --- /dev/null +++ b/TS28312_IntentExpectations.yaml @@ -0,0 +1,925 @@ +openapi: 3.0.1 +info: + title: Scenario specific Intent Expectations + version: 18.1.0 + description: >- + OAS 3.0.1 definition of scenario specific Intent Expectations + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.312; Intent driven management services for mobile networks + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.312/ +paths: {} +components: + schemas: + + #-------Definition of the Scenario specific IntentExpectation dataType ----------# + RadioNetworkExpectation: + description: >- + This data type is the "IntentExpectation" data type with specialisations to represent MnS consumer's expectations for radio network delivering and performance assurance + type: object + properties: + expectationId: + type: string + expectationVerb: + $ref: "TS28312_IntentNrm.yaml#/components/schemas/ExpectationVerb" + expectationObject: + $ref: "#/components/schemas/RadioNetworkExpectationObject" + expectationTargets: + type: array + items: + type: object + oneOf: + - $ref: '#/components/schemas/WeakRSRPRatioTarget' + - $ref: '#/components/schemas/LowSINRRatioTarget' + - $ref: '#/components/schemas/AveULRANUEThptTarget' + - $ref: '#/components/schemas/AveDLRANUEThptTarget' + - $ref: '#/components/schemas/LowULRANUEThptRatioTarget' + - $ref: '#/components/schemas/LowDLRANUEThptRatioTarget' + - $ref: '#/components/schemas/HighULPrbLoadRatioTarget' + - $ref: '#/components/schemas/HighDLPrbLoadRatioTarget' + - $ref: '#/components/schemas/AveULPrbLoadTarget' + - $ref: '#/components/schemas/AveDLPrbLoadTarget' + - $ref: "#/components/schemas/RANEnergyConsumptionTarget" + - $ref: "#/components/schemas/RANEnergyEfficiencyTarget" + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationTarget' + expectationContexts: + type: array + items: + $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationContext' + required: + - expectationId + EdgeServiceSupportExpectation: + description: >- + This data type is the "IntentExpectation" data type with specialisations to represent MnS consumer's expectations for service deployment + type: object + properties: + expectationId: + type: string + expectationVerb: + $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationVerb' + expectationObject: + $ref: '#/components/schemas/ServiceSupportExpectationObject' + expectationTargets: + type: array + items: + type: object + oneOf: + - $ref: '#/components/schemas/DLThptPerUETarget' + - $ref: '#/components/schemas/ULThptPerUETarget' + - $ref: '#/components/schemas/DLLatencyTarget' + - $ref: '#/components/schemas/ULLatencyTarget' + - $ref: '#/components/schemas/MaxNumberofUEsTarget' + - $ref: '#/components/schemas/ActivityFactorTarget' + - $ref: '#/components/schemas/UESpeedTarget' + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationTarget' + expectationContexts: + type: array + items: + type: object + oneOf: + - $ref: '#/components/schemas/ServiceStartTimeContext' + - $ref: '#/components/schemas/ServiceEndTimeContext' + - $ref: '#/components/schemas/UEMobilityLevelContext' + - $ref: '#/components/schemas/ResourceSharingLevelContext' + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationContext' + required: + - expectationId + 5GCNetworkExpectation: + description: >- + This data type is the "IntentExpectation" data type with specialisations to represent MnS consumer's expectations for 5GC network delivering + type: object + properties: + expectationId: + type: string + expectationVerb: + $ref: "TS28312_IntentNrm.yaml#/components/schemas/ExpectationVerb" + expectationObjects: + type: array + items: + $ref: "#/components/schemas/5GCNetworkExpectationObject" + expectationTargets: + type: array + items: + type: object + oneOf: + - $ref: "#/components/schemas/MaxNumberofPDUsessionsTarget" + - $ref: "#/components/schemas/MaxNumberofRegisteredsubscribersTarget" + - $ref: "TS28312_IntentNrm.yaml#/components/schemas/ExpectationTarget" + expectationContexts: + type: array + items: + $ref: "TS28312_IntentNrm.yaml#/components/schemas/ExpectationContext" + expectationfulfilmentInfo: + $ref: "TS28312_IntentNrm.yaml#/components/schemas/FulfilmentInfo" + required: + - expectationId + #-------Definition of the IntentExpectation dataType ----------# + + #-------Definition of the scenario specific ExpectationObject dataType ----------# + RadioNetworkExpectationObject: + description: >- + This data type is the "ExpectationObject" data type with specialisations for RadioNetworkExpectation + type: object + properties: + objectType: + type: string + enum: + - RAN_SubNetwork + objectInstance: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + objectContexts: + type: array + items: + type: object + oneOf: + - $ref: '#/components/schemas/CoverageAreaPolygonContext' + - $ref: '#/components/schemas/CoverageTACContext' + - $ref: '#/components/schemas/PLMNContext' + - $ref: '#/components/schemas/NRFqBandContext' + - $ref: '#/components/schemas/RATContext' + - $ref: "#/components/schemas/UEGroupContext" + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ObjectContext' + ServiceSupportExpectationObject: + description: >- + This data type is the "ExpectationObject" data type with specialisations for EdgeServiceSupportExpectation + type: object + properties: + objectType: + type: string + enum: + - EdgeService_Support #value for Edge Service Support Expectation--# + objectInstance: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + objectContexts: + type: array + items: + type: object + oneOf: + - $ref: '#/components/schemas/EdgeIdenfiticationIdContext' + - $ref: '#/components/schemas/EdgeIdentificationLocContext' + - $ref: '#/components/schemas/CoverageAreaTAContext' + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ObjectContext' + 5GCNetworkExpectationObject: + description: >- + This data type is the "ExpectationObject" data type with specialisations for 5GCNetworkExpectation + type: object + properties: + objectType: + type: string + enum: + - 5GC_SubNetwork #value for 5GC Network Expectation--# + objectInstance: + $ref: "TS28623_ComDefs.yaml#/components/schemas/Dn" + objectContexts: + type: array + items: + type: object + oneOf: + - $ref: "#/components/schemas/NfTypeContext" + - $ref: "#/components/schemas/NfInstanceLocationContext" + - $ref: "#/components/schemas/PLMNContext" + - $ref: "#/components/schemas/TaiContext" + - $ref: "#/components/schemas/ObjectContext" + #-------Definition of the ExpectationObject dataType ----------# + + + #-------Definition of the Scenario specific ExpectationTarget dataType----------# + WeakRSRPRatioTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for WeakRSRPRatioTarget + type: object + properties: + targetName: + type: string + enum: + - WeakRSRPRatio + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + minimum: 0 + maximum: 100 + targetContexts: + $ref: '#/components/schemas/WeakRSRPContext' + WeakRSRPContext: + description: >- + This data type is the "TargetContext" data type with specialisations for WeakRSRPContext + type: object + properties: + contextAttribute: + type: string + enum: + - WeakRSRPThreshold + contextCondition: + type: string + enum: + - IS_LESS_THAN + contextValueRange: + type: number + LowSINRRatioTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for LowSINRatioTarget + type: object + properties: + targetName: + type: string + enum: + - LowSINRRatio + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + minimum: 0 + maximum: 100 + targetContexts: + $ref: '#/components/schemas/LowSINRContext' + LowSINRContext: + description: >- + This data type is the "TargetContext" data type with specialisations for LowSINRContext + type: object + properties: + contextAttribute: + type: string + enum: + - LowSINRThreshold + contextCondition: + type: string + enum: + - IS_LESS_THAN + contextValueRange: + type: integer + AveULRANUEThptTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for AveULRANUEThptTarget + type: object + properties: + targetName: + type: string + enum: + - AveULRANUEThpt + targetCondition: + type: string + enum: + - IS_GREATER_THAN + targetValueRange: + type: integer + AveDLRANUEThptTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for AveDLRANUEThptTarget + type: object + properties: + targetName: + type: string + enum: + - AveDLRANUEThpt + targetCondition: + type: string + enum: + - IS_GREATER_THAN + targetValueRange: + type: integer + LowULRANUEThptRatioTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for LowULRANUEThptRatioTarget + type: object + properties: + targetName: + type: string + enum: + - LowULRANUEThptRatio + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + minimum: 0 + maximum: 100 + targetContexts: + $ref: '#/components/schemas/LowULRANUEThptContext' + LowULRANUEThptContext: + description: >- + This data type is the "TargetContext" data type with specialisations for LowULRANUEThptContext + type: object + properties: + contextAttribute: + type: string + enum: + - LowULRANUEThptThreshold + contextCondition: + type: string + enum: + - Is_less_than + contextValueRange: + type: number + LowDLRANUEThptRatioTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for LowDLRANUEThptRatioTarget + type: object + properties: + targetName: + type: string + enum: + - LowDLRANUEThptRatio + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + minimum: 0 + maximum: 100 + targetContexts: + $ref: '#/components/schemas/LowDLRANUEThptContext' + LowDLRANUEThptContext: + description: >- + This data type is the "TargetContext" data type with specialisations for LowDLRANUEThptContext + type: object + properties: + contextAttribute: + type: string + enum: + - LowDLRANUEThptThreshold + contextCondition: + type: string + enum: + - IS_LESS_THAN + contextValueRange: + type: number + HighULPrbLoadRatioTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for HighULPrbLoadRatioTarget + type: object + properties: + targetName: + type: string + enum: + - HighULPrbLoadRatio + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + minimum: 0 + maximum: 100 + targetContexts: + $ref: '#/components/schemas/HighULPrbLoadContext' + HighULPrbLoadContext: + description: >- + This data type is the "TargetContext" data type with specialisations for HighULPrbLoadContext + type: object + properties: + contextAttribute: + type: string + enum: + - HighULPrbLoadThreshold + contextCondition: + type: string + enum: + - IS_LESS_THAN + contextValueRange: + type: integer + minimum: 0 + maximum: 100 + HighDLPrbLoadRatioTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for HighDLPrbLoadRatioTarget + type: object + properties: + targetName: + type: string + enum: + - HighDLPrbLoadRatio + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + minimum: 0 + maximum: 100 + targetContexts: + $ref: '#/components/schemas/HighDLPrbLoadContext' + HighDLPrbLoadContext: + description: >- + This data type is the "TargetContext" data type with specialisations for HighDLPrbLoadContext + type: object + properties: + contextAttribute: + type: string + enum: + - HighDLPrbLoadThreshold + contextCondition: + type: string + enum: + - IS_LESS_THAN + contextValueRange: + type: integer + minimum: 0 + maximum: 100 + AveULPrbLoadTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for AveULPrbLoadTarget + type: object + properties: + targetName: + type: string + enum: + - AveULPrbLoad + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + minimum: 0 + maximum: 100 + AveDLPrbLoadTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for AveDLPrbLoadTarget + type: object + properties: + targetName: + type: string + enum: + - AveDLPrbLoad + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + minimum: 0 + maximum: 100 + RANEnergyConsumptionTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for RANEnergyConsumptionTarget + type: object + properties: + targetName: + type: string + enum: + - RANEnergyConsumption + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + RANEnergyEfficiencyTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for RANEnergyEfficiencyTarget + type: object + properties: + targetName: + type: string + enum: + - RANEnergyEfficiency + targetCondition: + type: string + enum: + - IS_GREATER_THAN + targetValueRange: + type: integer + DLThptPerUETarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for DLThptPerUETarget + type: object + properties: + targetName: + type: string + enum: + - DlThptPerUE + targetCondition: + type: string + enum: + - IS_GREATER_THAN + targetValueRange: + $ref: 'TS28541_SliceNrm.yaml#/components/schemas/XLThpt' + ULThptPerUETarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for ULThptPerUETarget + type: object + properties: + targetName: + type: string + enum: + - UlThptPerUE + targetCondition: + type: string + enum: + - IS_GREATER_THAN + targetValueRange: + $ref: 'TS28541_SliceNrm.yaml#/components/schemas/XLThpt' + DLLatencyTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for DLLatencyTarget + type: object + properties: + targetName: + type: string + enum: + - DlLatency + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + ULLatencyTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for ULLatencyTarget + type: object + properties: + targetName: + type: string + enum: + - UlLatency + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + MaxNumberofUEsTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for MaxNumberofUEsTarget + type: object + properties: + targetName: + type: string + enum: + - maxNumberofUEs + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + ActivityFactorTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for ActivityFactorTarget + type: object + properties: + targetName: + type: string + enum: + - activityFactor + targetCondition: + type: string + enum: + - IS_EQUAL_TO + targetValueRange: + type: integer + UESpeedTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for UESpeedTarget + type: object + properties: + targetName: + type: string + enum: + - uESpeed + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + MaxNumberofPDUsessionsTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for MaxNumberofPDUsessionsTarget + type: object + properties: + targetName: + type: string + enum: + - MaxNumberofPDUsessions + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + MaxNumberofRegisteredsubscribersTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for MaxNumberofRegisteredsubscribersTarget + type: object + properties: + targetName: + type: string + enum: + - MaxNumberofRegisteredsubscribers + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + + #-------Definition of the concrete ExpectationTarget dataType----------# + + #-------Definition of the concrete ObjectTarget dataType----------------# + ObjectContext: + description: >- + This data type is the "ObjectContext" data type without specialisations + type: object + properties: + contextAttribute: + type: string + contextCondition: + $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Condition' + contextValueRange: + type: array + items: + type: number + CoverageAreaPolygonContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for CoverageAreaPolygonContext + type: object + properties: + contextAttribute: + type: string + enum: + - CoverageAreaPolygon + contextCondition: + type: string + enum: + - IS_ALL_OF + contextValueRange: + type: array + items: + $ref: '#/components/schemas/CoverageArea' + CoverageArea: + type: string + CoverageTACContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for CoverageTACContext + type: object + properties: + contextAttribute: + type: string + enum: + - CoverageAreaTac + contextCondition: + type: string + enum: + - IS_ALL_OF + contextValueRange: + type: array + items: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/NrTac' + PLMNContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for PLMNContext + type: object + properties: + contextAttribute: + type: string + enum: + - PLMN + contextCondition: + type: string + enum: + - IS_ALL_OF + contextValueRange: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + NRFqBandContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for NRFqBandContext + type: object + properties: + contextAttribute: + type: string + enum: + - NRFqBand + contextCondition: + type: string + enum: + - IS_ALL_OF + contextValueRange: + type: array + items: + type: string + RATContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for RATContext + type: object + properties: + contextAttribute: + type: string + enum: + - RAT + contextCondition: + type: string + enum: + - IS_ALL_OF + contextValueRange: + type: array + items: + type: string + enum: + - UTRAN + - EUTRAN + - NR + UEGroupContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for UEGroup([5QI, SNSSAI]) + type: object + properties: + contextAttribute: + type: string + enum: + - UEGroup + contextCondition: + type: string + enum: + - IS_ALL_OF + contextValueRange: + type: array + items: + $ref: "#/components/schemas/UEGroup" + UEGroup: + type: object + properties: + fiveQI: + type: integer + sNssai: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + EdgeIdenfiticationIdContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for EdgeIdentificationIdContext + type: object + properties: + contextAttribute: + type: string + enum: + - edgeIdentificationId + contextCondition: + type: string + enum: + - IS_EQUAL_TO + contextValueRange: + type: array + items: + type: string + EdgeIdentificationLocContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for EdgeIdentificationLocContext + type: object + properties: + contextAttribute: + type: string + enum: + - edgeIdentificationTarget + contextCondition: + type: string + enum: + - IS_EQUAL_TO + contextValueRange: + type: array + items: + type: string + CoverageAreaTAContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for CoverageAreaTAContext + type: object + properties: + contextAttribute: + type: string + enum: + - coverageAreaTA + contextCondition: + type: string + enum: + - IS_ALL_OF + contextValueRange: + type: array + items: + $ref: '#/components/schemas/CoverageAreaTAList' + CoverageAreaTAList: + type: integer + NfTypeContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for NfTypeContext + type: object + properties: + contextAttribute: + type: string + enum: + - NfType + contextCondition: + type: string + enum: + - IS_ALL_OF + contextValueRange: + type: array + items: + $ref: "TS28623_GenericNrm.yaml#/components/schemas/NFType" + NfInstanceLocationContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for NfInstanceLocationContext + type: object + properties: + contextAttribute: + type: string + enum: + - NfInstanceLocation + contextCondition: + type: string + enum: + - IS_ALL_OF + contextValueRange: + type: array + items: + type: string + TaiContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for TaiContext + type: object + properties: + contextAttribute: + type: string + enum: + - Tai + contextCondition: + type: string + enum: + - IS_ALL_OF + contextValueRange: + type: array + items: + $ref: "TS28623_GenericNrm.yaml#/components/schemas/Tai" + + #-------Definition of the scenario specific ObjectTarget dataType----------------# + + #-------Definition of the concrete ExpectationContext dataType----------------# + ServiceStartTimeContext: + description: >- + This data type is the "ExpectationContext" data type with specialisations for ServiceStartTimeContext + type: object + properties: + contextAttribute: + type: string + enum: + - ServiceStartTime + contextCondition: + type: string + enum: + - IS_EQUAL_TO + contextValueRange: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + ServiceEndTimeContext: + description: >- + This data type is the "ExpectationContext" data type with specialisations for ServiceEndTimeContext + type: object + properties: + contextAttribute: + type: string + enum: + - ServiceEndTime + contextCondition: + type: string + enum: + - IS_EQUAL_TO + contextValueRange: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + UEMobilityLevelContext: + description: >- + This data type is the "ExpectationContext" data type with specialisations for UEMobilityLevelContext + type: object + properties: + contextAttribute: + type: string + enum: + - UEMobilityLevel + contextCondition: + type: string + enum: + - IS_EQUAL_TO + contextValueRange: + $ref: "TS28541_SliceNrm.yaml#/components/schemas/MobilityLevel" + ResourceSharingLevelContext: + description: >- + This data type is the "ExpectationContext" data type with specialisations for ResourceSharingLevelContext + type: object + properties: + contextAttribute: + type: string + enum: + - ResourceSharingLevel + contextCondition: + type: string + enum: + - IS_EQUAL_TO + contextValueRange: + $ref: "TS28541_SliceNrm.yaml#/components/schemas/SharingLevel" + #-------Definition of the concrete ExpectionContext dataType----------------# diff --git a/TS28312_IntentNrm.yaml b/TS28312_IntentNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9001674128e535c73f2c92791ac14acaea4c99d9 --- /dev/null +++ b/TS28312_IntentNrm.yaml @@ -0,0 +1,420 @@ +openapi: 3.0.1 +info: + title: Intent NRM + version: 18.1.0 + description: >- + OAS 3.0.1 definition of the Intent NRM + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.312; Intent driven management services for mobile networks + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.312/ +paths: {} +components: + schemas: + + #-------Definition of generic IOCs ----------# + + SubNetwork-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-Attr' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-ncO' + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + IntentHandlingFunction: + $ref: '#/components/schemas/IntentHandlingFunction-Multiple' + + Intent-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + userLabel: + type: string + intentExpectations: + type: array + items: + type: object + oneOf: + - $ref: "#/components/schemas/IntentExpectation" + - $ref: "TS28312_IntentExpectations.yaml#/components/schemas/RadioNetworkExpectation" + - $ref: "TS28312_IntentExpectations.yaml#/components/schemas/EdgeServiceSupportExpectation" + intentContexts: + type: array + items: + $ref: '#/components/schemas/IntentContext' + intentAdminState: + type: string + enum: + - ACTIVATED + - DEACTIVATED + intentPriority: + type: integer + observationPeriod: + type: integer + intentReportReference: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + IntentReport-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + intentFulfilmentReport: + type: array + items: + $ref: '#/components/schemas/IntentFulfilmentReport' + intentConflictReports: + type: array + items: + $ref: '#/components/schemas/IntentConflictReport' + intentFeasibilityCheckReport: + type: array + items: + $ref: '#/components/schemas/IntentFeasibilityCheckReport' + intentReference: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + + IntentHandlingFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + intentHandlingCapabilityList: + type: array + items: + $ref: '#/components/schemas/IntentHandlingCapability' + Intent: + $ref: '#/components/schemas/Intent-Multiple' + IntentReport: + $ref: '#/components/schemas/IntentReport-Multiple' + + #-------Definition of generic IOCs ----------# + + #-------Definition of the generic IntentExpectation dataType ----------# + IntentExpectation: + description: >- + This data type is the "IntentExpectation" data type without specialisations + type: object + properties: + expectationId: + type: string + expectationVerb: + $ref: "#/components/schemas/ExpectationVerb" + expectationObject: + $ref: "#/components/schemas/ExpectationObject" + expectationTargets: + type: array + items: + $ref: '#/components/schemas/ExpectationTarget' + expectationContexts: + type: array + items: + $ref: '#/components/schemas/ExpectationContext' + required: + - expectationId + #-------Definition of the generic IntentExpectation dataType ----------# + + #-------Definition of the generic ExpectationObject dataType ----------# + ExpectationObject: + description: >- + This data type is the "ExpectationObject" data type without specialisations + type: object + properties: + objectType: + type: string + enum: + - RAN_SubNetwork #value for Radio Network Expectation--# + - Edge_Service_Support #value for Edge Service Support Expectation--# + objectInstance: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + objectContexts: + type: array + items: + $ref: '#/components/schemas/ObjectContext' + + #-------Definition of the generic ExpectationObject dataType ----------# + + #-------Definition of the generic dataType --------------# + Condition: + type: string + enum: + - IS_EQUAL_TO + - IS_LESS_THAN + - IS_GREATER_THAN + - IS_WITHIN_RANGE + - IS_OUTSIDE_RANGE + - IS_ONE_OF + - IS_NOT_ONE_OF + - IS_EQUAL_TO_OR_LESS_THAN + - IS_EQUAL_TO_OR_GREATER_THAN + - IS_ALL_OF + FulfilStatus: + type: string + readOnly: true + enum: + - FULFILLED + - NOT_FULFILLED + NotFulfilledState: + type: string + readOnly: true + enum: + - ACKNOWLEDGED + - COMPLIANT + - DEGRADED + - SUSPENDED + - TERMINATED + - FULFILMENTFAILED + FulfilmentInfo: + type: object + properties: + fulfilStatus: + $ref: '#/components/schemas/FulfilStatus' + notFullfilledState: + description: -> + An attribute which is used when FulfilmentInfo is implemented for IntentFulfilmentInfo + $ref: "#/components/schemas/NotFulfilledState" + notFulfilledReasons: + description: -> + An attribute which is used when FulfilmentInfo is implemented for IntentFulfilmentInfo + type: string + readOnly: true + ExpectationVerb: + type: string + enum: + - DELIVER + - ENSURE + ValueRangeType: + oneOf: + - type: number + - type: string + - type: boolean + - type: integer + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoCoordinate' + #-------Definition of the generic dataType --------------# + + #-------Definition of the generic IntentContext dataType --------------# + IntentContext: + description: >- + This data type is the "IntentContext" data type without specialisations + type: object + properties: + contextAttribute: + type: string + contextCondition: + $ref: '#/components/schemas/Condition' + contextValueRange: + oneOf: + - type: array + items: + $ref: "#/components/schemas/ValueRangeType" + - $ref: "#/components/schemas/ValueRangeType" + #-------Definition of the generic IntentContext dataType --------------# + + #-------Definition of the generic ExpectationTarget dataType----------# + ExpectationTarget: + description: >- + This data type is the "ExpectationTarget" data type without specialisations + type: object + properties: + targetName: + type: string + targetCondition: + $ref: '#/components/schemas/Condition' + targetValueRange: + oneOf: + - type: array + items: + $ref: "#/components/schemas/ValueRangeType" + - $ref: "#/components/schemas/ValueRangeType" + targetContexts: + type: array + items: + $ref: '#/components/schemas/TargetContext' + TargetContext: + description: >- + This data type is the "TargetContext" data type without specialisations + type: object + properties: + contextAttribute: + type: string + contextCondition: + $ref: '#/components/schemas/Condition' + contextValueRange: + oneOf: + - type: array + items: + $ref: "#/components/schemas/ValueRangeType" + - $ref: "#/components/schemas/ValueRangeType" + #-------Definition of the generic ExpectationTarget dataType----------# + + #-------Definition of the generic ObjectContext dataType----------------# + ObjectContext: + description: >- + This data type is the "ObjectContext" data type without specialisations + type: object + properties: + contextAttribute: + type: string + contextCondition: + $ref: '#/components/schemas/Condition' + contextValueRange: + oneOf: + - type: array + items: + $ref: "#/components/schemas/ValueRangeType" + - $ref: "#/components/schemas/ValueRangeType" + #-------Definition of the generic ObjectContext dataType----------------# + + #-------Definition of the generic ExpectionContext dataType----------------# + ExpectationContext: + description: >- + This data type is the "ExpectationContext" data type without specialisations + type: object + properties: + contextAttribute: + type: string + contextCondition: + $ref: '#/components/schemas/Condition' + contextValueRange: + oneOf: + - type: array + items: + $ref: "#/components/schemas/ValueRangeType" + - $ref: "#/components/schemas/ValueRangeType" + #-------Definition of the concrete ExpectionContext dataType----------------# + #-------Definition of the generic IntentFulfilmentReport dataType----------------# + IntentFulfilmentReport: + description: >- + This data type is the "IntentFulfilmentReport" data type without specialisations + type: object + properties: + intentFulfilmentInfo: + $ref: '#/components/schemas/FulfilmentInfo' + expectationFulfilmentResult: + type: array + items: + $ref: '#/components/schemas/ExpectationFulfilmentResult' + #-------Definition of the concrete IntentFulfilmentReport dataType----------------# + + #-------Definition of the generic ExpectationFulfilmentResult dataType----------------# + ExpectationFulfilmentResult: + description: >- + This data type is the "ExpectationFulfilmentResult" data type without specialisations + type: object + properties: + expectaitonId: + type: string + expectationFulfilmentInfo: + $ref: '#/components/schemas/FulfilmentInfo' + targetFulfilmentResult: + type: array + items: + $ref: '#/components/schemas/TargetFulfilmentResult' + #-------Definition of the concrete ExpectationFulfilmentResult dataType----------------# + + #-------Definition of the generic TargetFulfilmentResult dataType----------------# + TargetFulfilmentResult: + description: >- + This data type is the "TargetFulfilmentResult" data type without specialisations + type: object + properties: + targetName: + type: string + targetFulfilmentInfo: + $ref: '#/components/schemas/FulfilmentInfo' + targetAchievedValue: + type: number + #-------Definition of the concrete TargetFulfilmentResult dataType----------------# + + #-------Definition of the generic IntentConflictReport dataType----------------# + IntentConflictReport: + description: >- + This data type is the "IntentConflictReport" data type without specialisations + type: object + properties: + conflictType: + type: string + enum: + - INTENT_CONFLICT + - EXPECTATION_CONFLICT + - TARGET_CONFLICT + conflictField: + type: string + #-------Definition of the concrete IntentConflictReport dataType----------------# + + #-------Definition of the generic IntentFeasibilityCheckReport dataType----------------# + IntentFeasibilityCheckReport: + description: >- + This data type is the "IntentFeasibilityCheckReport" data type without specialisations + type: object + properties: + feasibilityCheckResult: + type: string + enum: + - FEASIBLE + - INFEASIBLE + infeasibilityReason: + description: -> + An attribute which is used when feasibilityCheckResult is INFEASIBLE + type: string + #-------Definition of the concrete IntentFeasibilityCheckReport dataType----------------# + + #-------Definition of the generic IntentHandlingCapability dataType----------------# + IntentHandlingCapability: + type: object + properties: + intentHandlingCapabilityId: + type: string + supportedExpectationObjectType: + type: string + enum: + - RAN_SUBNETWORK + - EDGE_SERVICE_SUPPORT + supportedExpectationTargetType: + type: array + items: + $ref: "#/components/schemas/ExpectationTarget" + #-------Definition of the concrete IntentHandlingCapability dataType----------------# + + #------Definition of JSON arrays for name-contained IOCs ---------------# + + SubNetwork-Multiple: + type: array + items: + $ref: '#/components/schemas/SubNetwork-Single' + + Intent-Multiple: + type: array + items: + $ref: '#/components/schemas/Intent-Single' + + IntentReport-Multiple: + type: array + items: + $ref: '#/components/schemas/IntentReport-Single' + + IntentHandlingFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/IntentHandlingFunction-Single' + + + #------Definition of JSON arrays for name-contained IOCs ---------------# + + #----- Definitions in TS 28.312 for TS 28.532 --------------------------# + resources-intentNrm: + oneOf: + - $ref: '#/components/schemas/SubNetwork-Single' + - $ref: '#/components/schemas/Intent-Single' + #----- Definitions in TS 28.312 for TS 28.532 --------------------------# + diff --git a/TS28532_FaultMnS.yaml b/TS28532_FaultMnS.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2891cb22181abf7097022dea2f68f0af7887c5be --- /dev/null +++ b/TS28532_FaultMnS.yaml @@ -0,0 +1,1058 @@ +openapi: 3.0.1 +info: + title: Fault Supervision MnS + version: 17.3.0 + description: >- + OAS 3.0.1 definition of the Fault Supervision MnS + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.532; Generic management services + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/ +servers: + - url: '{MnSRoot}/FaultSupervisionMnS/{MnSversion}' + variables: + MnSRoot: + description: See subclause 4.4.3 of TS 32.158 + default: http://example.com/3GPPManagement + MnSversion: + description: Version number of the OpenAPI definition + default: XXX +paths: + /alarms: + get: + summary: Retrieve multiple alarms + description: >- + Retrieves the alarms identified by alarmAckState, baseObjectInstance + and filter. + parameters: + - name: alarmAckState + in: query + required: false + schema: + $ref: '#/components/schemas/AlarmAckState' + - name: baseObjectInstance + in: query + required: false + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + - name: filter + in: query + required: false + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Filter' + responses: + '200': + description: >- + Success case ("200 OK"). + Returns the alarms identified in the request. The alarmId is the key + of the map. + content: + application/json: + schema: + type: object + additionalProperties: + type: object + allOf: + - type: object + properties: + lastNotificationHeader: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - $ref: '#/components/schemas/AlarmRecord' + - type: object + properties: + comments: + $ref: '#/components/schemas/Comments' + default: + description: Response in case of error. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + patch: + summary: 'Clear, acknowledge or unacknowledge multiple alarms' + description: >- + Clears, acknowledges or unacknowledges multiple alarms using patch. Depending + on which action is to be performed, different merge patch documents need + to be used. + requestBody: + description: >- + Patch documents for acknowledging and unacknowledging, or clearing multiple + alarms. The keys in the map are the alarmIds to be patched. + content: + application/merge-patch+json: + schema: + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/MergePatchAcknowledgeAlarm' + - type: object + additionalProperties: + $ref: '#/components/schemas/MergePatchClearAlarm' + responses: + '204': + description: >- + Success case ("204 No content"). + The response message body is empty. + default: + description: Response in case of error. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/FailedAlarm' + /alarms/alarmCount: + get: + summary: Get the alarm count per perceived severity + parameters: + - name: alarmAckState + in: query + required: false + schema: + $ref: '#/components/schemas/AlarmAckState' + - name: filter + in: query + required: false + schema: + type: string + responses: + '200': + description: >- + Success case ("200 OK"). + The alarm count per perceived severity is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AlarmCount' + default: + description: Response in case of error. The error case needs rework. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + /alarms/{alarmId}: + patch: + summary: 'Clear, acknowledge or unacknowledge a single alarm' + description: >- + Clears, acknowledges or unacknowldeges a single alarm by patching the alarm + information. A conditional acknowledge request based on the perceived + severity is not supported. + parameters: + - name: alarmId + in: path + description: Identifies the alarm to be patched. + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + oneOf: + - $ref: '#/components/schemas/MergePatchAcknowledgeAlarm' + - $ref: '#/components/schemas/MergePatchClearAlarm' + responses: + '204': + description: >- + Success case (204 No content). + The response message body is absent. + default: + description: Response in case of error. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + /alarms/{alarmId}/comments: + post: + summary: Add a comment to a single alarm + description: >- + Adds a comment to an alarm identified by alarmId. The id of the new comment + is allocated by the producer. + parameters: + - name: alarmId + in: path + description: Identifies the alarm to which the comment shall be added. + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Comment' + responses: + '201': + description: >- + Success case (201 Created). + The representation of the newly created comment resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/Comment' + headers: + Location: + description: URI of the newly created comment resource. + required: true + schema: + type: string + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + + /subscriptions: + post: + summary: Create a subscription + description: >- + To create a subscription the representation of the subscription is + POSTed on the /subscriptions collection resource. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' + responses: + '201': + description: >- + Success case ("201 Created"). + The representation of the newly created subscription resource shall + be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' + headers: + Location: + description: URI of the newly created subscription resource + required: true + schema: + type: string + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + callbacks: + notifyNewAlarm: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/NotifyNewAlarm' + - $ref: '#/components/schemas/NotifyNewSecAlarm' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + notifyClearedAlarm: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyClearedAlarm' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + notifyChangedAlarm: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyChangedAlarm' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + notifyChangedAlarmGeneral: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/NotifyChangedAlarmGeneral' + - $ref: '#/components/schemas/NotifyChangedSecAlarmGeneral' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + notifyCorrelatedNotificationChanged: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyCorrelatedNotificationChanged' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + notifyAckStateChanged: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyAckStateChanged' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + notifyComments: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyComments' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + notifyPotentialFaultyAlarmList: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyPotentialFaultyAlarmList' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + notifyAlarmListRebuilt: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyAlarmListRebuilt' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + /subscriptions/{subscriptionId}: + delete: + summary: Delete a subscription + description: >- + The subscription is deleted by deleting the corresponding subscription + resource. The resource to be deleted is identified with the path + component of the URI. + parameters: + - name: subscriptionId + in: path + description: Identifies the subscription to be deleted. + required: true + schema: + type: string + responses: + '204': + description: >- + Success case ("204 No Content"). + The subscription resource has been deleted. The response message body + is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + +components: + schemas: + + #---- Definition of AlarmRecord ----------------------------------------------------# + + AlarmId: + type: string + AlarmType: + type: string + enum: + - COMMUNICATIONS_ALARM + - QUALITY_OF_SERVICE_ALARM + - PROCESSING_ERROR_ALARM + - EQUIPMENT_ALARM + - ENVIRONMENTAL_ALARM + - INTEGRITY_VIOLATION + - OPERATIONAL_VIOLATION + - PHYSICAL_VIOLATION + - SECURITY_SERVICE_OR_MECHANISM_VIOLATION + - TIME_DOMAIN_VIOLATION + ProbableCause: + description: >- + The value of the probable cause may be a specific standardized string, or any + vendor provided string. Probable cause strings are not standardized in the + present document. They may be added in a future version. Up to then the + mapping of the generic probable cause strings "PROBABLE_CAUSE_001" to + "PROBABLE_CAUSE_005" is vendor specific. + The value of the probable cause may also be an integer. The mapping of integer + values to probable causes is vendor specific. + oneOf: + - anyOf: + - type: string + enum: + - PROBABLE_CAUSE_001 + - PROBABLE_CAUSE_002 + - PROBABLE_CAUSE_003 + - PROBABLE_CAUSE_004 + - PROBABLE_CAUSE_005 + - type: string + - type: integer + SpecificProblem: + oneOf: + - type: string + - type: integer + PerceivedSeverity: + type: string + enum: + - INDETERMINATE + - CRITICAL + - MAJOR + - MINOR + - WARNING + - CLEARED + TrendIndication: + type: string + enum: + - MORE_SEVERE + - NO_CHANGE + - LESS_SEVERE + ThresholdHysteresis: + type: object + required: + - high + properties: + high: + oneOf: + - type: integer + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float' + low: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float' + ThresholdLevelInd: + oneOf: + - type: object + properties: + up: + $ref: '#/components/schemas/ThresholdHysteresis' + - type: object + properties: + down: + $ref: '#/components/schemas/ThresholdHysteresis' + ThresholdInfo: + type: object + properties: + observedMeasurement: + type: string + observedValue: + type: number + thresholdLevel: + $ref: '#/components/schemas/ThresholdLevelInd' + armTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + required: + - observedMeasurement + - observedValue + CorrelatedNotification: + type: object + properties: + sourceObjectInstance: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + notificationIds: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationId' + required: + - sourceObjectInstance + - notificationIds + CorrelatedNotifications: + type: array + items: + $ref: '#/components/schemas/CorrelatedNotification' + AckState: + type: string + enum: + - ACKNOWLEDGED + - UNACKNOWLEDGED + + AlarmRecord: + description: >- + The alarmId is not a property of an alarm record. It is used as key + in the map of alarm records instead. + type: object + properties: + # alarmId: + # $ref: '#/components/schemas/AlarmId' + objectInstance: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + notificationId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationId' + alarmRaisedTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + alarmChangedTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + alarmClearedTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + specificProblem: + $ref: '#/components/schemas/SpecificProblem' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + backedUpStatus: + type: boolean + backUpObject: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + trendIndication: + $ref: '#/components/schemas/TrendIndication' + thresholdinfo: + $ref: '#/components/schemas/ThresholdInfo' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + stateChangeDefinition: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeValueChangeSet' + monitoredAttributes: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + proposedRepairActions: + type: string + additionalText: + type: string + additionalInformation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + + rootCauseIndicator: + type: boolean + + ackTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + ackUserId: + type: string + ackSystemId: + type: string + ackState: + $ref: '#/components/schemas/AckState' + + clearUserId: + type: string + clearSystemId: + type: string + serviceUser: + type: string + serviceProvider: + type: string + securityAlarmDetector: + type: string + + #---- Definition of alarm notifications --------------------------------------------# + + AlarmNotificationTypes: + type: string + enum: + - notifyNewAlarm + - notifyChangedAlarm + - notifyChangedAlarmGeneral + - notifyAckStateChanged + - notifyCorrelatedNotificationChanged + - notifyComments + - notifyClearedAlarm + - notifyAlarmListRebuilt + - notifyPotentialFaultyAlarmList + AlarmListAlignmentRequirement: + type: string + enum: + - ALIGNMENT_REQUIRED + - ALIGNMENT_NOT_REQUIRED + + NotifyNewAlarm: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + specificProblem: + $ref: '#/components/schemas/SpecificProblem' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + backedUpStatus: + type: boolean + backUpObject: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + trendIndication: + $ref: '#/components/schemas/TrendIndication' + thresholdInfo: + $ref: '#/components/schemas/ThresholdInfo' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + stateChangeDefinition: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeValueChangeSet' + monitoredAttributes: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + proposedRepairActions: + type: string + additionalText: + type: string + additionalInformation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + rootCauseIndicator: + type: boolean + NotifyNewSecAlarm: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + - serviceUser + - serviceProvider + - securityAlarmDetector + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + additionalText: + type: string + additionalInformation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + rootCauseIndicator: + type: boolean + serviceUser: + type: string + serviceProvider: + type: string + securityAlarmDetector: + type: string + NotifyClearedAlarm: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + clearUserId: + type: string + clearSystemId: + type: string + NotifyChangedAlarm: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + NotifyChangedAlarmGeneral: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + specificProblem: + $ref: '#/components/schemas/SpecificProblem' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + backedUpStatus: + type: boolean + backUpObject: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + trendIndication: + $ref: '#/components/schemas/TrendIndication' + thresholdInfo: + $ref: '#/components/schemas/ThresholdInfo' + stateChangeDefinition: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeValueChangeSet' + monitoredAttributes: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + proposedRepairActions: + type: string + additionalText: + type: string + additionalInformation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + rootCauseIndicator: + type: boolean + changedAlarmAttributes: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + NotifyChangedSecAlarmGeneral: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - serviceUser + - serviceProvider + - securityAlarmDetector + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + additionalText: + type: string + additionalInformation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + rootCauseIndicator: + type: boolean + serviceUser: + type: string + serviceProvider: + type: string + securityAlarmDetector: + type: string + changedAlarmAttributes: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + NotifyCorrelatedNotificationChanged: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - correlatedNotifications + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + rootCauseIndicator: + type: boolean + NotifyAckStateChanged: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + - ackState + - ackUserId + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + ackState: + $ref: '#/components/schemas/AckState' + ackUserId: + type: string + ackSystemId: + type: string + NotifyComments: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + - comments + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + comments: + $ref: '#/components/schemas/Comments' + NotifyPotentialFaultyAlarmList: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - reason + properties: + reason: + type: string + NotifyAlarmListRebuilt: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - reason + properties: + reason: + type: string + alarmListAlignmentRequirement: + $ref: '#/components/schemas/AlarmListAlignmentRequirement' + + #---- Definition of query parameters -----------------------------------------------# + + AlarmAckState: + type: string + enum: + - ALL_ALARMS + - ALL_ACTIVE_ALARMS + - ALL_ACTIVE_AND_ACKNOWLEDGED_ALARMS + - ALL_ACTIVE_AND_UNACKNOWLEDGED_ALARMS + - ALL_CLEARED_AND_UNACKNOWLEDGED_ALARMS + - ALL_UNACKNOWLEDGED_ALARMS + + #---- Definition of patch documents ------------------------------------------------# + + MergePatchAcknowledgeAlarm: + description: >- + Patch document acknowledging or unacknowledging a single alarm. For + acknowledging an alarm the value of ackState is ACKNOWLEDGED, for unacknowledging + an alarm the value of ackState is UNACKNOWLEDGED. + type: object + required: + - ackUserId + - ackState + properties: + ackUserId: + type: string + ackSystemId: + type: string + ackState: + $ref: '#/components/schemas/AckState' + MergePatchClearAlarm: + description: Patch document for clearing a single alarm + type: object + required: + - clearUserId + - perceivedSeverity + properties: + clearUserId: + type: string + clearSystemId: + type: string + perceivedSeverity: + type: string + enum: + - CLEARED + + #---- Definition of method responses -----------------------------------------------# + + FailedAlarm: + type: object + required: + - alarmId + - failureReason + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + failureReason: + type: string + + #---- Definition of resources ------------------------------------------------------# + + AlarmCount: + type: object + required: + - criticalCount + - majorCount + - minorCount + - warningCount + - indeterminateCount + - clearedCount + properties: + criticalCount: + type: integer + majorCount: + type: integer + minorCount: + type: integer + warningCount: + type: integer + indeterminateCount: + type: integer + clearedCount: + type: integer + Comment: + type: object + properties: + commentTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + commentUserId: + type: string + commentSystemId: + type: string + commentText: + type: string + Comments: + description: >- + Collection of comments. The comment identifiers are allocated by the + MnS producer and used as key in the map. + type: object + additionalProperties: + $ref: '#/components/schemas/Comment' + Subscription: + type: object + properties: + consumerReference: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + timeTick: + type: integer + filter: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Filter' diff --git a/TS28532_FileDataReportingMnS.yaml b/TS28532_FileDataReportingMnS.yaml new file mode 100644 index 0000000000000000000000000000000000000000..27c5a23b06c4ef4e453fedc83fb888aec23477d7 --- /dev/null +++ b/TS28532_FileDataReportingMnS.yaml @@ -0,0 +1,229 @@ +openapi: 3.0.1 +info: + title: File Data Reporting MnS + version: 17.3.0 + description: >- + OAS 3.0.1 definition of the File Data Reporting MnS + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.532; Generic management services + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/ +servers: + - url: '{MnSRoot}/fileDataReportingMnS/{MnSVersion}' + variables: + MnSRoot: + description: See clause 4.4.3 of TS 32.158 + default: http://example.com/3GPPManagement + MnSVersion: + description: Version number of the OpenAPI definition + default: XXX +paths: + /files: + get: + summary: Read information about available files + description: >- + Information about available files is read with HTTP GET. The files for + which information shall be returned are identified with the path + component (base resource) and the query component (fileDataType, beginTime, + endTime) of the URI. + parameters: + - name: fileDataType + in: query + description: >- + This parameter selects files based on the file data type. + required: true + schema: + $ref: '#/components/schemas/FileDataType' + - name: beginTime + in: query + description: >- + This parameter selects files based on the earliest time they + became available + required: false + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + - name: endTime + in: query + description: >- + This parameter selects files based on the latest time they + became available + required: false + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + responses: + '200': + description: >- + 'Success case ("200 OK"). + The resources identified in the request for retrieval are returned + in the response message body.' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/FileInfo' + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + /subscriptions: + post: + summary: Create a subscription + description: >- + To create a subscription the representation of the subscription is + POSTed on the /subscriptions collection resource. + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS28532_FaultMnS.yaml#/components/schemas/Subscription' + responses: + '201': + description: >- + Success case ("201 Created"). + The representation of the newly created subscription resource shall + be returned. + content: + application/json: + schema: + $ref: 'TS28532_FaultMnS.yaml#/components/schemas/Subscription' + headers: + Location: + description: URI of the newly created subscription resource + required: true + schema: + type: string + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + callbacks: + notifyFileReady: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyFileReady' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + notifyFilePreparationError: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyFilePreparationError' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + /subscriptions/{subscriptionId}: + delete: + summary: Delete a subscription + description: >- + The subscription is deleted by deleting the corresponding subscription + resource. The resource to be deleted is identified with the path + component of the URI. + parameters: + - name: subscriptionId + in: path + description: Identifies the subscription to be deleted. + required: true + schema: + type: string + responses: + '204': + description: >- + Success case ("204 No Content"). + The subscription resource has been deleted. The response message body + is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' +components: + schemas: + FileDataType: + type: string + enum: + - Performance + - Trace + - Analytics + - Proprietary + FileNotificationTypes: + type: string + enum: + - notifyFileReady + - notifyFilePreparationError + FileInfo: + type: object + properties: + fileLocation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + fileSize: + type: integer + fileReadyTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + fileExpirationTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + fileCompression: + type: string + fileFormat: + type: string + fileDataType: + $ref: '#/components/schemas/FileDataType' + NotifyFileReady: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + fileInfoList: + type: array + items: + $ref: '#/components/schemas/FileInfo' + additionalText: + type: string + NotifyFilePreparationError: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + fileInfoList: + type: array + items: + $ref: '#/components/schemas/FileInfo' + reason: + type: string + additionalText: + type: string diff --git a/TS28532_HeartbeatNtf.yaml b/TS28532_HeartbeatNtf.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4d10cac8a24f9d4acf7cdd3d259d712db6037bd8 --- /dev/null +++ b/TS28532_HeartbeatNtf.yaml @@ -0,0 +1,25 @@ +openapi: 3.0.1 +info: + title: Heartbeat notification + version: 17.1.0 + description: >- + OAS 3.0.1 definition of the heartbeat notification + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.532; Generic management services + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.6532/ +paths: {} +components: + schemas: + HeartbeatNotificationTypes: + type: string + enum: + - notifyHeartbeat + NotifyHeartbeat: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + heartbeatNtfPeriod: + type: integer diff --git a/TS28532_PerfMnS.yaml b/TS28532_PerfMnS.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c2eabb541c760d2965edd6871d0c2cbac1c92329 --- /dev/null +++ b/TS28532_PerfMnS.yaml @@ -0,0 +1,76 @@ +openapi: 3.0.1 +info: + title: TS 28.532 Performance Threshold Monitoring MnS + version: 17.1.0 + description: >- + OAS 3.0.1 definition of the Performance Threshold Monitoring MnS + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.532; Generic management services + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/ +servers: + - url: '{root}' + variables: + root: + description: >- + The open API server of the performance threshold monitoring service is + located in the consumer side, see monitoringNotifTarget attribute of + the IOC ThresholdMonitor defined in 3GPP TS 28.622 [11]. + default: http://example.com/3GPPManagement +paths: + /notificationSink: + post: + summary: Send notifications about performance threshold crossing + description: To send a notifyThresholdCrossing notification + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyThresholdCrossing' + responses: + '204': + description: >- + Success case ("204 No Content"). The notification is successfully + delivered. The response message body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' +components: + schemas: + PerfNotificationTypes: + type: string + enum: + - notifyThresholdCrossing + PerfMetricValue: + oneOf: + - type: integer + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float' + PerfMetricDirection: + type: string + enum: + - UP + - DOWN + NotifyThresholdCrossing: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + observedPerfMetricName: + type: string + observedPerfMetricValue: + $ref: '#/components/schemas/PerfMetricValue' + observedPerfMetricDirection: + $ref: '#/components/schemas/PerfMetricDirection' + thresholdValue: + $ref: '#/components/schemas/PerfMetricValue' + hysteresis: + $ref: '#/components/schemas/PerfMetricValue' + monitorGranularityPeriod: + type: integer + additionalText: + type: string diff --git a/TS28532_ProvMnS.yaml b/TS28532_ProvMnS.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7b734bc79ca39b96d1c8f5444e7f15ed3b7bb7fa --- /dev/null +++ b/TS28532_ProvMnS.yaml @@ -0,0 +1,515 @@ +openapi: 3.0.1 +info: + title: Provisioning MnS + version: 17.6.0 + description: >- + OAS 3.0.1 definition of the Provisioning MnS + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.532; Generic management services + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/ +servers: + - url: '{MnSRoot}/ProvMnS/{MnSVersion}/{URI-LDN-first-part}' + variables: + MnSRoot: + description: See clause 4.4.2 of TS 32.158 + default: http://example.com/3GPPManagement + MnSVersion: + description: Version number of the OpenAPI definition + default: XXX + URI-LDN-first-part: + description: See clause 4.4.2 of TS 32.158 + default: '' +paths: + '/{className}={id}': + parameters: + - name: className + in: path + required: true + schema: + type: string + - name: id + in: path + required: true + schema: + type: string + put: + summary: Replaces a complete single resource or creates it if it does not exist + description: >- + With HTTP PUT a complete resource is replaced or created if it does not + exist. The target resource is identified by the target URI. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Resource' + responses: + '200': + description: >- + Success case ("200 OK"). + This status code shall be returned when the resource is replaced, and + when the replaced resource representation is not identical to the resource + representation in the request. + This status code may be returned when the resource is updated and when the + updated resource representation is identical to the resource representation + in the request. + The representation of the updated resource is returned in the response + message body. + content: + application/json: + schema: + $ref: '#/components/schemas/Resource' + '201': + description: >- + Success case ("201 Created"). + This status code shall be returned when the resource is created. + The representation of the created resource is returned in the response + message body. + content: + application/json: + schema: + $ref: '#/components/schemas/Resource' + '204': + description: >- + Success case ("204 No Content"). + This status code may be returned only when the replaced resource + representation is identical to the representation in the request. + The response has no message body. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + callbacks: + notifyMOICreation: + '{request.body#/notificationRecipientAddress}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyMoiCreation' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response + has no message body. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + notifyMOIDeletion: + '{request.body#/notificationRecipientAddress}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyMoiDeletion' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response + has no message body. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + notifyMOIAttributeValueChanges: + '{request.body#/notificationRecipientAddress}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyMoiAttributeValueChanges' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response + has no message body. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + notifyMOIChanges: + '{request.body#/notificationRecipientAddress}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyMoiChanges' + application/yang-data+json: + schema: + $ref: '#/components/schemas/NotifyMoiChanges' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response + has no message body. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + get: + summary: Reads one or multiple resources + description: >- + With HTTP GET resources are read. The resources to be retrieved are + identified with the target URI. The attributes and fields parameter + of the query components allow to select the resource properties to be returned. + parameters: + - name: scope + in: query + description: >- + This parameter extends the set of targeted resources beyond the base + resource identified with the path component of the URI. No scoping + mechanism is specified in the present document. + required: false + schema: + $ref: '#/components/schemas/Scope' + style: form + explode: true + - name: filter + in: query + description: >- + This parameter reduces the targeted set of resources by applying a + filter to the scoped set of resource representations. Only resource + representations for which the filter construct evaluates to "true" + are targeted. No filter language is specified in the present + document. + required: false + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Filter' + - name: attributes + in: query + description: >- + This parameter specifies the attributes of the scoped resources that + are returned. + required: false + schema: + type: array + items: + type: string + style: form + explode: false + - name: fields + in: query + description: >- + This parameter specifies the attribute field of the scoped resources + that are returned. + required: false + schema: + type: array + items: + type: string + style: form + explode: false + responses: + '200': + description: >- + Success case ("200 OK"). + The resources identified in the request for retrieval are returned + in the response message body. In case the attributes or fields query + parameters are used, only the selected attributes or sub-attributes are + returned. The response message body is constructed according to the + hierarchical response construction method (TS 32.158 [15]). + content: + application/json: + schema: + $ref: '#/components/schemas/Resource' + application/vnd.3gpp.object-tree-hierarchical+json: + schema: + $ref: '#/components/schemas/Resource' + application/vnd.3gpp.object-tree-flat+json: + schema: + type: array + items: + $ref: '#/components/schemas/Resource' + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + patch: + summary: Patches one or multiple resources + description: >- + With HTTP PATCH resources are created, updated or deleted. The resources + to be modified are identified with the target URI (base resource) and + the patch document included in the request message body. + requestBody: + description: >- + The request body describes changes to be made to the target resources. + The following patch media types are available + - "application/merge-patch+json" (RFC 7396) + - "application/3gpp-merge-patch+json" (TS 32.158) + - "application/json-patch+json" (RFC 6902) + - "application/3gpp-json-patch+json" (TS 32.158) + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/Resource' + application/3gpp-merge-patch+json: + schema: + $ref: '#/components/schemas/Resource' + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/PatchItem' + application/3gpp-json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/PatchItem' + responses: + '200': + description: >- + Success case ("200 OK"). + This status code is returned when the updated the resource representations + shall be returned for some reason. + The resource representations are returned in the response message body. The + response message body is constructed according to the hierarchical response + construction method (TS 32.158 [15]) + content: + application/json: + schema: + $ref: '#/components/schemas/Resource' + '204': + description: >- + Success case ("204 No Content"). + This status code is returned when there is no need to return the updated + resource representations. + The response message body is empty. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + delete: + summary: Deletes one resource + description: >- + With HTTP DELETE one resource is deleted. The resources to be deleted is + identified with the target URI. + responses: + '200': + description: >- + Success case ("200 OK"). + This status code is returned, when the resource has been successfully deleted. + The response body is empty. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' +components: + schemas: + CmNotificationTypes: + type: string + enum: + - notifyMOICreation + - notifyMOIDeletion + - notifyMOIAttributeValueChanges + - notifyMOIChanges + SourceIndicator: + type: string + enum: + - RESOURCE_OPERATION + - MANAGEMENT_OPERATION + - SON_OPERATION + - UNKNOWN + ScopeType: + type: string + enum: + - BASE_ONLY + - BASE_NTH_LEVEL + - BASE_SUBTREE + - BASE_ALL + Operation: + type: string + enum: + - add + - remove + - replace + Insert: + type: string + enum: + - before + - after + PatchOperation: + type: string + enum: + - add + - replace + - remove + - copy + - move + - test + + Resource: + oneOf: + - type: object + properties: + id: + type: string + objectClass: + type: string + objectInstance: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + attributes: + type: object + additionalProperties: + type: array + items: + type: object + required: + - id + - anyOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/resources-genericNrm' + - $ref: 'TS28541_NrNrm.yaml#/components/schemas/resources-nrNrm' + - $ref: 'TS28541_5GcNrm.yaml#/components/schemas/resources-5gcNrm' + - $ref: 'TS28541_SliceNrm.yaml#/components/schemas/resources-sliceNrm' + - $ref: 'TS28536_CoslaNrm.yaml#/components/schemas/resources-coslaNrm' + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/resources-intentNrm' + - $ref: 'TS28104_MdaNrm.yaml#/components/schemas/resources-mdaNrm' + - $ref: 'TS28105_AiMlNrm.yaml#/components/schemas/resources-AiMlNrm' + - $ref: 'TS28538_EdgeNrm.yaml#/components/schemas/resources-edgeNrm' + Scope: + type: object + properties: + scopeType: + $ref: '#/components/schemas/ScopeType' + scopeLevel: + type: integer + CorrelatedNotification: + type: object + properties: + source: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + notificationIds: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationId' + required: + - source + - notificationIds + MoiChange: + type: object + properties: + notificationId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationId' + correlatedNotifications: + type: array + items: + $ref: '#/components/schemas/CorrelatedNotification' + additionalText: + type: string + sourceIndicator: + $ref: '#/components/schemas/SourceIndicator' + op: + $ref: '#/components/schemas/Operation' + path: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + insert: + $ref: '#/components/schemas/Insert' + value: {} + oldValue: {} + required: + - notificationId + - op + - path + NotifyMoiCreation: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + correlatedNotifications: + type: array + items: + $ref: '#/components/schemas/CorrelatedNotification' + additionalText: + type: string + sourceIndicator: + $ref: '#/components/schemas/SourceIndicator' + attributeList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + NotifyMoiDeletion: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + correlatedNotifications: + type: array + items: + $ref: '#/components/schemas/CorrelatedNotification' + additionalText: + type: string + sourceIndicator: + $ref: '#/components/schemas/SourceIndicator' + attributeList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + NotifyMoiAttributeValueChanges: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + correlatedNotifications: + type: array + items: + $ref: '#/components/schemas/CorrelatedNotification' + additionalText: + type: string + sourceIndicator: + $ref: '#/components/schemas/SourceIndicator' + attributeListValueChanges: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeValueChangeSet' + required: + - attributeListValueChanges + NotifyMoiChanges: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + moiChanges: + type: array + items: + $ref: '#/components/schemas/MoiChange' + required: + - moiChanges + PatchItem: + type: object + properties: + op: + $ref: '#/components/schemas/PatchOperation' + from: + type: string + path: + type: string + value: + nullable: true + required: + - op + - path diff --git a/TS28532_StreamingDataMnS.yaml b/TS28532_StreamingDataMnS.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ef587dac1330f300b2088274aee085c5bea06c97 --- /dev/null +++ b/TS28532_StreamingDataMnS.yaml @@ -0,0 +1,447 @@ +openapi: 3.0.1 +info: + title: TS 28.532 Streaming data reporting service + version: 17.1.0 + description: >- + OAS 3.0.1 specification for the Streaming data reporting service (Streaming MnS) + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +servers: + - url: '{MnSRoot}/StreamingDataReportingMnS/{MnSVersion}' + variables: + MnSRoot: + description: See clause 4.4.3 of TS 32.158. + default: https://example.com/3GPPManagement + MnSVersion: + description: See clause 4.4.3 of TS 32.158. + default: '' +paths: + '/connections': + post: + summary: Inform consumer about reporting streams to be carried by the new connection and receive a new connection id. + description: Exchange of meta-data (producer informs consumer about its own identity and the nature of the data to be reported via streaming) phase of the connection establishement by streaming data reporting producer to the streaming data reporting consumer (i.e. streaming target). + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/connectionRequest-Type' + responses: + '201': + description: Success case (201 Created). + headers: + Location: + description: Location of the created connection resource. + schema: + $ref: '#/components/schemas/connectionId-Type' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/failedConnectionResponse-Type' + get: + summary: Obtain information about connections. + description: Enables the streaming data reporting service producer to obtain information about one or more streaming connections. + parameters: + - name: connectionIdList + in: query + description: The list of connectionId for which the connection information is to be returned. + required: false + schema: + type: array + items: + $ref: '#/components/schemas/connectionId-Type' + responses: + '200': + description: Success case (200 OK). The resources identified in the request for retrieval are returned in the response message body. In case the fields query parameter is used, the selected resources are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/connectionInfo-Type' + '202': + description: Partial success case (202 Partially retrieved). Subset of the resources identified in the request for retrieval are returned in the response message body. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/connectionInfo-Type' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse-Type' + '/connections/{connectionId}': + get: + summary: Obtain information about a connection. + description: Enables the streaming data reporting service producer to obtain information about one streaming connection. + parameters: + - name: connectionId + in: path + description: Indicate the ID (URI) of the connection for which the information is being retrieved + required: true + schema: + $ref: '#/components/schemas/connectionId-Type' + - name: Connection + in: header + schema: + $ref: '#/components/schemas/websocketHeaderConnection-Type' + - name: Sec-WebSocket-Extensions + in: header + schema: + $ref: '#/components/schemas/websocketHeader-Sec-WebSocket-Extensions-Type' + - name: Sec-WebSocket-Key + in: header + schema: + $ref: '#/components/schemas/websocketHeader-Sec-WebSocket-Key-Type' + - name: Sec-WebSocket-Protocol + in: header + schema: + $ref: '#/components/schemas/websocketHeader-Sec-WebSocket-Protocol-Type' + - name: Sec-WebSocket-Version + in: header + schema: + $ref: '#/components/schemas/websocketHeader-Sec-WebSocket-Version-Type' + responses: + '101': + description: Success case (101 Switching Protocols). The connection has been successfully switched to WebSocket. The response message body is absent. + headers: + Upgrade: + schema: + $ref: '#/components/schemas/websocketHeaderUpgrade-Type' + Connection: + schema: + $ref: '#/components/schemas/websocketHeaderConnection-Type' + Sec-WebSocket-Accept: + schema: + $ref: '#/components/schemas/websocketHeader-Sec-WebSocket-Accept-Type' + '200': + description: Success case (200 OK). The resource identified in the request for retrieval returned in the response message body. + content: + application/json: + schema: + $ref: '#/components/schemas/connectionInfo-Type' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse-Type' + '/connections/{connectionId}/streams': + post: + summary: Inform consumer about new reporting streams on an existing connection. + description: Allows the producer to add one or more reporting streams to an already established streaming connection. + parameters: + - name: connectionId + in: path + description: Indicate the ID (URI) of the connection for which the reporting stream information is being added. + required: true + schema: + $ref: '#/components/schemas/connectionId-Type' + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/streamInfo-Type' + responses: + '201': + description: Success case (201 Posted). + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/streamInfo-Type' + '202': + description: Partial success case (202 Posted). + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/streamInfo-Type' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse-Type' + delete: + summary: Remove reporting streams from an existing connection + description: Allows the producer to remove one or more reporting streams from an already established streaming connection. + parameters: + - name: connectionId + in: path + description: Indicate the ID (URI) of the connection for which the reporting stream information is being removed. + required: true + schema: + $ref: '#/components/schemas/connectionId-Type' + - name: streamIds + in: query + description: The list of streamId for the stream(s) to be deleted. + required: true + schema: + type: array + items: + $ref: '#/components/schemas/streamId-Type' + responses: + '204': + description: Success case (204 No Content). The stream information resource has been deleted. The response message body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse-Type' + get: + summary: Obtain information about streams. + description: Enables the streaming data reporting service producer to obtain information about one or more reporting streams. + parameters: + - name: connectionId + in: path + description: Indicate the ID (URI) of the connection for which the information is being retrieved + required: true + schema: + $ref: '#/components/schemas/connectionId-Type' + - name: streamIds + in: query + description: The list of streamId for which the stream information is to be retrieved. + required: true + schema: + type: array + items: + $ref: '#/components/schemas/streamId-Type' + responses: + '200': + description: Success case (200 OK). + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/streamInfoWithReporters-Type' + '202': + description: Partial success case (202 Partially retrieved). + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/streamInfoWithReporters-Type' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse-Type' + '/connections/{connectionId}/streams/{streamId}': + get: + summary: Obtain information about stream + description: Enables the streaming data reporting service producer to obtain information about a reporting stream. + parameters: + - name: connectionId + in: path + description: Indicate the ID (URI) of the connection for which the information is being retrieved + required: true + schema: + $ref: '#/components/schemas/connectionId-Type' + - name: streamId + in: path + description: Indicate the ID of the reporting stream for which the information is being retrieved + required: true + schema: + $ref: '#/components/schemas/streamId-Type' + responses: + '200': + description: Success case (200 OK). + content: + application/json: + schema: + $ref: '#/components/schemas/streamInfoWithReporters-Type' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse-Type' +components: + schemas: + analyticsInfo-Type: + description: Information specific to analytics reporting. + type: object + properties: + activityDetails: + type: string + connectionId-Type: + $ref: '#/components/schemas/uri-Type' + connectionInfo-Type: + type: object + properties: + connection: + $ref: '#/components/schemas/connectionId-Type' + producer: + $ref: '#/components/schemas/producerId-Type' + streams: + type: array + items: + $ref: '#/components/schemas/streamId-Type' + connectionRequest-Type: + type: object + properties: + producer: + $ref: '#/components/schemas/producerId-Type' + streams: + type: array + items: + $ref: '#/components/schemas/streamInfo-Type' + errorResponse-Type: + type: object + properties: + error: + type: object + properties: + errorInfo: + type: string + failedConnectionResponse-Type: + type: object + properties: + error: + type: array + items: + type: object + properties: + streamId: + $ref: '#/components/schemas/streamId-Type' + errorReason: + type: string + measObjDn-Type: + description: DN of the measured object instance (see 3GPP TS 28.550) + allOf: + - $ref: '#/components/schemas/systemDN-Type' + performanceMetrics-Type: + description: an ordered list of performance metric names (see clause 4.4.1 of 3GPP TS 28.622[11]) whose values are to be reported by the Performance Data Stream Units (see Annex C of TS 28.550 [42]) via this stream. Performance metrics include measurement and KPI + type: array + items: + type: string + performanceInfo-Type: + description: Information specific to performance data reporting + type: object + properties: + measObjDn: + $ref: '#/components/schemas/measObjDn-Type' + performanceMetrics: + $ref: '#/components/schemas/performanceMetrics-Type' + jobId: + type: string + required: + - measObjDn + - performanceMetrics + producerId-Type: + description: DN of the streaming data reporting MnS producer. + allOf: + - $ref: '#/components/schemas/systemDN-Type' + serializationFormat-Type: + type: string + enum: + - GPB + - ASN1 + streamId-Type: + description: globally unique stream identifier + type: string + example: '26F452550021' + streamInfo-Type: + description: Reporting stream meta-data. + type: object + properties: + streamType: + $ref: '#/components/schemas/streamType-Type' + serializationFormat: + $ref: '#/components/schemas/serializationFormat-Type' + streamId: + oneOf: + - $ref: '#/components/schemas/streamId-Type' + - $ref: '#/components/schemas/traceReference-Type' + additionalInfo: + oneOf: + - $ref: '#/components/schemas/traceInfo-Type' + - $ref: '#/components/schemas/performanceInfo-Type' + - $ref: '#/components/schemas/analyticsInfo-Type' + - $ref: '#/components/schemas/vsDataContainer-Type' + required: + - streamType + - serializationFormat + - streamId + streamInfoWithReporters-Type: + description: Reporting stream meta-data with added information about reporters. + type: object + properties: + streamInfo: + $ref: '#/components/schemas/streamInfo-Type' + reporters: + type: array + items: + $ref: '#/components/schemas/producerId-Type' + systemDN-Type: + description: See 3GPP TS 32.300 for details + type: string + example: 'SubNetwork=ABCNetwork,SubNetwork=MUC01,GNBDUFunction=XYZ0100' + streamType-Type: + type: string + enum: + - TRACE + - PERFORMANCE + - ANALYTICS + - PROPRIETARY + traceInfo-Type: + description: Information specific to trace data reporting + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/TraceJob-Attr' + traceReference-Type: + description: Trace Reference (see clause 5.6 of 3GPP TS 32.422) as stream identifier for streaming trace data reporting + type: string + example: '4358070034D7' + uri-Type: + description: Resource URI + type: string + vsDataContainer-Type: + description: container for vendor specific data (see 3GPP TS 28.622) + type: object + properties: + vsDataType: + type: string + vsData: + type: string + vsDataFormatVersion: + type: string + websocketHeaderConnection-Type: + description: Header value for the upgrade request and response. + type: string + enum: + - Upgrade + websocketHeaderUpgrade-Type: + description: Header value for the upgrade to WebSocket request and response. + type: string + enum: + - websocket + websocketHeader-Sec-WebSocket-Accept-Type: + description: Header value for secure WebSocket response. Carries hash. + type: string + websocketHeader-Sec-WebSocket-Extensions-Type: + description: Header value for secure WebSocket request. Carries protocol extensions. + type: string + websocketHeader-Sec-WebSocket-Key-Type: + description: Header value for secure WebSocket request. Provides information to the server which is needed in order to confirm that the client is entitled to request an upgrade to WebSocket. + type: string + websocketHeader-Sec-WebSocket-Protocol-Type: + description: Header value for secure WebSocket request. Carries a comma-separated list of subprotocol names, in the order of preference. + type: string + websocketHeader-Sec-WebSocket-Version-Type: + description: Header value for secure WebSocket request and response. Carries the WebSocket protocol version to be used. + type: string diff --git a/TS28536_CoslaNrm.yaml b/TS28536_CoslaNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3ae269c54bb08b5d48092f98b2de857407da6868 --- /dev/null +++ b/TS28536_CoslaNrm.yaml @@ -0,0 +1,254 @@ +openapi: 3.0.1 + +info: + title: coslaNrm + version: 17.3.0 + description: >- + OAS 3.0.1 specification of the Cosla NRM + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 28.536 V17.3.0; Cosla NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.536/ + +paths: {} + +components: + + schemas: + +#------------ Type definitions --------------------------------------------------- + + ControlLoopLifeCyclePhase: + type: string + enum: + - PREPARATION + - COMMISSIONING + - OPERATION + - DECOMMISSIONING + + ObservationTime: + type: integer + + AssuranceGoalStatusObserved: + type: string + enum: + - FULFILLED + - NOT_FULFILLED + + AssuranceGoalStatusPredicted: + type: string + enum: + - FULFILLED + - NOT_FULFILLED + + AssuranceTargetStatusObserved: + type: string + enum: + - FULFILLED + - NOT_FULFILLED + + AssuranceTargetStatusPredicted: + type: string + enum: + - FULFILLED + - NOT_FULFILLED + + AssuranceTargetName: + type: string + + AssuranceTarget: + type: object + properties: + assuranceTargetName: + $ref: '#/components/schemas/AssuranceTargetName' + assuranceTargetValue: + type: string + + AssuranceTargetList: + type: array + items: + $ref: '#/components/schemas/AssuranceTarget' + + AssuranceGoalStatus: + type: object + properties: + assuranceGoalStatusId: + type: string + assuranceGoalId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + assuranceGoalStatusObserved: + $ref: '#/components/schemas/AssuranceGoalStatusObserved' + assuranceGoalStatusPredicted: + $ref: '#/components/schemas/AssuranceGoalStatusPredicted' + assuranceGoalRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + + AssuranceGoalStatusList: + type: array + items: + $ref: '#/components/schemas/AssuranceGoalStatus' + + AssuranceTargetStatus: + type: object + properties: + assuranceTargetStatusId: + type: string + assuranceTargetName: + $ref: '#/components/schemas/AssuranceTargetName' + assuranceTargetStatusObserved: + $ref: '#/components/schemas/AssuranceTargetStatusObserved' + assuranceTargetStatusPredicted: + $ref: '#/components/schemas/AssuranceTargetStatusPredicted' + + AssuranceTargetStatusList: + type: array + items: + $ref: '#/components/schemas/AssuranceTargetStatus' + + AttributeNameList: + type: array + items: + type: string + + ACCLDisallowedAttributes: + type: object + properties: + managedEntityIdentifier: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + attributeNameList: + $ref: '#/components/schemas/AttributeNameList' + + AssuranceScope: + type: object + properties: + taiList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/TaiList' + +#-------- Definition of concrete IOCs -------------------------------------------- + MnS: + oneOf: + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + - type: object + properties: + ManagedElement: + $ref: '#/components/schemas/ManagedElement-Multiple' + + SubNetwork-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-Attr' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-ncO' + - type: object + properties: + AssuranceClosedControlLoop: + $ref: '#/components/schemas/AssuranceClosedControlLoop-Multiple' + + ManagedElement-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedElement-Attr' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedElement-ncO' + - type: object + properties: + AssuranceClosedControlLoop: + $ref: '#/components/schemas/AssuranceClosedControlLoop-Multiple' + + AssuranceClosedControlLoop-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + controlLoopLifeCyclePhase: + $ref: '#/components/schemas/ControlLoopLifeCyclePhase' + aCCLDisallowedList: + $ref: '#/components/schemas/ACCLDisallowedAttributes' + AssuranceGoal: + $ref: '#/components/schemas/AssuranceGoal-Multiple' + networkSliceRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + networkSliceSubnetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + + AssuranceGoal-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + observationTime: + $ref: '#/components/schemas/ObservationTime' + assuranceTargetList: + $ref: '#/components/schemas/AssuranceTargetList' + assuranceScope: + $ref: '#/components/schemas/AssuranceScope' + serviceProfileId: + type: string + sliceProfileId: + type: string + + AssuranceReport-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + assuranceGoalStatusList: + $ref: '#/components/schemas/AssuranceGoalStatusList' + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + SubNetwork-Multiple: + type: array + items: + $ref: '#/components/schemas/SubNetwork-Single' + + ManagedElement-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagedElement-Single' + + AssuranceClosedControlLoop-Multiple: + type: array + items: + $ref: '#/components/schemas/AssuranceClosedControlLoop-Single' + + AssuranceGoal-Multiple: + type: array + items: + $ref: '#/components/schemas/AssuranceGoal-Single' + +#------------ Definitions in TS 28.536 for TS 28.623 ----------------------------- + + resources-coslaNrm: + oneOf: + - $ref: '#/components/schemas/MnS' + - $ref: '#/components/schemas/AssuranceClosedControlLoop-Single' + - $ref: '#/components/schemas/AssuranceGoal-Single' + - $ref: '#/components/schemas/AssuranceReport-Single' + - $ref: '#/components/schemas/SubNetwork-Single' + - $ref: '#/components/schemas/ManagedElement-Single' diff --git a/TS28538_EdgeNrm.yaml b/TS28538_EdgeNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8500267e734bb01379e90e8caa48d119ac5803de --- /dev/null +++ b/TS28538_EdgeNrm.yaml @@ -0,0 +1,326 @@ +openapi: 3.0.1 +info: + title: 3GPP Edge NRM + version: 18.3.0 + description: >- + OAS 3.0.1 specification of the Edge NRM + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.538; Edge NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.538/ +paths: {} +components: + schemas: + +#-------- Definition of types----------------------------------------------------- + ServingLocation: + type: object + properties: + geographicalLocation: + $ref: '#/components/schemas/GeoLoc' + topologicalLocation: + $ref: '#/components/schemas/TopologicalServiceArea' + TopologicalServiceArea: + type: object + properties: + cellIdList: + type: array + items: + type: integer + trackingAreaIdList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/TaiList' + servingPLMN: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + GeoLoc: + type: object + properties: + geographicalCoordinates: + $ref: '#/components/schemas/GeographicalCoordinates' + civicLocation: + type: string + GeographicalCoordinates: + type: object + properties: + lattitude: + type: integer + longitude: + type: integer + EDNConnectionInfo: + type: object + properties: + dNN: + type: string + eDNServiceArea: + $ref: '#/components/schemas/ServingLocation' + AffinityAntiAffinity: + type: object + properties: + affinityEAS: + type: array + items: + type: string + antiAffinityEAS: + type: array + items: + type: string + VirtualResource: + type: object + properties: + virtualMemory: + type: integer + virtualDisk: + type: integer + virutalCPU: + type: string + SoftwareImageInfo: + type: object + properties: + minimumDisk: + type: integer + minimumRAM: + type: integer + discFormat: + type: string + operatingSystem: + type: string + swImageRef: + type: string + Duration: + type: object + properties: + startTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + endTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + EASServicePermission: + type: string + description: any of enumrated value + enum: + - TRIAL + - SILVER + - GOLD + EASFeature: + type: string + description: any of enumrated value + enum: + - SINGLE + - MULTIPLE + EASStatus: + type: string + description: any of enumrated value + enum: + - ENABLED + - DISABLED + + +#-------- Definition of concrete IOCs -------------------------------------------- + MnS: + oneOf: + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + + SubNetwork-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-Attr' + - type: object + properties: + Subnetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + ECSFunction: + $ref: '#/components/schemas/ECSFunction-Multiple' + EdgeDataNetwork: + $ref: '#/components/schemas/EdgeDataNetwork-Multiple' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-ncO' + + EdgeDataNetwork-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + ednIdentifier: + type: string + eDNConnectionInfo: + $ref: '#/components/schemas/EDNConnectionInfo' + - type: object + properties: + EASFunction: + $ref: '#/components/schemas/EASFunction-Multiple' + EESFunction: + $ref: '#/components/schemas/EESFunction-Multiple' + + EASFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + eASIdentifier: + type: string + eESAddress: + type: array + items: + type: string + eASRequirementsRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + eASAddress: + type: array + items: + type: string + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + EASProfile-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + aCID: + type: string + eASProvider: + type: string + eASdescription: + type: string + eASSchedule: + $ref: '#/components/schemas/Duration' + eASGeographicalServiceArea: + $ref: '#/components/schemas/GeoLoc' + eASTopologicalServiceArea: + $ref: '#/components/schemas/TopologicalServiceArea' + eASServicePermissionLevel: + $ref: '#/components/schemas/EASServicePermission' + eASFeature: + $ref: '#/components/schemas/EASFeature' + eASServiceContinuitySupport: + type: boolean + eASDNAI: + type: string + eASAvailabilityReportingPeriod: + type: integer + eASStatus: + $ref: '#/components/schemas/EASStatus' + EESFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + eESIdentifier: + type: string + eESServingLocation: + type: array + items: + $ref: '#/components/schemas/ServingLocation' + eESAddress: + type: array + items: + type: string + softwareImageInfo: + $ref: '#/components/schemas/SoftwareImageInfo' + serviceContinuitySupport: + type: boolean + eASFunctonRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + + ECSFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + eCSAddress: + type: string + providerIdentifier: + type: string + edgeDataNetworkRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + eESFuncitonRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + softwareImageInfo: + $ref: '#/components/schemas/SoftwareImageInfo' + trackingAreaIdList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/TaiList' + geographicalLocation: + $ref: '#/components/schemas/GeoLoc' + mcc: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mcc' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + + EASRequirements-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + requiredEASservingLocation: + $ref: '#/components/schemas/ServingLocation' + affinityAntiAffinity: + $ref: '#/components/schemas/AffinityAntiAffinity' + serviceContinuity: + type: boolean + virtualResource: + $ref: '#/components/schemas/VirtualResource' + softwareImageInfo: + $ref: '#/components/schemas/SoftwareImageInfo' + eASSchedule: + $ref: '#/components/schemas/Duration' + eASFeature: + $ref: '#/components/schemas/EASFeature' + + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + + SubNetwork-Multiple: + type: array + items: + $ref: '#/components/schemas/SubNetwork-Single' + EASFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/EASFunction-Single' + ECSFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ECSFunction-Single' + EESFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/EESFunction-Single' + EdgeDataNetwork-Multiple: + type: array + items: + $ref: '#/components/schemas/EdgeDataNetwork-Single' + EASProfile-Multiple: + type: array + items: + $ref: '#/components/schemas/EASProfile-Single' + +#--------------------------------- Definition ------------------------------------ + + resources-edgeNrm: + oneOf: + - $ref: '#/components/schemas/MnS' + - $ref: '#/components/schemas/SubNetwork-Single' + - $ref: '#/components/schemas/EASFunction-Single' + - $ref: '#/components/schemas/ECSFunction-Single' + - $ref: '#/components/schemas/EESFunction-Single' + - $ref: '#/components/schemas/EdgeDataNetwork-Single' + - $ref: '#/components/schemas/EASRequirements-Single' + - $ref: '#/components/schemas/EASProfile-Single' diff --git a/TS28541_5GcNrm.yaml b/TS28541_5GcNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4cf5ec97673269b19fed094ee5cc553f07bed11c --- /dev/null +++ b/TS28541_5GcNrm.yaml @@ -0,0 +1,4813 @@ +openapi: 3.0.1 +info: + title: 3GPP 5GC NRM + version: 18.5.0 + description: >- + OAS 3.0.1 specification of the 5GC NRM + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.541; 5G NRM, 5GC NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/ +paths: {} +components: + schemas: + +#-------- Definition of types----------------------------------------------------- + + AmfIdentifier: + type: object + description: 'AmfIdentifier comprise of amfRegionId, amfSetId and amfPointer' + properties: + amfRegionId: + $ref: '#/components/schemas/AmfRegionId' + amfSetId: + $ref: '#/components/schemas/AmfSetId' + amfPointer: + $ref: '#/components/schemas/AmfPointer' + AmfRegionId: + type: integer + description: AmfRegionId is defined in TS 23.003 + maximum: 255 + AmfSetId: + type: string + description: AmfSetId is defined in TS 23.003 + maximum: 1023 + AmfPointer: + type: integer + description: AmfPointer is defined in TS 23.003 + maximum: 63 + IpEndPoint: + type: object + properties: + ipv4Address: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + ipv6Address: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' + ipv6Prefix: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Prefix' + transport: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/TransportProtocol' + port: + type: integer + NFProfileList: + type: array + description: List of NF profile + items: + $ref: '#/components/schemas/NFProfile' + NFProfile: + type: object + description: 'NF profile stored in NRF, defined in TS 29.510' + properties: + nFInstanceId: + type: string + description: uuid of NF instance + nFType: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + nFStatus: + $ref: '#/components/schemas/NFStatus' + plmn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + sNssais: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + fqdn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + interPlmnFqdn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + nfServices: + type: array + items: + $ref: '#/components/schemas/NFService' + NFService: + type: object + description: NF Service is defined in TS 29.510 + properties: + serviceInstanceId: + type: string + serviceName: + type: string + version: + type: string + schema: + type: string + fqdn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + interPlmnFqdn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + ipEndPoints: + type: array + items: + $ref: '#/components/schemas/IpEndPoint' + apiPrfix: + type: string + allowedPlmns: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + allowedNfTypes: + type: array + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + allowedNssais: + type: array + items: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + NFStatus: + type: string + description: any of enumerated value + enum: + - REGISTERED + - SUSPENDED + CNSIIdList: + type: array + items: + $ref: '#/components/schemas/CNSIId' + CNSIId: + type: string + description: CNSI Id is defined in TS 29.531, only for Core Network + TACList: + type: array + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' + WeightFactor: + type: integer + AusfInfo: + type: object + properties: + nFSrvGroupId: + type: string + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + routingIndicators: + type: array + items: + type: string + pattern: '^[0-9]{1,4}$' + minItems: 1 + suciInfos: + type: array + items: + $ref: '#/components/schemas/SuciInfo' + minItems: 1 + SupportedDataSet: + type: string + description: any of enumerated value + enum: + - SUBSCRIPTION + - POLICY + - EXPOSURE + - APPLICATION + - A_PFD + - A_AFTI + - A_IPTV + - A_BDT + - A_SPD + - A_EASD + - A_AMI + - P_UE + - P_SCD + - P_BDT + - P_PLMNUE + - P_NSSCD + NotificationType: + type: string + enum: + - N1_MESSAGES + - N2_INFORMATION + - LOCATION_NOTIFICATION + - DATA_REMOVAL_NOTIFICATION + - DATA_CHANGE_NOTIFICATION + - LOCATION_UPDATE_NOTIFICATION + - NSSAA_REAUTH_NOTIFICATION + - NSSAA_REVOC_NOTIFICATION + DefaultNotificationSubscription: + type: object + properties: + notificationType: + $ref: '#/components/schemas/NotificationType' + callbackURI: + type: string + n1MessageClass: + type: boolean + n2InformationClass: + type: boolean + versions: + type: string + binding: + type: string + ManagedNFProfile: + type: object + properties: + nfInstanceID: + type: string + nfType: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + heartbeatTimer: + type: integer + authzInfo: + type: string + hostAddr: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' + allowedPLMNs: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + allowedSNPNs: + type: array + items: + $ref: '#/components/schemas/SnpnInfo' + allowedNfTypes: + type: array + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + allowedNfDomains: + type: array + items: + type: string + allowedNSSAIs: + type: array + items: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + locality: + type: string + capacity: + type: integer + nfSetIdList: + type: array + items: + type: string + servingScope: + type: array + items: + type: string + lcHSupportInd: + type: boolean + olcHSupportInd: + type: boolean + nfSetRecoveryTimeList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + scpDomains: + type: array + items: + type: string + recoveryTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + nfServicePersistence: + type: boolean + nfProfileChangesSupportInd: + type: boolean + defaultNotificationSubscriptions: + type: array + items: + $ref: '#/components/schemas/DefaultNotificationSubscription' + minItems: 1 + serviceSetRecoveryTimeList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + minItems: 1 + vendorId: + type: string + SEPPType: + type: string + description: any of enumerated value + enum: + - CSEPP + - PSEPP + SupportedFunc: + type: object + properties: + function: + type: string + policy: + type: string + SupportedFuncList: + type: array + items: + $ref: '#/components/schemas/SupportedFunc' + CommModelType: + type: string + description: any of enumerated value + enum: + - DIRECT_COMMUNICATION_WO_NRF + - DIRECT_COMMUNICATION_WITH_NRF + - INDIRECT_COMMUNICATION_WO_DEDICATED_DISCOVERY + - INDIRECT_COMMUNICATION_WITH_DEDICATED_DISCOVERY + CommModel: + type: object + properties: + groupId: + type: integer + commModelType: + $ref: '#/components/schemas/CommModelType' + targetNFServiceList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + commModelConfiguration: + type: string + CommModelList: + type: array + items: + $ref: '#/components/schemas/CommModel' + CapabilityList: + type: array + items: + type: string + FiveQiDscpMapping: + type: object + properties: + fiveQIValues: + type: array + items: + type: integer + dscp: + type: integer + NetworkSliceInfo: + type: object + properties: + sNSSAI: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + cNSIId: + $ref: '#/components/schemas/CNSIId' + networkSliceRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + NetworkSliceInfoList: + type: array + items: + $ref: '#/components/schemas/NetworkSliceInfo' + + PacketErrorRate: + type: object + properties: + scalar: + type: integer + exponent: + type: integer + + GtpUPathDelayThresholdsType: + type: object + properties: + n3AveragePacketDelayThreshold: + type: integer + n3MinPacketDelayThreshold: + type: integer + n3MaxPacketDelayThreshold: + type: integer + n9AveragePacketDelayThreshold: + type: integer + n9MinPacketDelayThreshold: + type: integer + n9MaxPacketDelayThreshold: + type: integer + QFPacketDelayThresholdsType: + type: object + properties: + thresholdDl: + type: integer + thresholdUl: + type: integer + thresholdRtt: + type: integer + + QosData: + type: object + properties: + qosId: + type: string + fiveQIValue: + type: integer + maxbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + maxbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + gbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + gbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + qosNotificationControl: + type: boolean + reflectiveQos: + type: boolean + sharingKeyDl: + type: string + sharingKeyUl: + type: string + maxPacketLossRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + maxPacketLossRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + extMaxDataBurstVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm' + + QosDataList: + type: array + items: + $ref: '#/components/schemas/QosData' + + SteeringMode: + type: object + properties: + steerModeValue: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteerModeValue' + active: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + standby: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessTypeRm' + threeGLoad: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + prioAcc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + + TrafficControlData: + type: object + properties: + tcId: + type: string + flowStatus: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowStatus' + redirectInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation' + addRedirectInfo: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation' + minItems: 1 + muteNotif: + type: boolean + trafficSteeringPolIdDl: + type: string + nullable: true + trafficSteeringPolIdUl: + type: string + nullable: true + routeToLocs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + traffCorreInd: + type: boolean + upPathChgEvent: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent' + steerFun: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteeringFunctionality' + steerModeDl: + $ref: '#/components/schemas/SteeringMode' + steerModeUl: + $ref: '#/components/schemas/SteeringMode' + mulAccCtrl: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/MulticastAccessControl' + snssaiList: + $ref: '#/components/schemas/SnssaiList' + + TrafficControlDataList: + type: array + items: + $ref: '#/components/schemas/TrafficControlData' + + PccRule: + type: object + properties: + pccRuleId: + type: string + description: Univocally identifies the PCC rule within a PDU session. + flowInfoList: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowInformation' + applicationId: + type: string + appDescriptor: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ApplicationDescriptor' + contentVersion: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ContentVersion' + precedence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + afSigProtocol: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol' + isAppRelocatable: + type: boolean + isUeAddrPreserved: + type: boolean + qosData: + type: array + items: + $ref: '#/components/schemas/QosDataList' + altQosParams: + type: array + items: + $ref: '#/components/schemas/QosDataList' + trafficControlData: + type: array + items: + $ref: '#/components/schemas/TrafficControlDataList' + conditionData: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ConditionData' + tscaiInputDl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + tscaiInputUl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + + SnssaiInfo: + type: object + properties: + plmnInfo: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfo' + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + + NsacfInfoSnssai: + type: object + properties: + SnssaiInfo: + $ref: '#/components/schemas/SnssaiInfo' + isSubjectToNsac: + type: boolean + maxNumberofUEs: + type: integer + eACMode: + type: string + enum: + - INACTIVE + - ACTIVE + activeEacThreshold: + type: integer + deactiveEacThreshold: + type: integer + numberofUEs: + type: integer + uEIdList: + type: array + items: + type: string + maxNumberofPDUSessions: + type: integer + + NRTACRange: + type: object + properties: + nRTACstart: + type: string + nRTACend: + type: string + nRTACpattern: + type: string + + TaiRange: + type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + nRTACRangelist: + type: array + items: + $ref: '#/components/schemas/NRTACRange' + + GUAMInfo: + type: object + properties: + pLMNId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + aMFIdentifier: + type: integer + + SupportedBMOList: + type: array + items: + type: string + + ECSAddrConfigInfo: + type: array + items: + type: string + + DnnSmfInfoItem: + type: object + properties: + dnn: + type: string + dnaiList: + type: array + items: + type: string + + SnssaiSmfInfoItem: + type: object + properties: + sNSSAI: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + dnnSmfInfoList: + type: array + items: + $ref: '#/components/schemas/DnnSmfInfoItem' + + 5GCNfConnEcmInfoList: + type: array + items: + $ref: '#/components/schemas/5GCNfConnEcmInfo' + 5GCNfConnEcmInfo: + type: object + description: 'Store the 5GC NF connection information' + properties: + 5GCNFType: + type: string + enum: + - PCF + - NEF + - SCEF + 5GCNFIpAddress: + type: string + 5GCNFRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + + UPFConnectionInfo: + type: object + properties: + uPFIpAddress: + type: string + uPFRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + SnssaiList: + type: array + items: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + SnpnId: + type: object + properties: + mcc: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mnc' + nid: + type: string + SnpnInfo: + type: object + properties: + snpnId: + $ref: '#/components/schemas/SnpnId' + snssai: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + TaiList: + type: array + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' + SupiRange: + type: object + properties: + start: + type: string + end: + type: string + pattern: + type: string + IdentityRange: + type: object + properties: + start: + type: string + end: + type: string + pattern: + type: string + ProseCapability: + type: object + properties: + proseDirectDiscovery: + type: boolean + proseDirectCommunication: + type: boolean + proseL2UetoNetworkRelay: + type: boolean + proseL3UetoNetworkRelay: + type: boolean + proseL2RemoteUe: + type: boolean + proseL3RemoteUe: + type: boolean + V2xCapability: + type: object + properties: + lteV2x: + type: boolean + nrV2x: + type: boolean + InternalGroupIdRange: + type: object + properties: + start: + type: string + end: + type: string + pattern: + type: string + SuciInfo: + type: object + properties: + routingInds: + type: array + items: + type: string + hNwPubKeyIds: + type: array + items: + type: integer + SuciInfoList: + type: array + items: + $ref: '#/components/schemas/SuciInfo' + SharedDataIdRange: + type: object + properties: + pattern: + type: string + SupiRangeList: + type: array + items: + $ref: '#/components/schemas/SupiRange' + IdentityRangeList: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + InternalGroupIdRangeList: + type: array + items: + $ref: '#/components/schemas/InternalGroupIdRange' + SupportedDataSetList: + type: array + items: + $ref: '#/components/schemas/SupportedDataSet' + SharedDataIdRangeList: + type: array + items: + $ref: '#/components/schemas/SharedDataIdRange' + InterfaceUpfInfoItem: + type: object + properties: + interfaceType: + type: string + enum: + - IPV4ENDPOINTADDRESSES + - IPV6ENDPOINTADDRESSES + - FQDN + ipv4EndpointAddresses: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + ipv6EndpointAddresses: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' + fqdn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + networkInstance: + type: string + + AtsssCapability: + type: object + properties: + atsssLL: + type: boolean + mptcp: + type: boolean + rttWithoutPmf: + type: boolean + + IpInterface: + type: object + properties: + ipv4EndpointAddresses: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + ipv6EndpointAddresses: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' + fqdn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + + Ipv4AddressRange: + description: Range of IPv4 addresses + type: object + properties: + start: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + end: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + Ipv6PrefixRange: + description: Range of IPv6 prefixes + type: object + properties: + start: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + end: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + Nid: + type: string + pattern: '^[A-Fa-f0-9]{11}$' + PlmnIdNid: + type: object + properties: + mcc: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mnc' + nid: + $ref: '#/components/schemas/Nid' + ScpCapability: + type: string + enum: + - INDIRECT_COM_WITH_DELEG_DISC + IpReachability: + description: Indicates the type(s) of IP addresses reachable via an SCP + anyOf: + - type: string + enum: + - IPV4 + - IPV6 + - IPV4V6 + - type: string + + ScpDomainInfo: + description: SCP Domain specific information + type: object + properties: + scpFqdn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + scpIpEndPoints: + type: array + items: + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/IpEndPoint' + minItems: 1 + scpPrefix: + type: string + scpPorts: + description: > + Port numbers for HTTP and HTTPS. The key of the map shall be "http" or "https". + type: object + additionalProperties: + type: integer + minimum: 0 + maximum: 65535 + minProperties: 1 + + SeppInfo: + description: Information of a SEPP Instance + type: object + properties: + seppPrefix: + type: string + seppPorts: + description: > + Port numbers for HTTP and HTTPS. The key of the map shall be "http" or "https". + type: object + additionalProperties: + type: integer + minimum: 0 + maximum: 65535 + minProperties: 1 + remotePlmnList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + minItems: 1 + remoteSnpnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + + UdsfInfo: + description: Information related to UDSF + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + storageIdRanges: + description: > + A map (list of key-value pairs) where realmId serves as key and each value in the map + is an array of IdentityRanges. Each IdentityRange is a range of storageIds. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + minProperties: 1 + + NsacfCapability: + description: > + NSACF service capabilities (e.g. to monitor and control the number of registered UEs + or established PDU sessions per network slice) + type: object + properties: + supportUeSAC: + description: | + Indicates the service capability of the NSACF to monitor and control the number of + registered UEs per network slice for the network slice that is subject to NSAC + true: Supported + false (default): Not Supported + type: boolean + default: false + supportPduSAC: + description: | + Indicates the service capability of the NSACF to monitor and control the number of + established PDU sessions per network slice for the network slice that is subject to NSAC + true: Supported + false (default): Not Supported + type: boolean + default: false + + NsacfInfo: + description: Information of a NSACF NF Instance + type: object + required: + - nsacfCapability + properties: + nsacfCapability: + $ref: '#/components/schemas/NsacfCapability' + taiList: + $ref: '#/components/schemas/TaiList' + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + + NwdafCapability: + description: Indicates the capability supported by the NWDAF + type: object + properties: + analyticsAggregation: + type: boolean + default: false + analyticsMetadataProvisioning: + type: boolean + default: false + MlAnalyticsInfo: + description: ML Analytics Filter information supported by the Nnwdaf_MLModelProvision service + type: object + properties: + mlAnalyticsIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + minItems: 1 + snssaiList: + $ref: '#/components/schemas/SnssaiList' + trackingAreaList: + $ref: '#/components/schemas/TaiList' + + NwdafInfo: + description: Information of a NWDAF NF Instance + type: object + properties: + eventIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/EventId' + minItems: 1 + nwdafEvents: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + minItems: 1 + taiList: + $ref: '#/components/schemas/TaiList' + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + nwdafCapability: + $ref: '#/components/schemas/NwdafCapability' + analyticsDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + servingNfSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + servingNfTypeList: + type: array + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + minItems: 1 + mlAnalyticsList: + type: array + items: + $ref: '#/components/schemas/MlAnalyticsInfo' + minItems: 1 + + ScpInfo: + description: Information of an SCP Instance + type: object + properties: + scpDomainInfoList: + description: > + A map (list of key-value pairs) where the key of the map shall be the string + identifying an SCP domain + type: object + additionalProperties: + $ref: '#/components/schemas/ScpDomainInfo' + minProperties: 1 + scpPrefix: + type: string + scpPorts: + description: > + Port numbers for HTTP and HTTPS. The key of the map shall be "http" or "https". + type: object + additionalProperties: + type: integer + minimum: 0 + maximum: 65535 + minProperties: 1 + addressDomains: + type: array + items: + type: string + minItems: 1 + ipv4Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Prefixes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + ipv4AddrRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + ipv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + servedNfSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + remotePlmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + remoteSnpnList: + type: array + items: + $ref: '#/components/schemas/PlmnIdNid' + minItems: 1 + ipReachability: + $ref: '#/components/schemas/IpReachability' + scpCapabilities: + type: array + items: + $ref: '#/components/schemas/ScpCapability' + + PfdData: + description: List of Application IDs and/or AF IDs managed by a given NEF Instance + type: object + properties: + appIds: + type: array + items: + type: string + minItems: 1 + afIds: + type: array + items: + type: string + minItems: 1 + AfEvent: + description: Represents Application Events. + anyOf: + - type: string + enum: + - SVC_EXPERIENCE + - UE_MOBILITY + - UE_COMM + - EXCEPTIONS + - USER_DATA_CONGESTION + - PERF_DATA + - DISPERSION + - COLLECTIVE_BEHAVIOUR + - MS_QOE_METRICS + - MS_CONSUMPTION + - MS_NET_ASSIST_INVOCATION + - MS_DYN_POLICY_INVOCATION + - MS_ACCESS_ACTIVITY + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + AfEventExposureData: + description: AF Event Exposure data managed by a given NEF Instance + type: object + required: + - afEvents + properties: + afEvents: + type: array + items: + $ref: '#/components/schemas/AfEvent' + minItems: 1 + afIds: + type: array + items: + type: string + minItems: 1 + appIds: + type: array + items: + type: string + minItems: 1 + UnTrustAfInfo: + description: Information of a untrusted AF Instance + type: object + required: + - afId + properties: + afId: + type: string + sNssaiInfoList: + type: array + items: + $ref: '#/components/schemas/SnssaiInfoItem' + minItems: 1 + mappingInd: + type: boolean + default: false + SnssaiInfoItem: + description: > + Parameters supported by an NF for a given S-NSSAI Set of parameters supported by NF + for a given S-NSSAI + type: object + required: + - sNssai + - dnnInfoList + properties: + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + dnnInfoList: + type: array + items: + $ref: '#/components/schemas/DnnInfoItem' + minItems: 1 + DnnInfoItem: + description: Set of parameters supported by NF for a given DNN + type: object + required: + - dnn + properties: + dnn: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/WildcardDnn' + EasdfInfo: + description: Information of an EASDF NF Instance + type: object + properties: + sNssaiEasdfInfoList: + type: array + items: + $ref: '#/components/schemas/SnssaiEasdfInfoItem' + minItems: 1 + easdfN6IpAddressList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' + minItems: 1 + upfN6IpAddressList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' + minItems: 1 + + SnssaiEasdfInfoItem: + description: Set of parameters supported by EASDF for a given S-NSSAI + type: object + required: + - sNssai + - dnnEasdfInfoList + properties: + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + dnnEasdfInfoList: + type: array + items: + $ref: '#/components/schemas/DnnEasdfInfoItem' + minItems: 1 + + DnnEasdfInfoItem: + description: Set of parameters supported by EASDF for a given DNN + type: object + required: + - dnn + properties: + dnn: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/WildcardDnn' + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + NssaafInfo: + description: Information of a NSSAAF Instance + type: object + properties: + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + internalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/InternalGroupIdRange' + minItems: 1 + TrustAfInfo: + description: Information of a trusted AF Instance + type: object + properties: + sNssaiInfoList: + type: array + items: + $ref: '#/components/schemas/SnssaiInfoItem' + minItems: 1 + afEvents: + type: array + items: + $ref: '#/components/schemas/AfEvent' + minItems: 1 + appIds: + type: array + items: + type: string + minItems: 1 + internalGroupId: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + mappingInd: + type: boolean + default: False + ExternalClientType: + description: Indicates types of External Clients. + anyOf: + - type: string + enum: + - EMERGENCY_SERVICES + - VALUE_ADDED_SERVICES + - PLMN_OPERATOR_SERVICES + - LAWFUL_INTERCEPT_SERVICES + - PLMN_OPERATOR_BROADCAST_SERVICES + - PLMN_OPERATOR_OM + - PLMN_OPERATOR_ANONYMOUS_STATISTICS + - PLMN_OPERATOR_TARGET_MS_SERVICE_SUPPORT + - type: string + SupportedGADShapes: + description: Indicates supported GAD shapes. + anyOf: + - type: string + enum: + - POINT + - POINT_UNCERTAINTY_CIRCLE + - POINT_UNCERTAINTY_ELLIPSE + - POLYGON + - POINT_ALTITUDE + - POINT_ALTITUDE_UNCERTAINTY + - ELLIPSOID_ARC + - LOCAL_2D_POINT_UNCERTAINTY_ELLIPSE + - LOCAL_3D_POINT_UNCERTAINTY_ELLIPSOID + - type: string + AnNodeType: + description: Access Network Node Type (gNB, ng-eNB...) + anyOf: + - type: string + enum: + - GNB + - NG_ENB + - type: string + + LmfInfo: + description: Information of an LMF NF Instance + type: object + properties: + servingClientTypes: + type: array + items: + $ref: '#/components/schemas/ExternalClientType' + minItems: 1 + lmfId: + type: string + servingAccessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + servingAnNodeTypes: + type: array + items: + $ref: '#/components/schemas/AnNodeType' + minItems: 1 + servingRatTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + supportedGADShapes: + type: array + items: + $ref: '#/components/schemas/SupportedGADShapes' + minItems: 1 + UdrInfo: + description: Information of an UDR NF Instance + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + externalGroupIdentifiersRanges: + $ref: '#/components/schemas/IdentityRangeList' + supportedDataSets: + $ref: '#/components/schemas/SupportedDataSetList' + sharedDataIdRanges: + $ref: '#/components/schemas/SharedDataIdRangeList' + UdmInfo: + description: Information of an UDM NF Instance + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + externalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + routingIndicators: + type: array + items: + type: string + pattern: '^[0-9]{1,4}$' + minItems: 1 + internalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/InternalGroupIdRange' + minItems: 1 + suciInfos: + type: array + items: + $ref: '#/components/schemas/SuciInfo' + minItems: 1 + PlmnRange: + description: Range of PLMN IDs + type: object + oneOf: + - required: [ start, end ] + - required: [ pattern ] + properties: + start: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}$' + end: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}$' + pattern: + type: string + + SmsfInfo: + description: Specific Data for SMSF + type: object + properties: + roamingUeInd: + type: boolean + remotePlmnRangeList: + type: array + items: + $ref: '#/components/schemas/PlmnRange' + minItems: 1 + + DccfInfo: + description: Specific Data for DCCF + type: object + properties: + servingNfTypeList: + type: array + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + minItems: 1 + servingNfSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + taiList: + $ref: '#/components/schemas/TaiList' + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + + MfafInfo: + description: Information of a MFAF NF Instance + type: object + properties: + servingNfTypeList: + type: array + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + servingNfSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + taiList: + $ref: '#/components/schemas/TaiList' + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + + ChfInfo: + description: Information of a CHF NF Instance + type: object + not: + required: [ primaryChfInstance, secondaryChfInstance ] + properties: + supiRangeList: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 0 + gpsiRangeList: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 0 + plmnRangeList: + type: array + items: + $ref: '#/components/schemas/PlmnRange' + minItems: 0 + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + primaryChfInstance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + secondaryChfInstance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + AmfInfo: + description: Information of an AMF NF Instance + type: object + # required: + # - amfSetId + # - amfRegionId + # - guamiList + properties: + # amfSetId: + # $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfSetId' + # amfRegionId: + # $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfRegionId' + guamiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + backupInfoAmfFailure: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + backupInfoAmfRemoval: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + # n2InterfaceAmfInfo: + # $ref: '#/components/schemas/N2InterfaceAmfInfo' + # amfOnboardingCapability: + # type: boolean + # default: false + # highLatencyCom: + # type: boolean + + SmfInfo: + description: Information of an SMF NF Instance + type: object + required: + - sNssaiSmfInfoList + properties: + sNssaiSmfInfoList: + type: array + items: + $ref: '#/components/schemas/SnssaiSmfInfoItem' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + pgwFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + pgwIpAddrList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' + minItems: 1 + accessType: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + priority: + type: integer + minimum: 0 + maximum: 65535 + vsmfSupportInd: + type: boolean + pgwFqdnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + minItems: 1 + # smfOnboardingCapability: + # type: boolean + # default: false + # deprecated: true + # ismfSupportInd: + # type: boolean + # smfUPRPCapability: + # type: boolean + # default: false + + UpfInfo: + description: Information of an UPF NF Instance + type: object + # required: + # - sNssaiUpfInfoList + properties: + # sNssaiUpfInfoList: + # type: array + # items: + # $ref: '#/components/schemas/SnssaiUpfInfoItem' + # minItems: 1 + smfServingArea: + type: array + items: + type: string + minItems: 1 + interfaceUpfInfoList: + type: array + items: + $ref: '#/components/schemas/InterfaceUpfInfoItem' + minItems: 1 + iwkEpsInd: + type: boolean + default: false + # sxaInd: + # type: boolean + pduSessionTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + atsssCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AtsssCapability' + ueIpAddrInd: + type: boolean + default: false + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + wAgfInfo: + # $ref: '#/components/schemas/WAgfInfo' + $ref: '#/components/schemas/IpInterface' + tngfInfo: + # $ref: '#/components/schemas/TngfInfo' + $ref: '#/components/schemas/IpInterface' + twifInfo: + # $ref: '#/components/schemas/TwifInfo' + $ref: '#/components/schemas/IpInterface' + priority: + type: integer + minimum: 0 + maximum: 65535 + redundantGtpu: + type: boolean + default: false + ipups: + type: boolean + default: false + dataForwarding: + type: boolean + default: false + supportedPfcpFeatures: + type: string + # upfEvents: + # type: array + # items: + # $ref: 'TS29564_Nupf_EventExposure.yaml#/components/schemas/EventType' + # minItems: 1 + + PcfInfo: + description: Information of a PCF NF Instance + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + dnnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + rxDiamHost: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + rxDiamRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + v2xSupportInd: + type: boolean + default: false + proseSupportInd: + type: boolean + default: false + proseCapability: + $ref: '#/components/schemas/ProseCapability' + v2xCapability: + $ref: '#/components/schemas/V2xCapability' + + NefInfo: + description: Information of an NEF NF Instance + type: object + properties: + nefId: + # $ref: '#/components/schemas/NefId' + type: string + pfdData: + $ref: '#/components/schemas/PfdData' + afEeData: + $ref: '#/components/schemas/AfEventExposureData' + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + externalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + servedFqdnList: + type: array + items: + type: string + minItems: 1 + taiList: + $ref: '#/components/schemas/TaiList' + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + unTrustAfInfoList: + type: array + items: + $ref: '#/components/schemas/UnTrustAfInfo' + minItems: 1 + uasNfFunctionalityInd: + type: boolean + default: false + + NrfInfo: + description: Information of an NRF NF Instance, used in hierarchical NRF deployments + type: object + properties: + servedUdrInfo: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/UdrInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + servedUdrInfoList: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + description: A map (list of key-value pairs) where a valid JSON string serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/UdrInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + minProperties: 1 + servedUdmInfo: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/UdmInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + servedUdmInfoList: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + description: A map (list of key-value pairs) where a valid JSON string serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/UdmInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + minProperties: 1 + servedAusfInfo: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/AusfInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + servedAusfInfoList: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + description: A map (list of key-value pairs) where a valid JSON string serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/AusfInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + minProperties: 1 + servedAmfInfo: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/AmfInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + servedAmfInfoList: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + description: A map (list of key-value pairs) where a valid JSON string serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/AmfInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + minProperties: 1 + servedSmfInfo: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/SmfInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + servedSmfInfoList: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + description: A map (list of key-value pairs) where a valid JSON string serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/SmfInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + minProperties: 1 + servedUpfInfo: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/UpfInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + servedUpfInfoList: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + description: A map (list of key-value pairs) where a valid JSON string serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/UpfInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + minProperties: 1 + servedPcfInfo: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/PcfInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + servedPcfInfoList: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + description: A map (list of key-value pairs) where a valid JSON string serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/PcfInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + minProperties: 1 + # servedBsfInfo: + # description: A map (list of key-value pairs) where nfInstanceId serves as key + # type: object + # additionalProperties: + # anyOf: + # - $ref: '#/components/schemas/BsfInfo' + # - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + # minProperties: 1 + # servedBsfInfoList: + # description: A map (list of key-value pairs) where nfInstanceId serves as key + # type: object + # additionalProperties: + # description: A map (list of key-value pairs) where a valid JSON string serves as key + # type: object + # additionalProperties: + # anyOf: + # - $ref: '#/components/schemas/BsfInfo' + # - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + # minProperties: 1 + # minProperties: 1 + servedChfInfo: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/ChfInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + servedChfInfoList: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + description: A map (list of key-value pairs) where a valid JSON string serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/ChfInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + minProperties: 1 + servedNefInfo: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/NefInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + servedNwdafInfo: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/NwdafInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + servedNwdafInfoList: + type: object + description: A map (list of key-value pairs) where NF Instance Id serves as key + additionalProperties: + type: object + description: A map (list of key-value pairs) where a valid JSON string serves as key + additionalProperties: + $ref: '#/components/schemas/NwdafInfo' + minProperties: 1 + minProperties: 1 + # servedPcscfInfoList: + # description: A map (list of key-value pairs) where nfInstanceId serves as key + # type: object + # additionalProperties: + # description: A map (list of key-value pairs) where a valid JSON string serves as key + # type: object + # additionalProperties: + # anyOf: + # - $ref: '#/components/schemas/PcscfInfo' + # - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + # minProperties: 1 + # minProperties: 1 + # servedGmlcInfo: + # description: A map (list of key-value pairs) where nfInstanceId serves as key + # type: object + # additionalProperties: + # anyOf: + # - $ref: '#/components/schemas/GmlcInfo' + # - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + # minProperties: 1 + servedLmfInfo: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/LmfInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + # servedNfInfo: + # description: A map (list of key-value pairs) where nfInstanceId serves as key + # type: object + # additionalProperties: + # $ref: '#/components/schemas/NfInfo' + # minProperties: 1 + # servedHssInfoList: + # description: A map (list of key-value pairs) where nfInstanceId serves as key + # type: object + # additionalProperties: + # description: A map (list of key-value pairs) where a valid JSON string serves as key + # type: object + # additionalProperties: + # anyOf: + # - $ref: '#/components/schemas/HssInfo' + # - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + # minProperties: 1 + # minProperties: 1 + servedUdsfInfo: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/UdsfInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + servedUdsfInfoList: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + description: A map (list of key-value pairs) where a valid JSON string serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/UdsfInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + minProperties: 1 + servedScpInfoList: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/ScpInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + servedSeppInfoList: + description: A map (list of key-value pairs) where nfInstanceId serves as key + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/SeppInfo' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/EmptyObject' + minProperties: 1 + servedTrustAfInfo: + type: object + description: A map (list of key-value pairs) where NF Instance Id serves as key + additionalProperties: + $ref: '#/components/schemas/TrustAfInfo' + minProperties: 1 + servedNssaafInfo: + type: object + description: A map (list of key-value pairs) where NF Instance Id serves as key + additionalProperties: + $ref: '#/components/schemas/NssaafInfo' + minProperties: 1 + NTNPLMNRestrictionsInfo: + description: restrictions per PLMN that relates to non-terrestrial network access + type: object + properties: + pLMNId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + blockedLocationInfoList: + type: array + items: + $ref: '#/components/schemas/BlockedLocationInfoList' + minItems: 1 + BlockedLocationInfoList: + description: location for which the PLMN access restrictions are to be applied in case of NTN + type: object + properties: + blockedLocation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + blockedDur: + $ref: '#/components/schemas/TimeDuration' + blockedSlice: + type: string + TimeDuration: + description: location for which the PLMN access restrictions are to be applied in case of NTN + type: object + properties: + blockedDurStartTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + blockedDurEndTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + + GmlcInfo: + description: Information of a GMLC NF Instance + type: object + properties: + servingClientTypes: + type: array + items: + $ref: '#/components/schemas/ExternalClientType' + gmlcNumbers: + type: array + items: + type: string + pattern: '^[0-9]{5,15}$' + + SnssaiTsctsfInfoItem: + description: Set of parameters supported by TSCTSF for a given S-NSSAI + type: object + required: + - sNssai + - dnnInfoList + properties: + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + dnnInfoList: + type: array + items: + $ref: '#/components/schemas/DnnTsctsfInfoItem' + minItems: 1 + DnnTsctsfInfoItem: + description: Parameters supported by an TSCTSF for a given DNN + type: object + required: + - dnn + properties: + dnn: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/WildcardDnn' + TsctsfInfo: + description: Information of a TSCTSF NF Instance + type: object + properties: + sNssaiInfoList: + description: A map (list of key-value pairs) where a valid JSON string serves as key + additionalProperties: + $ref: '#/components/schemas/SnssaiTsctsfInfoItem' + minProperties: 0 + externalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + internalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/InternalGroupIdRange' + + BsfInfo: + description: Information of a BSF NF Instance + type: object + properties: + dnnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 0 + ipDomainList: + type: array + items: + type: string + minItems: 0 + ipv4AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 0 + ipv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 0 + rxDiamHost: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + rxDiamRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 0 + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 0 + + AanfInfo: + description: Represents the information relative to an AAnF NF Instance. + type: object + properties: + routingIndicators: + type: array + items: + type: string + pattern: '^[0-9]{1,4}$' + +#-------- Definition of concrete IOCs -------------------------------------------- + ProvMnS: + oneOf: + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + - type: object + properties: + ManagedElement: + $ref: '#/components/schemas/ManagedElement-Multiple' + + SubNetwork-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-Attr' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-ncO' + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + ManagedElement: + $ref: '#/components/schemas/ManagedElement-Multiple' + ExternalAmfFunction: + $ref: '#/components/schemas/ExternalAmfFunction-Multiple' + ExternalNrfFunction: + $ref: '#/components/schemas/ExternalNrfFunction-Multiple' + ExternalNssfFunction: + $ref: '#/components/schemas/ExternalNssfFunction-Multiple' + AmfSet: + $ref: '#/components/schemas/AmfSet-Multiple' + AmfRegion: + $ref: '#/components/schemas/AmfRegion-Multiple' + Configurable5QISet: + $ref: '#/components/schemas/Configurable5QISet-Multiple' + Dynamic5QISet: + $ref: '#/components/schemas/Dynamic5QISet-Multiple' + EcmConnectionInfo: + $ref: '#/components/schemas/EcmConnectionInfo-Multiple' + + ManagedElement-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedElement-Attr' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedElement-ncO' + - type: object + properties: + AmfFunction: + $ref: '#/components/schemas/AmfFunction-Multiple' + SmfFunction: + $ref: '#/components/schemas/SmfFunction-Multiple' + UpfFunction: + $ref: '#/components/schemas/UpfFunction-Multiple' + N3iwfFunction: + $ref: '#/components/schemas/N3iwfFunction-Multiple' + PcfFunction: + $ref: '#/components/schemas/PcfFunction-Multiple' + AusfFunction: + $ref: '#/components/schemas/AusfFunction-Multiple' + UdmFunction: + $ref: '#/components/schemas/UdmFunction-Multiple' + UdrFunction: + $ref: '#/components/schemas/UdrFunction-Multiple' + UdsfFunction: + $ref: '#/components/schemas/UdsfFunction-Multiple' + NrfFunction: + $ref: '#/components/schemas/NrfFunction-Multiple' + NssfFunction: + $ref: '#/components/schemas/NssfFunction-Multiple' + SmsfFunction: + $ref: '#/components/schemas/SmsfFunction-Multiple' + LmfFunction: + $ref: '#/components/schemas/LmfFunction-Multiple' + NgeirFunction: + $ref: '#/components/schemas/NgeirFunction-Multiple' + SeppFunction: + $ref: '#/components/schemas/SeppFunction-Multiple' + NwdafFunction: + $ref: '#/components/schemas/NwdafFunction-Multiple' + ScpFunction: + $ref: '#/components/schemas/ScpFunction-Multiple' + NefFunction: + $ref: '#/components/schemas/NefFunction-Multiple' + Configurable5QISet: + $ref: '#/components/schemas/Configurable5QISet-Multiple' + Dynamic5QISet: + $ref: '#/components/schemas/Dynamic5QISet-Multiple' + EcmConnectionInfo: + $ref: '#/components/schemas/EcmConnectionInfo-Multiple' + EASDFFunction: + $ref: '#/components/schemas/EASDFFunction-Multiple' + NSSAAFFunction: + $ref: '#/components/schemas/NssaafFunction-Multiple' + AFFunction: + $ref: '#/components/schemas/AfFunction-Multiple' + DCCFFunction: + $ref: '#/components/schemas/DccfFunction-Multiple' + ChfFunction: + $ref: '#/components/schemas/ChfFunction-Multiple' + MFAFFunction: + $ref: '#/components/schemas/MfafFunction-Multiple' + GMLCFunction: + $ref: '#/components/schemas/GmlcFunction-Multiple' + TSCTSFFunction: + $ref: '#/components/schemas/TsctsfFunction-Multiple' + AANFFunction: + $ref: '#/components/schemas/AanfFunction-Multiple' + BSFFunction: + $ref: '#/components/schemas/BsfFunction-Multiple' + + AmfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + pLMNInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + amfIdentifier: + $ref: '#/components/schemas/AmfIdentifier' + sBIFqdn: + type: string + interPlmnFQDN: + type: string + weightFactor: + $ref: '#/components/schemas/WeightFactor' + cNSIIdList: + $ref: '#/components/schemas/CNSIIdList' + amfSetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + nTNPLMNInfoList: + $ref: '#/components/schemas/NTNPLMNRestrictionsInfo' + amfInfo: + $ref: '#/components/schemas/AmfInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N2: + $ref: '#/components/schemas/EP_N2-Multiple' + EP_N8: + $ref: '#/components/schemas/EP_N8-Multiple' + EP_N11: + $ref: '#/components/schemas/EP_N11-Multiple' + EP_N12: + $ref: '#/components/schemas/EP_N12-Multiple' + EP_N14: + $ref: '#/components/schemas/EP_N14-Multiple' + EP_N15: + $ref: '#/components/schemas/EP_N15-Multiple' + EP_N17: + $ref: '#/components/schemas/EP_N17-Multiple' + EP_N20: + $ref: '#/components/schemas/EP_N20-Multiple' + EP_N22: + $ref: '#/components/schemas/EP_N22-Multiple' + EP_N26: + $ref: '#/components/schemas/EP_N26-Multiple' + EP_NLS: + $ref: '#/components/schemas/EP_NLS-Multiple' + EP_NL2: + $ref: '#/components/schemas/EP_NL2-Multiple' + EP_N58: + $ref: '#/components/schemas/EP_N58-Multiple' + EP_N41: + $ref: '#/components/schemas/EP_N41-Multiple' + EP_N42: + $ref: '#/components/schemas/EP_N42-Multiple' + EP_N89: + $ref: '#/components/schemas/EP_N89-Multiple' + AmfSet-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' + nRTACList: + $ref: '#/components/schemas/TACList' + amfSetId: + $ref: '#/components/schemas/AmfSetId' + snssaiList: + $ref: '#/components/schemas/SnssaiList' + aMFRegionRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + aMFSetMemberList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + AmfRegion-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' + nRTACList: + $ref: '#/components/schemas/TACList' + amfRegionId: + $ref: '#/components/schemas/AmfRegionId' + snssaiList: + $ref: '#/components/schemas/SnssaiList' + aMFSetListRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + SmfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + pLMNInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + nRTACList: + $ref: '#/components/schemas/TACList' + sBIFqdn: + type: string + cNSIIdList: + $ref: '#/components/schemas/CNSIIdList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + SmfInfo: + $ref: '#/components/schemas/SmfInfo' + configurable5QISetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + dynamic5QISetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N4: + $ref: '#/components/schemas/EP_N4-Multiple' + EP_N7: + $ref: '#/components/schemas/EP_N7-Multiple' + EP_N10: + $ref: '#/components/schemas/EP_N10-Multiple' + EP_N11: + $ref: '#/components/schemas/EP_N11-Multiple' + EP_N16: + $ref: '#/components/schemas/EP_N16-Multiple' + EP_S5C: + $ref: '#/components/schemas/EP_S5C-Multiple' + EP_N40: + $ref: '#/components/schemas/EP_N40-Multiple' + EP_N88: + $ref: '#/components/schemas/EP_N88-Multiple' + FiveQiDscpMappingSet: + $ref: '#/components/schemas/FiveQiDscpMappingSet-Single' + GtpUPathQoSMonitoringControl: + $ref: '#/components/schemas/GtpUPathQoSMonitoringControl-Single' + QFQoSMonitoringControl: + $ref: '#/components/schemas/QFQoSMonitoringControl-Single' + PredefinedPccRuleSet: + $ref: '#/components/schemas/PredefinedPccRuleSet-Single' + + UpfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + pLMNInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + nRTACList: + $ref: '#/components/schemas/TACList' + cNSIIdList: + $ref: '#/components/schemas/CNSIIdList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + supportedBMOList: + $ref: '#/components/schemas/SupportedBMOList' + upfInfo: + $ref: '#/components/schemas/UpfInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N3: + $ref: '#/components/schemas/EP_N3-Multiple' + EP_N4: + $ref: '#/components/schemas/EP_N4-Multiple' + EP_N6: + $ref: '#/components/schemas/EP_N6-Multiple' + EP_N9: + $ref: '#/components/schemas/EP_N9-Multiple' + EP_S5U: + $ref: '#/components/schemas/EP_S5U-Multiple' + N3iwfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N3: + $ref: '#/components/schemas/EP_N3-Multiple' + EP_N4: + $ref: '#/components/schemas/EP_N4-Multiple' + PcfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + pLMNInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + supportedBMOList: + $ref: '#/components/schemas/SupportedBMOList' + PcfInfo: + $ref: '#/components/schemas/PcfInfo' + configurable5QISetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + dynamic5QISetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N5: + $ref: '#/components/schemas/EP_N5-Multiple' + EP_N7: + $ref: '#/components/schemas/EP_N7-Multiple' + EP_N15: + $ref: '#/components/schemas/EP_N15-Multiple' + EP_N16: + $ref: '#/components/schemas/EP_N16-Multiple' + EP_N28: + $ref: '#/components/schemas/EP_N28-Multiple' + EP_Rx: + $ref: '#/components/schemas/EP_Rx-Multiple' + EP_N84: + $ref: '#/components/schemas/EP_N84-Multiple' + PredefinedPccRuleSet: + $ref: '#/components/schemas/PredefinedPccRuleSet-Single' + + AusfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + ausfInfo: + $ref: '#/components/schemas/AusfInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N12: + $ref: '#/components/schemas/EP_N12-Multiple' + EP_N13: + $ref: '#/components/schemas/EP_N13-Multiple' + EP_N61: + $ref: '#/components/schemas/EP_N61-Multiple' + UdmFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + pLMNInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + eCSAddrConfigInfo: + $ref: '#/components/schemas/ECSAddrConfigInfo' + udmInfo: + $ref: '#/components/schemas/UdmInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N8: + $ref: '#/components/schemas/EP_N8-Multiple' + EP_N10: + $ref: '#/components/schemas/EP_N10-Multiple' + EP_N13: + $ref: '#/components/schemas/EP_N13-Multiple' + EP_N59: + $ref: '#/components/schemas/EP_N13-Multiple' + EP_NL6: + $ref: '#/components/schemas/EP_NL6-Multiple' + EP_N87: + $ref: '#/components/schemas/EP_N87-Multiple' + UdrFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + pLMNInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + udrInfo: + $ref: '#/components/schemas/UdrInfo' + + UdsfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + udsfInfo: + $ref: '#/components/schemas/UdsfInfo' + + NrfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + sBIFqdn: + type: string + cNSIIdList: + $ref: '#/components/schemas/CNSIIdList' + nFProfileList: + $ref: '#/components/schemas/NFProfileList' + nrfInfo: + $ref: '#/components/schemas/NrfInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N27: + $ref: '#/components/schemas/EP_N27-Multiple' + EP_N96: + $ref: '#/components/schemas/EP_N96-Multiple' + NssfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + pLMNInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + sBIFqdn: + type: string + cNSIIdList: + $ref: '#/components/schemas/CNSIIdList' + nFProfileList: + $ref: '#/components/schemas/NFProfileList' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N22: + $ref: '#/components/schemas/EP_N22-Multiple' + EP_N31: + $ref: '#/components/schemas/EP_N31-Multiple' + SmsfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + smsfInfo: + $ref: '#/components/schemas/SmsfInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N20: + $ref: '#/components/schemas/EP_N20-Multiple' + EP_N21: + $ref: '#/components/schemas/EP_N21-Multiple' + EP_MAP_SMSC: + $ref: '#/components/schemas/EP_MAP_SMSC-Multiple' + LmfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + lmfInfo: + $ref: '#/components/schemas/LmfInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_NLS: + $ref: '#/components/schemas/EP_NLS-Multiple' + NgeirFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: '#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N17: + $ref: '#/components/schemas/EP_N17-Multiple' + SeppFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + sEPPType: + $ref: '#/components/schemas/SEPPType' + sEPPId: + type: integer + fqdn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + seppInfo: + $ref: '#/components/schemas/SeppInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N32: + $ref: '#/components/schemas/EP_N32-Multiple' + NwdafFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: '#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + networkSliceInfoList: + $ref: '#/components/schemas/NetworkSliceInfoList' + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + nwdafInfo: + $ref: '#/components/schemas/NwdafInfo' + nwdafLogicalFuncSupported: + type: string + enum: + - NWDAF_WITH_ANLF + - NWDAF_WITH_MTLF + - NWDAF_WITH_ANLF_MTLF + - type: object + properties: + EP_NL3: + $ref: '#/components/schemas/EP_NL3-Multiple' + + ScpFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + supportedFuncList: + $ref: '#/components/schemas/SupportedFuncList' + address: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' + scpInfo: + $ref: '#/components/schemas/ScpInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + NefFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + sBIFqdn: + type: string + snssaiList: + $ref: '#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + capabilityList: + $ref: '#/components/schemas/CapabilityList' + isCAPIFSup: + type: boolean + nefInfo: + $ref: '#/components/schemas/NefInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N33: + $ref: '#/components/schemas/EP_N33-Multiple' + EP_NL5: + $ref: '#/components/schemas/EP_NL5-Multiple' + EP_N85: + $ref: '#/components/schemas/EP_N85-Multiple' + EP_N62: + $ref: '#/components/schemas/EP_N62-Multiple' + EP_N63: + $ref: '#/components/schemas/EP_N63-Multiple' + + NsacfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + nsacfInfoSnssai: + type: array + items: + $ref: '#/components/schemas/NsacfInfoSnssai' + nsacfInfo: + $ref: '#/components/schemas/NsacfInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N60: + $ref: '#/components/schemas/EP_N60-Multiple' + + DDNMFFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_Npc4: + $ref: '#/components/schemas/EP_Npc4-Multiple' + EP_Npc6: + $ref: '#/components/schemas/EP_Npc6-Multiple' + EP_Npc7: + $ref: '#/components/schemas/EP_Npc7-Multiple' + EP_Npc8: + $ref: '#/components/schemas/EP_Npc8-Multiple' + + EASDFFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + serverAddr: + type: string + easdfInfo: + $ref: '#/components/schemas/EasdfInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N88: + $ref: '#/components/schemas/EP_N88-Multiple' + + EcmConnectionInfo-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + eASServiceArea: + $ref: 'TS28538_EdgeNrm.yaml#/components/schemas/ServingLocation' + eESServiceArea: + $ref: 'TS28538_EdgeNrm.yaml#/components/schemas/ServingLocation' + eDNServiceArea: + $ref: 'TS28538_EdgeNrm.yaml#/components/schemas/ServingLocation' + eASIpAddress: + type: string + eESIpAddress: + type: string + eCSIpAddress: + type: string + ednIdentifier: + type: string + ecmConnectionType: + type: string + enum: + - USERPLANE + - CONTROLPLANE + - BOTH + 5GCNfConnEcmInfoList: + $ref: '#/components/schemas/5GCNfConnEcmInfoList' + uPFConnectionInfo: + $ref: '#/components/schemas/UPFConnectionInfo' + + + ExternalAmfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' + amfIdentifier: + $ref: '#/components/schemas/AmfIdentifier' + ExternalNrfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' + ExternalNssfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' + ExternalSeppFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + sEPPId: + type: integer + fqdn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + + + EP_N2-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N3-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + epTransportRefs: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + EP_N4-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N5-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N6-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N7-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N8-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N9-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N10-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N11-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N12-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N13-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N14-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N15-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N16-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N17-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_N20-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_N21-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N22-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_N26-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N27-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + + EP_N31-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N32-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + remotePlmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + remoteSeppAddress: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' + remoteSeppId: + type: integer + n32cParas: + type: string + n32fPolicy: + type: string + withIPX: + type: boolean + EP_N33-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_S5C-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_S5U-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_Rx-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_MAP_SMSC-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_NLS-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_NL2-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_NL3-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_NL5-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_NL6-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_NL9-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_N60-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_Npc4-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_Npc6-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_Npc7-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_Npc8-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_N88-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + FiveQiDscpMappingSet-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + FiveQiDscpMappingList: + type: array + items: + $ref: '#/components/schemas/FiveQiDscpMapping' + + FiveQICharacteristics-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + fiveQIValue: + type: integer + resourceType: + type: string + enum: + - GBR + - NonGBR + priorityLevel: + type: integer + packetDelayBudget: + type: integer + packetErrorRate: + $ref: '#/components/schemas/PacketErrorRate' + averagingWindow: + type: integer + maximumDataBurstVolume: + type: integer + FiveQICharacteristics-Multiple: + type: array + items: + $ref: '#/components/schemas/FiveQICharacteristics-Single' + Configurable5QISet-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + configurable5QIs: + $ref: '#/components/schemas/FiveQICharacteristics-Multiple' + + Dynamic5QISet-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + dynamic5QIs: + $ref: '#/components/schemas/FiveQICharacteristics-Multiple' + + GtpUPathQoSMonitoringControl-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + gtpUPathQoSMonitoringState: + type: string + enum: + - ENABLED + - DISABLED + gtpUPathMonitoredSNSSAIs: + type: array + items: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + monitoredDSCPs: + type: array + items: + type: integer + minimum: 0 + maximum: 255 + isEventTriggeredGtpUPathMonitoringSupported: + type: boolean + isPeriodicGtpUMonitoringSupported: + type: boolean + isImmediateGtpUMonitoringSupported: + type: boolean + gtpUPathDelayThresholds: + $ref: '#/components/schemas/GtpUPathDelayThresholdsType' + gtpUPathMinimumWaitTime: + type: integer + gtpUPathMeasurementPeriod: + type: integer + + QFQoSMonitoringControl-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + qFQoSMonitoringState: + type: string + enum: + - ENABLED + - DISABLED + qFMonitoredSNSSAIs: + type: array + items: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + qFMonitored5QIs: + type: array + items: + type: integer + minimum: 0 + maximum: 255 + isEventTriggeredQFMonitoringSupported: + type: boolean + isPeriodicQFMonitoringSupported: + type: boolean + isSessionReleasedQFMonitoringSupported: + type: boolean + qFPacketDelayThresholds: + $ref: '#/components/schemas/QFPacketDelayThresholdsType' + qFMinimumWaitTime: + type: integer + qFMeasurementPeriod: + type: integer + + PredefinedPccRuleSet-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + predefinedPccRules: + type: array + items: + $ref: '#/components/schemas/PccRule' + + AfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + trustAfInfo: + $ref: '#/components/schemas/TrustAfInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N5: + $ref: '#/components/schemas/EP_N5-Multiple' + EP_N86: + $ref: '#/components/schemas/EP_N86-Multiple' + EP_N63: + $ref: '#/components/schemas/EP_N63-Multiple' + EP_N62: + $ref: '#/components/schemas/EP_N62-Multiple' + + NssaafFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + pLMNInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + sBIFqdn: + type: string + cNSIIdList: + $ref: '#/components/schemas/CNSIIdList' + nFProfileList: + $ref: '#/components/schemas/NFProfileList' + commModelList: + $ref: '#/components/schemas/CommModelList' + nssafInfo: + $ref: '#/components/schemas/NssaafInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + EP_N58-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_N59-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + DccfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + pLMNInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + dccfInfo: + $ref: '#/components/schemas/DccfInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + + MfafFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + pLMNInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + mfafInfo: + $ref: '#/components/schemas/MfafInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + + ChfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + pLMNInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + chfInfo: + $ref: '#/components/schemas/ChfInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N28: + $ref: '#/components/schemas/EP_N28-Multiple' + EP_N40: + $ref: '#/components/schemas/EP_N40-Multiple' + EP_N41: + $ref: '#/components/schemas/EP_N41-Multiple' + EP_N42: + $ref: '#/components/schemas/EP_N42-Multiple' + + EP_N28-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N40-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N41-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N42-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + AanfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + pLMNInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + aanfInfo: + $ref: '#/components/schemas/AanfInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N61: + $ref: '#/components/schemas/EP_N61-Multiple' + EP_N62: + $ref: '#/components/schemas/EP_N62-Multiple' + EP_N63: + $ref: '#/components/schemas/EP_N63-Multiple' + EP_N61-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N62-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N63-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + + GmlcFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + pLMNInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + gmlcInfo: + $ref: '#/components/schemas/GmlcInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_NL2: + $ref: '#/components/schemas/EP_NL2-Multiple' + EP_NL3: + $ref: '#/components/schemas/EP_NL3-Multiple' + EP_NL5: + $ref: '#/components/schemas/EP_NL5-Multiple' + EP_NL6: + $ref: '#/components/schemas/EP_NL6-Multiple' + EP_NL9: + $ref: '#/components/schemas/EP_NL9-Multiple' + TsctsfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + pLMNInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + tsctsfInfo: + $ref: '#/components/schemas/TsctsfInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N84: + $ref: '#/components/schemas/EP_N84-Multiple' + EP_N85: + $ref: '#/components/schemas/EP_N85-Multiple' + EP_N86: + $ref: '#/components/schemas/EP_N86-Multiple' + EP_N87: + $ref: '#/components/schemas/EP_N87-Multiple' + EP_N89: + $ref: '#/components/schemas/EP_N89-Multiple' + EP_N96: + $ref: '#/components/schemas/EP_N96-Multiple' + + EP_N84-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N85-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N86-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N87-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N89-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N96-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + BsfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + pLMNInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + sBIFqdn: + type: string + cNSIIdList: + $ref: '#/components/schemas/CNSIIdList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + bsfInfo: + $ref: '#/components/schemas/BsfInfo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + + SubNetwork-Multiple: + type: array + items: + $ref: '#/components/schemas/SubNetwork-Single' + ManagedElement-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagedElement-Single' + AmfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/AmfFunction-Single' + SmfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/SmfFunction-Single' + UpfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/UpfFunction-Single' + N3iwfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/N3iwfFunction-Single' + PcfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/PcfFunction-Single' + AusfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/AusfFunction-Single' + UdmFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/UdmFunction-Single' + UdrFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/UdrFunction-Single' + UdsfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/UdsfFunction-Single' + NrfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NrfFunction-Single' + NssfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NssfFunction-Single' + SmsfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/SmsfFunction-Single' + LmfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/LmfFunction-Single' + NgeirFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NgeirFunction-Single' + SeppFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/SeppFunction-Single' + NwdafFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NwdafFunction-Single' + ScpFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ScpFunction-Single' + NefFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NefFunction-Single' + + NsacfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NsacfFunction-Single' + + ExternalAmfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalAmfFunction-Single' + ExternalNrfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalNrfFunction-Single' + ExternalNssfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalNssfFunction-Single' + ExternalSeppFunction-Nultiple: + type: array + items: + $ref: '#/components/schemas/ExternalSeppFunction-Single' + + AmfSet-Multiple: + type: array + items: + $ref: '#/components/schemas/AmfSet-Single' + AmfRegion-Multiple: + type: array + items: + $ref: '#/components/schemas/AmfRegion-Single' + + EASDFFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/EASDFFunction-Single' + + EP_N2-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N2-Single' + EP_N3-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N3-Single' + EP_N4-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N4-Single' + EP_N5-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N5-Single' + EP_N6-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N6-Single' + EP_N7-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N7-Single' + EP_N8-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N8-Single' + EP_N9-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N9-Single' + EP_N10-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N10-Single' + EP_N11-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N11-Single' + EP_N12-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N12-Single' + EP_N13-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N13-Single' + EP_N14-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N14-Single' + EP_N15-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N15-Single' + EP_N16-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N16-Single' + EP_N17-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N17-Single' + + EP_N20-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N20-Single' + EP_N21-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N21-Single' + EP_N22-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N22-Single' + + EP_N26-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N26-Single' + EP_N27-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N27-Single' + EP_N28-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N28-Single' + + EP_N31-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N31-Single' + EP_N32-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N32-Single' + EP_N33-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N33-Single' + EP_N40-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N40-Single' + EP_N41-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N41-Single' + EP_N42-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N42-Single' + + EP_S5C-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_S5C-Single' + EP_S5U-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_S5U-Single' + EP_Rx-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_Rx-Single' + EP_MAP_SMSC-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_MAP_SMSC-Single' + EP_NLS-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NLS-Single' + EP_NL2-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NL2-Single' + EP_NL3-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NL3-Single' + EP_NL5-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NL5-Single' + EP_NL6-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NL6-Single' + EP_NL9-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NL9-Single' + EP_N60-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N60-Single' + EP_N61-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N61-Single' + EP_N62-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N62-Single' + EP_N63-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N63-Single' + EP_Npc4-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_Npc4-Single' + EP_Npc6-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_Npc6-Single' + EP_Npc7-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_Npc7-Single' + EP_Npc8-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_Npc8-Single' + EP_N84-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N84-Single' + EP_N85-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N85-Single' + EP_N86-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N86-Single' + EP_N87-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N87-Single' + EP_N88-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N88-Single' + EP_N89-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N89-Single' + EP_N96-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N96-Single' + Configurable5QISet-Multiple: + type: array + items: + $ref: '#/components/schemas/Configurable5QISet-Single' + Dynamic5QISet-Multiple: + type: array + items: + $ref: '#/components/schemas/Dynamic5QISet-Single' + EcmConnectionInfo-Multiple: + type: array + items: + $ref: '#/components/schemas/EcmConnectionInfo-Single' + NssaafFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NssaafFunction-Single' + EP_N58-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N58-Single' + EP_N59-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N59-Single' + AfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/AfFunction-Single' + DccfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/DccfFunction-Single' + ChfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ChfFunction-Single' + MfafFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/MfafFunction-Single' + GmlcFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/GmlcFunction-Single' + TsctsfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/TsctsfFunction-Single' + AanfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/AanfFunction-Single' + BsfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/BsfFunction-Single' + +#------------ Definitions in TS 28.541 for TS 28.532 ----------------------------- + + resources-5gcNrm: + oneOf: + - $ref: '#/components/schemas/ProvMnS' + - $ref: '#/components/schemas/SubNetwork-Single' + - $ref: '#/components/schemas/ManagedElement-Single' + - $ref: '#/components/schemas/AmfFunction-Single' + - $ref: '#/components/schemas/SmfFunction-Single' + - $ref: '#/components/schemas/UpfFunction-Single' + - $ref: '#/components/schemas/N3iwfFunction-Single' + - $ref: '#/components/schemas/PcfFunction-Single' + - $ref: '#/components/schemas/AusfFunction-Single' + - $ref: '#/components/schemas/UdmFunction-Single' + - $ref: '#/components/schemas/UdrFunction-Single' + - $ref: '#/components/schemas/UdsfFunction-Single' + - $ref: '#/components/schemas/NrfFunction-Single' + - $ref: '#/components/schemas/NssfFunction-Single' + - $ref: '#/components/schemas/SmsfFunction-Single' + - $ref: '#/components/schemas/LmfFunction-Single' + - $ref: '#/components/schemas/NgeirFunction-Single' + - $ref: '#/components/schemas/SeppFunction-Single' + - $ref: '#/components/schemas/NwdafFunction-Single' + - $ref: '#/components/schemas/ScpFunction-Single' + - $ref: '#/components/schemas/NefFunction-Single' + - $ref: '#/components/schemas/NsacfFunction-Single' + - $ref: '#/components/schemas/DDNMFFunction-Single' + + - $ref: '#/components/schemas/ExternalAmfFunction-Single' + - $ref: '#/components/schemas/ExternalNrfFunction-Single' + - $ref: '#/components/schemas/ExternalNssfFunction-Single' + - $ref: '#/components/schemas/ExternalSeppFunction-Single' + + - $ref: '#/components/schemas/AmfSet-Single' + - $ref: '#/components/schemas/AmfRegion-Single' + - $ref: '#/components/schemas/QFQoSMonitoringControl-Single' + - $ref: '#/components/schemas/GtpUPathQoSMonitoringControl-Single' + + - $ref: '#/components/schemas/EP_N2-Single' + - $ref: '#/components/schemas/EP_N3-Single' + - $ref: '#/components/schemas/EP_N4-Single' + - $ref: '#/components/schemas/EP_N5-Single' + - $ref: '#/components/schemas/EP_N6-Single' + - $ref: '#/components/schemas/EP_N7-Single' + - $ref: '#/components/schemas/EP_N8-Single' + - $ref: '#/components/schemas/EP_N9-Single' + - $ref: '#/components/schemas/EP_N10-Single' + - $ref: '#/components/schemas/EP_N11-Single' + - $ref: '#/components/schemas/EP_N12-Single' + - $ref: '#/components/schemas/EP_N13-Single' + - $ref: '#/components/schemas/EP_N14-Single' + - $ref: '#/components/schemas/EP_N15-Single' + - $ref: '#/components/schemas/EP_N16-Single' + - $ref: '#/components/schemas/EP_N17-Single' + + - $ref: '#/components/schemas/EP_N20-Single' + - $ref: '#/components/schemas/EP_N21-Single' + - $ref: '#/components/schemas/EP_N22-Single' + + - $ref: '#/components/schemas/EP_N26-Single' + - $ref: '#/components/schemas/EP_N27-Single' + - $ref: '#/components/schemas/EP_N28-Single' + + - $ref: '#/components/schemas/EP_N31-Single' + - $ref: '#/components/schemas/EP_N32-Single' + - $ref: '#/components/schemas/EP_N33-Single' + - $ref: '#/components/schemas/EP_N40-Single' + - $ref: '#/components/schemas/EP_N41-Single' + - $ref: '#/components/schemas/EP_N42-Single' + + - $ref: '#/components/schemas/EP_N58-Single' + - $ref: '#/components/schemas/EP_N59-Single' + - $ref: '#/components/schemas/EP_N60-Single' + - $ref: '#/components/schemas/EP_N61-Single' + - $ref: '#/components/schemas/EP_N62-Single' + - $ref: '#/components/schemas/EP_N63-Single' + - $ref: '#/components/schemas/EP_N84-Single' + - $ref: '#/components/schemas/EP_N85-Single' + - $ref: '#/components/schemas/EP_N86-Single' + - $ref: '#/components/schemas/EP_N87-Single' + - $ref: '#/components/schemas/EP_N88-Single' + - $ref: '#/components/schemas/EP_N89-Single' + - $ref: '#/components/schemas/EP_N96-Single' + + - $ref: '#/components/schemas/EP_Npc4-Single' + - $ref: '#/components/schemas/EP_Npc6-Single' + - $ref: '#/components/schemas/EP_Npc7-Single' + - $ref: '#/components/schemas/EP_Npc8-Single' + + - $ref: '#/components/schemas/EP_S5C-Single' + - $ref: '#/components/schemas/EP_S5U-Single' + - $ref: '#/components/schemas/EP_Rx-Single' + - $ref: '#/components/schemas/EP_MAP_SMSC-Single' + - $ref: '#/components/schemas/EP_NLS-Single' + - $ref: '#/components/schemas/EP_NL2-Single' + - $ref: '#/components/schemas/EP_NL3-Single' + - $ref: '#/components/schemas/EP_NL5-Single' + - $ref: '#/components/schemas/EP_NL6-Single' + - $ref: '#/components/schemas/EP_NL9-Single' + + - $ref: '#/components/schemas/Configurable5QISet-Single' + - $ref: '#/components/schemas/FiveQiDscpMappingSet-Single' + - $ref: '#/components/schemas/PredefinedPccRuleSet-Single' + - $ref: '#/components/schemas/Dynamic5QISet-Single' + - $ref: '#/components/schemas/EASDFFunction-Single' + - $ref: '#/components/schemas/EcmConnectionInfo-Single' + - $ref: '#/components/schemas/NssaafFunction-Single' + - $ref: '#/components/schemas/AfFunction-Single' + - $ref: '#/components/schemas/DccfFunction-Single' + - $ref: '#/components/schemas/ChfFunction-Single' + - $ref: '#/components/schemas/MfafFunction-Single' + - $ref: '#/components/schemas/GmlcFunction-Single' + - $ref: '#/components/schemas/TsctsfFunction-Single' + - $ref: '#/components/schemas/AanfFunction-Single' + - $ref: '#/components/schemas/BsfFunction-Single' diff --git a/TS28541_NrNrm.yaml b/TS28541_NrNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0a5099749bf10fe4a5bc4d9822e93cb26e749a92 --- /dev/null +++ b/TS28541_NrNrm.yaml @@ -0,0 +1,2226 @@ +openapi: 3.0.1 +info: + title: NR NRM + version: 18.5.0 + description: >- + OAS 3.0.1 specification of the NR NRM + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.541; 5G NRM, NR NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/ +paths: {} +components: + schemas: + +#-------- Definition of types----------------------------------------------------- + + GnbId: + type: string + GnbIdLength: + type: integer + minimum: 22 + maximum: 32 + GnbName: + type: string + maxLength: 150 + GnbDuId: + type: number + minimum: 0 + maximum: 68719476735 + GnbCuUpId: + type: number + minimum: 0 + maximum: 68719476735 + + Sst: + type: integer + maximum: 255 + Snssai: + type: object + properties: + sst: + $ref: '#/components/schemas/Sst' + sd: + type: string + + PlmnIdList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + PlmnInfo: + type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + snssai: + $ref: '#/components/schemas/Snssai' + PlmnInfoList: + type: array + items: + $ref: '#/components/schemas/PlmnInfo' + cagId: + type: string + nid: + type: string + NpnIdentity: + type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + cagidList: + $ref: '#/components/schemas/cagId' + nidList: + $ref: '#/components/schemas/nid' + NpnIdentityList: + type: array + items: + $ref: '#/components/schemas/NpnIdentity' + GGnbId: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}-(22|23|24|25|26|27|28|29|30|31|32)-[0-9]{1,10}' + GEnbId: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}-(18|20|21|22)-[0-9]{1,7}' + + GGnbIdList: + type: array + items: + $ref: '#/components/schemas/GGnbId' + + GEnbIdList: + type: array + items: + $ref: '#/components/schemas/GEnbId' + + NrPci: + type: integer + maximum: 503 + NrTac: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' + NrTacList: + type: array + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' + TaiList: + type: array + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' + BackhaulAddress: + type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + tai: + $ref: "TS28623_GenericNrm.yaml#/components/schemas/Tai" + MappingSetIDBackhaulAddress: + type: object + properties: + setID: + type: integer + backhaulAddress: + $ref: '#/components/schemas/BackhaulAddress' + IntraRatEsActivationOriginalCellLoadParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + IntraRatEsActivationCandidateCellsLoadParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + IntraRatEsDeactivationCandidateCellsLoadParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + EsNotAllowedTimePeriod: + type: object + properties: + startTimeandendTime: + type: string + periodOfDay: + type: string + daysOfWeekList: + type: string + listoftimeperiods: + type: string + InterRatEsActivationOriginalCellParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + InterRatEsActivationCandidateCellParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + InterRatEsDeactivationCandidateCellParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + + UeAccProbabilityDist: + type: object + properties: + targetProbability: + type: integer + numberofpreamblessent: + type: integer + + UeAccDelayProbabilityDist: + type: object + properties: + targetProbability: + type: integer + accessdelay: + type: integer + + NRPciList: + type: array + items: + $ref: '#/components/schemas/NrPci' + minItems: 0 + maxItems: 1007 + + CSonPciList: + type: array + items: + $ref: '#/components/schemas/NrPci' + minItems: 1 + maxItems: 100 + + MaximumDeviationHoTrigger: + type: integer + minimum: -20 + maximum: 20 + + MaximumDeviationHoTriggerLow: + type: integer + minimum: -20 + maximum: 20 + + MaximumDeviationHoTriggerHigh: + type: integer + minimum: -20 + maximum: 20 + + MinimumTimeBetweenHoTriggerChange: + type: integer + minimum: 0 + maximum: 604800 + + TstoreUEcntxt: + type: integer + minimum: 0 + maximum: 1023 + + CellState: + type: string + enum: + - IDLE + - INACTIVE + - ACTIVE + CyclicPrefix: + type: string + enum: + - '15' + - '30' + - '60' + - '120' + TxDirection: + type: string + enum: + - DL + - UL + - DL and UL + BwpContext: + type: string + enum: + - DL + - UL + - SUL + IsInitialBwp: + type: string + enum: + - INITIAL + - OTHER + - SUL + + IsESCoveredBy: + type: string + enum: + - NO + - PARTIAL + - FULL + RrmPolicyMember: + type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + snssai: + $ref: '#/components/schemas/Snssai' + RrmPolicyMemberList: + type: array + items: + $ref: '#/components/schemas/RrmPolicyMember' + AddressWithVlan: + type: object + properties: + ipv4Address: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + ipv6Address: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' + vlanId: + type: integer + minimum: 0 + maximum: 4096 + LocalAddress: + type: object + properties: + addressWithVlan: + $ref: '#/components/schemas/AddressWithVlan' + port: + type: integer + minimum: 0 + maximum: 65535 + RemoteAddress: + type: object + properties: + ipv4Address: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + ipv6Address: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' + + CellIndividualOffset: + type: object + properties: + rsrpOffsetSSB: + type: integer + rsrqOffsetSSB: + type: integer + sinrOffsetSSB: + type: integer + rsrpOffsetCSI-RS: + type: integer + rsrqOffsetCSI-RS: + type: integer + sinrOffsetCSI-RS: + type: integer + QOffsetRange: + type: integer + enum: + - -24 + - -22 + - -20 + - -18 + - -16 + - -14 + - -12 + - -10 + - -8 + - -6 + - -5 + - -4 + - -3 + - -2 + - -1 + - 0 + - 24 + - 22 + - 20 + - 18 + - 16 + - 14 + - 12 + - 10 + - 8 + - 6 + - 5 + - 4 + - 3 + - 2 + - 1 + QOffsetRangeList: + type: object + properties: + rsrpOffsetSSB: + $ref: '#/components/schemas/QOffsetRange' + rsrqOffsetSSB: + $ref: '#/components/schemas/QOffsetRange' + sinrOffsetSSB: + $ref: '#/components/schemas/QOffsetRange' + rsrpOffsetCSI-RS: + $ref: '#/components/schemas/QOffsetRange' + rsrqOffsetCSI-RS: + $ref: '#/components/schemas/QOffsetRange' + sinrOffsetCSI-RS: + $ref: '#/components/schemas/QOffsetRange' + QOffsetFreq: + type: number + TReselectionNRSf: + type: integer + enum: + - 25 + - 50 + - 75 + - 100 + SsbPeriodicity: + type: integer + enum: + - 5 + - 10 + - 20 + - 40 + - 80 + - 160 + SsbDuration: + type: integer + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + SsbSubCarrierSpacing: + type: integer + enum: + - 15 + - 30 + - 120 + - 240 + CoverageShape: + type: integer + maximum: 65535 + DigitalTilt: + type: integer + minimum: -900 + maximum: 900 + DigitalAzimuth: + type: integer + minimum: -1800 + maximum: 1800 + + RSSetId: + type: integer + maximum: 4194303 + + RSSetType: + type: string + enum: + - RS1 + - RS2 + + FrequencyDomainPara: + type: object + properties: + rimRSSubcarrierSpacing: + type: integer + rIMRSBandwidth: + type: integer + nrofGlobalRIMRSFrequencyCandidates: + type: integer + rimRSCommonCarrierReferencePoint: + type: integer + rimRSStartingFrequencyOffsetIdList: + type: array + items: + type: integer + + SequenceDomainPara: + type: object + properties: + nrofRIMRSSequenceCandidatesofRS1: + type: integer + rimRSScrambleIdListofRS1: + type: array + items: + type: integer + nrofRIMRSSequenceCandidatesofRS2: + type: integer + rimRSScrambleIdListofRS2: + type: array + items: + type: integer + enableEnoughNotEnoughIndication: + type: string + enum: + - ENABLE + - DISABLE + RIMRSScrambleTimerMultiplier: + type: integer + RIMRSScrambleTimerOffset: + type: integer + + TimeDomainPara: + type: object + properties: + dlULSwitchingPeriod1: + type: string + enum: + - MS0P5 + - MS0P625 + - MS1 + - MS1P25 + - MS2 + - MS2P5 + - MS3 + - MS4 + - MS5 + - MS10 + - MS20 + symbolOffsetOfReferencePoint1: + type: integer + dlULSwitchingPeriod2: + type: string + enum: + - MS0P5 + - MS0P625 + - MS1 + - MS1P25 + - MS2 + - MS2P5 + - MS3 + - MS4 + - MS5 + - MS10 + - MS20 + symbolOffsetOfReferencePoint2: + type: integer + totalnrofSetIdofRS1: + type: integer + totalnrofSetIdofRS2: + type: integer + nrofConsecutiveRIMRS1: + type: integer + nrofConsecutiveRIMRS2: + type: integer + consecutiveRIMRS1List: + type: array + items: + type: integer + consecutiveRIMRS2List: + type: array + items: + type: integer + enablenearfarIndicationRS1: + type: string + enum: + - ENABLE + - DISABLE + enablenearfarIndicationRS2: + type: string + enum: + - ENABLE + - DISABLE + + RimRSReportInfo: + type: object + properties: + detectedSetID: + type: integer + propagationDelay: + type: integer + functionalityOfRIMRS: + type: string + enum: + - RS1 + - RS2 + - RS1forEnoughMitigation + - RS1forNotEnoughMitigation + + RimRSReportConf: + type: object + properties: + reportIndicator: + type: string + enum: + - ENABLE + - DISABLE + reportInterval: + type: integer + nrofRIMRSReportInfo: + type: integer + maxPropagationDelay: + type: integer + rimRSReportInfoList: + type: array + items: + $ref: '#/components/schemas/RimRSReportInfo' + TceMappingInfo: + type: object + properties: + TceIPAddress: + oneOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' + TceID: + type: integer + PlmnTarget: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + TceMappingInfoList: + type: array + items: + $ref: '#/components/schemas/TceMappingInfo' + ResourceType: + type: string + enum: + - PRB + - PRB_UL + - PRB_DL + - RRC + - DRB + ParameterRange: + type: object + properties: + maxValue: + type: integer + minValue: + type: integer + NTNTAClist: + type: array + items: + $ref: '#/components/schemas/NrTac' + Ephemeris: + type: object + oneOf: + - $ref: '#/components/schemas/PositionVelocity' + - $ref: '#/components/schemas/Orbital' + properties: + satelliteId: + type: integer + + PositionVelocity: + type: object + properties: + positionX: + type: integer + minimum: 0 + maximum: 604800 + positionY: + type: integer + minimum: 0 + maximum: 604800 + positionZ: + type: integer + minimum: 0 + maximum: 604800 + velocityVX: + type: integer + minimum: -131072 + maximum: 131071 + velocityVY: + type: integer + minimum: -131072 + maximum: 131071 + velocityVZ: + type: integer + minimum: -131072 + maximum: 131071 + + Orbital: + type: object + properties: + semiMajorAxis: + type: integer + minimum: 0 + maximum: 8589934591 + eccentricity: + type: integer + minimum: -524288 + maximum: 524287 + periapsis: + type: integer + minimum: 0 + maximum: 16777215 + longitude: + type: integer + minimum: 0 + maximum: 2097151 + inclination: + type: integer + minimum: -524288 + maximum: 524287 + meanAnomaly: + type: integer + minimum: 0 + maximum: 16777215 + +#-------- Definition of abstract IOCs -------------------------------------------- + + RrmPolicy_-Attr: + type: object + properties: + resourceType: + $ref: '#/components/schemas/ResourceType' + rRMPolicyMemberList: + $ref: '#/components/schemas/RrmPolicyMemberList' + + +#-------- Definition of concrete IOCs -------------------------------------------- + + MnS: + oneOf: + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + - type: object + properties: + ManagedElement: + $ref: '#/components/schemas/ManagedElement-Multiple' + + SubNetwork-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-Attr' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-ncO' + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + ManagedElement: + $ref: '#/components/schemas/ManagedElement-Multiple' + NRFrequency: + $ref: '#/components/schemas/NRFrequency-Multiple' + ExternalGnbCuCpFunction: + $ref: '#/components/schemas/ExternalGnbCuCpFunction-Multiple' + ExternalENBFunction: + $ref: '#/components/schemas/ExternalENBFunction-Multiple' + EUtranFrequency: + $ref: '#/components/schemas/EUtranFrequency-Multiple' + DESManagementFunction: + $ref: '#/components/schemas/DESManagementFunction-Single' + DRACHOptimizationFunction: + $ref: '#/components/schemas/DRACHOptimizationFunction-Single' + DMROFunction: + $ref: '#/components/schemas/DMROFunction-Single' + DLBOFunction: + $ref: '#/components/schemas/DLBOFunction-Single' + DPCIConfigurationFunction: + $ref: '#/components/schemas/DPCIConfigurationFunction-Single' + CPCIConfigurationFunction: + $ref: '#/components/schemas/CPCIConfigurationFunction-Single' + CESManagementFunction: + $ref: '#/components/schemas/CESManagementFunction-Single' + Configurable5QISet: + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' + RimRSGlobal: + $ref: '#/components/schemas/RimRSGlobal-Single' + Dynamic5QISet: + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' + CCOFunction: + $ref: '#/components/schemas/CCOFunction-Single' + ManagedElement-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedElement-Attr' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedElement-ncO' + - type: object + properties: + GnbDuFunction: + $ref: '#/components/schemas/GnbDuFunction-Multiple' + GnbCuUpFunction: + $ref: '#/components/schemas/GnbCuUpFunction-Multiple' + GnbCuCpFunction: + $ref: '#/components/schemas/GnbCuCpFunction-Multiple' + DESManagementFunction: + $ref: '#/components/schemas/DESManagementFunction-Single' + DRACHOptimizationFunction: + $ref: '#/components/schemas/DRACHOptimizationFunction-Single' + DMROFunction: + $ref: '#/components/schemas/DMROFunction-Single' + DLBOFunction: + $ref: '#/components/schemas/DLBOFunction-Single' + DPCIConfigurationFunction: + $ref: '#/components/schemas/DPCIConfigurationFunction-Single' + CPCIConfigurationFunction: + $ref: '#/components/schemas/CPCIConfigurationFunction-Single' + CESManagementFunction: + $ref: '#/components/schemas/CESManagementFunction-Single' + Configurable5QISet: + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' + Dynamic5QISet: + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' + + GnbDuFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + gnbDuId: + $ref: '#/components/schemas/GnbDuId' + gnbDuName: + $ref: '#/components/schemas/GnbName' + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + rimRSReportConf: + $ref: '#/components/schemas/RimRSReportConf' + configurable5QISetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + dynamic5QISetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + RRMPolicyRatio: + $ref: '#/components/schemas/RRMPolicyRatio-Multiple' + NrCellDu: + $ref: '#/components/schemas/NrCellDu-Multiple' + Bwp-Multiple: + $ref: '#/components/schemas/Bwp-Multiple' + NrSectorCarrier-Multiple: + $ref: '#/components/schemas/NrSectorCarrier-Multiple' + EP_F1C: + $ref: '#/components/schemas/EP_F1C-Single' + EP_F1U: + $ref: '#/components/schemas/EP_F1U-Multiple' + DRACHOptimizationFunction: + $ref: '#/components/schemas/DRACHOptimizationFunction-Single' + OperatorDU: + $ref: '#/components/schemas/OperatorDu-Multiple' + BWPSet: + $ref: '#/components/schemas/BWPSet-Multiple' + Configurable5QISet: + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' + Dynamic5QISet: + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' + + OperatorDu-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + - type: object + properties: + EP_F1C: + $ref: '#/components/schemas/EP_F1C-Single' + EP_F1U: + $ref: '#/components/schemas/EP_F1U-Multiple' + + GnbCuUpFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + gnbCuUpId: + $ref: '#/components/schemas/GnbCuUpId' + plmnInfoList: + $ref: '#/components/schemas/PlmnInfoList' + configurable5QISetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + dynamic5QISetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + RRMPolicyRatio: + $ref: '#/components/schemas/RRMPolicyRatio-Multiple' + EP_E1: + $ref: '#/components/schemas/EP_E1-Single' + EP_XnU: + $ref: '#/components/schemas/EP_XnU-Multiple' + EP_F1U: + $ref: '#/components/schemas/EP_F1U-Multiple' + EP_NgU: + $ref: '#/components/schemas/EP_NgU-Multiple' + EP_X2U: + $ref: '#/components/schemas/EP_X2U-Multiple' + EP_S1U: + $ref: '#/components/schemas/EP_S1U-Multiple' + Configurable5QISet: + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' + Dynamic5QISet: + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' + + GnbCuCpFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + gnbCuName: + $ref: '#/components/schemas/GnbName' + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + x2BlockList: + $ref: '#/components/schemas/GGnbIdList' + xnBlockList: + $ref: '#/components/schemas/GGnbIdList' + x2AllowList: + $ref: '#/components/schemas/GGnbIdList' + xnAllowList: + $ref: '#/components/schemas/GGnbIdList' + x2HOBlockList: + $ref: '#/components/schemas/GEnbIdList' + xnHOBlackList: + $ref: '#/components/schemas/GGnbIdList' + mappingSetIDBackhaulAddress: + $ref: '#/components/schemas/MappingSetIDBackhaulAddress' + tceMappingInfoList: + $ref: '#/components/schemas/TceMappingInfoList' + configurable5QISetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + dynamic5QISetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + dCHOControl: + type: boolean + dDAPSHOControl: + type: boolean + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + RRMPolicyRatio: + $ref: '#/components/schemas/RRMPolicyRatio-Multiple' + NrCellCu: + $ref: '#/components/schemas/NrCellCu-Multiple' + EP_XnC: + $ref: '#/components/schemas/EP_XnC-Multiple' + EP_E1: + $ref: '#/components/schemas/EP_E1-Multiple' + EP_F1C: + $ref: '#/components/schemas/EP_F1C-Multiple' + EP_NgC: + $ref: '#/components/schemas/EP_NgC-Multiple' + EP_X2C: + $ref: '#/components/schemas/EP_X2C-Multiple' + DANRManagementFunction: + $ref: '#/components/schemas/DANRManagementFunction-Single' + DESManagementFunction: + $ref: '#/components/schemas/DESManagementFunction-Single' + DMROFunction: + $ref: '#/components/schemas/DMROFunction-Single' + DLBOFunction: + $ref: '#/components/schemas/DLBOFunction-Single' + Configurable5QISet: + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' + Dynamic5QISet: + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' + + NrCellCu-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + cellLocalId: + type: integer + plmnInfoList: + $ref: '#/components/schemas/PlmnInfoList' + nRFrequencyRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + RRMPolicyRatio: + $ref: '#/components/schemas/RRMPolicyRatio-Multiple' + NRCellRelation: + $ref: '#/components/schemas/NRCellRelation-Multiple' + EUtranCellRelation: + $ref: '#/components/schemas/EUtranCellRelation-Multiple' + NRFreqRelation: + $ref: '#/components/schemas/NRFreqRelation-Multiple' + EUtranFreqRelation: + $ref: '#/components/schemas/EUtranFreqRelation-Multiple' + DESManagementFunction: + $ref: '#/components/schemas/DESManagementFunction-Single' + DMROFunction: + $ref: '#/components/schemas/DMROFunction-Single' + DLBOFunction: + $ref: '#/components/schemas/DLBOFunction-Single' + CESManagementFunction: + $ref: '#/components/schemas/CESManagementFunction-Single' + DPCIConfigurationFunction: + $ref: '#/components/schemas/DPCIConfigurationFunction-Single' + + NrCellDu-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + cellLocalId: + type: integer + cellState: + $ref: '#/components/schemas/CellState' + plmnInfoList: + $ref: '#/components/schemas/PlmnInfoList' + npnIdentityList: + $ref: '#/components/schemas/NpnIdentityList' + nrPci: + $ref: '#/components/schemas/NrPci' + nrTac: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' + arfcnDL: + type: integer + arfcnUL: + type: integer + arfcnSUL: + type: integer + bSChannelBwDL: + type: integer + bSChannelBwUL: + type: integer + bSChannelBwSUL: + type: integer + ssbFrequency: + type: integer + minimum: 0 + maximum: 3279165 + ssbPeriodicity: + $ref: '#/components/schemas/SsbPeriodicity' + ssbSubCarrierSpacing: + $ref: '#/components/schemas/SsbSubCarrierSpacing' + ssbOffset: + type: integer + minimum: 0 + maximum: 159 + ssbDuration: + $ref: '#/components/schemas/SsbDuration' + nrSectorCarrierRef: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + bwpRef: + description: "Condition is BWP sets are not supported" + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + bwpSetRef: + description: "Condition is BWP sets are supported" + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + rimRSMonitoringStartTime: + type: string + rimRSMonitoringStopTime: + type: string + rimRSMonitoringWindowDuration: + type: integer + rimRSMonitoringWindowStartingOffset: + type: integer + rimRSMonitoringWindowPeriodicity: + type: integer + rimRSMonitoringOccasionInterval: + type: integer + rimRSMonitoringOccasionStartingOffset: + type: integer + nRFrequencyRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + victimSetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + aggressorSetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + RRMPolicyRatio: + $ref: '#/components/schemas/RRMPolicyRatio-Multiple' + CPCIConfigurationFunction: + $ref: '#/components/schemas/CPCIConfigurationFunction-Single' + DRACHOptimizationFunction: + $ref: '#/components/schemas/DRACHOptimizationFunction-Single' + NrOperatorCellDu: + $ref: '#/components/schemas/NrOperatorCellDu-Multiple' + BWPSet-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + bWPlist: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + maxItems: 12 + + + NrOperatorCellDu-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + cellLocalId: + type: integer + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + plmnInfoList: + $ref: '#/components/schemas/PlmnInfoList' + nrTac: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' + + NRFrequency-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + absoluteFrequencySSB: + type: integer + minimum: 0 + maximum: 3279165 + ssbSubCarrierSpacing: + $ref: '#/components/schemas/SsbSubCarrierSpacing' + multiFrequencyBandListNR: + type: integer + minimum: 1 + maximum: 256 + EUtranFrequency-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + earfcnDL: + type: integer + minimum: 0 + maximum: 262143 + multiBandInfoListEutra: + type: integer + minimum: 1 + maximum: 256 + + NrSectorCarrier-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + txDirection: + $ref: '#/components/schemas/TxDirection' + configuredMaxTxPower: + type: integer + arfcnDL: + type: integer + arfcnUL: + type: integer + bSChannelBwDL: + type: integer + bSChannelBwUL: + type: integer + sectorEquipmentFunctionRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + CommonBeamformingFunction: + $ref: '#/components/schemas/CommonBeamformingFunction-Single' + Bwp-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + bwpContext: + $ref: '#/components/schemas/BwpContext' + isInitialBwp: + $ref: '#/components/schemas/IsInitialBwp' + subCarrierSpacing: + type: integer + cyclicPrefix: + $ref: '#/components/schemas/CyclicPrefix' + startRB: + type: integer + numberOfRBs: + type: integer + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + CommonBeamformingFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + coverageShape: + $ref: '#/components/schemas/CoverageShape' + digitalAzimuth: + $ref: '#/components/schemas/DigitalAzimuth' + digitalTilt: + $ref: '#/components/schemas/DigitalTilt' + - type: object + properties: + Beam: + $ref: '#/components/schemas/Beam-Multiple' + Beam-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + beamIndex: + type: integer + beamType: + type: string + enum: + - SSB-BEAM + beamAzimuth: + type: integer + minimum: -1800 + maximum: 1800 + beamTilt: + type: integer + minimum: -900 + maximum: 900 + beamHorizWidth: + type: integer + minimum: 0 + maximum: 3599 + beamVertWidth: + type: integer + minimum: 0 + maximum: 1800 + RRMPolicyRatio-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: '#/components/schemas/RrmPolicy_-Attr' + - type: object + properties: + rRMPolicyMaxRatio: + type: integer + default: 100 + minimum: 0 + maximum: 100 + rRMPolicyMinRatio: + type: integer + default: 0 + minimum: 0 + maximum: 100 + rRMPolicyDedicatedRatio: + type: integer + default: 0 + minimum: 0 + maximum: 100 + + NRCellRelation-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + nRTCI: + type: integer + cellIndividualOffset: + $ref: '#/components/schemas/CellIndividualOffset' + adjacentNRCellRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + nRFreqRelationRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + isRemoveAllowed: + type: boolean + isHOAllowed: + type: boolean + isESCoveredBy: + $ref: '#/components/schemas/IsESCoveredBy' + isENDCAllowed: + type: boolean + isMLBAllowed: + type: boolean + EUtranCellRelation-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + adjacentEUtranCellRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + NRFreqRelation-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + offsetMO: + $ref: '#/components/schemas/QOffsetRangeList' + blockListEntry: + type: array + items: + type: integer + minimum: 0 + maximum: 1007 + blockListEntryIdleMode: + type: integer + cellReselectionPriority: + type: integer + cellReselectionSubPriority: + type: number + minimum: 0.2 + maximum: 0.8 + multipleOf: 0.2 + pMax: + type: integer + minimum: -30 + maximum: 33 + qOffsetFreq: + $ref: '#/components/schemas/QOffsetFreq' + qQualMin: + type: number + qRxLevMin: + type: integer + minimum: -140 + maximum: -44 + threshXHighP: + type: integer + minimum: 0 + maximum: 62 + threshXHighQ: + type: integer + minimum: 0 + maximum: 31 + threshXLowP: + type: integer + minimum: 0 + maximum: 62 + threshXLowQ: + type: integer + minimum: 0 + maximum: 31 + tReselectionNr: + type: integer + minimum: 0 + maximum: 7 + tReselectionNRSfHigh: + $ref: '#/components/schemas/TReselectionNRSf' + tReselectionNRSfMedium: + $ref: '#/components/schemas/TReselectionNRSf' + nRFrequencyRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + EUtranFreqRelation-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + cellIndividualOffset: + $ref: '#/components/schemas/CellIndividualOffset' + blackListEntry: + type: array + items: + type: integer + minimum: 0 + maximum: 1007 + blackListEntryIdleMode: + type: integer + cellReselectionPriority: + type: integer + cellReselectionSubPriority: + type: number + minimum: 0.2 + maximum: 0.8 + multipleOf: 0.2 + pMax: + type: integer + minimum: -30 + maximum: 33 + qOffsetFreq: + $ref: '#/components/schemas/QOffsetFreq' + qQualMin: + type: number + qRxLevMin: + type: integer + minimum: -140 + maximum: -44 + threshXHighP: + type: integer + minimum: 0 + maximum: 62 + threshXHighQ: + type: integer + minimum: 0 + maximum: 31 + threshXLowP: + type: integer + minimum: 0 + maximum: 62 + threshXLowQ: + type: integer + minimum: 0 + maximum: 31 + tReselectionEutran: + type: integer + minimum: 0 + maximum: 7 + tReselectionNRSfHigh: + $ref: '#/components/schemas/TReselectionNRSf' + tReselectionNRSfMedium: + $ref: '#/components/schemas/TReselectionNRSf' + eUTranFrequencyRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + DANRManagementFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + intrasystemANRManagementSwitch: + type: boolean + intersystemANRManagementSwitch: + type: boolean + + DESManagementFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + desSwitch: + type: boolean + intraRatEsActivationOriginalCellLoadParameters: + $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters" + intraRatEsActivationCandidateCellsLoadParameters: + $ref: "#/components/schemas/IntraRatEsActivationCandidateCellsLoadParameters" + intraRatEsDeactivationCandidateCellsLoadParameters: + $ref: "#/components/schemas/IntraRatEsDeactivationCandidateCellsLoadParameters" + esNotAllowedTimePeriod: + $ref: "#/components/schemas/EsNotAllowedTimePeriod" + interRatEsActivationOriginalCellParameters: + $ref: "#/components/schemas/InterRatEsActivationOriginalCellParameters" + interRatEsActivationCandidateCellParameters: + $ref: "#/components/schemas/InterRatEsActivationCandidateCellParameters" + interRatEsDeactivationCandidateCellParameters: + $ref: "#/components/schemas/InterRatEsDeactivationCandidateCellParameters" + isProbingCapable: + type: string + enum: + - yes + - no + energySavingState: + type: string + enum: + - isNotEnergySaving + - isEnergySaving + + DRACHOptimizationFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + drachOptimizationControl: + type: boolean + ueAccProbabilityDist: + $ref: "#/components/schemas/UeAccProbabilityDist" + ueAccDelayProbabilityDist: + $ref: "#/components/schemas/UeAccDelayProbabilityDist" + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + + DMROFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + dmroControl: + type: boolean + maximumDeviationHoTriggerLow: + $ref: '#/components/schemas/MaximumDeviationHoTriggerLow' + maximumDeviationHoTriggerHigh: + $ref: '#/components/schemas/MaximumDeviationHoTriggerHigh' + minimumTimeBetweenHoTriggerChange: + $ref: '#/components/schemas/MinimumTimeBetweenHoTriggerChange' + tstoreUEcntxt: + $ref: '#/components/schemas/TstoreUEcntxt' + DLBOFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + dlboControl: + type: boolean + maximumDeviationHoTrigger: + $ref: '#/components/schemas/MaximumDeviationHoTrigger' + minimumTimeBetweenHoTriggerChange: + $ref: '#/components/schemas/MinimumTimeBetweenHoTriggerChange' + + DPCIConfigurationFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + dPciConfigurationControl: + type: boolean + nRPciList: + $ref: "#/components/schemas/NRPciList" + + CPCIConfigurationFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + cPciConfigurationControl: + type: boolean + cSonPciList: + $ref: "#/components/schemas/CSonPciList" + + CESManagementFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + cesSwitch: + type: boolean + intraRatEsActivationOriginalCellLoadParameters: + $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters" + intraRatEsActivationCandidateCellsLoadParameters: + $ref: "#/components/schemas/IntraRatEsActivationCandidateCellsLoadParameters" + intraRatEsDeactivationCandidateCellsLoadParameters: + $ref: "#/components/schemas/IntraRatEsDeactivationCandidateCellsLoadParameters" + esNotAllowedTimePeriod: + $ref: "#/components/schemas/EsNotAllowedTimePeriod" + interRatEsActivationOriginalCellParameters: + $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters" + interRatEsActivationCandidateCellParameters: + $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters" + interRatEsDeactivationCandidateCellParameters: + $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters" + energySavingControl: + type: string + enum: + - toBeEnergySaving + - toBeNotEnergySaving + energySavingState: + type: string + enum: + - isNotEnergySaving + - isEnergySaving + + RimRSGlobal-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + frequencyDomainPara: + $ref: '#/components/schemas/FrequencyDomainPara' + sequenceDomainPara: + $ref: '#/components/schemas/SequenceDomainPara' + timeDomainPara: + $ref: '#/components/schemas/TimeDomainPara' + RimRSSet: + $ref: '#/components/schemas/RimRSSet-Multiple' + + RimRSSet-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + setId: + $ref: '#/components/schemas/RSSetId' + setType: + $ref: '#/components/schemas/RSSetType' + nRCellDURefs: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + + ExternalGnbDuFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_F1C: + $ref: '#/components/schemas/EP_F1C-Multiple' + EP_F1U: + $ref: '#/components/schemas/EP_F1U-Multiple' + ExternalGnbCuUpFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_E1: + $ref: '#/components/schemas/EP_E1-Multiple' + EP_F1U: + $ref: '#/components/schemas/EP_F1U-Multiple' + EP_XnU: + $ref: '#/components/schemas/EP_XnU-Multiple' + ExternalGnbCuCpFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: >- + TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + ExternalNrCellCu: + $ref: '#/components/schemas/ExternalNrCellCu-Multiple' + EP_XnC: + $ref: '#/components/schemas/EP_XnC-Multiple' + EP_E1: + $ref: '#/components/schemas/EP_E1-Multiple' + EP_F1C: + $ref: '#/components/schemas/EP_F1C-Multiple' + ExternalNrCellCu-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + cellLocalId: + type: integer + nrPci: + $ref: '#/components/schemas/NrPci' + plmnIdList: + $ref: '#/components/schemas/PlmnIdList' + nRFrequencyRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + ExternalENBFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + eNBId: + type: integer + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + ExternalEUTranCell: + $ref: '#/components/schemas/ExternalEUTranCell-Multiple' + ExternalEUTranCell-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + EUtranFrequencyRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + + EP_XnC-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_E1-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_F1C-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_NgC-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_X2C-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_XnU-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_F1U-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + epTransportRefs: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + + EP_NgU-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + epTransportRefs: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + + EP_X2U-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_S1U-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + CCOFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + cCOControl: + type: boolean + cCOWeakCoverageParameters: + $ref: '#/components/schemas/CCOWeakCoverageParameters-Single' + cCOPilotPollutionParameters: + $ref: '#/components/schemas/CCOPilotPollutionParameters-Single' + cCOOvershootCoverageParameters-Single: + $ref: '#/components/schemas/CCOOvershootCoverageParameters-Single' + CCOParameters-Attr: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + coverageShapeList: + type: integer + downlinkTransmitPowerRange: + $ref: '#/components/schemas/ParameterRange' + antennaTiltRange: + $ref: '#/components/schemas/ParameterRange' + antennaAzimuthRange: + $ref: '#/components/schemas/ParameterRange' + digitalTiltRange: + $ref: '#/components/schemas/ParameterRange' + digitalAzimuthRange: + $ref: '#/components/schemas/ParameterRange' + + CCOWeakCoverageParameters-Single: + allOf: + - $ref: '#/components/schemas/CCOParameters-Attr' + - type: object + + CCOPilotPollutionParameters-Single: + allOf: + - $ref: '#/components/schemas/CCOParameters-Attr' + - type: object + + CCOOvershootCoverageParameters-Single: + allOf: + - $ref: '#/components/schemas/CCOParameters-Attr' + - type: object + + NTNFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + nTNpLMNInfoList: + $ref: '#/components/schemas/PlmnInfoList' + nTNTAClist: + $ref: '#/components/schemas/NrTacList' + EphemerisInfoSet: + $ref: '#/components/schemas/EphemerisInfoSet-Multiple' + + EphemerisInfoSet-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + EphemerisInfos: + $ref: '#/components/schemas/Ephemeris-Multiple' + + Ephemeris-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + oneOf: + - $ref: '#/components/schemas/PositionVelocity' + - $ref: '#/components/schemas/Orbital' + properties: + satelliteId: + type: integer + + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + + SubNetwork-Multiple: + type: array + items: + $ref: '#/components/schemas/SubNetwork-Single' + ManagedElement-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagedElement-Single' + GnbDuFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/GnbDuFunction-Single' + OperatorDu-Multiple: + type: array + items: + $ref: '#/components/schemas/OperatorDu-Single' + GnbCuUpFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/GnbCuUpFunction-Single' + GnbCuCpFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/GnbCuCpFunction-Single' + BWPSet-Multiple: + type: array + items: + $ref: '#/components/schemas/BWPSet-Single' + + NrCellDu-Multiple: + type: array + items: + $ref: '#/components/schemas/NrCellDu-Single' + + NrOperatorCellDu-Multiple: + type: array + items: + $ref: '#/components/schemas/NrOperatorCellDu-Single' + + NrCellCu-Multiple: + type: array + items: + $ref: '#/components/schemas/NrCellCu-Single' + + NRFrequency-Multiple: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/NRFrequency-Single' + EUtranFrequency-Multiple: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/EUtranFrequency-Single' + + NrSectorCarrier-Multiple: + type: array + items: + $ref: '#/components/schemas/NrSectorCarrier-Single' + Bwp-Multiple: + type: array + items: + $ref: '#/components/schemas/Bwp-Single' + Beam-Multiple: + type: array + items: + $ref: '#/components/schemas/Beam-Single' + RRMPolicyRatio-Multiple: + type: array + items: + $ref: '#/components/schemas/RRMPolicyRatio-Single' + + NRCellRelation-Multiple: + type: array + items: + $ref: '#/components/schemas/NRCellRelation-Single' + EUtranCellRelation-Multiple: + type: array + items: + $ref: '#/components/schemas/EUtranCellRelation-Single' + NRFreqRelation-Multiple: + type: array + items: + $ref: '#/components/schemas/NRFreqRelation-Single' + EUtranFreqRelation-Multiple: + type: array + items: + $ref: '#/components/schemas/EUtranFreqRelation-Single' + + RimRSSet-Multiple: + type: array + items: + $ref: '#/components/schemas/RimRSSet-Single' + + ExternalGnbDuFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalGnbDuFunction-Single' + ExternalGnbCuUpFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalGnbCuUpFunction-Single' + ExternalGnbCuCpFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalGnbCuCpFunction-Single' + ExternalNrCellCu-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalNrCellCu-Single' + + ExternalENBFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalENBFunction-Single' + ExternalEUTranCell-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalEUTranCell-Single' + + EP_E1-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_E1-Single' + EP_XnC-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_XnC-Single' + EP_F1C-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_F1C-Single' + EP_NgC-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NgC-Single' + EP_X2C-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_X2C-Single' + EP_XnU-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_XnU-Single' + EP_F1U-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_F1U-Single' + EP_NgU-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NgU-Single' + EP_X2U-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_X2U-Single' + EP_S1U-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_S1U-Single' + EphemerisInfoSet-Multiple: + type: array + items: + $ref: '#/components/schemas/EphemerisInfoSet-Single' + + Ephemeris-Multiple: + type: array + items: + $ref: '#/components/schemas/Ephemeris-Single' +#-------- Definitions in TS 28.541 for TS 28.532 --------------------------------- + + resources-nrNrm: + oneOf: + - $ref: '#/components/schemas/MnS' + + - $ref: '#/components/schemas/SubNetwork-Single' + - $ref: '#/components/schemas/ManagedElement-Single' + + - $ref: '#/components/schemas/GnbDuFunction-Single' + - $ref: '#/components/schemas/GnbCuUpFunction-Single' + - $ref: '#/components/schemas/GnbCuCpFunction-Single' + - $ref: '#/components/schemas/OperatorDu-Single' + + - $ref: '#/components/schemas/NrCellCu-Single' + - $ref: '#/components/schemas/NrCellDu-Single' + - $ref: '#/components/schemas/NrOperatorCellDu-Single' + + - $ref: '#/components/schemas/NRFrequency-Single' + - $ref: '#/components/schemas/EUtranFrequency-Single' + + - $ref: '#/components/schemas/NrSectorCarrier-Single' + - $ref: '#/components/schemas/Bwp-Single' + - $ref: '#/components/schemas/BWPSet-Single' + - $ref: '#/components/schemas/CommonBeamformingFunction-Single' + - $ref: '#/components/schemas/Beam-Single' + - $ref: '#/components/schemas/RRMPolicyRatio-Single' + + - $ref: '#/components/schemas/NRCellRelation-Single' + - $ref: '#/components/schemas/EUtranCellRelation-Single' + - $ref: '#/components/schemas/NRFreqRelation-Single' + - $ref: '#/components/schemas/EUtranFreqRelation-Single' + + - $ref: '#/components/schemas/DANRManagementFunction-Single' + - $ref: '#/components/schemas/DESManagementFunction-Single' + - $ref: '#/components/schemas/DRACHOptimizationFunction-Single' + - $ref: '#/components/schemas/DMROFunction-Single' + - $ref: '#/components/schemas/DLBOFunction-Single' + - $ref: '#/components/schemas/DPCIConfigurationFunction-Single' + - $ref: '#/components/schemas/CPCIConfigurationFunction-Single' + - $ref: '#/components/schemas/CESManagementFunction-Single' + + - $ref: '#/components/schemas/RimRSGlobal-Single' + - $ref: '#/components/schemas/RimRSSet-Single' + + - $ref: '#/components/schemas/ExternalGnbDuFunction-Single' + - $ref: '#/components/schemas/ExternalGnbCuUpFunction-Single' + - $ref: '#/components/schemas/ExternalGnbCuCpFunction-Single' + - $ref: '#/components/schemas/ExternalNrCellCu-Single' + - $ref: '#/components/schemas/ExternalENBFunction-Single' + - $ref: '#/components/schemas/ExternalEUTranCell-Single' + + - $ref: '#/components/schemas/EP_XnC-Single' + - $ref: '#/components/schemas/EP_E1-Single' + - $ref: '#/components/schemas/EP_F1C-Single' + - $ref: '#/components/schemas/EP_NgC-Single' + - $ref: '#/components/schemas/EP_X2C-Single' + - $ref: '#/components/schemas/EP_XnU-Single' + - $ref: '#/components/schemas/EP_F1U-Single' + - $ref: '#/components/schemas/EP_NgU-Single' + - $ref: '#/components/schemas/EP_X2U-Single' + - $ref: '#/components/schemas/EP_S1U-Single' + - $ref: '#/components/schemas/CCOFunction-Single' + - $ref: '#/components/schemas/CCOWeakCoverageParameters-Single' + - $ref: '#/components/schemas/CCOPilotPollutionParameters-Single' + - $ref: '#/components/schemas/CCOOvershootCoverageParameters-Single' + - $ref: '#/components/schemas/NTNFunction-Single' + - $ref: '#/components/schemas/EphemerisInfoSet-Single' + - $ref: '#/components/schemas/Ephemeris-Single' + diff --git a/TS28541_SliceNrm.yaml b/TS28541_SliceNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..88eeb770233bade81c8bda7185d172e2d9ce0894 --- /dev/null +++ b/TS28541_SliceNrm.yaml @@ -0,0 +1,951 @@ +openapi: 3.0.1 +info: + title: Slice NRM + version: 18.5.0 + description: >- + OAS 3.0.1 specification of the Slice NRM + @ 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.541; 5G NRM, Slice NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/ +paths: {} +components: + schemas: + +#------------ Type definitions --------------------------------------------------- + + Float: + type: number + format: float + MobilityLevel: + type: string + enum: + - STATIONARY + - NOMADIC + - RESTRICTED_MOBILITY + - FULL_MOBILITY + SynAvailability: + type: string + enum: + - NOT_SUPPORTED + - BETWEEN_BS_AND_UE + - BETWEEN_BS_AND_UE_AND_UE_AND_UE + PositioningAvailability: + type: array + items: + type: string + enum: + - CIDE_CID + - OTDOA + - RF_FINGERPRINTING + - AECID + - HYBRID_POSITIONING + - NET_RTK + PredictionFrequency: + type: string + enum: + - PERSEC + - PERMIN + - PERHOUR + SharingLevel: + type: string + enum: + - SHARED + - NON_SHARED + + NetworkSliceSharingIndicator: + type: string + enum: + - SHARED + - NON_SHARED + + SliceSimultaneousUse: + type: integer + minimum: 0 + maximum: 4 + Category: + type: string + enum: + - CHARACTER + - SCALABILITY + Tagging: + type: array + items: + type: string + enum: + - PERFORMANCE + - FUNCTION + - OPERATION + Exposure: + type: string + enum: + - API + - KPI + ServAttrCom: + type: object + properties: + category: + $ref: '#/components/schemas/Category' + tagging: + $ref: '#/components/schemas/Tagging' + exposure: + $ref: '#/components/schemas/Exposure' + Support: + type: string + enum: + - NOT_SUPPORTED + - SUPPORTED + DelayTolerance: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + support: + $ref: '#/components/schemas/Support' + NonIPSupport: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + support: + $ref: '#/components/schemas/Support' + DeterministicComm: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + availability: + $ref: '#/components/schemas/Support' + periodicityList: + type: array + items: + type: integer + XLThpt: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + guaThpt: + $ref: '#/components/schemas/Float' + maxThpt: + $ref: '#/components/schemas/Float' + MaxPktSize: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + maxsize: + type: integer + MaxNumberofPDUSessions: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + nOofPDUSessions: + type: integer + KPIMonitoring: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + kPIList: + type: array + items: + type: string + NBIoT: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + support: + $ref: '#/components/schemas/Support' + RadioSpectrum: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + nROperatingBands: + type: array + items: + type: string + Synchronicity: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + availability: + $ref: '#/components/schemas/SynAvailability' + accuracy: + $ref: '#/components/schemas/Float' + SynchronicityRANSubnet: + type: object + properties: + availability: + $ref: '#/components/schemas/SynAvailability' + accuracy: + $ref: '#/components/schemas/Float' + Positioning: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + availability: + $ref: '#/components/schemas/PositioningAvailability' + predictionFrequency: + $ref: '#/components/schemas/PredictionFrequency' + accuracy: + $ref: '#/components/schemas/Float' + PositioningRANSubnet: + type: object + properties: + availability: + $ref: '#/components/schemas/PositioningAvailability' + predictionFrequency: + $ref: '#/components/schemas/PredictionFrequency' + accuracy: + $ref: '#/components/schemas/Float' + UserMgmtOpen: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + support: + $ref: '#/components/schemas/Support' + V2XCommModels: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + v2XMode: + $ref: '#/components/schemas/Support' + TermDensity: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + density: + type: integer + NsInfo: + type: object + properties: + nsInstanceId: + type: string + nsName: + type: string + description: + type: string + EmbbEEPerfReq: + type: object + properties: + kpiType: + type: string + enum: + - NUMOFBITS + - NUMOFBITS_RANBASED + req: + type: number + UrllcEEPerfReq: + type: object + properties: + kpiType: + type: string + enum: + - INVOFLATENCY + - NUMOFBITS_MULTIPLIED_INVOFLATENCY + req: + type: number + MIoTEEPerfReq: + type: object + properties: + kpiType: + type: string + enum: + - MAXREGSUBS + - MEANACTIVEUES + req: + type: number + EEPerfReq: + oneOf: + - $ref: '#/components/schemas/EmbbEEPerfReq' + - $ref: '#/components/schemas/UrllcEEPerfReq' + - $ref: '#/components/schemas/MIoTEEPerfReq' + EnergyEfficiency: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + performance: + $ref: '#/components/schemas/EEPerfReq' + NSSAASupport: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + support: + $ref: '#/components/schemas/Support' + SecFunc: + type: object + properties: + secFunId: + type: string + secFunType: + type: string + secRules: + type: array + items: + type: string + N6Protection: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + secFuncList: + type: array + items: + $ref: '#/components/schemas/SecFunc' + + CNSliceSubnetProfile: + type: object + properties: + maxNumberofUEs: + type: integer + dLLatency: + type: number + uLLatency: + type: number + dLThptPerSliceSubnet: + $ref: '#/components/schemas/XLThpt' + dLThptPerUE: + $ref: '#/components/schemas/XLThpt' + uLThptPerSliceSubnet: + $ref: '#/components/schemas/XLThpt' + uLThptPerUE: + $ref: '#/components/schemas/XLThpt' + maxNumberOfPDUSessions: + type: integer + coverageAreaTAList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/TaiList' + resourceSharingLevel: + $ref: '#/components/schemas/SharingLevel' + dLMaxPktSize: + type: integer + uLMaxPktSize: + type: integer + delayTolerance: + $ref: '#/components/schemas/DelayTolerance' + synchronicity: + $ref: '#/components/schemas/SynchronicityRANSubnet' + sliceSimultaneousUse: + $ref: '#/components/schemas/SliceSimultaneousUse' + reliability: + type: number + energyEfficiency: + type: number + dLDeterministicComm: + $ref: '#/components/schemas/DeterministicComm' + uLDeterministicComm: + $ref: '#/components/schemas/DeterministicComm' + survivalTime: + type: number + nssaaSupport: + $ref: '#/components/schemas/NSSAASupport' + n6Protection: + $ref: '#/components/schemas/N6Protection' + nonIPSupport: + $ref: '#/components/schemas/NonIPSupport' + + RANSliceSubnetProfile: + type: object + properties: + coverageAreaTAList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/TaiList' + dLLatency: + type: number + uLLatency: + type: number + uEMobilityLevel: + $ref: '#/components/schemas/MobilityLevel' + resourceSharingLevel: + $ref: '#/components/schemas/SharingLevel' + maxNumberofUEs: + type: integer + activityFactor: + type: integer + dLThptPerSliceSubnet: + $ref: '#/components/schemas/XLThpt' + dLThptPerUE: + $ref: '#/components/schemas/XLThpt' + uLThptPerSliceSubnet: + $ref: '#/components/schemas/XLThpt' + uLThptPerUE: + $ref: '#/components/schemas/XLThpt' + uESpeed: + type: integer + reliability: + type: number + dLMaxPktSize: + type: integer + uLMaxPktSize: + type: integer + nROperatingBands: + type: array + items: + type: string + delayTolerance: + $ref: '#/components/schemas/DelayTolerance' + positioning: + $ref: '#/components/schemas/PositioningRANSubnet' + sliceSimultaneousUse: + $ref: '#/components/schemas/SliceSimultaneousUse' + energyEfficiency: + type: number + termDensity: + $ref: '#/components/schemas/TermDensity' + survivalTime: + type: number + synchronicity: + $ref: '#/components/schemas/SynchronicityRANSubnet' + dLDeterministicComm: + $ref: '#/components/schemas/DeterministicComm' + uLDeterministicComm: + $ref: '#/components/schemas/DeterministicComm' + nonIPSupport: + $ref: '#/components/schemas/NonIPSupport' + TopSliceSubnetProfile: + type: object + properties: + dLLatency: + type: integer + uLLatency: + type: integer + maxNumberofUEs: + type: integer + dLThptPerSliceSubnet: + $ref: '#/components/schemas/XLThpt' + dLThptPerUE: + $ref: '#/components/schemas/XLThpt' + uLThptPerSliceSubnet: + $ref: '#/components/schemas/XLThpt' + uLThptPerUE: + $ref: '#/components/schemas/XLThpt' + dLMaxPktSize: + type: integer + uLMaxPktSize: + type: integer + maxNumberOfPDUSessions: + type: integer + nROperatingBands: + type: array + items: + type: string + sliceSimultaneousUse: + $ref: '#/components/schemas/SliceSimultaneousUse' + energyEfficiency: + $ref: '#/components/schemas/EnergyEfficiency' + synchronicity: + $ref: '#/components/schemas/Synchronicity' + delayTolerance: + $ref: '#/components/schemas/DelayTolerance' + positioning: + $ref: '#/components/schemas/Positioning' + termDensity: + $ref: '#/components/schemas/TermDensity' + activityFactor: + type: integer + coverageAreaTAList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/TaiList' + resourceSharingLevel: + $ref: '#/components/schemas/SharingLevel' + uEMobilityLevel: + $ref: '#/components/schemas/MobilityLevel' + uESpeed: + type: integer + reliability: + type: number + dLDeterministicComm: + $ref: '#/components/schemas/DeterministicComm' + uLDeterministicComm: + $ref: '#/components/schemas/DeterministicComm' + survivalTime: + type: number + nssaaSupport: + $ref: '#/components/schemas/NSSAASupport' + n6Protection: + $ref: '#/components/schemas/N6Protection' + nonIPSupport: + $ref: '#/components/schemas/NonIPSupport' + + ServiceProfile: + type: object + properties: + serviceProfileId: + type: string + plmnInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + maxNumberofUEs: + type: number + dLLatency: + type: number + uLLatency: + type: number + uEMobilityLevel: + $ref: '#/components/schemas/MobilityLevel' + sst: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Sst' + networkSliceSharingIndicator: + $ref: '#/components/schemas/NetworkSliceSharingIndicator' + availability: + type: number + delayTolerance: + $ref: '#/components/schemas/DelayTolerance' + dLDeterministicComm: + $ref: '#/components/schemas/DeterministicComm' + uLDeterministicComm: + $ref: '#/components/schemas/DeterministicComm' + dLThptPerSlice: + $ref: '#/components/schemas/XLThpt' + dLThptPerUE: + $ref: '#/components/schemas/XLThpt' + uLThptPerSlice: + $ref: '#/components/schemas/XLThpt' + uLThptPerUE: + $ref: '#/components/schemas/XLThpt' + dLMaxPktSize: + $ref: '#/components/schemas/MaxPktSize' + uLMaxPktSize: + $ref: '#/components/schemas/MaxPktSize' + maxNumberofPDUSessions: + $ref: '#/components/schemas/MaxNumberofPDUSessions' + kPIMonitoring: + $ref: '#/components/schemas/KPIMonitoring' + nBIoT: + $ref: '#/components/schemas/NBIoT' + radioSpectrum: + $ref: '#/components/schemas/RadioSpectrum' + synchronicity: + $ref: '#/components/schemas/Synchronicity' + positioning: + $ref: '#/components/schemas/Positioning' + userMgmtOpen: + $ref: '#/components/schemas/UserMgmtOpen' + v2XCommModels: + $ref: '#/components/schemas/V2XCommModels' + coverageArea: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + termDensity: + $ref: '#/components/schemas/TermDensity' + activityFactor: + $ref: '#/components/schemas/Float' + uESpeed: + type: integer + jitter: + type: integer + survivalTime: + type: number + reliability: + type: number + maxDLDataVolume: + type: number + maxULDataVolume: + type: number + sliceSimultaneousUse: + $ref: '#/components/schemas/SliceSimultaneousUse' + energyEfficiency: + $ref: '#/components/schemas/EnergyEfficiency' + nssaaSupport: + $ref: '#/components/schemas/NSSAASupport' + n6Protection: + $ref: '#/components/schemas/N6Protection' + nonIPSupport: + $ref: '#/components/schemas/NonIPSupport' + SliceProfile: + type: object + properties: + sliceProfileId: + type: string + plmnInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + cNSliceSubnetProfile: + $ref: '#/components/schemas/CNSliceSubnetProfile' + rANSliceSubnetProfile: + $ref: '#/components/schemas/RANSliceSubnetProfile' + topSliceSubnetProfile: + $ref: '#/components/schemas/TopSliceSubnetProfile' + + IpAddress: + oneOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' + + LogicalInterfaceInfo: + type: object + properties: + logicalInterfaceType: + type: string + enum: + - VLAN + - MPLS + - SEGMENT + logicalInterfaceId: + type: string + systemName: + type: string + portName: + type: string + routingProtocol: + type: string + enum: + - RIP + - IGMP + - OSPF + - EGP + - EIGRP + - BGP + - IS_IS + - STATIC + + ConnectionPointInfo: + type: object + properties: + connectionPointId: + type: string + connectionPointIdType: + type: string + enum: + - VLAN + - MPLS + - SEGMENT + - IPV4 + - IPV6 + - ATTACHMENT_CIRCUIT + + ServiceProfileList: + type: array + items: + $ref: '#/components/schemas/ServiceProfile' + + SliceProfileList: + type: array + items: + $ref: '#/components/schemas/SliceProfile' + FeasibilityResult: + description: >- + An attribute which specifies the feasibility check result for the feasibility check and reservation job. + type: string + enum: + - FEASIBLE + - INFEASIBLE + InFeasibleReason: + description: >- + An attribute that specifies the additional reason information if the feasibility check result is infeasible.The detailed ENUM value is FFS. + type: string + RecommendationRequest: + description: >- + An attribute represents MnS consumer's request for recommended network slice related requirements. + type: boolean + RecommendedRequirements: + description: >- + An attribute that specifies the recommended network slicing related requirements (i.e. ServiceProfile and SliceProfile information) which can be supported by the MnS producer.. + type: string + ResourceReservation: + description: >- + An attribute represents MnS consumer's requirements for resource reservation. + type: boolean + RequestedReservationExpiration: + description: >- + An attribute which specifies MnS consuner's requirements for the validity period of the resource reservation. + type: string + ResourceReservationStatus: + description: >- + An attribute which specifies the resource reservation result for the feasibility check job. + type: string + enum: + - RESERVED + - UNRESERVED + - USED + ReservationExpiration: + description: >- + An attribute which specifies the actual validity period of the resource reservation.. + type: string + ReservationFailureReason: + description: >- + An attribute that specifies the additional reason information if the reservation is failed. + type: string + + + +#------------ Definition of concrete IOCs ---------------------------------------- + + MnS: + oneOf: + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' +# - type: object +# properties: +# ManagedElement: +# $ref: '#/components/schemas/ManagedElement-Multiple' + + SubNetwork-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-Attr' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-ncO' + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + NetworkSlice: + $ref: '#/components/schemas/NetworkSlice-Multiple' + NetworkSliceSubnet: + $ref: '#/components/schemas/NetworkSliceSubnet-Multiple' + EP_Transport: + $ref: '#/components/schemas/EP_Transport-Multiple' + NetworkSliceSubnetProviderCapabilities: + $ref: '#/components/schemas/NetworkSliceSubnetProviderCapabilities-Multiple' + FeasibilityCheckAndReservationJob: + $ref: '#/components/schemas/FeasibilityCheckAndReservationJob-Multiple' + NetworkSliceController: + $ref: '#/components/schemas/NetworkSliceController-Multiple' + NetworkSliceSubnetController: + $ref: '#/components/schemas/NetworkSliceSubnetController-Multiple' + + + NetworkSlice-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + networkSliceSubnetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + serviceProfileList: + $ref: '#/components/schemas/ServiceProfileList' + networkSliceControllerRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + + NetworkSliceSubnet-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + managedFunctionRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + networkSliceSubnetRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + nsInfo: + $ref: '#/components/schemas/NsInfo' + sliceProfileList: + $ref: '#/components/schemas/SliceProfileList' + epTransportRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + priorityLabel: + type: integer + networkSliceSubnetType: + type: string + enum: + - TOP_SLICESUBNET + - RAN_SLICESUBNET + - CN_SLICESUBNET + networkSliceSubnetControllerRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + + EP_Transport-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + ipAddress: + $ref: '#/components/schemas/IpAddress' + localLogicalInterfaceInfo: + $ref: '#/components/schemas/LogicalInterfaceInfo' + qosProfile: + type: string + epApplicationRefs: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + connectionPointRefList: + type: array + items: + $ref: '#/components/schemas/ConnectionPointInfo' + + NetworkSliceSubnetProviderCapabilities-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + dLlatency: + type: integer + uLlatency: + type: integer + dLThptPerSliceSubnet: + $ref: '#/components/schemas/XLThpt' + uLThptPerSliceSubnet: + $ref: '#/components/schemas/XLThpt' + coverageAreaTAList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/TaiList' + FeasibilityCheckAndReservationJob-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + profile: + oneOf: + - $ref: '#/components/schemas/SliceProfile' + - $ref: '#/components/schemas/ServiceProfile' + resourceReservation: + $ref: '#/components/schemas/ResourceReservation' + recommendationRequest: + $ref: '#/components/schemas/RecommendationRequest' + requestedReservationExpiration: + $ref: '#/components/schemas/RequestedReservationExpiration' + feasibilityTimeWindow: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + processMonitor: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ProcessMonitor' + feasibilityResult: + $ref: '#/components/schemas/FeasibilityResult' + inFeasibleReason: + $ref: '#/components/schemas/InFeasibleReason' + resourceReservationStatus: + $ref: '#/components/schemas/ResourceReservationStatus' + reservationFailureReason: + $ref: '#/components/schemas/ReservationFailureReason' + + reservationExpiration: + $ref: '#/components/schemas/ReservationExpiration' + recommendedRequirements: + $ref: '#/components/schemas/RecommendedRequirements' + + NetworkSliceController-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + inputServiceProfile: + $ref: '#/components/schemas/ServiceProfile' + serviceProfileId: + type: string + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + availabilityStatus: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AvailabilityStatus' + processMonitor: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ProcessMonitor' + networkSliceRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + + NetworkSliceSubnetController-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + inputSliceProfile: + $ref: '#/components/schemas/SliceProfile' + sliceProfileId: + type: string + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + availabilityStatus: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AvailabilityStatus' + processMonitor: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ProcessMonitor' + networkSliceSubnetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + SubNetwork-Multiple: + type: array + items: + $ref: '#/components/schemas/SubNetwork-Single' + + NetworkSlice-Multiple: + type: array + items: + $ref: '#/components/schemas/NetworkSlice-Single' + + NetworkSliceSubnet-Multiple: + type: array + items: + $ref: '#/components/schemas/NetworkSliceSubnet-Single' + + EP_Transport-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_Transport-Single' + + NetworkSliceSubnetProviderCapabilities-Multiple: + type: array + items: + $ref: '#/components/schemas/NetworkSliceSubnetProviderCapabilities-Single' + FeasibilityCheckAndReservationJob-Multiple: + type: array + items: + $ref: '#/components/schemas/FeasibilityCheckAndReservationJob-Single' + + NetworkSliceController-Multiple: + type: array + items: + $ref: '#/components/schemas/NetworkSliceController-Single' + + NetworkSliceSubnetController-Multiple: + type: array + items: + $ref: '#/components/schemas/NetworkSliceSubnetController-Single' + +#------------ Definitions in TS 28.541 for TS 28.532 ----------------------------- + + resources-sliceNrm: + oneOf: + - $ref: '#/components/schemas/MnS' + + - $ref: '#/components/schemas/SubNetwork-Single' + - $ref: '#/components/schemas/NetworkSlice-Single' + - $ref: '#/components/schemas/NetworkSliceSubnet-Single' + - $ref: '#/components/schemas/EP_Transport-Single' + - $ref: '#/components/schemas/NetworkSliceSubnetProviderCapabilities-Single' + - $ref: '#/components/schemas/FeasibilityCheckAndReservationJob-Single' + - $ref: '#/components/schemas/NetworkSliceController-Single' + - $ref: '#/components/schemas/NetworkSliceSubnetController-Single' + diff --git a/TS28550_PerfMeasJobCtrlMnS.yaml b/TS28550_PerfMeasJobCtrlMnS.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7de08a785a3903f40d8dbeab67b17d5fac4a8e02 --- /dev/null +++ b/TS28550_PerfMeasJobCtrlMnS.yaml @@ -0,0 +1,277 @@ +openapi: 3.0.1 +info: + title: TS 28.550 Performance Measurement Job Control Service + version: 18.1.0 + description: >- + OAS 3.0.1 specification of the Performance Measurement Job Control Service + @ 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.550 Performance assurance + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.550/ +servers: + - url: '{MnSRoot}/PerfMeasJobCtrlMnS/{MnSVersion}' + variables: + MnSRoot: + description: See clause 4.4.2 of TS 32.158 + default: http://example.com/3GPPManagement + MnSVersion: + description: Version number of the OpenAPI definition + default: XXX +paths: + /measJobs: + post: + summary: Create a measurement job + description: To create a measurement job the representation of the measurement job is POSTed on the /measJobs collection resource. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/measJobCreation-RequestType' + responses: + '201': + description: Success case ("201 Created"). The representation of the newly created measurement job resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/measJobCreation-ResponseType' + '202': + description: Partial success case ("202 Partically created"). The representation of the newly created measurement job resource with unsupported list shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/measJobCreation-ResponseType' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + get: + summary: Read resources of measurement jobs + description: 'With HTTP GET, resources of measurement jobs are read. The resources to be read are identified with the path component (base resource) and the query component (jobIdList) of the URI. The fields query component allows to select the resource properties to be returned.' + parameters: + - name: jobIdList + in: query + description: This parameter identifies the list of jobId to select the resources from the collection resources identified with the path component of the URI. + required: true + schema: + type: array + items: + type: string + responses: + '200': + description: 'Success case ("200 OK"). The resources identified in the request for retrieval are returned in the response message body. In case the fields query parameter is used, the selected resources are returned.' + content: + application/json: + schema: + $ref: '#/components/schemas/measJobsRetrieval-ResponseType' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + '/measJobs/{jobId}': + get: + summary: Read resource of a single measurement job + description: 'With HTTP GET, resource of a measurement job is read. The resource to be read is identified with the path component of the URI.' + parameters: + - name: jobId + in: path + description: Identifies the measurement job to be read. + required: true + schema: + $ref: '#/components/schemas/uri-Type' + responses: + '200': + description: 'Success case ("200 OK"). The resource identified in the path for retrieval is returned in the response message body. ' + content: + application/json: + schema: + $ref: '#/components/schemas/measJobsRetrieval-ResponseType' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + delete: + summary: Delete a single measurement job + description: The measurement job is deleted by deleting the corresponding measurement job resource. The resource to be deleted is identified with the path component of the URI. + parameters: + - name: jobId + in: path + description: Identifies the measurement job to be deleted. + required: true + schema: + $ref: '#/components/schemas/uri-Type' + responses: + '204': + description: Success case ("204 No Content"). The measurement job resource has been deleted. The response message body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' +components: + schemas: + dateTime-Type: + type: string + format: date-Time + uri-Type: + type: string + measJobCreation-RequestType: + type: object + properties: + iOCName: + type: string + iOCInstanceList: + type: array + items: + $ref: '#/components/schemas/uri-Type' + measurementCategoryList: + type: array + items: + type: string + reportingMethod: + $ref: '#/components/schemas/reportingMethod-Type' + granularityPeriod: + type: integer + reportingPeriod: + type: integer + startTime: + $ref: '#/components/schemas/dateTime-Type' + stopTime: + $ref: '#/components/schemas/dateTime-Type' + schedule: + $ref: '#/components/schemas/schedule-Type' + streamTarget: + type: string + priority: + $ref: '#/components/schemas/priority-Type' + reliability: + type: string + measJobCreation-ResponseType: + type: object + properties: + unsupportedList: + type: array + items: + $ref: '#/components/schemas/unsupportedMeas-Type' + measJobsRetrieval-ResponseType: + type: object + properties: + jobInfoList: + type: array + items: + $ref: '#/components/schemas/measJobInfo-ResourceType' + error-ResponseType: + type: object + properties: + error: + type: object + properties: + errorInfo: + type: string + measJobInfo-ResourceType: + type: object + properties: + href: + $ref: '#/components/schemas/uri-Type' + iOCName: + type: string + iOCInstanceList: + type: array + items: + $ref: '#/components/schemas/uri-Type' + measurementCategoryList: + type: array + items: + type: string + reportingMethod: + $ref: '#/components/schemas/reportingMethod-Type' + granularityPeriod: + type: integer + reportingPeriod: + type: integer + startTime: + $ref: '#/components/schemas/dateTime-Type' + stopTime: + $ref: '#/components/schemas/dateTime-Type' + schedule: + $ref: '#/components/schemas/schedule-Type' + streamTarget: + type: string + priority: + $ref: '#/components/schemas/priority-Type' + reliability: + type: string + schedule-Type: + type: object + properties: + scheduleOption: + $ref: '#/components/schemas/scheduleOption-Type' + dailySchedule: + type: array + items: + $ref: '#/components/schemas/timeInterval-Type' + weeklySchedule: + type: array + items: + $ref: '#/components/schemas/scheduleOfDay-Type' + timeInterval-Type: + type: object + properties: + intervalStart: + type: string + format: Time + intervalEnd: + type: string + format: Time + scheduleOfDay-Type: + type: object + properties: + dayOfWeek: + $ref: '#/components/schemas/dayOfWeek-Type' + intervalsOfDay: + type: array + items: + $ref: '#/components/schemas/timeInterval-Type' + unsupportedMeas-Type: + type: object + properties: + iOCInstance: + $ref: '#/components/schemas/uri-Type' + measurementTypeName: + type: string + reason: + type: string + reportingMethod-Type: + type: string + enum: + - file + - streaming + priority-Type: + type: string + enum: + - low + - medium + - high + scheduleOption-Type: + type: string + enum: + - daily + - weekly + dayOfWeek-Type: + type: string + enum: + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + - Sunday diff --git a/TS28623_ComDefs.yaml b/TS28623_ComDefs.yaml new file mode 100644 index 0000000000000000000000000000000000000000..eb9723510a593a8eb9e5b994626292eb9ec237ba --- /dev/null +++ b/TS28623_ComDefs.yaml @@ -0,0 +1,245 @@ +openapi: 3.0.1 +info: + title: Common Type Definitions + version: 18.3.0 + description: >- + OAS 3.0.1 specification of common type definitions in the Generic NRM + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.623; Generic NRM; Common type definitions + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.623/ +paths: {} +components: + schemas: + + Float: + type: number + format: float + DateTime: + type: string + format: date-time + Latitude: + type: number + format: float + minimum: -90 + maximum: 90 + Longitude: + type: number + format: float + minimum: -180 + maximum: 180 + + Dn: + type: string + DnList: + type: array + items: + $ref: '#/components/schemas/Dn' + + Mcc: + type: string + pattern: '^[0-9]{3}$' + Mnc: + type: string + pattern: '^[0-9]{2,3}$' + Nid: + type: string + pattern: '^[A-Fa-f0-9]{11}$' + PlmnId: + type: object + properties: + mcc: + $ref: '#/components/schemas/Mcc' + mnc: + $ref: '#/components/schemas/Mnc' + Tac: + type: string + pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' + UtraCellId: + type: integer + EutraCellId: + type: string + pattern: '^[A-Fa-f0-9]{7}$' + NrCellId: + type: string + pattern: '^[A-Fa-f0-9]{9}$' + TimeWindow: + type: object + properties: + startTime: + $ref: '#/components/schemas/DateTime' + endTime: + $ref: '#/components/schemas/DateTime' + GeoCoordinate: + type: object + properties: + latitude: + $ref: '#/components/schemas/Latitude' + longitude: + $ref: '#/components/schemas/Longitude' + altitude: + $ref: '#/components/schemas/Float' + ConvexGeoPolygon: + type: array + items: + $ref: '#/components/schemas/GeoCoordinate' + minItems: 3 + GeoArea: + type: object + properties: + convexGeoPolygon: + $ref: '#/components/schemas/ConvexGeoPolygon' + GeoAreaToCellMapping: + type: object + properties: + geoArea: + $ref: '#/components/schemas/GeoArea' + associationThreshold: + type: integer + AreaOfInterest: + oneOf: + - $ref: '#/components/schemas/GeoAreaToCellMapping' + - type: array + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' + - type: array + items: + $ref: '#/components/schemas/NrCellId' + - type: array + items: + $ref: '#/components/schemas/EutraCellId' + - type: array + items: + $ref: '#/components/schemas/UtraCellId' + + Fqdn: + type: string + Ipv4Addr: + type: string + pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$' + example: '198.51.100.1' + Ipv6Addr: + type: string + allOf: + - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))$' + - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))$' + example: '2001:db8:85a3::8a2e:370:7334' + Ipv6Prefix: + type: string + allOf: + - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))(\/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))$' + - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)$' + example: '2001:db8:abcd:12::0/64' + IpAddr: + oneOf: + - $ref: '#/components/schemas/Ipv4Addr' + - $ref: '#/components/schemas/Ipv6Addr' + - $ref: '#/components/schemas/Ipv6Prefix' + HostAddr: + # This definition will be deprecated, when all occurances of HostAddr + # are replaced by Host. + oneOf: + - $ref: '#/components/schemas/Ipv4Addr' + - $ref: '#/components/schemas/Ipv6Addr' + - $ref: '#/components/schemas/Fqdn' + Host: + oneOf: + - $ref: '#/components/schemas/IpAddr' + - $ref: '#/components/schemas/Fqdn' + Uri: + type: string + + AdministrativeState: + type: string + enum: + - LOCKED + - UNLOCKED + OperationalState: + type: string + enum: + - ENABLED + - DISABLED + UsageState: + type: string + enum: + - IDEL + - ACTIVE + - BUSY + AvailabilityStatus: + type: string + enum: + - IN_TEST + - FAILED + - POWER_OFF + - OFF_LINE + - OFF_DUTY + - DEPENDENCY + - DEGRADED + - NOT_INSTALLED + - LOG_FULL + + AttributeNameValuePairSet: + description: >- + The key of this map is the attribute name, and the value the attribute value. + type: object + minProperties: 1 + additionalProperties: + nullable: true + AttributeValueChangeSet: + description: >- + The first array item contains the attribute name value pairs with the new values, + and the second array item the attribute name value pairs with the optional old values. + type: array + items: + $ref: '#/components/schemas/AttributeNameValuePairSet' + minItems: 1 + maxItems: 2 + + Filter: + description: >- + The filter format shall be compliant to XPath 1.0. + type: string + SystemDN: + type: string + + NotificationId: + type: integer + NotificationType: + oneOf: + - $ref: 'TS28532_FaultMnS.yaml#/components/schemas/AlarmNotificationTypes' + - $ref: 'TS28532_ProvMnS.yaml#/components/schemas/CmNotificationTypes' + - $ref: 'TS28532_PerfMnS.yaml#/components/schemas/PerfNotificationTypes' + - $ref: 'TS28532_HeartbeatNtf.yaml#/components/schemas/HeartbeatNotificationTypes' + - $ref: 'TS28532_FileDataReportingMnS.yaml#/components/schemas/FileNotificationTypes' + NotificationHeader: + type: object + properties: + href: + $ref: '#/components/schemas/Uri' + notificationId: + $ref: '#/components/schemas/NotificationId' + notificationType: + $ref: '#/components/schemas/NotificationType' + eventTime: + $ref: '#/components/schemas/DateTime' + systemDN: + $ref: '#/components/schemas/SystemDN' + required: + - href + - notificationId + - notificationType + - eventTime + - systemDN + + ErrorResponse: + description: >- + Default schema for the response message body in case the request + is not successful. + type: object + properties: + error: + type: object + properties: + errorInfo: + type: string diff --git a/TS28623_GenericNrm.yaml b/TS28623_GenericNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e0434044475f90a85a411b2cd152e877fe9a13f5 --- /dev/null +++ b/TS28623_GenericNrm.yaml @@ -0,0 +1,2301 @@ +openapi: 3.0.1 +info: + title: Generic NRM + version: 18.4.0 + description: >- + OAS 3.0.1 definition of the Generic NRM + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.623; Generic NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.623/ +paths: {} +components: + schemas: + +#-------- Definition of types----------------------------------------------------- + + RegistrationState: + type: string + enum: + - REGISTERED + - DEREGISTERED + VnfParameter: + type: object + properties: + vnfInstanceId: + type: string + vnfdId: + type: string + flavourId: + type: string + autoScalable: + type: boolean + PeeParameter: + type: object + properties: + siteIdentification: + type: string + siteDescription: + type: string + siteLatitude: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Latitude' + siteLongitude: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Longitude' + siteAltitude: + type: number + format: float + equipmentType: + type: string + environmentType: + type: string + powerInterface: + type: string + ThresholdInfo: + type: object + properties: + thresholdDirection: + type: string + enum: + - UP + - DOWN + - UP_AND_DOWN + thresholdValue: + oneOf: + - type: integer + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float' + hysteresis: + oneOf: + - type: integer + minimum: 0 + - type: number + format: float + minimum: 0 + Operation: + type: object + properties: + name: + type: string + allowedNFTypes: + $ref: '#/components/schemas/NFType' + operationSemantics: + $ref: '#/components/schemas/OperationSemantics' + NFType: + type: string + description: ' NF name defined in TS 23.501 or TS 29.510' + enum: + - NRF + - UDM + - AMF + - SMF + - AUSF + - NEF + - PCF + - SMSF + - NSSF + - UDR + - LMF + - GMLC + - 5G_EIR + - SEPP + - UPF + - N3IWF + - AF + - UDSF + - DN + - BSF + - CHF + - NWDAF + - PCSCF + - CBCF + - HSS + - UCMF + - SOR_AF + - SPAF + - MME + - SCSAS + - SCEF + - SCP + - NSSAAF + - ICSCF + - SCSCF + - DRA + - IMS_AS + - AANF + - 5G_DDNMF + - NSACF + - MFAF + - EASDF + - DCCF + - MB_SMF + - TSCTSF + - ADRF + - GBA_BSF + - CEF + - MB_UPF + - NSWOF + - PKMF + - MNPF + - SMS_GMSC + - SMS_IWMSC + - MBSF + - MBSTF + - PANF + - TNGF + - W_AGF + - TWIF + - TSN_AF + + OperationSemantics: + type: string + enum: + - REQUEST_RESPONSE + - SUBSCRIBE_NOTIFY + SAP: + type: object + properties: + host: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' + port: + type: integer + NFServiceType: + type: string + enum: + - Namf_Communication + - Namf_EventExposure + - Namf_MT + - Namf_Location + - Nsmf_PDUSession + - Nsmf_EventExposure + - Others + TransportProtocol: + anyOf: + - type: string + enum: + - TCP + - type: string + SupportedPerfMetricGroup: + type: object + properties: + performanceMetrics: + type: array + items: + type: string + granularityPeriods: + type: array + items: + type: integer + minimum: 1 + reportingMethods: + type: array + items: + type: string + enum: + - FILE_BASED_LOC_SET_BY_PRODUCER + - FILE_BASED_LOC_SET_BY_CONSUMER + - STREAM_BASED + reportingPeriods: + type: array + items: + type: integer + minimum: 1 + ReportingCtrl: + oneOf: + - type: object + properties: + fileReportingPeriod: + type: integer + - type: object + properties: + fileReportingPeriod: + type: integer + fileLocation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + - type: object + properties: + streamTarget: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + Scope: + type: object + properties: + scopeType: + type: string + enum: + - BASE_ONLY + - BASE_ALL + - BASE_NTH_LEVEL + - BASE_SUBTREE + scopeLevel: + type: integer + ProcessMonitor: + description: >- + This data type is the "ProcessMonitor" data type without specialisations. + type: object + properties: + jobId: + type: string + status: + type: string + enum: + - NOT_STARTED + - RUNNING + - FINSHED + - FAILED + - PARTIALLY_FAILED + - CANCELLING + - CANCELLED + progressPercentage: + type: integer + minimum: 0 + maximum: 100 + progressStateInfo: + type: string + resultStateInfo: + type: string + startTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + endTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + timer: + type: integer + FileDownloadJobProcessMonitor: + description: >- + This data type is the "ProcessMonitor" data type with specialisations + for usage in the "FileDownloadJob". + type: object + properties: + jobId: + type: string + status: + type: string + enum: + - NOT_STARTED + - RUNNING + - FINSHED + - FAILED + - CANCELLING + - CANCELLED + progressPercentage: + type: integer + minimum: 0 + maximum: 100 + progressStateInfo: + type: string + resultStateInfo: + oneOf: + - type: string + enum: + - NULL + - UNKNOWN + - NO_STORAGE + - LOW_MEMROY + - NO_CONNECTION_TO_REMOTE_SERVER + - FILE_NOT_AVAILABLE + - DNS_CANNOT_BE_RESOLVED + - TIMER_EXPIRED + - OTHER + - type: string + startTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + endTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + timer: + type: integer + AreaScope: + oneOf: + - type: array + items: + $ref: '#/components/schemas/EutraCellId' + - type: array + items: + $ref: '#/components/schemas/NrCellId' + - type: array + items: + $ref: '#/components/schemas/Tac' + - type: array + items: + $ref: '#/components/schemas/Tai' + Tai: + type: object + properties: + mcc: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mnc' + tac: + $ref: '#/components/schemas/Tac' + AreaConfig: + type: object + properties: + freqInfo: + $ref: '#/components/schemas/FreqInfo' + pciList: + type: array + items: + type: integer + FreqInfo: + description: specifies the carrier frequency and bands used in a cell. + type: object + properties: + arfcn: + type: integer + freqBands: + type: array + items: + type: integer + MbsfnArea: + type: object + properties: + mbsfnAreaId: + type: integer + minimum: 1 + earfcn: + type: integer + minimum: 1 + Tac: + type: string + pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' + EutraCellId: + type: string + pattern: '^[A-Fa-f0-9]{7}$' + NrCellId: + type: string + pattern: '^[A-Fa-f0-9]{9}$' + IpAddr: + oneOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' + + ManagementData: + oneOf: + - type: array + items: + type: string + enum: + - COVERAGE + - CAPACITY + - ENERGY_EFFICIENCY + - MOBILITY + - ACCESSIBILITY + - type: array + items: + type: string + NodeFilter: + type: object + properties: + areaOfInterest: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AreaOfInterest' + networkDomain: + type: string + enum: + - CN + - RAN + cpUpType: + type: string + enum: + - CP + - UP + sst: + type: integer + +#-------- Definition of types used in Trace control NRM fragment------------------ + + jobType-Type: + type: string + description: Specifies whether the TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined Trace and MDT job. Applicable for Trace, MDT, RCEF and RLF reporting. See 3GPP TS 32.422 clause 5.9a for additional details. + enum: + - IMMEDIATE_MDT_ONLY + - LOGGED_MDT_ONLY + - TRACE_ONLY + - IMMEDIATE_MDT AND TRACE + - RLF_REPORT_ONLY + - RCEF_REPORT_ONLY + - LOGGED_MBSFN_MDT + + listOfInterfaces-Type: + description: The interfaces to be recorded in the Network Element. See 3GPP TS 32.422 clause 5.5 for additional details. + type: object + properties: + MSCServerInterfaces: + type: array + items: + type: string + enum: + - A + - Iu-CS + - Mc + - MAP-G + - MAP-B + - MAP-E + - MAP-F + - MAP-D + - MAP-C + - CAP + MGWInterfaces: + type: array + items: + type: string + enum: + - Mc + - Nb-UP + - Iu-UP + RNCInterfaces: + type: array + items: + type: string + enum: + - Iu-CS + - Iu-PS + - Iur + - Iub + - Uu + SGSNInterfaces: + type: array + items: + type: string + enum: + - Gb + - Iu-PS + - Gn + - MAP-Gr + - MAP-Gd + - MAP-Gf + - Ge + - Gs + - S6d + - S4 + - S3 + - S13 + GGSNInterfaces: + type: array + items: + type: string + enum: + - Gn + - Gi + - Gmb + S-CSCFInterfaces: + type: array + items: + type: string + enum: + - Mw + - Mg + - Mr + - Mi + P-CSCFInterfaces: + type: array + items: + type: string + enum: + - Gm + - Mw + I-CSCFInterfaces: + type: array + items: + type: string + enum: + - Cx + - Dx + - Mg + - Mw + MRFCInterfaces: + type: array + items: + type: string + enum: + - Mp + - Mr + MGCFInterfaces: + type: array + items: + type: string + enum: + - Mg + - Mj + - Mn + IBCFInterfaces: + type: array + items: + type: string + enum: + - Ix + - Mx + E-CSCFInterfaces: + type: array + items: + type: string + enum: + - Mw + - Ml + - Mm + - Mi/Mg + BGCFInterfaces: + type: array + items: + type: string + enum: + - Mi + - Mj + - Mk + ASInterfaces: + type: array + items: + type: string + enum: + - Dh + - Sh + - ISC + - Ut + HSSInterfaces: + type: array + items: + type: string + enum: + - MAP-C + - MAP-D + - Gc + - Gr + - Cx + - S6d + - S6a + - Sh + - N70 + - N71 + - NU1 + EIRInterfaces: + type: array + items: + type: string + enum: + - MAP-F + - S13 + - MAP-Gf + BM-SCInterfaces: + type: array + items: + type: string + enum: + - Gmb + MMEInterfaces: + type: array + items: + type: string + enum: + - S1-MME + - S3 + - S6a + - S10 + - S11 + - S13 + SGWInterfaces: + type: array + items: + type: string + enum: + - S4 + - S5 + - S8 + - S11 + - Gxc + PDN_GWInterfaces: + type: array + items: + type: string + enum: + - S2a + - S2b + - S2c + - S5 + - S6b + - Gx + - S8 + - SGi + eNBInterfaces: + type: array + items: + type: string + enum: + - S1-MME + - X2 + en-gNBInterfaces: + type: array + items: + type: string + enum: + - S1-MME + - X2 + - Uu + - F1-C + - E1 + AMFInterfaces: + type: array + items: + type: string + enum: + - N1 + - N2 + - N8 + - N11 + - N12 + - N14 + - N15 + - N20 + - N22 + - N26 + AUSFInterfaces: + type: array + items: + type: string + enum: + - N12 + - N13 + NEFInterfaces: + type: array + items: + type: string + enum: + - N29 + - N30 + - N33 + NRFInterfaces: + type: array + items: + type: string + enum: + - N27 + NSSFInterfaces: + type: array + items: + type: string + enum: + - N22 + - N31 + PCFInterfaces: + type: array + items: + type: string + enum: + - N5 + - N7 + - N15 + SMFInterfaces: + type: array + items: + type: string + enum: + - N4 + - N7 + - N10 + - N11 + - S5-C + SMSFInterfaces: + type: array + items: + type: string + enum: + - N20 + - N21 + UDMInterfaces: + type: array + items: + type: string + enum: + - N8 + - N10 + - N13 + - N21 + - NU1 + UPFInterfaces: + type: array + items: + type: string + enum: + - N4 + ng-eNBInterfaces: + type: array + items: + type: string + enum: + - NG-C + - Xn-C + - Uu + gNB-CU-CPInterfaces: + type: array + items: + type: string + enum: + - NG-C + - Xn-C + - Uu + - F1-C + - E1 + - X2-C + gNB-CU-UPInterfaces: + type: array + items: + type: string + enum: + - E1 + gNB-DUInterfaces: + type: array + items: + type: string + enum: + - F1-C + + listOfNeTypes-Type: + description: The Network Element types where Trace Session activation is needed. See 3GPP TS 32.422 clause 5.4 for additional details. + type: array + items: + type: string + enum: + - MSC_SERVER + - SGSN + - MGW + - GGSN + - RNC + - BM_SC + - MME + - SGW + - PGW + - ENB + - EN_GNB + - GNB_CU_CP + - GNB_CU_UP + - GNB_DU + - AMF + - PCF + - SMF + - UPF + - AUSF + - SMSF + - HSS + - UDM + + plmnTarget-Type: + type: object + description: The PLMN for which sessions shall be selected in the Trace Session in case of management based activation when several PLMNs are supported in the RAN (this means that shared cells and not shared cells are allowed for the specified PLMN. Note that the PLMN Target might differ from the PLMN specified in the Trace Reference, as that specifies the PLMN that is containing the management system requesting the Trace Session from the NE. See 3GPP TS 32.422 clause 5.9b for additional details. + properties: + mcc: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mnc' + required: + - mcc + - mnc + + traceDepth-Type: + description: Specifies how detailed information should be recorded in the Network Element. The Trace Depth is a paremeter for Trace Session level, i.e., the Trace Depth is the same for all of the NEs to be traced in the same Trace Session. See 3GPP TS 32.422 clause 5.3 for additional details. + type: string + enum: + - MINIMUM + - MEDIUM + - MAXIMUM + - VENDORMINIMUM + - VENDORMEDIUM + - VENDORMAXIMUM + + traceReference-Type: + type: object + description: The Trace Reference parameter shall be globally unique, therefore the Trace Reference shall compose as follows - MCC+MNC+Trace ID, where the MCC and MNC are coming with the Trace activation request from the management system to identify one PLMN containing the management system, and Trace ID is a 3 byte Octet String. See 3GPP TS 32.422 clause 5.6 for additional details. + properties: + mcc: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mnc' + traceId: + type: string + required: + - mcc + - mnc + - traceId + + traceReportingFormat-Type: + type: string + description: Specifies whether file-based or streaming reporting shall be used for this Trace Session. See 3GPP TS 32.422 clause 5.11 for additional details. + enum: + - FILE-BASED + - STREAMING + + traceTarget-Type: + type: object + description: Trace target conveying both the type and value of the target ID. For additional details see 3GPP TS 32.422 + properties: + TargetIdType: + type: string + enum: + - IMSI + - IMEI + - IMEISV + - PUBLIC_ID + - UTRAN_CELL + - E-UTRAN_CELL + - NG-RAN_CELL + - eNB + - RNC + - gNB + - SUPI + TargetIdValue: + type: string + required: + - TargetIdType + - TargetIdValue + + triggeringEvents-Type: + type: object + description: Specifies when to start a Trace Recording Session and which message shall be recorded first, when to stop a Trace Recording Session and which message shall be recorded last respectively. See 3GPP TS 32.422 clause 5.1 for additional detials. + properties: + MSC_SERVER: + type: array + items: + type: string + enum: + - MO_MT_CALLS + - MO_MT_SMS + - LU_IMSIattach_IMSIdetach + - HANDOVER + - SS + SGSN: + type: array + items: + type: string + enum: + - PDPcontext + - MO_MT_SMS + - RAU_GPRSattach_GPRSdetach + - MBMScontext + MGW: + type: array + items: + type: string + enum: + - CONTEXT + GGSN: + type: array + items: + type: string + enum: + - PDPcontext + - MBMScontext + IMS: + type: array + items: + type: string + enum: + - SIPsession_StandaloneTransaction + BM_SC: + type: array + items: + type: string + enum: + - MBMSactivation + MME: + type: array + items: + type: string + enum: + - UEinitiatedPDNconnectivityRequest + - ServiceRequest + - InitialAttach_TAU_Detach + - UEinitiatedPDNdisconnection + - BearerActivationModificationDeletion + - Handover + SGW: + type: array + items: + type: string + enum: + - PDNconnectionCreation + - PDNconnectionTermination + - BearerActivationModificationDeletion + PGW: + type: array + items: + type: string + enum: + - PDNconnectionCreation + - PDNconnectionTermination + - BearerActivationModificationDeletion + AMF: + type: array + items: + type: string + enum: + - Registration + - ServiceRequest + - Handover + - UEderegistration + - NetworkDeregistration + - UEMobilityFromEPC + - UEMobilityToEPC + SMF: + type: array + items: + type: string + enum: + - PDUsessionEstablishment + - PDUsessionModification + - PDUsessionRelease + - PDUsessionUPactivationDeactivation + - MobilityBtw3gppAndN3gppTo5GC + - MobilityFromEpc + PCF: + type: array + items: + type: string + enum: + - AMpolicy + - SMpolicy + - Authorization + - BDTpolicy + UPF: + type: array + items: + type: string + enum: + - N4Session + AUSF: + type: array + items: + type: string + enum: + - UEauthentication + NEF: + type: array + items: + type: string + enum: + - EventExposure + - PFDmanagement + - ParameterProvision + - Trigger + NRF: + type: array + items: + type: string + enum: + - NFmanagement + - NFdiscovery + NSSF: + type: array + items: + type: string + enum: + - NSSelection + - NSSAI + SMSF: + type: array + items: + type: string + enum: + - SMservice + UDM: + type: array + items: + type: string + enum: + - UEcontext + - SubscriberData + - UEauthentication + - EventExposure + + anonymizationOfMdtData-Type: + description: Specifies level of MDT anonymization. For additional details see 3GPP TS 32.422 clause 5.10.12. + type: string + enum: + - NO_IDENTITY + - TAC_OF_IMEI + + beamLevelMeasurement-Type: + description: Determines whether beam level measurements shall be included in case of immediate MDT M1 measurement in NR. For additional details see 3GPP TS 32.422 clause 5.10.40. + type: boolean + + collectionPeriodRrmLte-Type: + description: See details in 3GPP TS 32.422 clause 5.10.20. + type: string + enum: + - 100ms + - 1000ms + - 1024ms + - 1280ms + - 2048ms + - 2560ms + - 5120ms + - 10000ms + - 10240ms + - 60000ms + + collectionPeriodM6Lte-Type: + description: See details in 3GPP TS 32.422 clause 5.10.32. + type: string + enum: + - 1024ms + - 2048ms + - 5120ms + - 10240ms + + collectionPeriodM7Lte-Type: + description: See details in 3GPP TS 32.422 clause 5.10.33. + type: integer + minimum: 1 + maximum: 60 + + collectionPeriodRrmUmts-Type: + description: See details in 3GPP TS 32.422 clause 5.10.21. + type: string + enum: + - 100ms + - 250ms + - 500ms + - 1000ms + - 2000ms + - 3000ms + - 4000ms + - 6000ms + + collectionPeriodRrmNr-Type: + description: See details in 3GPP TS 32.422 clause 5.10.30. + type: string + enum: + - 1024ms + - 2048ms + - 5120ms + - 10240ms + - 60000ms + + collectionPeriodM6Nr-Type: + description: See details in 3GPP TS 32.422 clause 5.10.34. + type: string + enum: + - 120ms + - 240ms + - 480ms + - 640ms + - 1024ms + - 2048ms + - 5120ms + - 10240ms + - 20480ms + - 40960ms + - 1min + - 6min + - 12min + - 30min + + collectionPeriodM7Nr-Type: + description: See details in 3GPP TS 32.422 clause 5.10.35. + type: integer + minimum: 1 + maximum: 60 + + eventListForEventTriggeredMeasurement-Type: + description: See details in 3GPP TS 32.422 clause 5.10.28. + type: string + enum: + - OUT_OF_COVERAGE + - A2_EVENT + + eventThreshold-Type: + description: See details in 3GPP TS 32.422 clause 5.10.7, 5.10.7a, 5.10.13 and 5.10.14. + type: object + properties: + EventThresholdRSRP: + oneOf: + - type: integer + minimum: 0 + maximum: 97 + - type: integer + minimum: 0 + maximum: 127 + EventThresholdRSRQ: + oneOf: + - type: integer + minimum: 0 + maximum: 34 + - type: integer + minimum: 0 + maximum: 127 + EventThreshold1F: + type: object + properties: + CPICH_RSCP: + type: integer + minimum: -120 + maximum: 25 + CPICH_EcNo: + type: integer + minimum: -24 + maximum: 0 + PathLoss: + type: integer + minimum: 30 + maximum: 165 + EventThreshold1I: + type: integer + minimum: -120 + maximum: 25 + + listOfMeasurements-Type: + description: See details in 3GPP TS 32.422 clause 5.10.3 for details. + type: object + properties: + UMTS: + type: array + items: + type: string + enum: + - M1 + - M2 + - M3 + - M4 + - M5 + - M6_DL + - M6_UL + - M7_DL + - M7_UL + LTE: + type: array + items: + type: string + enum: + - M1 + - M2 + - M3 + - M4 + - M5 + - M1_EVENT_TRIGGERED + - M6 + - M7 + - M8 + - M9 + NR: + type: array + items: + type: string + enum: + - M1 + - M2 + - M3 + - M4 + - M5 + - M6 + - M7 + - M1_EVENT_TRIGGERED + - M8 + - M9 + + loggingDuration-Type: + description: See details in 3GPP TS 32.422 clause 5.10.9. + type: string + enum: + - 600s + - 1200s + - 2400s + - 3600s + - 5400s + - 7200s + + loggingInterval-Type: + description: See details in 3GPP TS 32.422 clause 5.10.8. + type: object + properties: + UMTS: + type: array + items: + type: string + enum: + - 1.28s + - 2.56s + - 5.12s + - 10.24s + - 20.48s + - 30.72s + - 40.96s + - 61.44s + LTE: + type: array + items: + type: string + enum: + - 1.28s + - 2.56s + - 5.12s + - 10.24s + - 20.48s + - 30.72s + - 40.96s + - 61.44s + NR: + type: array + items: + type: string + enum: + - 0.32s + - 0.64s + - 1.28s + - 2.56s + - 5.12s + - 10.24s + - 20.48s + - 30.72s + - 40.96s + - 61.44s + - INFINITY + + eventThresholdL1-Type: + description: See details in 3GPP TS 32.422 clause 5.10.X. + type: object + properties: + RSRP: + type: integer + minimum: 0 + maximum: 127 + RSRQ: + type: integer + minimum: 0 + maximum: 127 + + hysteresisL1-Type: + description: See details in 3GPP TS 32.422 clause 5.10.Y. + type: integer + minimum: 0 + maximum: 30 + + timeToTriggerL1-Type: + description: See details in 3GPP TS 32.422 clause 5.10.Z. + type: string + enum: + - 0ms + - 40ms + - 64ms + - 80ms + - 100ms + - 128ms + - 160ms + - 256ms + - 320ms + - 480ms + - 512ms + - 640ms + - 1024ms + - 1280ms + - 2560ms + - 5120ms + + measurementPeriodLte-Type: + description: See details in 3GPP TS 32.422 clause 5.10.23. + type: string + enum: + - 1024ms + - 2048ms + - 5120ms + - 10240ms + - 1min + + measurementPeriodUmts-Type: + description: See details in 3GPP TS 32.422 clause 5.10.22. + type: string + enum: + - 1000ms + - 2000ms + - 3000ms + - 4000ms + - 6000ms + - 8000ms + - 12000ms + - 16000ms + - 20000ms + - 24000ms + - 28000ms + - 32000ms + - 64000ms + + measurementQuantity-Type: + description: See details in 3GPP TS 32.422 clause 5.10.15. + type: string + enum: + - CPICH_EcNo + - CPICH_RSCP + - PathLoss + + eventThresholdUphUmts-Type: + description: See details in 3GPP TS 32.422 clause 5.10.A. + type: integer + minimum: 0 + maximum: 31 + + plmnList-Type: + description: See details in 3GPP TS 32.422 clause 5.10.24. + type: array + items: + type: object + properties: + mcc: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mnc' + required: + - mcc + - mnc + maxItems: 16 + + positioningMethod-Type: + description: See details in 3GPP TS 32.422 clause 5.10.19. + type: string + enum: + - GNSS + - E-CELL_ID + + reportAmount-Type: + description: See details in 3GPP TS 32.422 clause 5.10.6. + type: string + enum: + - 1 + - 2 + - 4 + - 8 + - 16 + - 32 + - 64 + - INFINITY + reportAmountM1LTE-Type: + description: See details in 3GPP TS 32.422 clause 5.10.x. + type: string + enum: + - 1 + - 2 + - 4 + - 8 + - 16 + - 32 + - 64 + - INFINITY + + reportAmountM4LTE-Type: + description: See details in 3GPP TS 32.422 clause 5.10.y. + type: string + enum: + - 1 + - 2 + - 4 + - 8 + - 16 + - 32 + - 64 + - INFINITY + + reportAmountM5LTE-Type: + description: See details in 3GPP TS 32.422 clause 5.10.z. + type: string + enum: + - 1 + - 2 + - 4 + - 8 + - 16 + - 32 + - 64 + - INFINITY + + reportAmountM6LTE-Type: + description: See details in 3GPP TS 32.422 clause 5.10.a. + type: string + enum: + - 1 + - 2 + - 4 + - 8 + - 16 + - 32 + - 64 + - INFINITY + + reportAmountM7LTE-Type: + description: See details in 3GPP TS 32.422 clause 5.10.b. + type: string + enum: + - 1 + - 2 + - 4 + - 8 + - 16 + - 32 + - 64 + - INFINITY + + reportingTrigger-Type: + description: See details in 3GPP TS 32.422 clause 5.10.4. + type: array + items: + type: string + enum: + - PERIODICAL + - A2_FOR_LTE_NR + - 1F_FOR_UMTS + - 1I_FOR_UMTS_MCPS_TDD + - A2_TRIGGERED_PERIODIC_FOR_LTE_NR + - ALL_CONFIGURED_RRM_FOR_LTE_NR + - ALL_CONFIGURED_RRM_FOR_UMTS + + reportInterval-Type: + description: See details in 3GPP TS 32.422 clause 5.10.5. + type: object + properties: + UMTS: + type: array + items: + type: string + enum: + - 250ms + - 500ms + - 1000ms + - 2000ms + - 3000ms + - 4000ms + - 6000ms + - 8000ms + - 12000ms + - 16000ms + - 20000ms + - 24000ms + - 28000ms + - 32000ms + - 64000ms + LTE: + type: array + items: + type: string + enum: + - 120ms + - 240ms + - 480ms + - 640ms + - 1024ms + - 2048ms + - 5120ms + - 10240ms + - 60000ms + - 360000ms + - 720000ms + - 1800000ms + - 3600000ms + NR: + type: array + items: + type: string + enum: + - 120ms + - 240ms + - 480ms + - 640ms + - 1024ms + - 2048ms + - 5120ms + - 10240ms + - 20480ms + - 40960ms + - 60000ms + - 360000ms + - 720000ms + - 1800000ms + + reportType-Type: + description: Report type for logged NR MDT. See details in 3GPP TS 32.422 clause 5.10.27. + type: string + enum: + - PERIODICAL + - EVENT_TRIGGERED + + sensorInformation-Type: + description: See details in 3GPP TS 32.422 clause 5.10.29. + type: array + items: + type: string + enum: + - BAROMETRIC_PRESSURE + - UE_SPEED + - UE_ORIENTATION + + traceCollectionEntityId-Type: + description: See details in 3GPP TS 32.422 clause 5.10.11. Only TCE Id value may be sent over the air to the UE being configured for Logged MDT. + type: integer + + excessPacketDelayThresholds-Type: + description: Excess Packet Delay Threshold for NR MDT. See details in 3GPP TS 32.422 clause 4.1.1 and 4.1.2. + type: array + properties: + fiveQIValue: + type: integer + excessPacketDelayThresholdValue: + type: string + enum: + - 0.25ms + - 0.5ms + - 1ms + - 2ms + - 4ms + - 5ms + - 10ms + - 20ms + - 30ms + - 40ms + - 50ms + - 60ms + - 70ms + - 80ms + - 90ms + - 100ms + - 150ms + - 300ms + - 500ms + minItems: 0 + maxItems: 255 + + traceConfig-Type: + description: Trace configuration parameters for NR. See details in 3GPP TS 28.622 clause 4.3.30. + type: object + properties: + listOfInterfaces: + $ref: '#/components/schemas/listOfInterfaces-Type' + listOfNeTypes: + $ref: '#/components/schemas/listOfNeTypes-Type' + traceDepth: + $ref: '#/components/schemas/traceDepth-Type' + triggeringEvents: + $ref: '#/components/schemas/triggeringEvents-Type' + + immediateMDTConfig-Type: + description: Immediate MDT configuration parameters. See details in 3GPP TS 28.622 clause 4.3.30. + type: object + properties: + listOfMeasurements: + $ref: '#/components/schemas/listOfMeasurements-Type' + reportingTrigger: + $ref: '#/components/schemas/reportingTrigger-Type' + reportAmount: + $ref: '#/components/schemas/reportAmount-Type' + reportAmountM1LTE: + $ref: '#/components/schemas/reportAmountM1LTE-Type' + reportAmountM4LTE: + $ref: '#/components/schemas/reportAmountM4LTE-Type' + reportAmountM5LTE: + $ref: '#/components/schemas/reportAmountM5LTE-Type' + reportAmountM6LTE: + $ref: '#/components/schemas/reportAmountM6LTE-Type' + reportAmountM7LTE: + $ref: '#/components/schemas/reportAmountM7LTE-Type' + reportInterval: + $ref: '#/components/schemas/reportInterval-Type' + eventThreshold: + $ref: '#/components/schemas/eventThreshold-Type' + collectionPeriodRrmLte: + $ref: '#/components/schemas/collectionPeriodRrmLte-Type' + collectionPeriodM6Lte: + $ref: '#/components/schemas/collectionPeriodM6Lte-Type' + collectionPeriodM7Lte: + $ref: '#/components/schemas/collectionPeriodM7Lte-Type' + collectionPeriodRrmUmts: + $ref: '#/components/schemas/collectionPeriodRrmUmts-Type' + collectionPeriodRrmNr: + $ref: '#/components/schemas/collectionPeriodRrmNr-Type' + collectionPeriodM6Nr: + $ref: '#/components/schemas/collectionPeriodM6Nr-Type' + collectionPeriodM7Nr: + $ref: '#/components/schemas/collectionPeriodM7Nr-Type' + eventThresholdUphUmts: + $ref: '#/components/schemas/eventThresholdUphUmts-Type' + measurementPeriodUmts: + $ref: '#/components/schemas/measurementPeriodUmts-Type' + measurementPeriodLte: + $ref: '#/components/schemas/measurementPeriodLte-Type' + measurementQuantity: + $ref: '#/components/schemas/measurementQuantity-Type' + beamLevelMeasurement: + $ref: '#/components/schemas/beamLevelMeasurement-Type' + positioningMethod: + $ref: '#/components/schemas/positioningMethod-Type' + excessPacketDelayThresholds: + $ref: '#/components/schemas/excessPacketDelayThresholds-Type' + + loggedMDTConfig-Type: + description: Logged MDT configuration parameters. See details in 3GPP TS 28.622 clause 4.3.30. + type: object + properties: + traceCollectionEntityId: + $ref: '#/components/schemas/traceCollectionEntityId-Type' + loggingDuration: + $ref: '#/components/schemas/loggingDuration-Type' + loggingInterval: + $ref: '#/components/schemas/loggingInterval-Type' + eventThresholdL1: + $ref: '#/components/schemas/eventThresholdL1-Type' + hysteresisL1: + $ref: '#/components/schemas/hysteresisL1-Type' + timeToTriggerL1: + $ref: '#/components/schemas/timeToTriggerL1-Type' + mbsfnAreaList: + type: array + items: + $ref: '#/components/schemas/MbsfnArea' + reportType: + $ref: '#/components/schemas/reportType-Type' + plmnList: + $ref: '#/components/schemas/plmnList-Type' + eventListForEventTriggeredMeasurement: + $ref: '#/components/schemas/eventListForEventTriggeredMeasurement-Type' + areaConfigurationForNeighCell: + $ref: '#/components/schemas/AreaConfig' + + mdtConfig-Type: + description: MDT config parameters. See details in 3GPP TS 28.622 clause 4.3.30. + type: object + properties: + anonymizationOfMdtData: + $ref: '#/components/schemas/anonymizationOfMdtData-Type' + areaScope: + type: array + items: + $ref: '#/components/schemas/AreaScope' + sensorInformation: + $ref: '#/components/schemas/sensorInformation-Type' + immediateMDTConfig: + $ref: '#/components/schemas/immediateMDTConfig-Type' + loggedMDTConfig: + $ref: '#/components/schemas/loggedMDTConfig-Type' + +#-------- end of Definition of types used in Trace control NRM fragment ---------- + + +#-------- Definition of abstract IOC Top ----------------------------------------- + + Top-Attr: + # This definition will be deprecated, when all occurances of Top-Attr + # are replaced by Top. + type: object + properties: + id: + type: string + nullable: true + objectClass: + type: string + objectInstance: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + VsDataContainer: + $ref: '#/components/schemas/VsDataContainer-Multiple' + required: + - id + Top: + type: object + properties: + id: + type: string + nullable: true + objectClass: + type: string + objectInstance: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + VsDataContainer: + $ref: '#/components/schemas/VsDataContainer-Multiple' + required: + - id + +#-------- Definition of IOCs with new name-containments defined in other TS ------ + + SubNetwork-Attr: + type: object + properties: + dnPrefix: + type: string + userLabel: + type: string + userDefinedNetworkType: + type: string + setOfMcc: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mcc' + priorityLabel: + type: integer + supportedPerfMetricGroups: + type: array + items: + $ref: '#/components/schemas/SupportedPerfMetricGroup' + supportedTraceMetrics: + type: array + items: + type: string + ManagedElement-Attr: + type: object + properties: + dnPrefix: + type: string + managedElementTypeList: + type: array + items: + type: string + userLabel: + type: string + locationName: + type: string + managedBy: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + vendorName: + type: string + userDefinedState: + type: string + swVersion: + type: string + priorityLabel: + type: integer + supportedPerfMetricGroups: + type: array + items: + $ref: '#/components/schemas/SupportedPerfMetricGroup' + supportedTraceMetrics: + type: array + items: + type: string + + SubNetwork-ncO: + type: object + properties: + ManagementNode: + $ref: '#/components/schemas/ManagementNode-Multiple' + MnsAgent: + $ref: '#/components/schemas/MnsAgent-Multiple' + MeContext: + $ref: '#/components/schemas/MeContext-Multiple' + PerfMetricJob: + $ref: '#/components/schemas/PerfMetricJob-Multiple' + ThresholdMonitor: + $ref: '#/components/schemas/ThresholdMonitor-Multiple' + TraceJob: + $ref: '#/components/schemas/TraceJob-Multiple' + ManagementDataCollection: + $ref: '#/components/schemas/ManagementDataCollection-Multiple' + NtfSubscriptionControl: + $ref: '#/components/schemas/NtfSubscriptionControl-Multiple' + AlarmList: + $ref: '#/components/schemas/AlarmList-Single' + FileDownloadJob: + $ref: '#/components/schemas/FileDownloadJob-Multiple' + Files: + $ref: '#/components/schemas/Files-Multiple' + MnsRegistry: + $ref: '#/components/schemas/MnsRegistry-Single' + ManagedElement-ncO: + type: object + properties: + MnsAgent: + $ref: '#/components/schemas/MnsAgent-Multiple' + PerfMetricJob: + $ref: '#/components/schemas/PerfMetricJob-Multiple' + ThresholdMonitor: + $ref: '#/components/schemas/ThresholdMonitor-Multiple' + TraceJob: + $ref: '#/components/schemas/TraceJob-Multiple' + NtfSubscriptionControl: + $ref: '#/components/schemas/NtfSubscriptionControl-Multiple' + AlarmList: + $ref: '#/components/schemas/AlarmList-Single' + FileDownloadJob: + $ref: '#/components/schemas/FileDownloadJob-Multiple' + Files: + $ref: '#/components/schemas/Files-Multiple' + +#-------- Definition of abstract IOCs -------------------------------------------- + + ManagedFunction-Attr: + type: object + properties: + userLabel: + type: string + vnfParametersList: + type: array + items: + $ref: '#/components/schemas/VnfParameter' + peeParametersList: + type: array + items: + $ref: '#/components/schemas/PeeParameter' + priorityLabel: + type: integer + supportedPerfMetricGroups: + type: array + items: + $ref: '#/components/schemas/SupportedPerfMetricGroup' + supportedTraceMetrics: + type: array + items: + type: string + EP_RP-Attr: + type: object + properties: + userLabel: + type: string + farEndEntity: + type: string + supportedPerfMetricGroups: + type: array + items: + $ref: '#/components/schemas/SupportedPerfMetricGroup' + + TraceJob-Attr: + type: object + description: abstract class used as a container of all TraceJob attributes + properties: + jobType: + $ref: '#/components/schemas/jobType-Type' + plmnTarget: + $ref: '#/components/schemas/plmnTarget-Type' + traceReportingConsumerUri: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + traceCollectionEntityIpAddress: + $ref: '#/components/schemas/IpAddr' + traceReference: + $ref: '#/components/schemas/traceReference-Type' + jobId: + type: string + traceReportingFormat: + $ref: '#/components/schemas/traceReportingFormat-Type' + traceTarget: + $ref: '#/components/schemas/traceTarget-Type' + traceConfig: + $ref: '#/components/schemas/traceConfig-Type' + mdtConfig: + $ref: '#/components/schemas/mdtConfig-Type' + + ManagedFunction-ncO: + type: object + properties: + PerfMetricJob: + $ref: '#/components/schemas/PerfMetricJob-Multiple' + ThresholdMonitor: + $ref: '#/components/schemas/ThresholdMonitor-Multiple' + ManagedNFService: + $ref: '#/components/schemas/ManagedNFService-Multiple' + TraceJob: + $ref: '#/components/schemas/TraceJob-Multiple' + +#-------- Definition of concrete IOCs -------------------------------------------- + + VsDataContainer-Single: + type: object + properties: + id: + type: string + attributes: + type: object + properties: + vsDataType: + type: string + vsDataFormatVersion: + type: string + vsData: + nullable: true + VsDataContainer: + $ref: '#/components/schemas/VsDataContainer-Multiple' + ManagedNFService-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + userLabel: + type: string + nFServiceType: + $ref: '#/components/schemas/NFServiceType' + sAP: + $ref: '#/components/schemas/SAP' + operations: + type: array + items: + $ref: '#/components/schemas/Operation' + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + usageState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/UsageState' + registrationState: + $ref: '#/components/schemas/RegistrationState' + ManagementNode-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + userLabel: + type: string + managedElements: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + vendorName: + type: string + userDefinedState: + type: string + locationName: + type: string + swVersion: + type: string + MnsAgent: + $ref: '#/components/schemas/MnsAgent-Multiple' + MnsAgent-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + systemDN: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + MeContext-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + dnPrefix: + type: string + PerfMetricJob-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + jobId: + type: string + performanceMetrics: + type: array + items: + type: string + granularityPeriod: + type: integer + minimum: 1 + objectInstances: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + rootObjectInstances: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + reportingCtrl: + $ref: '#/components/schemas/ReportingCtrl' + Files: + $ref: '#/components/schemas/Files-Multiple' + ThresholdMonitor-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + performanceMetrics: + type: array + items: + type: string + thresholdInfoList: + type: array + items: + $ref: '#/components/schemas/ThresholdInfo' + monitorGranularityPeriod: + type: integer + minimum: 1 + objectInstances: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + rootObjectInstances: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + NtfSubscriptionControl-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + notificationRecipientAddress: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + notificationTypes: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationType' + scope: + $ref: '#/components/schemas/Scope' + notificationFilter: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Filter' + HeartbeatControl: + $ref: '#/components/schemas/HeartbeatControl-Single' + HeartbeatControl-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + heartbeatNtfPeriod: + type: integer + minimum: 0 + triggerHeartbeatNtf: + type: boolean + TraceJob-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + $ref: '#/components/schemas/TraceJob-Attr' + Files: + $ref: '#/components/schemas/Files-Multiple' + ManagementDataCollection-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + managementData: + $ref: '#/components/schemas/ManagementData' + targetNodeFilter: + $ref: '#/components/schemas/NodeFilter' + collectionTimeWindow: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + reportingCtrl: + $ref: '#/components/schemas/ReportingCtrl' + dataScope: + type: string + enum: + - SNSSAI + - 5QI + AlarmList-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + numOfAlarmRecords: + type: integer + lastModification: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + alarmRecords: + description: >- + This resource represents a map of alarm records. + The alarmIds are used as keys in the map. + type: object + additionalProperties: + $ref: 'TS28532_FaultMnS.yaml#/components/schemas/AlarmRecord' + FileDownloadJob-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + fileLocation: + type: string + notificationRecipientAddress: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + cancelJob: + type: string + enum: + - TRUE + - FALSE + jobMonitor: + $ref: '#/components/schemas/FileDownloadJobProcessMonitor' + Files-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + numberOfFiles: + type: integer + jobRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + jobId: + type: string + File: + $ref: '#/components/schemas/File-Multiple' + File-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + fileLocation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + fileCompression: + type: string + fileSize: + type: integer + fileDataType: + type: string + enum: + - PERFORMANCE + - TRACE + - ANALYTICS + - PROPRIETARY + fileFormat: + type: string + fileReadyTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + fileExpirationTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + fileContent: + type: string + jobRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + jobId: + type: string + MnsRegistry-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + MnsInfo: + $ref: '#/components/schemas/MnsInfo-Multiple' + + MnsInfo-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + mnsLabel: + type: string + mnsType: + type: string + enum: + - ProvMnS + - FaultSupervisionMnS + - StreamingDataReportingMnS + - FileDataReportingMnS + mnsVersion: + type: string + mnsAddress: + description: Resource URI as defined in the relevant Technical Specification + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + mnsScope: + description: >- + List of the managed object instances that can be accessed using the MnS. + If a complete SubNetwork can be accessed using the MnS, this attribute may + contain the DN of the SubNetwork instead of the DNs of the individual managed + entities within the SubNetwork. + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + +#-------- Definition of YAML arrays for name-contained IOCs ---------------------- + + VsDataContainer-Multiple: + type: array + items: + $ref: '#/components/schemas/VsDataContainer-Single' + ManagedNFService-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagedNFService-Single' + ManagementNode-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagementNode-Single' + MnsAgent-Multiple: + type: array + items: + $ref: '#/components/schemas/MnsAgent-Single' + MeContext-Multiple: + type: array + items: + $ref: '#/components/schemas/MeContext-Single' + PerfMetricJob-Multiple: + type: array + items: + $ref: '#/components/schemas/PerfMetricJob-Single' + ThresholdMonitor-Multiple: + type: array + items: + $ref: '#/components/schemas/ThresholdMonitor-Single' + TraceJob-Multiple: + type: array + items: + $ref: '#/components/schemas/TraceJob-Single' + ManagementDataCollection-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagementDataCollection-Single' + NtfSubscriptionControl-Multiple: + type: array + items: + $ref: '#/components/schemas/NtfSubscriptionControl-Single' + FileDownloadJob-Multiple: + type: array + items: + $ref: '#/components/schemas/FileDownloadJob-Single' + Files-Multiple: + type: array + items: + $ref: '#/components/schemas/Files-Single' + File-Multiple: + type: array + items: + $ref: '#/components/schemas/File-Single' + MnsInfo-Multiple: + type: array + items: + $ref: '#/components/schemas/MnsInfo-Single' + +#-------- Definitions in TS 28.623 for TS 28.532 --------------------------------- + + resources-genericNrm: + oneOf: + + - $ref: '#/components/schemas/VsDataContainer-Single' + + - $ref: '#/components/schemas/ManagementNode-Single' + - $ref: '#/components/schemas/MnsAgent-Single' + - $ref: '#/components/schemas/MeContext-Single' + + - $ref: '#/components/schemas/ManagedNFService-Single' + + - $ref: '#/components/schemas/PerfMetricJob-Single' + - $ref: '#/components/schemas/ThresholdMonitor-Single' + - $ref: '#/components/schemas/TraceJob-Single' + - $ref: '#/components/schemas/ManagementDataCollection-Single' + + - $ref: '#/components/schemas/NtfSubscriptionControl-Single' + - $ref: '#/components/schemas/HeartbeatControl-Single' + + - $ref: '#/components/schemas/AlarmList-Single' + + - $ref: '#/components/schemas/FileDownloadJob-Single' + - $ref: '#/components/schemas/Files-Single' + - $ref: '#/components/schemas/File-Single' + + - $ref: '#/components/schemas/MnsRegistry-Single' + - $ref: '#/components/schemas/MnsInfo-Single' diff --git a/TS29122_AsSessionWithQoS.yaml b/TS29122_AsSessionWithQoS.yaml new file mode 100644 index 0000000000000000000000000000000000000000..63112c9c447201e0ab08c24da5665ae6d43a0ea9 --- /dev/null +++ b/TS29122_AsSessionWithQoS.yaml @@ -0,0 +1,1248 @@ +openapi: 3.0.0 + +info: + title: 3gpp-as-session-with-qos + version: 1.3.0-alpha.4 + description: | + API for setting us an AS session with required QoS. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.122 V18.4.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-as-session-with-qos/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /{scsAsId}/subscriptions: + get: + summary: Read all or queried active subscriptions for the SCS/AS. + operationId: FetchAllASSessionWithQoSSubscriptions + tags: + - AS Session with Required QoS Subscriptions + parameters: + - name: scsAsId + in: path + description: Identifier of the 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. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AsSessionWithQoSSubscription' + '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. + operationId: CreateASSessionWithQoSSubscription + tags: + - AS Session with Required QoS Subscriptions + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + requestBody: + description: Request to create a new subscription resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AsSessionWithQoSSubscription' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserPlaneNotificationData' + responses: + '204': + description: No Content (successful 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: Created (Successful creation of subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AsSessionWithQoSSubscription' + 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': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetailsAsSessionWithQos' + headers: + Retry-After: + description: > + Indicates the time the AF has to wait before making a new request. It can be a + non-negative integer (decimal number) indicating the number of seconds the AF + has to wait before making a new request or an HTTP-date after which the AF can + retry a new request. + schema: + type: string + '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}/subscriptions/{subscriptionId}: + get: + summary: Read an active subscriptions for the SCS/AS and the subscription Id. + operationId: FetchIndASSessionWithQoSSubscription + tags: + - Individual AS Session with Required QoS Subscription + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AsSessionWithQoSSubscription' + '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: Updates/replaces an existing subscription resource. + operationId: UpdateIndASSessionWithQoSSubscription + tags: + - Individual AS Session with Required QoS Subscription + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AsSessionWithQoSSubscription' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AsSessionWithQoSSubscription' + '204': + description: No Content (Successful update of the 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': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetailsAsSessionWithQos' + headers: + Retry-After: + description: > + Indicates the time the AF has to wait before making a new request. It can be a + non-negative integer (decimal number) indicating the number of seconds the AF + has to wait before making a new request or an HTTP-date after which the AF can + retry a new request. + schema: + type: string + '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: Updates/replaces an existing subscription resource. + operationId: ModifyIndASSessionWithQoSSubscription + tags: + - Individual AS Session with Required QoS Subscription + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AsSessionWithQoSSubscriptionPatch' + responses: + '200': + description: OK. The subscription was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/AsSessionWithQoSSubscription' + '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': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetailsAsSessionWithQos' + headers: + Retry-After: + description: > + Indicates the time the AF has to wait before making a new request. It can be a + non-negative integer (decimal number) indicating the number of seconds the AF + has to wait before making a new request or an HTTP-date after which the AF can + retry a new request. + schema: + type: string + '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. + operationId: DeleteIndASSessionWithQoSSubscription + tags: + - Individual AS Session with Required QoS Subscription + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing subscription) + '200': + description: OK (Successful deletion of the existing subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/UserPlaneNotificationData' + '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: + AsSessionWithQoSSubscription: + description: Represents an individual AS session with required QoS subscription resource. + 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' + exterAppId: + type: string + description: Identifies the external Application Identifier. + extGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + flowInfo: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Describe the data flow which requires QoS. + ethFlowInfo: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet flows. + enEthFlowInfo: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/EthFlowInfo' + minItems: 1 + description: > + Identifies the Ethernet flows which require QoS. Each Ethernet flow consists of a flow + idenifer and the corresponding UL and/or DL flows. + listUeAddrs: + type: array + items: + $ref: '#/components/schemas/UeAddInfo' + minItems: 1 + description: Identifies the list of UE address. + multiModalId: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/MultiModalId' + protoDesc: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ProtoDesc' + qosReference: + type: string + description: Identifies a pre-defined QoS information + altQoSReferences: + type: array + items: + type: string + minItems: 1 + description: > + Identifies an ordered list of pre-defined QoS information. The lower the index of the + array for a given entry, the higher the priority. + altQosReqs: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AlternativeServiceRequirementsData' + minItems: 1 + description: > + Identifies an ordered list of alternative service requirements that include individual + QoS parameter sets. The lower the index of the array for a given entry, the higher the + priority. + disUeNotif: + description: > + Indicates whether the QoS flow parameters signalling to the UE when the SMF is notified + by the NG-RAN of changes in the fulfilled QoS situation is disabled (true) or + not (false). Default value is false. The fulfilled situation is either the QoS profile + or an Alternative QoS Profile. + type: boolean + ueIpv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ipDomain: + type: string + ueIpv6Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + macAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + usageThreshold: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + sponsorInfo: + $ref: 'TS29122_CommonData.yaml#/components/schemas/SponsorInformation' + qosMonInfo: + $ref: '#/components/schemas/QosMonitoringInformation' + pdvMon: + $ref: '#/components/schemas/QosMonitoringInformation' + qosDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + qosInactInt: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + directNotifInd: + type: boolean + description: > + Indicates whether the direct event notification is requested (true) or not (false). + Default value is false. + tscQosReq: + $ref: '#/components/schemas/TscQosRequirement' + l4sInfo: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/UplinkDownlinkSupport' + 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' + events: + description: > + Represents the list of user plane event(s) to which the SCS/AS requests to subscribe to. + type: array + items: + $ref: '#/components/schemas/UserPlaneEvent' + minItems: 1 + multiModDatFlows: + type: object + additionalProperties: + $ref: '#/components/schemas/AsSessionMediaComponent' + minProperties: 1 + description: > + Contains media component data for a single-modal data flow(s). + The key of the map is the medCompN attribute. + pduSetQos: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSetQosPara' + rTLatencyInd: + type: boolean + description: > + Indicates the service data flow needs to meet the Round-Trip (RT) latency requirement of + the service, when it is included and set to "true". + The default value is "false" if omitted. periodInfo: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/PeriodicityInfo' + rttMon: + $ref: '#/components/schemas/QosMonitoringInformation' + qosMonDatRate: + $ref: '#/components/schemas/QosMonitoringInformation' + avrgWndw: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AverWindow' + servAuthInfo: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ServAuthInfo' + qosMonConReq: + $ref: '#/components/schemas/QosMonitoringInformation' + listUeConsDtRt: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + minItems: 1 + description: > + Identifies the list of UE addresses subject for Consolidated Data Rate monitoring. + required: + - notificationDestination + + AsSessionWithQoSSubscriptionPatch: + description: Represents parameters to modify an AS session with specific QoS subscription. + type: object + properties: + exterAppId: + type: string + description: Identifies the external Application Identifier. + flowInfo: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Describe the IP data flow which requires QoS. + ethFlowInfo: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet flows. + enEthFlowInfo: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/EthFlowInfo' + minItems: 1 + description: > + Identifies the Ethernet flows which require QoS. Each Ethernet flow consists of a flow + idenifer and the corresponding UL and/or DL flows. + listUeAddrs: + type: array + items: + $ref: '#/components/schemas/UeAddInfo' + minItems: 1 + description: Identifies the list of UE address. + qosReference: + type: string + description: Pre-defined QoS reference + altQoSReferences: + type: array + items: + type: string + minItems: 1 + description: > + Identifies an ordered list of pre-defined QoS information. The lower the index of the + array for a given entry, the higher the priority. + altQosReqs: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AlternativeServiceRequirementsData' + minItems: 1 + description: > + Identifies an ordered list of alternative service requirements that include individual + QoS parameter sets. The lower the index of the array for a given entry, the higher the + priority. + disUeNotif: + type: boolean + description: > + Indicates whether the QoS flow parameters signalling to the UE when the SMF is notified + by the NG-RAN of changes in the fulfilled QoS situation is disabled (true) or + not (false). The fulfilled situation is either the QoS profile or an Alternative QoS + Profile. + usageThreshold: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThresholdRm' + qosMonInfo: + $ref: '#/components/schemas/QosMonitoringInformationRm' + pdvMon: + $ref: '#/components/schemas/QosMonitoringInformationRm' + directNotifInd: + type: boolean + description: > + Indicates whether the direct event notification is requested (true) or not (false). + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + tscQosReq: + $ref: '#/components/schemas/TscQosRequirementRm' + l4sInfo: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/UplinkDownlinkSupport' + events: + description: > + Represents the updated list of user plane event(s) to which the SCS/AS requests to + subscribe to. + type: array + items: + $ref: '#/components/schemas/UserPlaneEvent' + minItems: 1 + multiModDatFlows: + type: object + additionalProperties: + $ref: '#/components/schemas/AsSessionMediaComponentRm' + minProperties: 1 + description: > + Contains media component data for a single-modal data flow(s). + The key of the map is the medCompN attribute. + pduSetQos: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSetQosParaRm' + rTLatencyInd: + type: boolean + description: > + Indicates the service data flow needs to meet the Round-Trip (RT) latency requirement of + the service, when it is included and set to "true". + The default value is "false" if omitted. + protoDesc: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ProtoDesc' + periodInfo: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/PeriodicityInfo' + qosDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + qosInactInt: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + rttMon: + $ref: '#/components/schemas/QosMonitoringInformationRm' + qosMonDatRate: + $ref: '#/components/schemas/QosMonitoringInformationRm' + avrgWndw: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AverWindowRm' + qosMonConReq: + $ref: '#/components/schemas/QosMonitoringInformationRm' + listUeConsDtRt: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + minItems: 1 + description: > + Identifies the list of UE addresses subject for Consolidated Data Rate monitoring. + + QosMonitoringInformation: + description: Represents QoS monitoring information. + type: object + properties: + reqQosMonParams: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RequestedQosMonitoringParameter' + minItems: 1 + repFreqs: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ReportingFrequency' + minItems: 1 + repThreshDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + repThreshUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + repThreshRp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + conThreshDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + conThreshUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + waitTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + repThreshDatRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + repThreshDatRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + consDataRateThrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + consDataRateThrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + required: + - reqQosMonParams + - repFreqs + + QosMonitoringInformationRm: + description: > + Represents the same as the QosMonitoringInformation data type but with + the nullable:true property. + type: object + properties: + reqQosMonParams: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RequestedQosMonitoringParameter' + minItems: 1 + repFreqs: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ReportingFrequency' + minItems: 1 + repThreshDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + repThreshUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + repThreshRp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + conThreshDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + conThreshUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + waitTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + repThreshDatRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + repThreshDatRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + consDataRateThrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + consDataRateThrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + + QosMonitoringReport: + description: Represents a QoS monitoring report. + type: object + properties: + ulDelays: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + dlDelays: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + rtDelays: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + pdmf: + type: boolean + description: Represents the packet delay measurement failure indicator. + ulDataRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + dlDataRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + ulAggrDataRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + dlAggrDataRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + ulConInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + dlConInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + cimf: + type: boolean + description: > + Represents the congestion information measurement failure indicator. When set to "true", + it indicates that a congestion information failure has occurred. Default value is false + if omitted. + + UserPlaneNotificationData: + description: Represents the parameters to be conveyed in a user plane event(s) notification. + type: object + properties: + transaction: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + eventReports: + type: array + items: + $ref: '#/components/schemas/UserPlaneEventReport' + minItems: 1 + description: Contains the reported event and applicable information + required: + - transaction + - eventReports + + UserPlaneEventReport: + description: Represents an event report for user plane. + type: object + properties: + event: + $ref: '#/components/schemas/UserPlaneEvent' + accumulatedUsage: + $ref: 'TS29122_CommonData.yaml#/components/schemas/AccumulatedUsage' + flowIds: + type: array + items: + type: integer + minItems: 1 + description: > + Identifies the affected flows that were sent during event subscription. It might be + omitted when the reported event applies to all the flows sent during the subscription. + multiModFlows: + type: array + items: + $ref: '#/components/schemas/MultiModalFlows' + minItems: 1 + description: > + Identifies the the flow filters for the single-modal data flows thatwere sent + during event subscription. + It may be omitted when the reported event applies to all the + single-modal data flows sent during the subscription. + appliedQosRef: + type: string + description: > + The currently applied QoS reference. Applicable for event QOS_NOT_GUARANTEED or + SUCCESSFUL_RESOURCES_ALLOCATION. + altQosNotSuppInd: + type: boolean + description: > + When present and set to true it indicates that the Alternative QoS profiles are not + supported by the access network. Applicable for event QOS_NOT_GUARANTEED. + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + qosMonReports: + type: array + items: + $ref: '#/components/schemas/QosMonitoringReport' + minItems: 1 + description: Contains the QoS Monitoring Reporting information + pdvMonReports: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/PdvMonitoringReport' + minItems: 1 + description: Contains the PDV Monitoring Reporting information + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + batOffsetInfo: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/BatOffsetInfo' + rttMonReports: + type: array + items: + $ref: '#/components/schemas/QosMonitoringReport' + minItems: 1 + description: Contains the round trip delay over two SDFs reporting information + qosMonDatRateReps: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/QosMonitoringReport' + minItems: 1 + description: > + Contains QoS Monitoring for data rate information. It shall be present when the notified + event is "QOS_MONITORING" and data rate measurements are available. + aggrDataRateRpts: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/QosMonitoringReport' + minItems: 1 + description: > + Contains QoS Monitoring for aggregated data rate information. It shall be present when + the notified event is "QOS_MONITORING" and data rate measurements are available. + qosMonConInfoReps: + type: array + items: + $ref: '#/components/schemas/QosMonitoringReport' + minItems: 1 + description: > + Contains QoS Monitoring for congestion information. It shall be present when the + notified event is "QOS_MONITORING" and congestion measurements are available. + required: + - event + + TscQosRequirement: + description: Represents QoS requirements for time sensitive communication. + type: object + properties: + reqGbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + reqGbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + reqMbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + reqMbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxTscBurstSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVol' + req5Gsdelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + reqPer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate' + priority: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscPriorityLevel' + tscaiTimeDom: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + tscaiInputDl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + tscaiInputUl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + capBatAdaptation: + type: boolean + description: > + Indicates the capability for AF to adjust the burst sending time, when it is supported + and set to "true". The default value is "false" if omitted. + TscQosRequirementRm: + description: > + Represents the same as the TscQosRequirement data type but with the nullable:true property. + type: object + properties: + reqGbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + reqGbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + reqMbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + reqMbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + maxTscBurstSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm' + req5Gsdelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudgetRm' + reqPer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRateRm' + priority: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscPriorityLevelRm' + tscaiTimeDom: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + tscaiInputDl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + tscaiInputUl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + capBatAdaptation: + type: boolean + description: > + Indicates the capability for AF to adjust the burst sending time, when it is supported + and set to "true". The default value is "false" if omitted. + nullable: true + + AdditionInfoAsSessionWithQos: + description: Describes additional error information specific for this API. + type: object + properties: + acceptableServInfo: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AcceptableServiceInfo' + + ProblemDetailsAsSessionWithQos: + description: Extends ProblemDetails to also include the acceptable service info. + allOf: + - $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/AdditionInfoAsSessionWithQos' + + AsSessionMediaComponent: + description: > + Representmedia component data for a single-modal data flow of a multi-modal service. + type: object + required: + - medCompN + allOf: + - not: + required: [altSerReqs,altSerReqsData] + - not: + required: [qosReference,altSerReqsData] + properties: + flowInfos: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + nullable: true + description: > + Contains the IP data flow(s) description for a single-modal data flow. + qosReference: + type: string + disUeNotif: + type: boolean + altSerReqs: + type: array + items: + type: string + minItems: 1 + altSerReqsData: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AlternativeServiceRequirementsData' + minItems: 1 + description: > + Contains alternative service requirements that include individual QoS parameter sets. + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + medCompN: + type: integer + medType: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/MediaType' + mirBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + mirBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + tsnQos: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TsnQosContainer' + tscaiInputDl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + tscaiInputUl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + tscaiTimeDom: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + rTLatencyReq: + type: boolean + description: Round-Trip latency requirement of the service data flow. + pduSetQos: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSetQosPara' + evSubsc: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EventsSubscReqData' + + AsSessionMediaComponentRm: + description: > + Represents the AsSessionMediaComponent data type with nullable information. + type: object + required: + - medCompN + not: + required: [altSerReqs,altSerReqsData] + properties: + flowInfos: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + nullable: true + description: > + Contains the IP data flow(s) description for a single-modal data flow. + qosReference: + type: string + nullable: true + altSerReqs: + type: array + items: + type: string + minItems: 1 + nullable: true + altSerReqsData: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AlternativeServiceRequirementsData' + minItems: 1 + description: > + Contains removable alternative service requirements that include individual QoS + parameter sets. + nullable: true + disUeNotif: + type: boolean + nullable: true + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + medCompN: + type: integer + medType: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/MediaType' + mirBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + mirBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + tsnQos: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TsnQosContainerRm' + tscaiInputDl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + tscaiInputUl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + rTLatencyReq: + type: boolean + description: Round-Trip latency requirement of the service data flow. + pduSetQos: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSetQosPara' + evSubsc: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EventsSubscReqDataRm' + nullable: true + + MultiModalFlows: + description: Represents a flow information within a single-modal data flow. + type: object + properties: + medCompN: + type: integer + description: > + It contains the ordinal number of the single-modal data flow. Identifies the + single-modal data flow. + flowIds: + type: array + items: + type: integer + minItems: 1 + description: > + Identifies the affected flow(s) within the single-modal data flow + (identified by the medCompN attribute). + It may be omitted when all flows are affected. + required: + - medCompN + + UeAddInfo: + description: Represent the UE address information. + properties: + ueIpAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + portNumber: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + + UserPlaneEvent: + anyOf: + - type: string + enum: + - SESSION_TERMINATION + - LOSS_OF_BEARER + - RECOVERY_OF_BEARER + - RELEASE_OF_BEARER + - USAGE_REPORT + - FAILED_RESOURCES_ALLOCATION + - QOS_GUARANTEED + - QOS_NOT_GUARANTEED + - QOS_MONITORING + - SUCCESSFUL_RESOURCES_ALLOCATION + - ACCESS_TYPE_CHANGE + - PLMN_CHG + - L4S_NOT_AVAILABLE + - L4S_AVAILABLE + - BAT_OFFSET_INFO + - RT_DELAY_TWO_QOS_FLOWS + - PACK_DELAY_VAR + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the user plane event. + Possible values are: + - SESSION_TERMINATION: Indicates that Rx session is terminated. + - LOSS_OF_BEARER : Indicates a loss of a bearer. + - RECOVERY_OF_BEARER: Indicates a recovery of a bearer. + - RELEASE_OF_BEARER: Indicates a release of a bearer. + - USAGE_REPORT: Indicates the usage report event. + - FAILED_RESOURCES_ALLOCATION: Indicates the resource allocation is failed. + - QOS_GUARANTEED: The QoS targets of one or more SDFs are guaranteed again. + - QOS_NOT_GUARANTEED: The QoS targets of one or more SDFs are not being guaranteed. + - QOS_MONITORING: Indicates a QoS monitoring event. + - SUCCESSFUL_RESOURCES_ALLOCATION: Indicates the resource allocation is successful. + - ACCESS_TYPE_CHANGE: Indicates an Access type change. + - PLMN_CHG: Indicates a PLMN change. + - L4S_NOT_AVAILABLE: The ECN marking for L4S of one or more SDFs is not available. + - L4S_AVAILABLE: The ECN marking for L4S of one or more SDFs is available again. + - BAT_OFFSET_INFO: Indicates the network provided BAT offset and the optionally adjusted periodicity. + - RT_DELAY_TWO_QOS_FLOWS: Indicates round-trip delay on UL and DL flows over two QoS flows. + - PACK_DELAY_VAR: Indicates Packet Delay Variation is enabled for the SDF. + diff --git a/TS29122_ChargeableParty.yaml b/TS29122_ChargeableParty.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6bf5c2962f85b69c4a5fc682989c82b9cad43c10 --- /dev/null +++ b/TS29122_ChargeableParty.yaml @@ -0,0 +1,453 @@ +openapi: 3.0.0 +info: + title: 3gpp-chargeable-party + version: 1.3.0-alpha.1 + description: | + API for Chargeable Party management. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V18.1.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 diff --git a/TS29122_CpProvisioning.yaml b/TS29122_CpProvisioning.yaml new file mode 100644 index 0000000000000000000000000000000000000000..445f3c6864d1e53de59431b60b5e9edf558f1c74 --- /dev/null +++ b/TS29122_CpProvisioning.yaml @@ -0,0 +1,826 @@ +openapi: 3.0.0 + +info: + title: 3gpp-cp-parameter-provisioning + version: 1.3.0-alpha.4 + description: | + API for provisioning communication pattern parameters. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.122 V18.4.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-cp-parameter-provisioning/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /{scsAsId}/subscriptions: + get: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + summary: Read all active CP parameter provisioning subscription resources for a given SCS/AS. + operationId: FetchAllCPProvisioningSubscriptions + tags: + - CP provisioning Subscriptions + responses: + '200': + description: OK. The subscription information related to the request URI is returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CpInfo' + 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: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + summary: Create a new subscription resource of provisioning CP parameter set(s). + operationId: CreateCPProvisioningSubscription + tags: + - CP provisioning Subscriptions + requestBody: + description: > + Create new subscriptions for a given SCS/AS and the provisioning CP parameter sets. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CpInfo' + responses: + '201': + description: > + Created. The subscription was created successfully. The SCEF shall return the created + subscription in the response content. + content: + application/json: + schema: + $ref: '#/components/schemas/CpInfo' + 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': + description: > + The CP parameters for all sets were not created successfully. CpReport may be included + with detailed information. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CpReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/subscriptions/{subscriptionId}: + get: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + summary: Read a CP parameter provisioning subscription resource. + operationId: FetchIndCPProvisioningSubscription + tags: + - Individual CP Provisioning Subscription + responses: + '200': + description: OK. The subscription information related to the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/CpInfo' + '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: Modify a CP parameter provisioning subscription resource. + operationId: UpdateIndCPProvisioningSubscription + tags: + - Individual CP Provisioning Subscription + requestBody: + description: Modify a CP parameter provisioning subscription resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CpInfo' + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + responses: + '200': + description: > + OK. The subscription was modified successfully. The SCEF shall return an updated + subscription in the response content. + content: + application/json: + schema: + $ref: '#/components/schemas/CpInfo' + '204': + description: > + No Content. The subscription was modified successfully and no content is to be sent + in the response message 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': + description: > + The CP parameters for all sets were not updated successfully. CpReport may be included + with detailed information. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CpReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + summary: Delete a CP parameter provisioning subscription resource. + operationId: DeleteIndCPProvisioningSubscription + tags: + - Individual CP Provisioning Subscription + responses: + '204': + description: > + No Content. The subscription was deleted successfully. The content shall be empty. + '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' + /{scsAsId}/subscriptions/{subscriptionId}/cpSets/{setId}: + get: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + - name: setId + in: path + description: Identifier of the CP parameter set + required: true + schema: + type: string + summary: Read CP at individual CP set(s) level associated with a CP parameter set Id. + operationId: FetchIndCPSetProvisioning + tags: + - Individual CP set Provisioning + responses: + '200': + description: OK. The subscription information related to the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/CpParameterSet' + '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: Update CP at individual CP set(s) level associated with a CP parameter set Id. + operationId: UpdateIndCPSetProvisioning + tags: + - Individual CP set Provisioning + requestBody: + description: Change information for a CP parameter set. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CpParameterSet' + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + - name: setId + in: path + description: Identifier of the CP parameter set + required: true + schema: + type: string + responses: + '200': + description: > + OK. The CP parameter set resource was modified successfully. The SCEF shall return an + updated CP parameter set resource in the response content. + content: + application/json: + schema: + $ref: '#/components/schemas/CpParameterSet' + '204': + description: > + No Content. The CP parameter set resource was modified successfully and no content + is to be sent in the response message 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' + '409': + description: The CP parameters for the CP set were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CpReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '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': + description: The CP parameters for the CP set were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CpReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + - name: setId + in: path + description: Identifier of the CP parameter set + required: true + schema: + type: string + summary: Delete CP at individual CP set(s) level associated with a CP parameter set Id. + operationId: DeleteIndCPSetProvisioning + tags: + - Individual CP set Provisioning + responses: + '204': + description: > + No Content. The subscription was deleted successfully. The content shall be empty. + '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: + CpInfo: + description: Represents the resources for communication pattern parameter provisioning. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + mtcProviderId: + type: string + description: Identifies the MTC Service Provider and/or MTC Application. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + cpParameterSets: + type: object + additionalProperties: + $ref: '#/components/schemas/CpParameterSet' + minProperties: 1 + description: > + Identifies a set of CP parameter information that may be part of this CpInfo structure. + Any string value can be used as a key of the map. + cpReports: + type: object + additionalProperties: + $ref: '#/components/schemas/CpReport' + minProperties: 1 + description: > + Supplied by the SCEF and contains the CP set identifiers for which CP parameter(s) are + not added or modified successfully. The failure reason is also included. Each element + provides the related information for one or more CP set identifier(s) and is identified + in the map via the failure identifier as key. + readOnly: true + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + ueIpAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + ueMacAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + required: + - cpParameterSets + oneOf: + - required: [externalId] + - required: [msisdn] + - required: [externalGroupId] + + CpParameterSet: + description: Represents an offered communication pattern parameter set. + type: object + properties: + setId: + type: string + description: > + SCS/AS-chosen correlator provided by the SCS/AS in the request to create a resource + for CP parameter set(s). + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + validityTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + periodicCommunicationIndicator: + $ref: '#/components/schemas/CommunicationIndicator' + communicationDurationTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + periodicTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + scheduledCommunicationTime: + $ref: '#/components/schemas/ScheduledCommunicationTime' + scheduledCommunicationType: + $ref: '#/components/schemas/ScheduledCommunicationType' + stationaryIndication: + $ref: '#/components/schemas/StationaryIndication' + batteryInds: + type: array + items: + $ref: '#/components/schemas/BatteryIndication' + minItems: 1 + trafficProfile: + $ref: '#/components/schemas/TrafficProfile' + expectedUmts: + type: array + items: + $ref: '#/components/schemas/UmtLocationArea5G' + minItems: 1 + description: > + Identifies the UE's expected geographical movement. The attribute is only applicable + in 5G. + expectedUmtDays: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DayOfWeek' + expectedUmtDaysAdd: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DayOfWeek' + minItems: 1 + maxItems: 5 + description: Identifies the additional day(s) of the week. + appExpUeBehvs: + type: array + items: + $ref: '#/components/schemas/AppExpUeBehaviour' + minItems: 1 + description: Contains the Application Specific Expected UE Behaviour parameters. + confidenceLevel: + type: string + pattern: '^[0]\.[0-9]{2}|[1.00]$' + accuracyLevel: + type: string + pattern: '^[0]\.[0-9]{2}|[1.00]$' + required: + - setId + + ScheduledCommunicationTime: + description: Represents an offered scheduled communication time. + type: object + properties: + daysOfWeek: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DayOfWeek' + minItems: 1 + maxItems: 6 + description: > + Identifies the day(s) of the week. If absent, it indicates every day of the week. + timeOfDayStart: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeOfDay' + timeOfDayEnd: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeOfDay' + + CpReport: + description: > + Represents a CP report indicating the CP set identifier(s) which CP parameter(s) are not + added or modified successfully and the corresponding failure cause(s). + type: object + properties: + setIds: + type: array + items: + type: string + minItems: 1 + description: > + Identifies the CP set identifier(s) which CP parameter(s) are not added or modified + successfully + failureCode: + $ref: '#/components/schemas/CpFailureCode' + required: + - failureCode + + UmtLocationArea5G: + description: Represents the user location area describing the UE moving trajectory. + allOf: + - $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + - type: object + properties: + umtTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeOfDay' + umtDuration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + + AppExpUeBehaviour: + description: Contains the Application Specificf Expected UE Behaviour parameters. + type: object + properties: + appId: + type: string + description: Indicates the Application Identifier. + expPduSesInacTm: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + flowDescriptions: + type: array + items: + type: string + minItems: 1 + description: > + Represents a 3-tuple with protocol, server ip and server port for UL/DL application + traffic. The content of the string has the same encoding as the IPFilterRule AVP + value as defined in IETF RFC 6733. + confidenceLevel: + type: string + pattern: '^[0]\.[0-9]{2}|[1.00]$' + accuracyLevel: + type: string + pattern: '^[0]\.[0-9]{2}|[1.00]$' + failureCode: + $ref: '#/components/schemas/CpFailureCode' + validityTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + oneOf: + - required: [appId] + - required: [flowDescriptions] + + CommunicationIndicator: + anyOf: + - type: string + enum: + - PERIODICALLY + - ON_DEMAND + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the type of the communication. + Possible values are: + - PERIODICALLY: Identifies the UE communicates periodically + - ON_DEMAND: Identifies the UE communicates on demand + + StationaryIndication: + anyOf: + - type: string + enum: + - STATIONARY + - MOBILE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the stationarity of the UE. + Possible values are: + - STATIONARY: Identifies the UE is stationary + - MOBILE: Identifies the UE is mobile + + CpFailureCode: + anyOf: + - type: string + enum: + - MALFUNCTION + - SET_ID_DUPLICATED + - OTHER_REASON + - CONFIDENCE_LEVEL_NOT_SUFFICIENT + - ACCURACY_LEVEL_NOT_SUFFICIENT + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the failure reason of the CP parameter provisioning. + Possible values are + - MALFUNCTION: This value indicates that something functions wrongly in CP parameter + provisioning or the CP parameter provisioning does not function at all. + - SET_ID_DUPLICATED: The received CP set identifier(s) are already provisioned. + - OTHER_REASON: Other reason unspecified. + - CONFIDENCE_LEVEL_NOT_SUFFICIENT: The received confidence level for the expected UE + parameter is not sufficient. + - ACCURACY_LEVEL_NOT_SUFFICIENT: The received accuracy level for the expected UE parameter + is not sufficient. + + BatteryIndication: + anyOf: + - type: string + enum: + - BATTERY_RECHARGE + - BATTERY_REPLACE + - BATTERY_NO_RECHARGE + - BATTERY_NO_REPLACE + - NO_BATTERY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the type of power consumption. + Possible values are: + - BATTERY_RECHARGE: UE powered with rechargeable battery. + - BATTERY_REPLACE: UE powered with replaceable battery. + - BATTERY_NO_RECHARGE: UE powered with no rechargeable battery. + - BATTERY_NO_REPLACE: UE powered with no replaceable battery. + - NO_BATTERY: UE not battery powered. + + TrafficProfile: + anyOf: + - type: string + enum: + - SINGLE_TRANS_UL + - SINGLE_TRANS_DL + - DUAL_TRANS_UL_FIRST + - DUAL_TRANS_DL_FIRST + - MULTI_TRANS + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the type of data transmission. + Possible values are: + - SINGLE_TRANS_UL: Uplink single packet transmission. + - SINGLE_TRANS_DL: Downlink single packet transmission. + - DUAL_TRANS_UL_FIRST: Dual packet transmission, firstly uplink packet transmission with + subsequent downlink packet transmission. + - DUAL_TRANS_DL_FIRST: Dual packet transmission, firstly downlink packet transmission with + subsequent uplink packet transmission. + - MULTI_TRANS: Multiple packet transmission. + + ScheduledCommunicationType: + anyOf: + - type: string + enum: + - DOWNLINK + - UPLINK + - BIDIRECTIONAL + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the type of scheduled communication. + Possible values are: + - DOWNLINK: Downlink only. + - UPLINK: Uplink only. + - BIDIRECTIONAL: Bi-directional. + diff --git a/TS29122_DeviceTriggering.yaml b/TS29122_DeviceTriggering.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ad22449a27eee8a96ff863bf00c6d12411bd7226 --- /dev/null +++ b/TS29122_DeviceTriggering.yaml @@ -0,0 +1,532 @@ +openapi: 3.0.0 + +info: + title: 3gpp-device-triggering + version: 1.3.0-alpha.1 + description: | + API for device trigger. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.122 V18.1.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-device-triggering/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 active device triggering transactions for a given SCS/AS. + operationId: FetchAllDeviceTriggeringTransactions + tags: + - Device Triggering Transactions + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ScsAsId' + responses: + '200': + description: > + OK (Successful get all of the active device triggering transactions for the SCS/AS) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DeviceTriggering' + '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 long-term transaction for a device triggering. + operationId: CreateDeviceTriggeringTransaction + tags: + - Device Triggering API Transactions + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ScsAsId' + requestBody: + description: Parameters to request a device triggering delivery. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggering' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggeringDeliveryReportNotification' + responses: + '200': + description: OK (successful notification) + content: + application/json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Acknowledgement' + '204': + description: No Content (successful 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: Created (Successful creation of subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggering' + 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 device triggering transaction resource. + operationId: FetchIndDeviceTriggeringTransaction + tags: + - Individual Device Triggering Transaction + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ScsAsId' + - name: transactionId + in: path + description: Identifier of the transaction resource + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggering' + '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: Replace an existing device triggering transaction resource and the corresponding device trigger request. + operationId: UpdateIndDeviceTriggeringTransaction + tags: + - Individual Device Triggering Transaction + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ScsAsId' + - name: transactionId + in: path + description: Identifier of the transaction resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing device triggering + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggering' + responses: + '200': + description: OK (Successful update of the device triggering) + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggering' + '204': + description: No Content (Successful update of the device triggering) + '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: Modify an existing Individual Device Triggering Transaction resource and the corresponding device triggering request. + operationId: ModifyIndDeviceTriggeringTransaction + tags: + - Individual Device Triggering Transaction + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ScsAsId' + - name: transactionId + in: path + description: Identifier of the transaction resource + required: true + schema: + type: string + requestBody: + description: Parameters to request the modification of the existing Individual Device Triggering Transaction resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggeringPatch' + responses: + '200': + description: > + OK. The Individual Device Triggering Transaction resource was successfully modified + and a representation of the modified Individual Device Triggering Transaction resource + within the DeviceTriggering data structure including the "deliveryResult" attribute is + returned by the SCEF. + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggering' + '204': + description: > + No Content. The Individual Device Triggering Transaction resource was successfully + modified no content is returned in the response message 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: Deletes an already existing device triggering transaction. + operationId: DeleteIndDeviceTriggeringTransaction + tags: + - Individual Device Triggering Transaction + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ScsAsId' + - name: transactionId + in: path + description: Identifier of the transaction resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing subscription) + '200': + description: OK (Successful deletion of the existing subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggering' + '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: + DeviceTriggering: + description: Represents device triggering related information. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + validityPeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + priority: + $ref: '#/components/schemas/Priority' + applicationPortId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + appSrcPortId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + triggerPayload: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + 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' + deliveryResult: + $ref: '#/components/schemas/DeliveryResult' + required: + - validityPeriod + - priority + - applicationPortId + - triggerPayload + - notificationDestination + oneOf: + - required: [externalId] + - required: [msisdn] + + DeviceTriggeringDeliveryReportNotification: + description: Represents a device triggering delivery report notification. + type: object + properties: + transaction: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + result: + $ref: '#/components/schemas/DeliveryResult' + required: + - transaction + - result + + DeviceTriggeringPatch: + description: Represents device triggering related information. + type: object + properties: + validityPeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + priority: + $ref: '#/components/schemas/Priority' + applicationPortId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + appSrcPortId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + triggerPayload: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + 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' + + DeliveryResult: + anyOf: + - type: string + enum: + - SUCCESS + - UNKNOWN + - FAILURE + - TRIGGERED + - EXPIRED + - UNCONFIRMED + - REPLACED + - TERMINATE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the result of the delivery of a device triggering request. + Possible values are: + - SUCCESS: This value indicates that the device action request was successfully completed. + - UNKNOWN: This value indicates any unspecified errors. + - FAILURE: This value indicates that this trigger encountered a delivery error and is deemed + permanently undeliverable. + - TRIGGERED: This value indicates that device triggering request is accepted by the SCEF. + - EXPIRED: This value indicates that the validity period expired before the trigger could + be delivered. + - UNCONFIRMED: This value indicates that the delivery of the device action request is not + confirmed. + - REPLACED: This value indicates that the device triggering replacement request is accepted + by the SCEF. + - TERMINATE: This value indicates that the delivery of the device action request is + terminated by the SCS/AS. + readOnly: true + + Priority: + anyOf: + - type: string + enum: + - NO_PRIORITY + - PRIORITY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the priority indication for a trigger payload. + Possible values are: + - NO_PRIORITY: This value indicates that the device trigger has no priority. + - PRIORITY: This value indicates that the device trigger has priority. diff --git a/TS29122_ECRControl.yaml b/TS29122_ECRControl.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8bb8645e70e55016cae05dede6e5152c3db0759f --- /dev/null +++ b/TS29122_ECRControl.yaml @@ -0,0 +1,194 @@ +openapi: 3.0.0 +info: + title: 3gpp-ecr-control + version: 1.2.0 + description: | + API for enhanced converage restriction control. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V17.6.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-ecr-control/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. +paths: + /query: + post: + summary: Query the status of enhanced converage restriction for a UE. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ECRControl' + responses: + '200': + description: The requested information was returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ECRData' + '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' + + /configure: + post: + summary: Configure the enhanced converage restriction for a UE. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ECRControl' + responses: + '200': + description: The Enhanced Coverage Restriction setting was configured successfully.. + content: + application/json: + schema: + $ref: '#/components/schemas/ECRData' + '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' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + ECRControl: + description: Represents the parameters to request Enhanced Coverage Restriction control. + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + mtcProviderId: + type: string + description: Identifies the MTC Service Provider and/or MTC Application. + scsAsId: + type: string + description: Identifier of the SCS/AS. + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + ecrDataWbs: + type: array + items: + $ref: '#/components/schemas/PlmnEcRestrictionDataWb' + minItems: 0 + restrictedPlmnIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' + minItems: 0 + description: Indicates a complete list (and possibly empty) of serving PLMNs where Enhanced Coverage shall be restricted. This attribute shall not be present for the query custom operation. + allowedPlmnIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' + minItems: 0 + description: Indicates a complete list (and possibly empty) of serving PLMNs where Enhanced Coverage shall be allowed. This attribute shall not be present for the query custom operation. + required: + - supportedFeatures + oneOf: + - required: [externalId] + - required: [msisdn] + not: + required: [restrictedPlmnIds, allowedPlmnIds] + ECRData: + description: Represents the current visited PLMN (if any) and the current settings of enhanced coverage restriction. + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + visitedPlmnId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' + ecrDataWbs: + type: array + items: + $ref: '#/components/schemas/PlmnEcRestrictionDataWb' + minItems: 0 + restrictedPlmnIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' + minItems: 0 + description: Indicates a complete list (and possibly empty) of serving PLMNs where Enhanced Coverage shall be restricted. + allowedPlmnIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' + minItems: 0 + description: Indicates a complete list (and possibly empty) of serving PLMNs where Enhanced Coverage shall be allowed. + required: + - supportedFeatures + not: + required: [restrictedPlmnIds, allowedPlmnIds] + PlmnEcRestrictionDataWb: + description: Indicates whether enhanced coverage mode is restricted or not for a PLMN ID. + type: object + properties: + plmnId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' + plmnEcrDataWb: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/EcRestrictionDataWb' + required: + - plmnId diff --git a/TS29122_GMDviaMBMSbyMB2.yaml b/TS29122_GMDviaMBMSbyMB2.yaml new file mode 100644 index 0000000000000000000000000000000000000000..45b407f933e0c1b252b93077c1185212adb0a3d2 --- /dev/null +++ b/TS29122_GMDviaMBMSbyMB2.yaml @@ -0,0 +1,867 @@ +openapi: 3.0.0 +info: + title: GMDviaMBMSbyMB2 + description: | + API for Group Message Delivery via MBMS by MB2 + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: 1.3.0-alpha.1 +externalDocs: + description: 3GPP TS 29.122 V18.4.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-group-message-delivery-mb2/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/tmgi-allocation: + get: + summary: read all TMGI Allocation resource for a given SCS/AS + operationId: FetchAllTMGIAllocations + tags: + - TMGI Allocation Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of TMGI Allocation resource) + content: + application/json: + schema: + $ref: '#/components/schemas/TMGIAllocation' + '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 TMGI Allocation resource for a given SCS/AS. + operationId: CreateTMGIAllocation + tags: + - TMGI Allocation Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + requestBody: + description: representation of the TMGI Allocation to be created in the SCEF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TMGIAllocation' + responses: + '201': + description: successful creation of an TMGI Allocation + content: + application/json: + schema: + $ref: '#/components/schemas/TMGIAllocation' + 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}/tmgi-allocation/{tmgi}: + get: + summary: Read a TMGI Allocation resource for a given SCS/AS and a TMGI. + operationId: FetchIndTMGIAllocation + tags: + - Individual TMGI Allocation Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of TMGI Allocation resource) + content: + application/json: + schema: + $ref: '#/components/schemas/TMGIAllocation' + '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: Updates an existing TMGI Allocation resource for a given SCS/AS and a TMGI. + operationId: UpdateIndTMGIAllocation + tags: + - Individual TMGI Allocation Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + requestBody: + description: representation of the TMGI Allocation to be updated in the SCEF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TMGIAllocation' + responses: + '200': + description: successful creation of an TMGI Allocation + content: + application/json: + schema: + $ref: '#/components/schemas/TMGIAllocation' + '204': + description: > + The TMGI expiration time renewal is successful, and no content is to be sent in + the response message 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: Updates an existing TMGI Allocation resource for a given SCS/AS and a TMGI. + operationId: ModifyIndTMGIAllocation + tags: + - Individual TMGI Allocation Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + requestBody: + description: representation of the TMGI Allocation to be updated in the SCEF + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/TMGIAllocationPatch' + responses: + '200': + description: successful creation of an TMGI Allocation + content: + application/json: + schema: + $ref: '#/components/schemas/TMGIAllocation' + '204': + description: > + The TMGI expiration time renewal is successful, and no content is to be sent + in the response message 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: Deletes an existing TMGI Allocation resource for a given SCS/AS and a TMGI. + operationId: DeleteTMGIAllocation + tags: + - Individual TMGI Allocation Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + responses: + '204': + description: No Content, successful deletion of an TMGI Allocation + '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' + + /{scsAsId}/tmgi-allocation/{tmgi}/delivery-via-mbms: + get: + summary: Read all group message delivery via MBMS resource for a given SCS/AS and a TMGI. + operationId: FecthAllGMDViaMBMSByMB2 + tags: + - Delivery via MBMS Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of Delivery via MBMS resource) + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2' + '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 delivery via MBMS for a given SCS/AS and a TMGI. + operationId: CreateGMDViaMBMSByMB2 + tags: + - Delivery via MBMS Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + requestBody: + description: representation of the GMD via MBMS by MB2 resource to be Created in the SCEF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2' + callbacks: + gMDByMb2Notification: + '{$request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GMDByMb2Notification' + responses: + '200': + description: OK (The successful acknowledgement of the notification with a body) + content: + application/json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Acknowledgement' + '204': + description: successful 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 an GMD via MBMS by MB2 resource + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2' + 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}/tmgi-allocation/{tmgi}/delivery-via-mbms/{transactionId}: + get: + summary: Read all group message delivery via MBMS resource for a given SCS/AS and a TMGI. + operationId: FetchIndDeliveryViaMBMS + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + 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 an Delivery via MBMS resource) + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2' + '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: Updates a existing delivery via MBMS for a given SCS/AS, a TMGI and transaction Id. + operationId: UpdateIndDeliveryViaMBMS + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + requestBody: + description: representation of the GMD via MBMS by MB2 resource to be udpated in the SCEF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2' + responses: + '200': + description: successful update of an individual GMD via MBMS by MB2 resource + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2' + '204': + description: > + The group message delivery is replaced successfully, and no content is to be sent + in the response message 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: Updates a existing delivery via MBMS for a given SCS/AS, a TMGI and transaction Id. + operationId: ModifyIndDeliveryViaMBMS + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + requestBody: + description: representation of the GMD via MBMS by MB2 resource to be udpated in the SCEF + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2Patch' + responses: + '200': + description: successful update of an individual GMD via MBMS by MB2 resource + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2' + '204': + description: > + The group message delivery is modified successfully, and no content is to be sent + in the response message 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: Deletes a delivery via MBMS resource for a given SCS/AS, a TMGI and a transcation Id. + operationId: DeleteIndDeliveryViaMBMS + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + responses: + '204': + description: No Content, successful deletion of an resouce of deliery via MBMS + '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: + TMGIAllocation: + description: Represents an individual TMGI Allocation resource. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + mbmsLocArea: + $ref: '#/components/schemas/MbmsLocArea' + tmgiExpiration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTimeRo' + + GMDViaMBMSByMb2: + description: Represents a group message delivery via MBMS by MB2. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + 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' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + mbmsLocArea: + $ref: '#/components/schemas/MbmsLocArea' + messageDeliveryStartTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + groupMessagePayload: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + scefMessageDeliveryIPv4: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4AddrRo' + scefMessageDeliveryIPv6: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6AddrRo' + scefMessageDeliveryPort: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PortRo' + required: + - notificationDestination + + GMDByMb2Notification: + description: Represents a group message delivery notification. + type: object + properties: + transaction: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + deliveryTriggerStatus: + type: boolean + description: > + Indicates whether delivery of group message payload corresponding to the TMGI was + successful (TRUE) or not (FALSE) + required: + - transaction + - deliveryTriggerStatus + + TMGIAllocationPatch: + description: > + Represents the parameters to request the modification of a TMGI Allocation resource. + type: object + properties: + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + mbmsLocArea: + $ref: '#/components/schemas/MbmsLocArea' + + GMDViaMBMSByMb2Patch: + description: Represents a modification request of a group message delivery via MBMS by MB2. + type: object + properties: + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + mbmsLocArea: + $ref: '#/components/schemas/MbmsLocArea' + messageDeliveryStartTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + groupMessagePayload: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + + MbmsLocArea: + description: > + Represents a user location area whithin which is sent a group message delivery + via MBMS request. + type: object + properties: + cellId: + type: array + items: + type: string + minItems: 1 + description: > + Indicates a Cell Global Identification of the user which identifies the cell the + UE is registered. + enodeBId: + type: array + items: + type: string + minItems: 1 + description: Indicates an eNodeB in which the UE is currently located. + geographicArea: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + description: Identifies a geographic area of the user where the UE is located. + mbmsServiceAreaId: + type: array + items: + type: string + minItems: 1 + description: Identifies an MBMS Service Area Identity of the user where the UE is located. + civicAddress: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + minItems: 1 + description: Identifies a civic address of the user where the UE is located. diff --git a/TS29122_GMDviaMBMSbyxMB.yaml b/TS29122_GMDviaMBMSbyxMB.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b63fe72dc856aed5d996c988b13ccabc0459c5fc --- /dev/null +++ b/TS29122_GMDviaMBMSbyxMB.yaml @@ -0,0 +1,788 @@ +openapi: 3.0.0 + +info: + title: GMDviaMBMSbyxMB + description: | + API for Group Message Delivery via MBMS by xMB + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: 1.3.0-alpha.1 + +externalDocs: + description: 3GPP TS 29.122 V18.1.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-group-message-delivery-xmb/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /{scsAsId}/services: + get: + summary: Read all service resources for a given SCS/AS. + operationId: FetchAllxMBServices + tags: + - Service Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of service creation resource) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceCreation' + minItems: 0 + description: The service resource for the SCS/AS in the request URI is returned. + '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 service creation resource for a given SCS/AS. + operationId: CreatexMBService + tags: + - Service Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + requestBody: + description: representation of the service to be created in the SCEF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceCreation' + responses: + '201': + description: successful creation of a service + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceCreation' + 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}/services/{serviceId}: + get: + summary: Read a service resource for a given SCS/AS and a Service Id. + operationId: FetchIndxMBService + tags: + - Individual Service Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of service resource) + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceCreation' + '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' + + delete: + summary: Deletes an existing service resource for a given SCS/AS and a service id. + operationId: DeletexMBService + tags: + - Individual Service Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + required: true + schema: + type: string + responses: + '204': + description: No Content, successful deletion of a service resource + '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' + + /{scsAsId}/services/{serviceId}/delivery-via-mbms: + get: + summary: Read all group message delivery via MBMS resource for a given SCS/AS and a service id. + operationId: FetchAllGMDViaMBMS + tags: + - Delivery via MBMS Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of Delivery via MBMS resource) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/GMDViaMBMSByxMB' + 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 delivery via MBMS for a given SCS/AS and a service Id. + operationId: CreateGMDViaMBMS + tags: + - Delivery via MBMS Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + required: true + schema: + type: string + requestBody: + description: representation of the GMD via MBMS by xMB resource to be Created in the SCEF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByxMB' + callbacks: + gMDByxMBNotification: + '{$request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GMDByxMBNotification' + responses: + '200': + description: OK (The successful acknowledgement of the notification with a body) + content: + application/json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Acknowledgement' + '204': + description: successful 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 an GMD via MBMS by xMB resource + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByxMB' + 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}/services/{serviceId}/delivery-via-mbms/{transactionId}: + get: + summary: Read all group message delivery via MBMS resource for a given SCS/AS and a service Id. + operationId: FetchIndGMDViaMBMS + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + 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 an Delivery via MBMS resource) + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByxMB' + '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: Updates an existing delivery via MBMS for a given SCS/AS, a service Id and transaction Id. + operationId: UpdateIndGMDViaMBMS + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + requestBody: + description: representation of the GMD via MBMS by xMB resource to be udpated in the SCEF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByxMB' + responses: + '200': + description: successful update of an individual GMD via MBMS by xMB resource + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByxMB' + '204': + description: > + The group message delivery was modified successfully, and no content is to be sent + in the response message 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: Updates an existing delivery via MBMS for a given SCS/AS, a service Id and transaction Id. + operationId: ModifyIndGMDViaMBMS + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + requestBody: + description: representation of the GMD via MBMS by xMB resource to be udpated in the SCEF + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByxMBPatch' + responses: + '200': + description: successful update of an individual GMD via MBMS by xMB resource + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByxMB' + '204': + description: > + The group message delivery was modified successfully, and no content is to be sent + in the response message 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: Deletes a delivery via MBMS resource for a given SCS/AS, a service Id and a transcation Id. + operationId: DeleteIndGMDViaMBMS + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + responses: + '204': + description: No Content, successful deletion of an resouce of deliery via MBMS + '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: + ServiceCreation: + description: Represents an individual xMB Service resource. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + userServiceId: + type: string + description: Identifies the MBMS User Service supplied by the SCEF. + readOnly: true + serviceClass: + type: string + description: The service class that service belongs to supplied by the SCEF. + readOnly: true + serviceLanguages: + type: array + items: + type: string + minItems: 1 + description: List of language of the service content supplied by the SCEF. + readOnly: true + serviceNames: + type: array + items: + type: string + minItems: 1 + description: List of Service Names supplied by the SCEF. + readOnly: true + receiveOnlyMode: + type: boolean + description: > + When set to 'true', the Content Provider indicates that the service is a Receive Only + Mode service. This parameter is supplied by the SCEF. + readOnly: true + serviceAnnouncementMode: + $ref: '#/components/schemas/ServiceAnnouncementMode' + + GMDViaMBMSByxMB: + description: Represents a group message delivery via MBMS by xMB. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + 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' + mbmsLocArea: + $ref: '#/components/schemas/MbmsLocArea' + messageDeliveryStartTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + messageDeliveryStopTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + groupMessagePayload: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + scefMessageDeliveryIPv4: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4AddrRo' + scefMessageDeliveryIPv6: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6AddrRo' + scefMessageDeliveryPort: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PortRo' + required: + - notificationDestination + + GMDByxMBNotification: + description: Represents a group message delivery notification. + type: object + properties: + transaction: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + deliveryTriggerStatus: + type: boolean + description: > + Indicates whether delivery of group message payload was successful(TRUE) or not (FALSE). + required: + - transaction + - deliveryTriggerStatus + + GMDViaMBMSByxMBPatch: + description: Represents a modification request of a group message delivery via MBMS by xMB. + type: object + properties: + mbmsLocArea: + $ref: '#/components/schemas/MbmsLocArea' + messageDeliveryStartTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + messageDeliveryStopTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + groupMessagePayload: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + + MbmsLocArea: + description: > + Represents a user location area whithin which is sent a group message delivery via MBMS + request. + type: object + properties: + cellId: + type: array + items: + type: string + minItems: 1 + description: > + Indicates a Cell Global Identification of the user which identifies the cell the UE is + registered. + enodeBId: + type: array + items: + type: string + minItems: 1 + description: Indicates an eNodeB in which the UE is currently located. + geographicArea: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + description: Identifies a geographic area of the user where the UE is located. + mbmsServiceAreaId: + type: array + items: + type: string + minItems: 1 + description: Identifies an MBMS Service Area Identity of the user where the UE is located. + civicAddress: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + minItems: 1 + description: Identifies a civic address of the user where the UE is located. + + ServiceAnnouncementMode: + anyOf: + - type: string + enum: + - SACH + - CONTENT_PROVIDER + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the service annoucement mode. + Possible values are: + - SACH: BM-SC performs the service announcement for the current service using the + SACH channel. + - CONTENT_PROVIDER: BM-SC provides the necessary service access information used by + the Content Provider to create the service announcement information. + readOnly: true diff --git a/TS29122_MonitoringEvent.yaml b/TS29122_MonitoringEvent.yaml new file mode 100644 index 0000000000000000000000000000000000000000..334d121ca9539f6d9beb2d90673ee7037b6fbf00 --- /dev/null +++ b/TS29122_MonitoringEvent.yaml @@ -0,0 +1,1459 @@ +openapi: 3.0.0 + +info: + title: 3gpp-monitoring-event + version: 1.3.0-alpha.4 + description: | + API for Monitoring Event. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.122 V18.4.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-monitoring-event/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /{scsAsId}/subscriptions: + get: + summary: Read all or queried active subscriptions for the SCS/AS. + operationId: FetchAllMonitoringEventSubscriptions + tags: + - Monitoring Event Subscriptions + parameters: + - name: scsAsId + in: path + description: Identifier of the 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 get all or queried active subscriptions for the SCS/AS) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MonitoringEventSubscription' + minItems: 0 + description: Monitoring event subscriptions + '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 for monitoring event notification. + operationId: CreateMonitoringEventSubscription + tags: + - Monitoring Event Subscriptions + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + requestBody: + description: Subscription for notification about monitoring event + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringEventSubscription' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringNotification' + responses: + '204': + description: No Content (successful 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' + UserConsentRevocationNotif: + '{request.body#/revocationNotifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentRevocNotif' + responses: + '204': + description: No Content (successful 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: Created (Successful creation of subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringEventSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '200': + description: The operation is successful and immediate report is included. + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/MonitoringEventReport' + - $ref: '#/components/schemas/MonitoringEventReports' + '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}/subscriptions/{subscriptionId}: + get: + summary: Read an active subscriptions for the SCS/AS and the subscription Id. + operationId: FetchIndMonitoringEventSubscription + tags: + - Individual Monitoring Event Subscription + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringEventSubscription' + '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: Updates/replaces an existing subscription resource. + operationId: UpdateIndMonitoringEventSubscription + tags: + - Individual Monitoring Event Subscription + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringEventSubscription' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringEventSubscription' + '204': + description: No Content (Successful update of the 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' + '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: Modifies an existing subscription of monitoring event. + operationId: ModifyIndMonitoringEventSubscription + tags: + - Individual Monitoring Event Subscription + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS. + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource. + required: true + schema: + type: string + requestBody: + description: > + This is used for PATCH request for partial cancellation and/or partial addition of certain + UE(s) within an active group. + required: true + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + responses: + '204': + description: The resource 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 monitoring event subscription. + operationId: DeleteIndMonitoringEventSubscription + tags: + - Individual Monitoring Event Subscription + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing subscription) + '200': + description: OK (Successful deletion of the existing subscription) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MonitoringEventReport' + minItems: 1 + description: > + The subscription was terminated successfully, the monitoring event report(s) + shall be included if received. + '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: + MonitoringEventSubscription: + description: Represents a subscription to event(s) monitoring. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + mtcProviderId: + type: string + description: Identifies the MTC Service Provider and/or MTC Application. + appIds: + type: array + items: + type: string + description: Identifies the Application Identifier(s) + minItems: 1 + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + addedExternalIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + minItems: 1 + description: Indicates the added external Identifier(s) within the active group. + addedMsisdns: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + minItems: 1 + description: Indicates the added MSISDN(s) within the active group. + excludedExternalIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + minItems: 1 + description: Indicates cancellation of the external Identifier(s) within the active group. + excludedMsisdns: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + minItems: 1 + description: Indicates cancellation of the MSISDN(s) within the active group. + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + addExtGroupId: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + minItems: 2 + ipv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + 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 by the SCS/AS indicates not request SCEF to + send a test notification, default false if omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + monitoringType: + $ref: '#/components/schemas/MonitoringType' + maximumNumberOfReports: + type: integer + minimum: 1 + description: > + Identifies the maximum number of event reports to be generated by the HSS, MME/SGSN + as specified in clause 5.6.0 of 3GPP TS 23.682. + monitorExpireTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + repPeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + groupReportGuardTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + maximumDetectionTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + reachabilityType: + $ref: '#/components/schemas/ReachabilityType' + maximumLatency: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + maximumResponseTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + suggestedNumberOfDlPackets: + type: integer + minimum: 0 + description: > + If "monitoringType" is "UE_REACHABILITY", this parameter may be included to identify + the number of packets that the serving gateway shall buffer in case that + the UE is not reachable. + idleStatusIndication: + type: boolean + description: > + If "monitoringType" is set to "UE_REACHABILITY" or "AVAILABILITY_AFTER_DDN_FAILURE", + this parameter may be included to indicate the notification of when a UE, for which PSM + is enabled, transitions into idle mode. "true" indicates enabling of notification; + "false" indicate no need to notify. Default value is "false" if omitted. + locationType: + $ref: '#/components/schemas/LocationType' + accuracy: + $ref: '#/components/schemas/Accuracy' + minimumReportInterval: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + maxRptExpireIntvl: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + samplingInterval: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + reportingLocEstInd: + type: boolean + description: > + Indicates whether to request the location estimate for event reporting. If + "monitoringType" is "LOCATION_REPORTING", this parameter may be included to indicate + whether event reporting requires the location information. If set to true, the location + estimation information shall be included in event reporting. If set to "false", + indicates the location estimation information shall not be included in event reporting. + Default "false" if omitted. + linearDistance: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LinearDistance' + locQoS: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LocationQoS' + svcId: + $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/ServiceIdentity' + ldrType: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LdrType' + velocityRequested: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityRequested' + maxAgeOfLocEst: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AgeOfLocationEstimate' + locTimeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + supportedGADShapes: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/SupportedGADShapes' + codeWord: + $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/CodeWord' + upLocRepIndAf: + description: > + Indicates whether location reporting over user plane is requested or not. + "true" indicates the location reporting over user plane is requested. + "false" indicates the location reporting over user plane is not requested. + Default value is "false" if omitted. + type: boolean + default: false + upLocRepAddrAf: + $ref: '#/components/schemas/UpLocRepAddrAfRm' + associationType: + $ref: '#/components/schemas/AssociationType' + plmnIndication: + type: boolean + description: > + If "monitoringType" is "ROAMING_STATUS", this parameter may be included to indicate the + notification of UE's Serving PLMN ID. Value "true" indicates enabling of notification; + "false" indicates disabling of notification. Default value is "false" if omitted. + locationArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea' + locationArea5G: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + dddTraDescriptors: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + minItems: 1 + dddStati: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DlDataDeliveryStatus' + minItems: 1 + apiNames: + type: array + items: + type: string + minItems: 1 + monitoringEventReport: + $ref: '#/components/schemas/MonitoringEventReport' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + tgtNsThreshold: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SACInfo' + nsRepFormat: + $ref: '#/components/schemas/SACRepFormat' + afServiceId: + type: string + immediateRep: + type: boolean + description: > + Indicates whether an immediate reporting is requested or not. + "true" indicate an immediate reporting is requested. + "false" indicate an immediate reporting is not requested. + Default value "false" if omitted. + uavPolicy: + $ref: '#/components/schemas/UavPolicy' + sesEstInd: + type: boolean + description: > + Set to true by the SCS/AS so that only UAV's with "PDU session established for DNN(s) + subject to aerial service" are to be listed in the Event report. Set to false or default + false if omitted otherwise. + subType: + $ref: '#/components/schemas/SubType' + addnMonTypes: + type: array + items: + $ref: '#/components/schemas/MonitoringType' + addnMonEventReports: + type: array + items: + $ref: '#/components/schemas/MonitoringEventReport' + ueIpAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + ueMacAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + revocationNotifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + reqRangingSlRes: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/RangingSlResult' + minItems: 1 + relatedUEs: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/RelatedUE' + minItems: 1 + required: + - notificationDestination + - monitoringType + anyOf: + - required: [maximumNumberOfReports] + - required: [monitorExpireTime] + + MonitoringNotification: + description: Represents an event monitoring notification. + type: object + properties: + subscription: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + configResults: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ConfigResult' + minItems: 1 + description: Each element identifies a notification of grouping configuration result. + monitoringEventReports: + type: array + items: + $ref: '#/components/schemas/MonitoringEventReport' + minItems: 1 + description: Monitoring event reports. + addedExternalIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + minItems: 1 + description: > + Identifies the added external Identifier(s) within the active group via + the "externalGroupId" attribute within the MonitoringEventSubscription data type. + addedMsisdns: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + minItems: 1 + description: > + Identifies the added MSISDN(s) within the active group via the "externalGroupId" + attribute within the MonitoringEventSubscription data type. + cancelExternalIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + minItems: 1 + description: > + Identifies the cancelled external Identifier(s) within the active group via + the "externalGroupId" attribute within the MonitoringEventSubscription data type. + cancelMsisdns: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + minItems: 1 + description: > + Identifies the cancelled MSISDN(s) within the active group via the "externalGroupId" + attribute within the MonitoringEventSubscription data type. + cancelInd: + type: boolean + description: > + Indicates whether to request to cancel the corresponding monitoring subscription. + Set to false or omitted otherwise. + appliedParam: + $ref: '#/components/schemas/AppliedParameterConfiguration' + required: + - subscription + + MonitoringEventReport: + description: Represents an event monitoring report. + type: object + properties: + imeiChange: + $ref: '#/components/schemas/AssociationType' + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + pduSessInfo: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/PduSessionInformation' + idleStatusInfo: + $ref: '#/components/schemas/IdleStatusInfo' + locationInfo: + $ref: '#/components/schemas/LocationInfo' + locFailureCause: + $ref: '#/components/schemas/LocationFailureCause' + lossOfConnectReason: + type: integer + description: > + If "monitoringType" is "LOSS_OF_CONNECTIVITY", this parameter shall be included + if available to identify the reason why loss of connectivity is reported. + Refer to 3GPP TS 29.336 clause 8.4.58. + unavailPerDur: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + maxUEAvailabilityTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + monitoringType: + $ref: '#/components/schemas/MonitoringType' + uePerLocationReport: + $ref: '#/components/schemas/UePerLocationReport' + plmnId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' + reachabilityType: + $ref: '#/components/schemas/ReachabilityType' + roamingStatus: + type: boolean + description: > + If "monitoringType" is "ROAMING_STATUS", this parameter shall be set to "true" + if the new serving PLMN is different from the HPLMN. Set to false or + omitted otherwise. + failureCause: + $ref: '#/components/schemas/FailureCause' + eventTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + pdnConnInfoList: + type: array + items: + $ref: '#/components/schemas/PdnConnectionInformation' + minItems: 1 + dddStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DlDataDeliveryStatus' + dddTrafDescriptor: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + maxWaitTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + apiCaps: + type: array + items: + $ref: '#/components/schemas/ApiCapabilityInfo' + minItems: 0 + nSStatusInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SACEventStatus' + afServiceId: + type: string + servLevelDevId: + type: string + description: > + If "monitoringType" is "AREA_OF_INTEREST", this parameter may be included + to identify the UAV. + uavPresInd: + type: boolean + description: > + If "monitoringType" is "AREA_OF_INTEREST", this parameter shall be set to true + if the specified UAV is in the monitoring area. Set to false or omitted otherwise. + groupMembListChanges: + $ref: '#/components/schemas/GroupMembListChanges' + required: + - monitoringType + + MonitoringEventReports: + description: Represents a set of event monitoring reports. + type: object + properties: + monitoringEventReports: + type: array + items: + $ref: '#/components/schemas/MonitoringEventReport' + minItems: 1 + required: + - monitoringEventReports + + IdleStatusInfo: + description: Represents the information relevant to when the UE transitions into idle mode. + type: object + properties: + activeTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + edrxCycleLength: + format: float + type: number + minimum: 0 + suggestedNumberOfDlPackets: + type: integer + minimum: 0 + description: > + Identifies the number of packets shall be buffered in the serving gateway. + It shall be present if the idle status indication is requested by the SCS/AS + with "idleStatusIndication" in the "monitoringEventSubscription" sets to "true". + idleStatusTimestamp: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + periodicAUTimer: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + UePerLocationReport: + description: Represents the number of UEs found at the indicated location. + type: object + properties: + ueCount: + type: integer + minimum: 0 + description: Identifies the number of UEs. + externalIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + minItems: 1 + description: Each element uniquely identifies a user. + msisdns: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + minItems: 1 + description: Each element identifies the MS internal PSTN/ISDN number allocated for a UE. + servLevelDevIds: + type: array + items: + type: string + minItems: 1 + description: Each element uniquely identifies a UAV. + required: + - ueCount + + LocationInfo: + description: Represents the user location information. + type: object + properties: + ageOfLocationInfo: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationMin' + cellId: + type: string + description: > + Indicates the Cell Global Identification of the user which identifies the cell the UE + is registered. + enodeBId: + type: string + description: Indicates the eNodeB in which the UE is currently located. + routingAreaId: + type: string + description: Identifies the Routing Area Identity of the user where the UE is located. + trackingAreaId: + type: string + description: Identifies the Tracking Area Identity of the user where the UE is located. + plmnId: + type: string + description: Identifies the PLMN Identity of the user where the UE is located. + twanId: + type: string + description: Identifies the TWAN Identity of the user where the UE is located. + userLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + geographicArea: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + civicAddress: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + positionMethod: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/PositioningMethod' + qosFulfilInd: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AccuracyFulfilmentIndicator' + ueVelocity: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityEstimate' + ldrType: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LdrType' + achievedQos: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/MinorLocationQoS' + relatedApplicationlayerId: + type: string + rangeDirection: + $ref: '#/components/schemas/RangeDirection' + twodrelativeLocation: + $ref: '#/components/schemas/TwodrelativeLocation' + threedrelativeLocation: + $ref: '#/components/schemas/ThreedrelativeLocation' + relativeVelocity: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityEstimate' + upCumEvtRep: + $ref: '#/components/schemas/UpCumEvtRep' + + RangeDirection: + description: Represents a range and direction from a point A to a point B. + type: object + properties: + range: + type: number + azimuthDirection: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Angle' + elevationDirection: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Angle' + + + TwodrelativeLocation: + description: Represents a relative 2D location with uncertainty ellipse. + type: object + properties: + semiMinor: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Uncertainty' + semiMajor: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Uncertainty' + orientationAngle: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Angle' + + ThreedrelativeLocation: + description: Represents a relative 3D location with uncertainty ellipsoid. + type: object + properties: + semiMinor: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Uncertainty' + semiMajor: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Uncertainty' + verticalUncertainty: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Uncertainty' + orientationAngle: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Angle' + + FailureCause: + description: Represents the reason of communication failure. + type: object + properties: + bssgpCause: + type: integer + description: > + Identifies a non-transparent copy of the BSSGP cause code. Refer to 3GPP TS 29.128. + causeType: + type: integer + description: Identify the type of the S1AP-Cause. Refer to 3GPP TS 29.128. + gmmCause: + type: integer + description: > + Identifies a non-transparent copy of the GMM cause code. Refer to 3GPP TS 29.128. + ranapCause: + type: integer + description: > + Identifies a non-transparent copy of the RANAP cause code. Refer to 3GPP TS 29.128. + ranNasCause: + type: string + description: > + Indicates RAN and/or NAS release cause code information, TWAN release cause code + information or untrusted WLAN release cause code information. Refer to 3GPP TS 29.214. + s1ApCause: + type: integer + description: > + Identifies a non-transparent copy of the S1AP cause code. Refer to 3GPP TS 29.128. + smCause: + type: integer + description: > + Identifies a non-transparent copy of the SM cause code. Refer to 3GPP TS 29.128. + + PdnConnectionInformation: + description: Represents the PDN connection information of the UE. + type: object + properties: + status: + $ref: '#/components/schemas/PdnConnectionStatus' + apn: + type: string + description: > + Identify the APN, it is depending on the SCEF local configuration whether or + not this attribute is sent to the SCS/AS. + pdnType: + $ref: '#/components/schemas/PdnType' + interfaceInd: + $ref: '#/components/schemas/InterfaceIndication' + ipv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addrs: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + macAddrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + minItems: 1 + required: + - status + - pdnType + + AppliedParameterConfiguration: + description: Represents the parameter configuration applied in the network. + type: object + properties: + externalIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + minItems: 1 + description: Each element uniquely identifies a user. + msisdns: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + minItems: 1 + description: Each element identifies the MS internal PSTN/ISDN number allocated for a UE. + maximumLatency: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + maximumResponseTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + maximumDetectionTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + + ApiCapabilityInfo: + description: Represents the availability information of supported API. + type: object + properties: + apiName: + type: string + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - apiName + - suppFeat + + UavPolicy: + description: > + Represents the policy information included in the UAV presence monitoring request. + type: object + properties: + uavMoveInd: + type: boolean + revokeInd: + type: boolean + required: + - uavMoveInd + - revokeInd + + ConsentRevocNotif: + description: > + Represents the user consent revocation information conveyed in a user consent + revocation notification. + type: object + properties: + subscriptionId: + type: string + consentsRevoked: + type: array + items: + $ref: '#/components/schemas/ConsentRevoked' + minItems: 1 + required: + - subscriptionId + - consentsRevoked + + ConsentRevoked: + description: Represents the information related to a revoked user consent. + type: object + properties: + ucPurpose: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/UcPurpose' + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + required: + - ucPurpose + oneOf: + - required: [externalId] + - required: [msisdn] + + GroupMembListChanges: + description: Represents information on the change(s) to a group's members list. + type: object + properties: + addedUEs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + removedUEs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + anyOf: + - required: [addedUEs] + - required: [removedUEs] + + UpLocRepAddrAfRm: + description: Represents the user plane addressing information. + type: object + properties: + ipv4Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + fqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + nullable: true + anyOf: + - required: [ipv4Addrs] + - required: [ipv6Addrs] + - required: [fqdn] + + UpCumEvtRep: + description: Represents the cumulative event report. + type: object + properties: + upLocRepStat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + + +# +# ENUMS +# + MonitoringType: + anyOf: + - type: string + enum: + - LOSS_OF_CONNECTIVITY + - UE_REACHABILITY + - LOCATION_REPORTING + - CHANGE_OF_IMSI_IMEI_ASSOCIATION + - ROAMING_STATUS + - COMMUNICATION_FAILURE + - AVAILABILITY_AFTER_DDN_FAILURE + - NUMBER_OF_UES_IN_AN_AREA + - PDN_CONNECTIVITY_STATUS + - DOWNLINK_DATA_DELIVERY_STATUS + - API_SUPPORT_CAPABILITY + - NUM_OF_REGD_UES + - NUM_OF_ESTD_PDU_SESSIONS + - AREA_OF_INTEREST + - GROUP_MEMBER_LIST_CHANGE + - APPLICATION_START + - APPLICATION STOP + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents a monitoring event type. + Possible values are + - LOSS_OF_CONNECTIVITY: The SCS/AS requests to be notified when the 3GPP network detects + that the UE is no longer reachable for signalling or user plane communication + - UE_REACHABILITY: The SCS/AS requests to be notified when the UE becomes reachable for + sending either SMS or downlink data to the UE + - LOCATION_REPORTING: The SCS/AS requests to be notified of the current location or + the last known location of the UE + - CHANGE_OF_IMSI_IMEI_ASSOCIATION: The SCS/AS requests to be notified when the association + of an ME (IMEI(SV)) that uses a specific subscription (IMSI) is changed + - ROAMING_STATUS: The SCS/AS queries the UE's current roaming status and requests to get + notified when the status changes + - COMMUNICATION_FAILURE: The SCS/AS requests to be notified of communication failure events + - AVAILABILITY_AFTER_DDN_FAILURE: The SCS/AS requests to be notified when the UE has become + available after a DDN failure + - NUMBER_OF_UES_IN_AN_AREA: The SCS/AS requests to be notified the number of UEs in a given + geographic area + - PDN_CONNECTIVITY_STATUS: The SCS/AS requests to be notified when the 3GPP network detects + that the UE’s PDN connection is set up or torn down + - DOWNLINK_DATA_DELIVERY_STATUS: The AF requests to be notified when the 3GPP network detects that the downlink data delivery status is changed. + - API_SUPPORT_CAPABILITY: The SCS/AS requests to be notified of the availability of support + of service APIs. + - NUM_OF_REGD_UES: The AF requests to be notified of the current number of registered UEs + for a network slice. + - NUM_OF_ESTD_PDU_SESSIONS: The AF requests to be notified of the current number of + established PDU Sessions for a network slice. + - AREA_OF_INTEREST: The SCS/AS requests to be notified when the UAV moves in or + out of the geographic area. + - GROUP_MEMBER_LIST_CHANGE: The AF requests to be notified of the changes to a group members + list. + - APPLICATION_START: The AF requests to be notified about the start of application traffic + has been detected. + - APPLICATION_STOP: The AF requests to be notified about the stop of application traffic + has been detected. + + ReachabilityType: + anyOf: + - type: string + enum: + - SMS + - DATA + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents a reachability type. + Possible values are + - SMS: The SCS/AS requests to be notified when the UE becomes reachable for sending SMS + to the UE + - DATA: The SCS/AS requests to be notified when the UE becomes reachable for sending + downlink data to the UE. + + LocationType: + anyOf: + - type: string + enum: + - CURRENT_LOCATION + - LAST_KNOWN_LOCATION + - CURRENT_OR_LAST_KNOWN_LOCATION + - INITIAL_LOCATION + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents a location type. + Possible values are + - CURRENT_LOCATION: The SCS/AS requests to be notified for current location + - LAST_KNOWN_LOCATION: The SCS/AS requests to be notified for last known location + - CURRENT_OR_LAST_KNOWN_LOCATION: The AF requests the current or last known location + - INITIAL_LOCATION: The AF requests the initial location + + AssociationType: + anyOf: + - type: string + enum: + - IMEI + - IMEISV + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents an IMEI or IMEISV to IMSI association. + Possible values are + - IMEI: The value shall be used when the change of IMSI-IMEI association shall be detected + - IMEISV: The value shall be used when the change of IMSI-IMEISV association shall be + detected + + Accuracy: + anyOf: + - type: string + enum: + - CGI_ECGI + - ENODEB + - TA_RA + - PLMN + - TWAN_ID + - GEO_AREA + - CIVIC_ADDR + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents a desired granularity of accuracy of the requested location information. + Possible values are + - CGI_ECGI: The SCS/AS requests to be notified using cell level location accuracy. + - ENODEB: The SCS/AS requests to be notified using eNodeB level location accuracy. + - TA_RA: The SCS/AS requests to be notified using TA/RA level location accuracy. + - PLMN: The SCS/AS requests to be notified using PLMN level location accuracy. + - TWAN_ID: The SCS/AS requests to be notified using TWAN identifier level location accuracy. + - GEO_AREA: The SCS/AS requests to be notified using the geographical area accuracy. + - CIVIC_ADDR: The SCS/AS requests to be notified using the civic address accuracy. + + PdnConnectionStatus: + anyOf: + - type: string + enum: + - CREATED + - RELEASED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the PDN connection status. + Possible values are + - CREATED: The PDN connection is created. + - RELEASED: The PDN connection is released. + + PdnType: + anyOf: + - type: string + enum: + - IPV4 + - IPV6 + - IPV4V6 + - NON_IP + - ETHERNET + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the PDN connection type. + Possible values are + - IPV4: PDN connection of IPv4 type. + - IPV6: PDN connection of IPv6 type. + - IPV4V6: PDN connection of IPv4v6 type. + - NON_IP: PDN connection of non-IP type. + - ETHERNET: PDN connection of Ethernet type. + + InterfaceIndication: + anyOf: + - type: string + enum: + - EXPOSURE_FUNCTION + - PDN_GATEWAY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the network entity used for data delivery towards the SCS/AS. + Possible values are + - EXPOSURE_FUNCTION: SCEF is used for the PDN connection towards the SCS/AS. + - PDN_GATEWAY: PDN gateway is used for the PDN connection towards the SCS/AS. + + LocationFailureCause: + anyOf: + - type: string + enum: + - POSITIONING_DENIED + - UNSUPPORTED_BY_UE + - NOT_REGISTED_UE + - UNSPECIFIED + - REQUESTED_AREA_NOT_ALLOWED + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: > + Represents the cause of location positioning failure. + Possible values are: + - POSITIONING_DENIED: Positioning is denied. + - UNSUPPORTED_BY_UE: Positioning is not supported by UE. + - NOT_REGISTED_UE: UE is not registered. + - UNSPECIFIED: Unspecified. + - REQUESTED_AREA_NOT_ALLOWED: The location request is rejected because the location area + requested by the AF for area event reporting is not allowed. + + SubType: + anyOf: + - type: string + enum: + - AERIAL_UE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents a subscription type. + Possible values are + - AERIAL_UE: The UE has Aerial subscription. + + SACRepFormat: + anyOf: + - type: string + enum: + - NUMERICAL + - PERCENTAGE + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: Indicates the NSAC reporting format. + diff --git a/TS29122_MsisdnLessMoSms.yaml b/TS29122_MsisdnLessMoSms.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bc3d12c77587a0f9b9f5d297d88353b3d4f32bd1 --- /dev/null +++ b/TS29122_MsisdnLessMoSms.yaml @@ -0,0 +1,102 @@ +openapi: 3.0.0 +info: + title: 3gpp-msisdn-less-mo-sms + version: 1.2.0 + description: | + API for MSISDN-less Mobile Originated SMS. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V17.6.0 T8 reference point for Northbound APIs + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. +paths: + /: + post: + summary: Deliver a received MSIDN-less MO SMS from the SCEF to the SCS/AS. + operationId: DeliverMSISDNlessMOSMSNotification + tags: + - MSISDN-less MO SMS Notification + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MsisdnLessMoSmsNotification' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/MsisdnLessMoSmsNotificationReply' + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + MsisdnLessMoSmsNotification: + description: Represents a MSISDN-less MO SMS notification. + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + sms: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + externalId: + type: string + description: External identifier has the form username@realm. + applicationPort: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + required: + - supportedFeatures + - sms + - externalId + - applicationPort + MsisdnLessMoSmsNotificationReply: + description: Represents a reply to a MSISDN-less MO SMS notification. + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supportedFeatures diff --git a/TS29122_NIDD.yaml b/TS29122_NIDD.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a9c9522c30b8a6987d0b594d950310c5405c6c2d --- /dev/null +++ b/TS29122_NIDD.yaml @@ -0,0 +1,1312 @@ +openapi: 3.0.0 + +info: + title: 3gpp-nidd + version: 1.3.0-alpha.1 + description: | + API for non IP data delivery. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.122 V18.1.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-nidd/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /{scsAsId}/configurations: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + get: + summary: Read all NIDD configuration resources for a given SCS/AS. + operationId: FetchAllNIDDConfigurations + tags: + - NIDD configurations + responses: + '200': + description: all NIDD configurations. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NiddConfiguration' + minItems: 0 + description: individual NIDD 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' + '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 NIDD configuration resource. + operationId: CreateNIDDConfiguration + tags: + - NIDD configurations + requestBody: + description: Contains the data to create a NIDD configuration. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NiddConfiguration' + responses: + '201': + description: NIDD configuration is successfully created. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddConfiguration' + 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: + niddNotifications: + '{$request.body#/notificationDestination}': + post: + requestBody: + description: > + Notification for NIDD configuration status, MO NIDD, MT NIDD delivery report. + required: true + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/NiddConfigurationStatusNotification' + - $ref: '#/components/schemas/NiddUplinkDataNotification' + - $ref: '#/components/schemas/NiddDownlinkDataDeliveryStatusNotification' + - $ref: '#/components/schemas/GmdNiddDownlinkDataDeliveryNotification' + - $ref: '#/components/schemas/ManagePortNotification' + responses: + '204': + description: Expected response to a successful callback processing without a body + '200': + description: Expected response to a successful callback processing with a body + content: + application/json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Acknowledgement' + '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' + /{scsAsId}/configurations/{configurationId}: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + - name: configurationId + description: String identifying the individual NIDD configuration resource in the SCEF. + in: path + required: true + schema: + type: string + get: + summary: Read an NIDD configuration resource. + operationId: FetchIndNIDDConfiguration + tags: + - Individual NIDD configuration + responses: + '200': + description: The individual NIDD configuration is successfully retrieved. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddConfiguration' + '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: Modify an existing NIDD configuration resource. + operationId: ModifyNIDDConfiguration + tags: + - Individual NIDD configuration + requestBody: + description: Contains information to be applied to the individual NIDD configuration. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/NiddConfigurationPatch' + responses: + '200': + description: > + The Individual NIDD configuration is modified successfully and a representation + of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddConfiguration' + '204': + description: > + The Individual NIDD configuration is modified successfully and no content + is to be sent in the response message 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: Delete an existing NIDD configuration resource. + operationId: DeleteNIDDConfiguration + tags: + - Individual NIDD configuration + responses: + '204': + description: The Individual NIDD configuration is 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' + + /{scsAsId}/configurations/{configurationId}/downlink-data-deliveries: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + - name: configurationId + description: String identifying the individual NIDD configuration resource in the SCEF. + in: path + required: true + schema: + type: string + get: + summary: Read all pending NIDD downlink data delivery resources related to a particular NIDD configuration resource. + operationId: FetchAllDownlinkDataDeliveries + tags: + - NIDD downlink data deliveries + responses: + '200': + description: all NIDD downlink data deliveries. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + minItems: 0 + description: individual NIDD downlink data delivery. + '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 an NIDD downlink data delivery resource related to a particular NIDD configuration resource. + operationId: CreateDownlinkDataDelivery + tags: + - NIDD downlink data deliveries + requestBody: + description: Contains the data to create a NIDD downlink data delivery. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + responses: + '200': + description: NIDD downlink data delivery is successful. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + '201': + description: NIDD downlink data delivery is pending. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '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': + description: The NIDD downlink data delivery request was not successful. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataDeliveryFailure' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/configurations/{configurationId}/downlink-data-deliveries/{downlinkDataDeliveryId}: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + - name: configurationId + description: String identifying the individual NIDD configuration resource in the SCEF. + in: path + required: true + schema: + type: string + - name: downlinkDataDeliveryId + description: String identifying the individual NIDD downlink data delivery in the SCEF. + in: path + required: true + schema: + type: string + get: + summary: Read pending NIDD downlink data delivery resource. + operationId: FetchIndDownlinkDataDelivery + tags: + - Individual NIDD downlink data delivery + responses: + '200': + description: The individual NIDD downlink data delivery is successfully retrieved. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + '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: Replace an NIDD downlink data delivery resource. + operationId: UpdateIndDownlinkDataDelivery + tags: + - Individual NIDD downlink data delivery + requestBody: + description: > + Contains information to be applied to the individual NIDD downlink data delivery. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + responses: + '200': + description: > + The pending NIDD downlink data is replaced sucessfully but delivery is pending. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + '204': + description: > + The NIDD downlink data delivery has been replaced successfully and no content + is to be sent in the response message 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' + '409': + $ref: 'TS29122_CommonData.yaml#/components/responses/409' + '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': + description: The NIDD downlink data replacement request was not successful. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataDeliveryFailure' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + patch: + summary: Modify an existing Individual NIDD downlink data delivery resource. + operationId: ModifyIndDownlinkDataDelivery + tags: + - Individual NIDD downlink data delivery + requestBody: + description: > + Contains the parameters to update an individual NIDD downlink data delivery resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataTransferPatch' + responses: + '200': + description: > + OK. The modification of the Individual NIDD downlink data delivery resource was + successful and an updated representation of the resource within the + NiddDownlinkDataTransfer data structure in the response message body is returned + by the SCEF. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + '204': + description: > + No Content. The modification of the Individual NIDD downlink data delivery resource + was successful and no content is to be sent in the response message 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' + '409': + $ref: 'TS29122_CommonData.yaml#/components/responses/409' + '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': + description: > + Internal Server Error. The NIDD downlink data modification request was not successful. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataDeliveryFailure' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an NIDD downlink data delivery resource. + operationId: DeleteIndDownlinkDataDelivery + tags: + - Individual NIDD downlink data delivery + responses: + '204': + description: The pending NIDD downlink data is 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' + '409': + $ref: 'TS29122_CommonData.yaml#/components/responses/409' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The NIDD downlink data cancellation request was not successful. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataDeliveryFailure' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/configurations/{configurationId}/rds-ports: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + - name: configurationId + description: String identifying the individual NIDD configuration resource in the SCEF. + in: path + required: true + schema: + type: string + get: + summary: Read all RDS ManagePort Configurations. + operationId: FetchAllManagePortConfigurations + tags: + - ManagePort Configurations + responses: + '200': + description: all ManagePort configurations. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ManagePort' + minItems: 0 + description: individual ManagePort 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' + '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' + /{scsAsId}/configurations/{configurationId}/rds-ports/{portId}: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + - name: configurationId + description: String identifying the individual NIDD configuration resource in the SCEF. + in: path + required: true + schema: + type: string + - name: portId + description: The UE port number. + in: path + required: true + schema: + type: string + pattern: '^(ue([0-9]|(1[0-5]))-ef([0-9]|(1[0-5])))$' + get: + summary: Read an Individual ManagePort Configuration resource to query port numbers. + operationId: FetchIndManagePortConfiguration + tags: + - Individual ManagePort Configuration + responses: + '200': + description: The individual ManagePort configuration is successfully retrieved. + content: + application/json: + schema: + $ref: '#/components/schemas/ManagePort' + '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: Create a new Individual ManagePort Configuration resource to reserve port numbers. + operationId: UpdateIndManagePortConfiguration + tags: + - Individual ManagePort Configuration + requestBody: + description: Contains information to be applied to the individual ManagePort configuration. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ManagePort' + responses: + '201': + description: The individual ManagePort configuration is created. + content: + application/json: + schema: + $ref: '#/components/schemas/ManagePort' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '202': + description: The request is accepted and under processing. + '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' + '409': + $ref: 'TS29122_CommonData.yaml#/components/responses/409' + '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': + description: The request was not successful. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/RdsDownlinkDataDeliveryFailure' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an Individual ManagePort Configuration resource to release port numbers. + operationId: DeleteIndManagePortConfiguration + tags: + - Individual ManagePort Configuration + responses: + '202': + description: The request is accepted and under processing. + '204': + description: The individual ManagePort configuration is 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' + '409': + $ref: 'TS29122_CommonData.yaml#/components/responses/409' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The request was not successful. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/RdsDownlinkDataDeliveryFailure' + '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: + NiddConfiguration: + description: Represents the configuration for NIDD. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + mtcProviderId: + type: string + description: Identifies the MTC Service Provider and/or MTC Application. + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + duration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + reliableDataService: + type: boolean + description: > + Indicates whether the reliable data service (as defined in clause 4.5.14.3 of 3GPP TS + 23.682) acknowledgement is requested (true) or not (false). Default value is false. + rdsPorts: + type: array + items: + $ref: '#/components/schemas/RdsPort' + minItems: 1 + description: > + Indicates the static port configuration that is used for reliable data transfer between + specific applications using RDS (as defined in clause 5.2.4 and + 5.2.5 of 3GPP TS 24.250). + pdnEstablishmentOption: + $ref: '#/components/schemas/PdnEstablishmentOptions' + 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' + maximumPacketSize: + type: integer + minimum: 1 + description: > + The Maximum Packet Size is the maximum NIDD packet size that was transferred to + the UE by the SCEF in the PCO, see clause 4.5.14.1 of 3GPP TS 23.682. If no maximum + packet size was provided to the UE by the SCEF, the SCEF sends a default configured + max packet size to SCS/AS. Unit bit. + readOnly: true + niddDownlinkDataTransfers: + type: array + items: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + minItems: 1 + description: > + The downlink data deliveries that needed to be executed by the SCEF. The cardinality of + the property shall be 0..1 in the request and 0..N in the response (i.e. response may + contain multiple buffered MT NIDD). + status: + $ref: '#/components/schemas/NiddStatus' + required: + - notificationDestination + oneOf: + - required: [externalId] + - required: [msisdn] + - required: [externalGroupId] + + NiddDownlinkDataTransfer: + description: Represents the received NIDD downlink data from the SCS/AS. + type: object + properties: + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + data: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + reliableDataService: + type: boolean + description: > + Indicates whether the reliable data service (as defined in clause 4.5.14.3 of 3GPP TS + 23.682) acknowledgement is requested (true) or not (false). Default value is false. + rdsPort: + $ref: '#/components/schemas/RdsPort' + maximumLatency: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + priority: + type: integer + description: > + It is used to indicate the priority of the non-IP data packet relative to other + non-IP data packets. + pdnEstablishmentOption: + $ref: '#/components/schemas/PdnEstablishmentOptions' + deliveryStatus: + $ref: '#/components/schemas/DeliveryStatus' + requestedRetransmissionTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + required: + - data + oneOf: + - required: [externalId] + - required: [msisdn] + - required: [externalGroupId] + + NiddUplinkDataNotification: + description: Represents NIDD uplink data to be notified to the SCS/AS. + type: object + properties: + niddConfiguration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + data: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + reliableDataService: + type: boolean + description: > + Indicates whether the reliable data service acknowledgement is requested (true) or + not (false). + rdsPort: + $ref: '#/components/schemas/RdsPort' + required: + - niddConfiguration + - data + oneOf: + - required: [externalId] + - required: [msisdn] + + NiddDownlinkDataDeliveryStatusNotification: + description: Represents the delivery status of a specific NIDD downlink data delivery. + type: object + properties: + niddDownlinkDataTransfer: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + deliveryStatus: + $ref: '#/components/schemas/DeliveryStatus' + requestedRetransmissionTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + required: + - niddDownlinkDataTransfer + - deliveryStatus + + NiddConfigurationStatusNotification: + description: Represents an NIDD configuration status notification. + type: object + properties: + niddConfiguration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + status: + $ref: '#/components/schemas/NiddStatus' + rdsCapIndication: + type: boolean + description: > + It indicates whether the network capability for the reliable data service is enabled + or not. + rdsPort: + $ref: '#/components/schemas/RdsPort' + required: + - niddConfiguration + - status + oneOf: + - required: [externalId] + - required: [msisdn] + + GmdNiddDownlinkDataDeliveryNotification: + description: Represents the delivery status of a specific group NIDD downlink data delivery. + type: object + properties: + niddDownlinkDataTransfer: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + gmdResults: + type: array + items: + $ref: '#/components/schemas/GmdResult' + minItems: 1 + description: Indicates the group message delivery result. + required: + - niddDownlinkDataTransfer + - gmdResults + + RdsPort: + description: Represents the port configuration for Reliable Data Transfer. + type: object + properties: + portUE: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + portSCEF: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + required: + - portUE + - portSCEF + + GmdResult: + description: Represents the group message delivery result. + type: object + properties: + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + deliveryStatus: + $ref: '#/components/schemas/DeliveryStatus' + requestedRetransmissionTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + required: + - deliveryStatus + oneOf: + - required: [externalId] + - required: [msisdn] + + NiddDownlinkDataDeliveryFailure: + description: Represents information related to a failure delivery result. + type: object + properties: + problemDetail: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + requestedRetransmissionTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + required: + - problemDetail + + ManagePort: + description: Represents the configuration of a RDS dynamic port management. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + appId: + type: string + description: Identifies the application. + manageEntity: + $ref: '#/components/schemas/ManageEntity' + skipUeInquiry: + type: boolean + description: Indicate whether to skip UE inquiry. + supportedFormats: + type: array + items: + $ref: '#/components/schemas/SerializationFormat' + minItems: 1 + description: > + Indicates the serialization format(s) that are supported by the SCS/AS on the associated + RDS port. + configuredFormat: + $ref: '#/components/schemas/SerializationFormat' + required: + - appId + + ManagePortNotification: + description: Represents a ManagePort notification of port numbers that are reserved. + type: object + properties: + niddConfiguration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + managedPorts: + type: array + items: + $ref: '#/components/schemas/ManagePort' + minItems: 1 + description: Indicates the reserved RDS port configuration information. + required: + - niddConfiguration + oneOf: + - required: [externalId] + - required: [msisdn] + + RdsDownlinkDataDeliveryFailure: + description: Represents the failure delivery result for RDS. + allOf: + - $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + - type: object + properties: + requestedRetransmissionTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + supportedUeFormats: + type: array + items: + $ref: '#/components/schemas/SerializationFormat' + minItems: 1 + description: > + Indicates the serialization format(s) that are supported by the UE on the associated + RDS port. + + NiddDownlinkDataTransferPatch: + description: > + Represents the parameters to request the modification of an Individual NIDD Downlink Data + Delivery resource. + type: object + properties: + data: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + reliableDataService: + type: boolean + description: > + Indicates whether the reliable data service (as defined in clause 4.5.14.3 of 3GPP TS + 23.682) acknowledgement is requested (true) or not (false). + rdsPort: + $ref: '#/components/schemas/RdsPort' + maximumLatency: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + priority: + type: integer + description: > + It is used to indicate the priority of the non-IP data packet relative to other + non-IP data packets. + pdnEstablishmentOption: + $ref: '#/components/schemas/PdnEstablishmentOptions' + + PdnEstablishmentOptions: + anyOf: + - type: string + enum: + - WAIT_FOR_UE + - INDICATE_ERROR + - SEND_TRIGGER + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents PDN establishment options that describe the network behaviour when + there is no PDN connection towards the addressed UE. + Possible values are: + - WAIT_FOR_UE: wait for the UE to establish the PDN connection + - INDICATE_ERROR: respond with an error cause + - SEND_TRIGGER: send a device trigger + + PdnEstablishmentOptionsRm: + description: > + Represents the same information as the PdnEstablishmentOptions data type with the + difference that it allows also the null value. + anyOf: + - $ref: '#/components/schemas/PdnEstablishmentOptions' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue' + + DeliveryStatus: + anyOf: + - type: string + enum: + - SUCCESS + - SUCCESS_NEXT_HOP_ACKNOWLEDGED + - SUCCESS_NEXT_HOP_UNACKNOWLEDGED + - SUCCESS_ACKNOWLEDGED + - SUCCESS_UNACKNOWLEDGED + - TRIGGERED + - BUFFERING + - BUFFERING_TEMPORARILY_NOT_REACHABLE + - SENDING + - FAILURE + - FAILURE_RDS_DISABLED + - FAILURE_NEXT_HOP + - FAILURE_TIMEOUT + - FAILURE_TEMPORARILY_NOT_REACHABLE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the status of a downlink NIDD data delivery resource. + Possible values are: + - SUCCESS: Success but details not provided + - SUCCESS_NEXT_HOP_ACKNOWLEDGED: Successful delivery to the next hop with acknowledgment. + - SUCCESS_NEXT_HOP_UNACKNOWLEDGED: Successful delivery to the next hop without + acknowledgment + - SUCCESS_ACKNOWLEDGED: Reliable delivery was acknowledged by the UE + - SUCCESS_UNACKNOWLEDGED: Reliable delivery was not acknowledged by the UE + - TRIGGERED: The SCEF triggered the device and is buffering the data. + - BUFFERING: The SCEF is buffering the data due to no PDN connection established. + - BUFFERING_TEMPORARILY_NOT_REACHABLE: The SCEF has been informed that the UE is temporarily + not reachable but is buffering the data + - SENDING: The SCEF has forwarded the data, but they may be stored elsewhere + - FAILURE: Delivery failure but details not provided + - FAILURE_RDS_DISABLED: RDS was disabled + - FAILURE_NEXT_HOP: Unsuccessful delivery to the next hop. + - FAILURE_TIMEOUT: Unsuccessful delivery due to timeout. + - FAILURE_TEMPORARILY_NOT_REACHABLE: The SCEF has been informed that the UE is temporarily + not reachable without buffering the data. + readOnly: true + + NiddStatus: + anyOf: + - type: string + enum: + - ACTIVE + - TERMINATED_UE_NOT_AUTHORIZED + - TERMINATED + - RDS_PORT_UNKNOWN + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the status of a NIDD configuration. + Possible values are: + - ACTIVE: The NIDD configuration is active. + - TERMINATED_UE_NOT_AUTHORIZED: The NIDD configuration was terminated because the UE´s + authorisation was revoked. + - TERMINATED: The NIDD configuration was terminated. + - RDS_PORT_UNKNOWN: The RDS port is unknown. + readOnly: true + + ManageEntity: + anyOf: + - type: string + enum: + - UE + - AS + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the origin that manages the RDS port. + Possible values are: + - UE: Representing the UE. + - AS: Representing the Application Server. + readOnly: true + + SerializationFormat: + anyOf: + - type: string + enum: + - CBOR + - JSON + - XML + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents a serialization format associated with an RDS port which is applicable + for the Rds_serialization_format feature. + Possible values are + - CBOR: The CBOR Serialzition format + - JSON: The JSON Serialzition format + - XML: The XML Serialzition format + + NiddConfigurationPatch: + description: Represents the parameters to update a NIDD configuration. + type: object + properties: + duration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTimeRm' + reliableDataService: + type: boolean + description: > + Indicates whether the reliable data service (as defined in clause 4.5.14.3 of 3GPP TS + 23.682) acknowledgement is requested (true) or not (false). + nullable: true + rdsPorts: + type: array + items: + $ref: '#/components/schemas/RdsPort' + minItems: 1 + description: > + Indicates the static port configuration that is used for reliable data transfer between + specific applications using RDS (as defined in clause 5.2.4 and 5.2.5 + of 3GPP TS 24.250). + pdnEstablishmentOption: + $ref: '#/components/schemas/PdnEstablishmentOptionsRm' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' diff --git a/TS29122_NpConfiguration.yaml b/TS29122_NpConfiguration.yaml new file mode 100644 index 0000000000000000000000000000000000000000..30b30b6a76eb976670f540fc50400f0fc18224b8 --- /dev/null +++ b/TS29122_NpConfiguration.yaml @@ -0,0 +1,475 @@ +openapi: 3.0.0 +info: + title: 3gpp-network-parameter-configuration + version: 1.2.0 + description: | + API for network parameter configuration. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V17.6.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-network-parameter-configuration/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause of 3GPP TS 29.122. +paths: + /{scsAsId}/configurations: + get: + summary: Read all of the active configurations for the SCS/AS. + operationId: FetchAllNPConfigurations + tags: + - Np Configurations + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get all of the active NpConfigurations for the SCS/AS) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NpConfiguration' + minItems: 0 + description: Network Parameter configurations + '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 for network parameter configuration. + operationId: CreateNPConfiguration + tags: + - Np Configurations + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + requestBody: + description: new configuration creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NpConfiguration' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ConfigurationNotification' + responses: + '204': + description: No Content (successful 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: Created (Successful creation of configuration) + content: + application/json: + schema: + $ref: '#/components/schemas/NpConfiguration' + 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}/configurations/{configurationId}: + get: + summary: Read an active configuration for the SCS/AS and the configuration Id. + operationId: FetchIndNPConfiguration + tags: + - Individual Np Configuration + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: configurationId + 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/NpConfiguration' + '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: Updates/replaces an existing configuration resource. + operationId: UpdateIndNPConfiguration + tags: + - Individual Np Configuration + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: configurationId + 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/NpConfiguration' + responses: + '200': + description: OK (Successful update of the existing configuration) + content: + application/json: + schema: + $ref: '#/components/schemas/NpConfiguration' + '204': + description: No Content (Successful update of the 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' + '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: Updates/replaces an existing configuration resource. + operationId: ModifyIndNPConfiguration + tags: + - Individual Np Configuration + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/NpConfigurationPatch' + responses: + '200': + description: OK. The configuration was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/NpConfiguration' + '204': + description: No Content. The configuration 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 configuration. + operationId: DeleteIndNPConfiguration + tags: + - Individual Np Configuration + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing configuration) + '200': + description: OK. (Successful deletion of the existing configuration) + content: + application/json: + schema: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ConfigResult' + minItems: 1 + description: The configuration was terminated successfully, the configuration failure information for group members shall be included if received. + '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: + NpConfiguration: + description: Represents a network parameters configuration. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + mtcProviderId: + type: string + description: Identifies the MTC Service Provider and/or MTC Application. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + maximumLatency: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + maximumResponseTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + suggestedNumberOfDlPackets: + type: integer + minimum: 0 + description: This parameter may be included to identify the number of packets that the serving gateway shall buffer in case that the UE is not reachable. + groupReportingGuardTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + 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' + validityTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + ueIpAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + ueMacAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + oneOf: + - required: [externalId] + - required: [msisdn] + - required: [externalGroupId] + NpConfigurationPatch: + description: Represents parameters used to request the modification of a network parameters configuration resource. + type: object + properties: + maximumLatency: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRm' + maximumResponseTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRm' + suggestedNumberOfDlPackets: + type: integer + minimum: 0 + description: This parameter may be included to identify the number of packets that the serving gateway shall buffer in case that the UE is not reachable. + nullable: true + groupReportGuardTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRm' + validityTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTimeRm' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + ConfigurationNotification: + description: Represents a configuration result notification. + type: object + properties: + configuration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + configResults: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ConfigResult' + minItems: 1 + description: The grouping configuration result notification provided by the SCEF. + appliedParam: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/AppliedParameterConfiguration' + required: + - configuration diff --git a/TS29122_PfdManagement.yaml b/TS29122_PfdManagement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..470b13b67702331112758d688450a8e5ded88f50 --- /dev/null +++ b/TS29122_PfdManagement.yaml @@ -0,0 +1,825 @@ +openapi: 3.0.0 + +info: + title: 3gpp-pfd-management + version: 1.3.0-alpha.3 + description: | + API for PFD management. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.122 V18.4.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-pfd-management/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /{scsAsId}/transactions: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + get: + summary: Read all or queried PFDs for a given SCS/AS. + operationId: FetchAllPFDManagementTransactions + tags: + - PFD Management Transactions + parameters: + - name: external-app-ids + in: query + description: The external application identifier(s) of the requested PFD data. + required: false + schema: + type: array + items: + type: string + minItems: 1 + responses: + '200': + description: OK. All or queried transactions related to the request URI are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdManagement' + '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 PFDs for a given SCS/AS and one or more external Application Identifier(s). + operationId: CreatePFDManagementTransaction + tags: + - PFD Management Transactions + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + description: Create a new transaction for PFD management. + responses: + '201': + description: > + Created. The transaction was created successfully. The SCEF shall return the created + transaction in the response content. PfdReport may be included to provide detailed + failure information for some applications. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + 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': + description: > + The PFDs for all applications were not created successfully. PfdReport is included with + detailed information. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdReport' + minItems: 1 + responses: + '204': + description: No Content (successful 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' + /{scsAsId}/transactions/{transactionId}: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: transactionId + in: path + description: Transaction ID + required: true + schema: + type: string + get: + summary: Read all PFDs for a given SCS/AS and a transaction for one or more external Application Identifier(s). + operationId: FetchIndPFDManagementTransaction + tags: + - Individual PFD Management Transaction + responses: + '200': + description: OK. The transaction information related to the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + '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: Update PFDs for a given SCS/AS and a transaction for one or more external Application Identifier(s). + operationId: UpdateIndPFDManagementTransaction + tags: + - Individual PFD Management Transaction + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + description: Change information in PFD management transaction. + responses: + '200': + description: > + OK. The transaction was modified successfully. The SCEF shall return an updated + transaction in the response content. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + '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': + description: > + The PFDs for all applications were not updated successfully. PfdReport is included with + detailed information. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + patch: + summary: Modify an existing PFD Management Transaction resource. + operationId: ModifyIndPFDManagementTransaction + tags: + - Individual PFD Management Transaction + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PfdManagementPatch' + responses: + '200': + description: > + OK. The PFD Management Transaction was modified successfully. The SCEF shall return an + updated representation of the resource in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + '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': + description: > + The PFDs for all applications were not modified successfully. A set of PFD Report(s) is + included with detailed information. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + summary: Delete PFDs for a given SCS/AS and a transaction for one or more external Application Identifier(s). + operationId: DeleteIndPFDManagementTransaction + tags: + - Individual PFD Management Transaction + responses: + '204': + description: > + No Content. The transaction was deleted successfully. The content shall be empty. + '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' + /{scsAsId}/transactions/{transactionId}/applications/{appId}: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: transactionId + in: path + description: Transaction ID + required: true + schema: + type: string + - name: appId + in: path + description: Identifier of the application + required: true + schema: + type: string + get: + summary: Read PFDs at individual application level. + operationId: FetchIndApplicationPFDManagement + tags: + - Individual Application PFD Management + responses: + '200': + description: OK. The application information related to the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdData' + '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: Update PFDs at individual application level. + operationId: UpdateIndApplicationPFDManagement + tags: + - Individual Application PFD Management + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdData' + description: Change information in application. + responses: + '200': + description: > + OK. The application resource was modified successfully. The SCEF shall return an updated + application resource in the response content. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdData' + '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': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '409': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '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': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + patch: + summary: Update PFDs at individual application level. + operationId: ModifyIndApplicationPFDManagement + tags: + - Individual Application PFD Management + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PfdData' + description: Change information in PFD management transaction. + responses: + '200': + description: > + OK. The transaction was modified successfully. The SCEF shall return an updated + transaction in the response content. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdData' + '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': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '409': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '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': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + summary: Delete PFDs at individual application level. + operationId: DeleteIndApplicationPFDManagement + tags: + - Individual Application PFD Management + responses: + '204': + description: > + No Content. The application was deleted successfully. The content shall be empty. + '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: + PfdManagement: + description: Represents a PFD management resource for a PFD management request. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + pfdDatas: + type: object + additionalProperties: + $ref: '#/components/schemas/PfdData' + minProperties: 1 + description: > + Each element uniquely identifies the PFDs for an external application identifier. + Each element is identified in the map via an external application identifier as key. + The response shall include successfully provisioned PFD data of application(s). + pfdReports: + type: object + additionalProperties: + $ref: '#/components/schemas/PfdReport' + minProperties: 1 + description: > + Supplied by the SCEF and contains the external application identifiers for which PFD(s) + are not added or modified successfully. The failure reason is also included. + Each element provides the related information for one or more external application + identifier(s) and is identified in the map via the failure identifier as key. + readOnly: true + 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' + required: + - pfdDatas + + PfdData: + description: > + Represents a PFD request to add, update or remove PFD(s) for one external application + identifier. + type: object + properties: + externalAppId: + type: string + description: Each element uniquely external application identifier + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + pfds: + type: object + additionalProperties: + $ref: '#/components/schemas/Pfd' + description: > + Contains the PFDs of the external application identifier. Each PFD is identified in + the map via a key containing the PFD identifier. + allowedDelay: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRm' + cachingTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRo' + required: + - externalAppId + - pfds + + Pfd: + description: Represents a PFD for an external Application Identifier. + type: object + properties: + pfdId: + type: string + description: Identifies a PDF of an application identifier. + flowDescriptions: + type: array + items: + type: string + minItems: 1 + description: > + Represents a 3-tuple with protocol, server ip and server port for UL/DL application + traffic. The content of the string has the same encoding as the IPFilterRule AVP + value as defined in IETF RFC 6733. + urls: + type: array + items: + type: string + minItems: 1 + description: > + Indicates a URL or a regular expression which is used to match the significant parts + of the URL. + domainNames: + type: array + items: + type: string + minItems: 1 + description: Indicates an FQDN or a regular expression as a domain name matching criteria. + dnProtocol: + $ref: '#/components/schemas/DomainNameProtocol' + required: + - pfdId + + PfdReport: + description: > + Represents a PFD report indicating the external application identifier(s) which PFD(s) + are not added or modified successfully and the corresponding failure cause(s). + type: object + properties: + externalAppIds: + type: array + items: + type: string + minItems: 1 + description: > + Identifies the external application identifier(s) which PFD(s) are not added or + modified successfully + failureCode: + $ref: '#/components/schemas/FailureCode' + cachingTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + locationArea: + $ref: '#/components/schemas/UserPlaneLocationArea' + required: + - externalAppIds + - failureCode + + UserPlaneLocationArea: + description: > + Represents location area(s) of the user plane functions which are unable to enforce the + provisioned PFD(s) successfully. + type: object + properties: + locationArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea' + locationArea5G: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 0 + description: Identifies a list of DNAI which the user plane functions support. + + PfdManagementPatch: + description: > + Represents the parameters to request the modification of a PFD management transaction + resource. + type: object + properties: + pfdDatas: + type: object + additionalProperties: + $ref: '#/components/schemas/PfdData' + minProperties: 1 + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + + FailureCode: + anyOf: + - type: string + enum: + - MALFUNCTION + - RESOURCE_LIMITATION + - SHORT_DELAY + - APP_ID_DUPLICATED + - PARTIAL_FAILURE + - OTHER_REASON + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the failure reason of the PFD management. + Possible values are: + - MALFUNCTION: This value indicates that something functions wrongly in PFD provisioning + or the PFD provisioning does not function at all. + - RESOURCE_LIMITATION: This value indicates there is resource limitation for PFD storage. + - SHORT_DELAY: This value indicates that the allowed delay is too short and PFD(s) + are not stored. + - APP_ID_DUPLICATED: The received external application identifier(s) are already + provisioned. + - PARTIAL_FAILURE: The PFD(s) are not provisioned to all PCEFs/TDFs/SMFs. + - OTHER_REASON: Other reason unspecified. + + DomainNameProtocol: + anyOf: + - type: string + enum: + - DNS_QNAME + - TLS_SNI + - TLS_SAN + - TSL_SCN + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the type of Domain Name Protocol. + Possible values are: + - DNS_QNAME: Identifies the DNS protocol and the question name in DNS query. + - TLS_SNI: Identifies the Server Name Indication in TLS ClientHello message. + - TLS_SAN: Identifies the Subject Alternative Name in TLS ServerCertificate message. + - TSL_SCN: Identifies the Subject Common Name in TLS ServerCertificate message. + diff --git a/TS29122_RacsParameterProvisioning.yaml b/TS29122_RacsParameterProvisioning.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7e57fd6c268ee3966c516cf39a9d052447a44a51 --- /dev/null +++ b/TS29122_RacsParameterProvisioning.yaml @@ -0,0 +1,470 @@ +openapi: 3.0.0 + +info: + title: 3gpp-racs-parameter-provisioning + version: 1.2.0-alpha.2 + description: | + API for provisioning UE radio capability parameters. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.122 V18.4.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-racs-pp/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /{scsAsId}/provisionings: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + get: + summary: Read all RACS parameter provisionings for a given AF. + operationId: FetchAllRACSParameterProvisionings + tags: + - RACS Parameter Provisionings + responses: + '200': + description: OK. The provisioning information related to the request URI is returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RacsProvisioningData' + 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: Create a new RACS parameter provisioning. + operationId: CreateRACSParameterProvisioning + tags: + - RACS Parameter Provisionings + requestBody: + description: create new provisionings for a given SCS/AS. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RacsProvisioningData' + responses: + '201': + description: Created. The provisioning was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/RacsProvisioningData' + 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': + description: The RACS data for all RACS IDs were not provisioned successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RacsFailureReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/provisionings/{provisioningId}: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: provisioningId + in: path + description: Provisioning ID + required: true + schema: + type: string + get: + summary: Read an existing RACS parameter provisioning. + operationId: FetchIndRACSParameterProvisioning + tags: + - Individual RACS Parameter Provisioning + responses: + '200': + description: OK. The provisioning information related to the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/RacsProvisioningData' + '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: Modify some properties in an existing RACS parameter provisioning. + operationId: ModifyIndRACSParameterProvisioning + tags: + - Individual RACS Parameter Provisioning + requestBody: + description: update an existing parameter provisioning. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/RacsProvisioningDataPatch' + responses: + '200': + description: OK. The provisioning data was updated successfully. The SCEF shall return an updated provisioning information in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/RacsProvisioningData' + '204': + description: > + The provisioning data was updated successfully, and no content is to be sent in + the response message 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': + description: The RACS data for all RACS IDs were not provisioned successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RacsFailureReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + put: + summary: Modify all properties in an existing RACS parameter provisioning. + operationId: UpdateIndRACSParameterProvisioning + tags: + - Individual RACS Parameter Provisioning + requestBody: + description: update an existing parameter provisioning. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RacsProvisioningData' + responses: + '200': + description: > + OK. The provisioning data was updated successfully. The SCEF shall return an updated + provisioning information in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/RacsProvisioningData' + '204': + description: > + The provisioning data was updated successfully, and no content is to be sent in + the response message 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': + description: The RACS data for all RACS IDs were not provisioned successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RacsFailureReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + summary: Delete a RACS parameter provisioning. + operationId: DeleteIndRACSParameterProvisioning + tags: + - Individual RACS Parameter Provisioning + responses: + '204': + description: > + No Content. The provisioning was terminated successfully. The content shall + be empty. + '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: + RacsProvisioningData: + description: Represents a UE's radio capability data. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + racsConfigs: + type: object + additionalProperties: + $ref: '#/components/schemas/RacsConfiguration' + minProperties: 1 + description: > + Identifies the configuration related to manufacturer specific UE radio capability. + Each element uniquely identifies an RACS configuration for an RACS ID and is identified + in the map via the RACS ID as key. The response shall include successfully provisioned + RACS data. + racsReports: + type: object + additionalProperties: + $ref: '#/components/schemas/RacsFailureReport' + minProperties: 1 + description: > + Supplied by the SCEF. Contains the RACS IDs for which the RACS data are not provisioned + successfully. Any string value can be used as a key of the map. + readOnly: true + required: + - racsConfigs + RacsFailureReport: + description: Represents a radio capability data provisioning failure report. + type: object + properties: + racsIds: + type: array + items: + type: string + minItems: 1 + description: > + Identifies the RACS ID(s) for which the RACS data are not provisioned successfully. + failureCode: + $ref: '#/components/schemas/RacsFailureCode' + required: + - racsIds + - failureCode + + RacsConfiguration: + description: Represents a single UE radio capability configuration data. + type: object + properties: + racsId: + type: string + description: > + The UE radio capability ID provided by the SCS/AS to identify the UE radio capability + data. See 3GPP TS 23.003 for the encoding. + racsParamEps: + type: string + description: The UE radio capability data in EPS. + racsParam5Gs: + type: string + description: The UE radio capability data in 5GS. + imeiTacs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TypeAllocationCode' + minItems: 1 + description: Related UE model's IMEI-TAC values. + anyOf: + - required: [racsParamEps] + - required: [racsParam5Gs] + required: + - racsId + - imeiTacs + + RacsProvisioningDataPatch: + description: > + Represents parameters to request the modification of a UE's radio capability data. + type: object + properties: + racsConfigs: + type: object + additionalProperties: + $ref: '#/components/schemas/RacsConfigurationRm' + minProperties: 1 + description: > + Identifies the configuration related to manufactuer specific UE radio capability. + Each element uniquely identifies an RACS configuration for an RACS ID and is identified + in the map via the RACS ID as key. + + RacsConfigurationRm: + description: > + Represents the same as the RacsConfiguration data type but with the nullable:true property. + type: object + properties: + racsParamEps: + type: string + description: The UE radio capability data in EPS. + nullable: true + racsParam5Gs: + type: string + description: The UE radio capability data in 5GS. + nullable: true + imeiTacs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TypeAllocationCode' + minItems: 1 + description: Related UE model's IMEI-TAC values. + nullable: true + + RacsFailureCode: + anyOf: + - type: string + enum: + - MALFUNCTION + - RESOURCE_LIMITATION + - RACS_ID_DUPLICATED + - OTHER_REASON + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the failure result of UE radio capability provisioning. + Possible values are: + - MALFUNCTION: This value indicates that something functions wrongly in RACS provisioning or + the RACS provisioning does not function at all. + - RESOURCE_LIMITATION: This value indicates there is resource limitation for RACS data + storage. + - RACS_ID_DUPLICATED: The received RACS identifier(s) are already provisioned. + - OTHER_REASON: Other reason unspecified. + diff --git a/TS29122_ReportingNetworkStatus.yaml b/TS29122_ReportingNetworkStatus.yaml new file mode 100644 index 0000000000000000000000000000000000000000..114276abb5475db14f6f911a91eb30ecf125853e --- /dev/null +++ b/TS29122_ReportingNetworkStatus.yaml @@ -0,0 +1,455 @@ +openapi: 3.0.0 + +info: + title: 3gpp-network-status-reporting + version: 1.3.0-alpha.1 + description: | + API for reporting network status. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.122 V18.1.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-net-stat-report/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /{scsAsId}/subscriptions: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ScsAsId' + get: + summary: Read all network status reporting subscription resources for a given SCS/AS. + operationId: FetchAllNwStatusReportSubscriptions + tags: + - Network Status Reporting Subscriptions + responses: + '200': + description: The requested information was returned successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NetworkStatusReportingSubscription' + 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: Create a new network status reporting subscription resource. + operationId: CreateNwStatusReportSubscription + tags: + - Network Status Reporting Subscriptions + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkStatusReportingSubscription' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkStatusReportingNotification' + responses: + '204': + description: No Content (successful 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: > + The subscription was created successfully. The URI of the created resource shall be + returned in the "Location" HTTP header. + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkStatusReportingSubscription' + 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}/subscriptions/{subscriptionId}: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ScsAsId' + - name: subscriptionId + in: path + description: Identifier of the subscription resource of type string + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ResourceId' + get: + summary: Read an active network status reporting subscription resource. + operationId: FetchIndNwStatusReportSubscription + tags: + - Individual Network Status Reporting subscription + responses: + '200': + description: The requested information was returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkStatusReportingSubscription' + '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: Modify an existing subscription resource to update a subscription. + operationId: UpdateIndNwStatusReportSubscription + tags: + - Individual Network Status Reporting subscription + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkStatusReportingSubscription' + responses: + '200': + description: The subscription was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkStatusReportingSubscription' + '204': + description: No Content. The subscription was updated 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' + patch: + summary: Modify an existing Individual Network Status Reporting Subscription resource. + operationId: ModifyIndNwStatusReportSubscription + tags: + - Individual Network Status Reporting Subscription + requestBody: + description: > + Contains the parameters to modify an existing Individual Network Status Reporting + Subscription resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/NetStatusRepSubsPatch' + responses: + '200': + description: > + OK. The modification of the Individual Network Status Reporting Subscription resource + was successfull. The SCEF shall return an updated representation of the resource within + the NetworkStatusReportingSubscription data structure in the response message body. + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkStatusReportingSubscription' + '204': + description: > + No Content. The modification of the Individual Network Status Reporting Subscription + resource was successfull and no content is to be sent in the response message 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: Delete an existing continuous network status reporting subscription resource. + operationId: DeleteIndNwStatusReportSubscription + tags: + - Individual Network Status Reporting subscription + responses: + '204': + description: The subscription was updated 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' + '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: + NetworkStatusReportingSubscription: + description: Represents a subscription to network status information reporting. + 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 + clause 5.2.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + locationArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea' + timeDuration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + thresholdValues: + type: array + items: + $ref: '#/components/schemas/CongestionValue' + minItems: 1 + description: > + Identifies a list of congestion level(s) with exact value that the SCS/AS requests + to be informed of when reached. + thresholdTypes: + type: array + items: + $ref: '#/components/schemas/CongestionType' + minItems: 1 + description: Identifies a list of congestion level(s) with abstracted value that the SCS/AS requests to be informed of when reached. + required: + - notificationDestination + - locationArea + not: + required: [thresholdValues, thresholdTypes] + + NetStatusRepSubsPatch: + description: > + Represents the parameters to request the modification of network status reporting + subscription. + type: object + properties: + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + locationArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea' + timeDuration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTimeRm' + thresholdValues: + type: array + items: + $ref: '#/components/schemas/CongestionValue' + minItems: 1 + thresholdTypes: + type: array + items: + $ref: '#/components/schemas/CongestionType' + minItems: 1 + not: + required: [thresholdValues, thresholdTypes] + + NetworkStatusReportingNotification: + description: Represents a network status reporting notification. + type: object + properties: + subscription: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + nsiValue: + $ref: '#/components/schemas/CongestionValue' + nsiType: + $ref: '#/components/schemas/CongestionType' + required: + - subscription + not: + required: [nsiValue, nsiType] + + CongestionValue: + type: integer + minimum: 0 + maximum: 31 + description: > + Unsigned integer with valid values between 0 and 31. The value 0 indicates that there is no + congestion. The value 1 is the lowest congestion level and value 31 is the highest + congestion level. + + CongestionType: + anyOf: + - type: string + enum: + - HIGH + - MEDIUM + - LOW + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents abstracted values for congestion status. + Possible values are: + - HIGH: The congestion status is high. + - MEDIUM: The congestion status is medium. + - LOW: The congestion status is low. diff --git a/TS29122_ResourceManagementOfBdt.yaml b/TS29122_ResourceManagementOfBdt.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e1c500ad2c2d7681cc0489976cbbaca32b8f1ae3 --- /dev/null +++ b/TS29122_ResourceManagementOfBdt.yaml @@ -0,0 +1,441 @@ +openapi: 3.0.0 +info: + title: 3gpp-bdt + version: 1.3.0-alpha.1 + description: | + API for BDT resouce management. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V18.2.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-bdt/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/subscriptions: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + get: + summary: Fetch all active background data transfer subscription resources for a given SCS/AS. + operationId: FetchAllActiveBDTSubscriptions + tags: + - BDT Subscription + responses: + '200': + description: all BDT policy subscriptions. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Bdt' + 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: Creates a new background data transfer subscription resource. + operationId: CreateBDTSubscription + tags: + - BDT Subscription + requestBody: + description: Contains the data to create a BDT subscription. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + callbacks: + bDTWarningNotification: + '{$request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ExNotification' + responses: + '204': + description: No Content (successful 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: Background data transfer policies offered to the SCS/AS. + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + 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' + '409': + $ref: 'TS29122_CommonData.yaml#/components/responses/409' + '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}/subscriptions/{subscriptionId}: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + - name: subscriptionId + description: String identifying the individual BDT policy resource in the SCEF. + in: path + required: true + schema: + type: string + get: + summary: Read a background data transfer subscription resource. + operationId: FetchIndBDTSubscription + tags: + - Individual BDT Subscription + responses: + '200': + description: Background data transfer policies offered to and selected by the SCEF. + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + '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: Update a background data transfer subscription resource for negotiation of background data transfer policy. + operationId: UpdateBDTSubscription + tags: + - Individual BDT Subscription + requestBody: + description: Parameters to update/replace the existing BDT subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + responses: + '200': + description: OK (Successful update of the BDT subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + '204': + description: No Content. The Individual BDT Subscription resource was updated 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' + patch: + summary: Modify a background data transfer subscription resource to select one of the transfer policies offered by the SCEF. + operationId: ModifyBDTSubscription + tags: + - Individual BDT Subscription + requestBody: + description: Contains information to be performed on the Bdt data structure to select a transfer policy. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/BdtPatch' + responses: + '200': + description: The Individual BDT Policy resource is modified with a selected policy and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + '204': + description: The Individual BDT Policy resource is modified with a selected policy. + '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: Delete a background data transfer resource. + operationId: DeleteBDTSubscription + tags: + - Individual BDT Subscription + responses: + '204': + description: The Individual BDT Policy resource is 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: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + Bdt: + description: Represents a Background Data Transfer subscription. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + aspId: + type: string + description: Identifies an application service provider. + volumePerUE: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + numberOfUEs: + type: integer + minimum: 1 + description: Identifies the number of UEs. + desiredTimeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + locationArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea' + locationArea5G: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + referenceId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + transferPolicies: + type: array + items: + $ref: '#/components/schemas/TransferPolicy' + minItems: 1 + description: Identifies an offered transfer policy. + readOnly: true + selectedPolicy: + type: integer + description: Identity of the selected background data transfer policy. Shall not be present in initial message exchange, can be provided by NF service consumer in a subsequent message exchange. + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + warnNotifEnabled: + type: boolean + description: > + Indicates whether the BDT warning notification is enabled (true) or not (false). Default + value is false. + trafficDes: + $ref: '#/components/schemas/TrafficDescriptor' + required: + - volumePerUE + - numberOfUEs + - desiredTimeWindow + BdtPatch: + description: Represents a Background Data Transfer subscription modification request. + type: object + properties: + selectedPolicy: + type: integer + description: Identity of the selected background data transfer policy. + warnNotifEnabled: + type: boolean + description: > + Indicates whether the BDT warning notification is enabled (true) or not (false). + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + required: + - selectedPolicy + TransferPolicy: + description: Represents an offered transfer policy sent from the SCEF to the SCS/AS, or a selected transfer policy sent from the SCS/AS to the SCEF. + type: object + properties: + bdtPolicyId: + type: integer + description: Identifier for the transfer policy + maxUplinkBandwidth: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bandwidth' + maxDownlinkBandwidth: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bandwidth' + ratingGroup: + type: integer + minimum: 0 + description: Indicates the rating group during the time window. + timeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + required: + - bdtPolicyId + - ratingGroup + - timeWindow + ExNotification: + description: Represents a Background Data Transfer notification. + type: object + properties: + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + locationArea5G: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + timeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + candPolicies: + type: array + items: + $ref: '#/components/schemas/TransferPolicy' + minItems: 1 + description: This IE indicates a list of the candidate transfer policies from which the AF may select a new transfer policy due to network performance degradation. + required: + - bdtRefId + TrafficDescriptor: + type: string + description: Identify a traffic descriptor as defined in Figure 5.2.2 of 3GPP TS 24.526, octets v+5 to w. diff --git a/TS29175_Nimsas_MediaControl.yaml b/TS29175_Nimsas_MediaControl.yaml new file mode 100644 index 0000000000000000000000000000000000000000..24b70618fb2095ff3c3acdc7900281de9cdb71a3 --- /dev/null +++ b/TS29175_Nimsas_MediaControl.yaml @@ -0,0 +1,216 @@ +openapi: 3.0.0 + +info: + title: 'IMS AS MediaControl Service' + version: '1.0.0-alpha.1' + description: | + Nimsas_MediaControl Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.175 V0.5.0; IP Multimedia Subsystem; IP Multimedia Subsystem (IMS) Application + Server (AS) Services; Stage 3 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.175' + +servers: + - url: '{apiRoot}/nimsas-mc/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nimsas-mc + +paths: + + /call-sessions/{sessionId}/media-instruction: + post: + summary: Update + operationId: UpdateCallSession + tags: + - Individual call session (Document) + parameters: + - name: sessionId + in: path + description: Session ID assigned by the IMS AS during the IMS session setup. + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SessionId' + requestBody: + description: Representation of the updates to apply to the call session. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MediaInstructionData' + responses: + '200': + description: > + Successful update of the call session, when the IMS AS needs to return information + in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/MediaInstructionData' + '204': + description: > + Successful update of the call session, when the IMS AS does not need to return + information in the response. + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target UPF. + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target UPF. + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nimsas-mc: Access to the Nimsas_MediaControl API. + + schemas: + +# STRUCTURED DATA TYPES + + MediaInstructionData: + description: The media instruction data for a specific session. + type: object + required: + - sessionId + - mediaInstructionSet + properties: + sessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SessionId' + mediaInstructionSet: + description: > + Contains a set of instructions for each media flow to control. The mediaId + attribute within the MediaInstructions data type is the key of the map. + type: object + additionalProperties: + $ref: '#/components/schemas/MediaInstructions' + minProperties: 1 + + MediaInstructions: + description: The media instructions for a specific media flow. + type: object + required: + - mediaId + - mediaResourceType + properties: + mediaId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MediaId' + mediaResourceType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MediaResourceType' + mediaInstruction: + $ref: '#/components/schemas/MediaInstruction' + dcMediaSpecification: + $ref: '#/components/schemas/DcMediaSpecification' + mediaProcessingUrl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + + DcMediaSpecification: + description: The data channel media specification information. + type: object + required: + - streams + properties: + mediaProxyConfig: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MediaProxy' + replaceHttpUrls: + description: > + Contains a list of replacement HTTP URLs. The streamId + attribute within the ReplaceHttpUrl data type is the key of the map. + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReplaceHttpUrl' + minProperties: 1 + mdc1EndpointDcsf: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Endpoint' + mdc1EndpointMf: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Endpoint' + mdc2EndpointDcAs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Endpoint' + mdc2EndpointMf: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Endpoint' + mdc2Protocol: + type: string + streams: + description: > + Contains a data channel mapping and configuration information. The streamId + attribute within the DcStream data type is the key of the map. + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DcStream' + minProperties: 1 + +# ENUMS + + MediaInstruction: + description: The media instruction for handling a specific media flow. + anyOf: + - type: string + enum: + - TERMINATE_MEDIA + - ORIGINATE_MEDIA + - TERMINATE_AND_ORIGINATE_MEDIA + - UPDATE_MEDIA + - DELETE_MEDIA + - REJECT_MEDIA + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + diff --git a/TS29175_Nimsas_SessionEventControl.yaml b/TS29175_Nimsas_SessionEventControl.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ce45918e77c41f654fd654f87d677d2675d8bf6f --- /dev/null +++ b/TS29175_Nimsas_SessionEventControl.yaml @@ -0,0 +1,268 @@ +openapi: 3.0.0 + +info: + + title: 'IMS AS SessionEventControl Service' + version: '1.0.0-alpha.1' + description: | + Nimsas_SessionEventControl Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.175 V0.5.0; IP Multimedia Subsystem; IP Multimedia Subsystem (IMS) Application + Server (AS) Services; Stage 3 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.175/' + +servers: + - url: '{apiRoot}/nimsas-sec/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nimsas-sec + +paths: + /session-event-subscriptions: + post: + # This is a pseudo operation, NF service consumers shall NOT invoke this method! + summary: Nimsas_SessionEventControl Subscribe service operation, pseudo operation + tags: + - Session Event Subscriptions (Collection) + operationId: Subscribe + requestBody: + required: true + content: + application/json: + # Unspecified schema for the JSON body, since this is not used by consumer or producer. + schema: {} + responses: + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + callbacks: + eeNotification: + '{SessionEventNotificationUri}': + # The URI in {SessionEventNotificationUri} is not provided by NF service consumer via Nimsas_SessionEventControl API in this Release. + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SessionEventNotification' + responses: + '204': + description: No Content, notification was succesfull. + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: > + The URI pointing to the resource located on the redirect target NF + service consumer. + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: > + The URI pointing to the resource located on the redirect target NF + service consumer. + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nimsas-sec: Access to the Nimsas_SessionEventControl API + + schemas: + +# STRUCTURED DATA TYPES + + SessionEventNotification: + description: The session event notification item. + type: object + required: + - notificationEvent + - sessionId + properties: + notificationEvent: + $ref: '#/components/schemas/NotificationEvent' + sessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SessionId' + sessionInfo: + $ref: '#/components/schemas/SessionInfo' + mediaInfoList: + description: > + Contains a media related information. The mediaId attribute within the MediaInfo + data type is the key of the map. + type: object + additionalProperties: + $ref: '#/components/schemas/MediaInfo' + minItems: 1 + + NotificationEvent: + description: The notification event information. + type: object + required: + - eventType + properties: + eventType: + $ref: '#/components/schemas/EventType' + eventInitiator: + $ref: '#/components/schemas/EventInitiator' + + SessionInfo: + description: The session information related to the notification event. + type: object + properties: + callingIdentity: + $ref: 'TS29562_Nhss_imsSDM.yaml#/components/schemas/ImsPublicId' + calledIdentity: + $ref: 'TS29562_Nhss_imsSDM.yaml#/components/schemas/ImsPublicId' + sessionCase: + $ref: '#/components/schemas/SessionCase' + + MediaInfo: + description: The media information related to the notification event. + type: object + required: + - mediaId + - mediaType + properties: + mediaId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MediaId' + mediaType: + $ref: '#/components/schemas/MediaType' + dcMediaSpecification: + $ref: '#/components/schemas/DcMediaSpecification' + + DcMediaSpecification: + description: > + The data channel media specification information contains media description attributes. + type: object + required: + - streams + properties: + streams: + description: > + Contains a data channel mapping and configuration information. The streamId + attribute within the DcStream data type is the key of the map. + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DcEndpoint' + minItems: 1 + maxMessageSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MaxMessageSize' + localDcEndpoint: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DcEndpoint' + remoteDcEndpoint: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DcEndpoint' + securitySetup: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecuritySetup' + +# ENUMS + + EventType: + description: The type of the event for which the notification is generated. + anyOf: + - type: string + enum: + - SESSION_ESTABLISHMENT_REQUEST + - SESSION_ESTABLISHMENT_PROGRESS + - SESSION_ESTABLISHMENT_ALERTING + - SESSION_ESTABLISHMENT_SUCCESS + - SESSION_ESTABLISHMENT_FAILURE + - MEDIA_CHANGE_REQUEST + - MEDIA_CHANGE_SUCCESS + - MEDIA_CHANGE_FAILURE + - SESSION_TERMINATION + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + + MediaType: + description: The type of the media for which the notification is generated. + anyOf: + - type: string + enum: + - DC + - AUDIO + - VIDEO + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + + SessionCase: + description: The type of the session case. + anyOf: + - type: string + enum: + - ORIGINATING_IMS_SESSION + - TERMINATING_IMS_SESSION + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + + EventInitiator: + description: The initiator of the event for which the notification is generated. + anyOf: + - type: string + enum: + - SERVED_IMS_SUBSCRIBER + - REMOTE_IMS_SUBSCRIBER + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. diff --git a/TS29176_Nmf_MRM.yaml b/TS29176_Nmf_MRM.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2359f0e90ab9ce0ebe45b1286a77db10601b9b16 --- /dev/null +++ b/TS29176_Nmf_MRM.yaml @@ -0,0 +1,349 @@ +openapi: 3.0.0 + +info: + title: 'MF Media Resource Management (MRM) Service' + version: 1.0.0-alpha.1 + description: | + MF Media Resource Management (MRM) Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.176 V0.5.0; IP Multimedia Subsystem (IMS); Media Function (MF) Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.176/ + +servers: + - url: '{apiRoot}/nmf-mrm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nmf-mrm + +paths: + + /contexts: + post: + summary: Create a new media context. + operationId: CreateMediaContext + tags: + - MediaContext(Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MediaContext' + responses: + '201': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/MediaContext' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nmf-mrm//contexts/{contextId} + required: true + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target MF. + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target MF. + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /contexts/{contextId}: + + patch: + summary: Update Media Context + operationId: UpdateMediaContext + tags: + - Media Context ID (Document) + parameters: + - name: contextId + in: path + required: true + description: Unique ID of the Media Context to update. + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request. + content: + application/json: + schema: + $ref: '#/components/schemas/MediaContext' + '204': + description: Expected response with empty body + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target MF. + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target MF. + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '412': + $ref: 'TS29571_CommonData.yaml#/components/responses/412' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes a given Media Context + operationId: DeleteMediaContext + tags: + - Media Context ID (Document) + parameters: + - name: contextId + in: path + required: true + description: Unique ID of the Media Context to delete. + schema: + type: string + responses: + '204': + description: Expected response to a successful deletion. + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target NRF. + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target NRF. + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nmf-mrm: Access to the Nmf_MRM API. + + schemas: + + MediaContext: + description: Information of a Media Context in a MF. + type: object + required: + - terminations + properties: + contextId: + type: string + terminations: + type: array + items: + $ref: '#/components/schemas/TerminationInfo' + minItems: 1 + + TerminationInfo: + description: Represents the termination information. + type: object + required: + - medias + properties: + terminationId: + type: string + medias: + type: array + items: + $ref: '#/components/schemas/MediaInfo' + minItems: 1 + + MediaInfo: + description: Represents the media information. + type: object + required: + - mediaId + - mediaResourceType + properties: + mediaId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MediaId' + mediaResourceType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MediaResourceType' + localMbEndpoint: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Endpoint' + remoteMbEndpoint: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Endpoint' + dcMedia: + $ref: '#/components/schemas/DcMedia' + mediaProcessingUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + + DcMedia: + description: Represents the DC media descriptor. + type: object + required: + - streams + properties: + mediaProxyConfig: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MediaProxy' + replaceHttpUrl: + type: object + description: > + Contains a list of replacement HTTP URLs. The streamId attribute + within the ReplaceHttpUrl data type is the key of the map. + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReplaceHttpUrl' + minProperties: 1 + remoteMdc1Endpoint: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Endpoint' + remoteMdc2Endpoint: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Endpoint' + localMdc1Endpoint: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Endpoint' + localMdc2Endpoint: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Endpoint' + mdc2Protocol: + type: string + streams: + type: object + description: > + Contains a data channel mapping and configuration information. The streamId + attribute within the DcStream data type is the key of the map. + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DcStream' + minProperties: 1 + maxMessageSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MaxMessageSize' + localDcEndpoint: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DcEndpoint' + remoteDcEndpoint: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DcEndpoint' + securitySetup: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecuritySetup' diff --git a/TS29222_AEF_Security_API.yaml b/TS29222_AEF_Security_API.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ba750f15e75ea76b582bb9b0d4c6095f1b78806b --- /dev/null +++ b/TS29222_AEF_Security_API.yaml @@ -0,0 +1,154 @@ +openapi: 3.0.0 + +info: + title: AEF_Security_API + description: | + API for AEF security management. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.3.0-alpha.1" + +externalDocs: + description: 3GPP TS 29.222 V18.0.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ + +servers: + - url: '{apiRoot}/aef-security/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222. + +paths: + /check-authentication: + post: + summary: Check authentication. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CheckAuthenticationReq' + responses: + '200': + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/CheckAuthenticationRsp' + '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' + + /revoke-authorization: + post: + summary: Revoke authorization. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RevokeAuthorizationReq' + responses: + '200': + description: The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/RevokeAuthorizationRsp' + '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' + +components: + schemas: + CheckAuthenticationReq: + type: object + description: Represents authentication check request data. + properties: + apiInvokerId: + type: string + description: > + API invoker ID assigned by the CAPIF core function to the API invoker + while on-boarding the API invoker. + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - apiInvokerId + - supportedFeatures + + CheckAuthenticationRsp: + type: object + description: Represents authentication check response data. + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supportedFeatures + + RevokeAuthorizationReq: + type: object + description: Represents authorization revocation request data. + properties: + revokeInfo: + $ref: 'TS29222_CAPIF_Security_API.yaml#/components/schemas/SecurityNotification' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - revokeInfo + - supportedFeatures + + RevokeAuthorizationRsp: + type: object + description: Represents authorization revocation response data. + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supportedFeatures diff --git a/TS29222_CAPIF_API_Invoker_Management_API.yaml b/TS29222_CAPIF_API_Invoker_Management_API.yaml new file mode 100644 index 0000000000000000000000000000000000000000..cd88fc9998b793fc1deeb6178aa3c2dff12481cc --- /dev/null +++ b/TS29222_CAPIF_API_Invoker_Management_API.yaml @@ -0,0 +1,394 @@ +openapi: 3.0.0 + +info: + title: CAPIF_API_Invoker_Management_API + description: | + API for API invoker management. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.3.0-alpha.1" + +externalDocs: + description: 3GPP TS 29.222 V18.0.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ + +servers: + - url: '{apiRoot}/api-invoker-management/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222 + +paths: + /onboardedInvokers: + post: + description: Creates a new individual API Invoker profile. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/APIInvokerEnrolmentDetails' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + description: Notify the API Invoker about the onboarding completion + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/OnboardingNotification' + responses: + '204': + description: No Content (successful onboarding 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: API invoker on-boarded successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/APIInvokerEnrolmentDetails' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/api-invoker-management/v1/onboardedInvokers/{onboardingId} + required: true + schema: + type: string + '202': + description: The CAPIF core has accepted the Onboarding request and is processing it. + '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' + + /onboardedInvokers/{onboardingId}: + delete: + description: Deletes an individual API Invoker. + parameters: + - name: onboardingId + in: path + description: String identifying an individual on-boarded API invoker resource + required: true + schema: + type: string + responses: + '204': + description: The individual API Invoker matching onboardingId was offboarded. + '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' + put: + description: Updates an individual API invoker details. + parameters: + - name: onboardingId + in: path + description: String identifying an individual on-boarded API invoker resource + required: true + schema: + type: string + requestBody: + description: representation of the API invoker details to be updated in CAPIF core function + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/APIInvokerEnrolmentDetails' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + description: Notify the API Invoker about the API invoker update completion + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/OnboardingNotification' + responses: + '204': + description: No Content (successful API invoker update 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: + '200': + description: API invoker details updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/APIInvokerEnrolmentDetails' + '202': + description: > + The CAPIF core has accepted the API invoker update details request and is processing it. + '204': + description: > + API invoker's information updated successfully, with no content to be + sent 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: + description: Modify an individual API invoker details. + operationId: ModifyIndApiInvokeEnrolment + tags: + - Individual API Invoker enrolment details + parameters: + - name: onboardingId + in: path + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/APIInvokerEnrolmentDetailsPatch' + responses: + '200': + description: > + The definition of the service API is modified successfully and a + representation of the updated service API is returned in the request body. + content: + application/json: + schema: + $ref: '#/components/schemas/APIInvokerEnrolmentDetails' + '202': + description: The request is accepted and under processing. + '204': + description: No Content. The definition of the service API is 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' +components: + schemas: + OnboardingInformation: + type: object + description: Represents on-boarding information of the API invoker. + properties: + apiInvokerPublicKey: + type: string + description: The API Invoker's public key + apiInvokerCertificate: + type: string + description: > + The API Invoker's generic client certificate, provided by the CAPIF core function. + onboardingSecret: + type: string + description: > + The API Invoker's onboarding secret, provided by the CAPIF core function. + required: + - apiInvokerPublicKey + + APIList: + type: object + description: Represents a list of APIs. + properties: + serviceAPIDescriptions: + type: array + items: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/ServiceAPIDescription' + minItems: 1 + description: Represents the list of service APIs that the API Invoker is allowed to invoke. + + APIInvokerEnrolmentDetails: + type: object + properties: + apiInvokerId: + type: string + description: > + API invoker ID assigned by the CAPIF core function to the API invoker while + on-boarding the API invoker. Shall not be present in the HTTP POST request + from the API invoker to the CAPIF core function, to on-board itself. Shall be + present in all other HTTP requests and responses. + readOnly: true + onboardingInformation: + $ref: '#/components/schemas/OnboardingInformation' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + requestTestNotification: + type: boolean + description: > + Set to true by Subscriber to request the CAPIF core function to send a + test notification as defined in in clause 7.6. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + apiList: + $ref: '#/components/schemas/APIList' + apiInvokerInformation: + type: string + description: > + Generic information related to the API invoker such as details of + the device or the application. + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - onboardingInformation + - notificationDestination + description: Represents information about the API Invoker that requested to onboard. + + OnboardingNotification: + type: object + description: Represents a notification of on-boarding or update result. + properties: + result: + type: boolean + description: Set to "true" indicate successful on-boarding. Otherwise set to "false" + resourceLocation: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + apiInvokerEnrolmentDetails: + $ref: '#/components/schemas/APIInvokerEnrolmentDetails' + apiList: + $ref: '#/components/schemas/APIList' + required: + - result + + APIInvokerEnrolmentDetailsPatch: + type: object + description: Represents an API Invoker's enrolment details to be updated. + properties: + onboardingInformation: + $ref: '#/components/schemas/OnboardingInformation' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + apiList: + $ref: '#/components/schemas/APIList' + apiInvokerInformation: + type: string + description: > + Generic information related to the API invoker such as details of + the device or the application. diff --git a/TS29222_CAPIF_API_Provider_Management_API.yaml b/TS29222_CAPIF_API_Provider_Management_API.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5abec6ba488239fc058cafde79c1e9acf58561eb --- /dev/null +++ b/TS29222_CAPIF_API_Provider_Management_API.yaml @@ -0,0 +1,338 @@ +openapi: 3.0.0 + +info: + title: CAPIF_API_Provider_Management_API + description: | + API for API provider domain functions management. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.2.0-alpha.2" + +externalDocs: + description: 3GPP TS 29.222 V18.1.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ + +servers: + - url: '{apiRoot}/api-provider-management/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222 + +paths: + /registrations: + post: + description: Registers a new API Provider domain with API provider domain functions profiles. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/APIProviderEnrolmentDetails' + responses: + '201': + description: API provider domain registered successfully + content: + application/json: + schema: + $ref: '#/components/schemas/APIProviderEnrolmentDetails' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/api-provider-management/v1/registrations/{registrationId} + 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' + + /registrations/{registrationId}: + delete: + description: Deregisters API provider domain by deleting API provider domain and functions. + parameters: + - name: registrationId + in: path + description: String identifying an registered API provider domain resource. + required: true + schema: + type: string + responses: + '204': + description: The API provider domain matching registrationId is 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' + put: + description: Updates an API provider domain's registration details. + parameters: + - name: registrationId + in: path + description: String identifying an registered API provider domain resource. + required: true + schema: + type: string + requestBody: + description: > + Representation of the API provider domain registration details to be updated + in CAPIF core function. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/APIProviderEnrolmentDetails' + responses: + '200': + description: API provider domain registration details updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/APIProviderEnrolmentDetails' + '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' + patch: + description: Modify an individual API provider details. + operationId: ModifyIndApiProviderEnrolment + tags: + - Individual API Provider enrolment details + parameters: + - name: registrationId + in: path + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/APIProviderEnrolmentDetailsPatch' + responses: + '200': + description: > + The definition of the service API is modified successfully and a + representation of the updated service API is returned in the request body. + content: + application/json: + schema: + $ref: '#/components/schemas/APIProviderEnrolmentDetails' + '204': + description: No Content. The definition of the service API is 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' + +components: + schemas: + APIProviderEnrolmentDetails: + type: object + description: Represents an API provider domain's enrolment details. + properties: + apiProvDomId: + type: string + description: > + API provider domain ID assigned by the CAPIF core function to the API management + function while registering the API provider domain. Shall not be present in the + HTTP POST request from the API Management function to the CAPIF core function, + to on-board itself. Shall be present in all other HTTP requests and responses. + readOnly: true + regSec: + type: string + description: > + Security information necessary for the CAPIF core function to validate the + registration of the API provider domain. Shall be present in HTTP POST request + from API management function to CAPIF core function for API provider domain + registration. + apiProvFuncs: + type: array + items: + $ref: '#/components/schemas/APIProviderFunctionDetails' + minItems: 1 + description: > + A list of individual API provider domain functions details. When included by + the API management function in the HTTP request message, it lists the API + provider domain functions that the API management function intends to + register/update in registration or update registration procedure. When + included by the CAPIF core function in the HTTP response message, it lists + the API domain functions details that are registered or updated successfully. + apiProvDomInfo: + type: string + description: > + Generic information related to the API provider domain such as details + of the API provider applications. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + failReason: + type: string + description: > + Registration or update specific failure information of failed API provider + domain function registrations.Shall be present in the HTTP response + body if atleast one of the API provider domain function registration or update + registration fails. + required: + - regSec + + APIProviderFunctionDetails: + type: object + description: Represents an API provider domain function's details. + properties: + apiProvFuncId: + type: string + description: > + API provider domain functionID assigned by the CAPIF core function to the + API provider domain function while registering/updating the API provider domain. + Shall not be present in the HTTP POST request from the API management function to + the CAPIF core function, to register itself. Shall be present in all other HTTP + requests and responses. + regInfo: + $ref: '#/components/schemas/RegistrationInformation' + apiProvFuncRole: + $ref: '#/components/schemas/ApiProviderFuncRole' + apiProvFuncInfo: + type: string + description: > + Generic information related to the API provider domain function such as details + of the API provider applications. + required: + - regInfo + - apiProvFuncRole + + RegistrationInformation: + type: object + description: > + Represents registration information of an individual API provider domain function. + properties: + apiProvPubKey: + type: string + description: Public Key of API Provider domain function. + apiProvCert: + type: string + description: API provider domain function's client certificate + required: + - apiProvPubKey + + APIProviderEnrolmentDetailsPatch: + type: object + description: > + Represents a list of modifications for the API provider domain's enrolment details. + properties: + apiProvFuncs: + type: array + items: + $ref: '#/components/schemas/APIProviderFunctionDetails' + minItems: 1 + description: > + A list of individual API provider domain functions details. When included by + the API management function in the HTTP request message, it lists the API + provider domain functions that the API management function intends to + register/update in registration or update registration procedure. + apiProvDomInfo: + type: string + description: > + Generic information related to the API provider domain such as details + of the API provider applications. + +# Simple data types and enumerations + ApiProviderFuncRole: + anyOf: + - type: string + enum: + - AEF + - APF + - AMF + - type: string + description: > + This string provides forward-compatiblity with future extensions to the enumeration + but is not used to encode content defined in the present version of this API. + description: | + Indicates the role (e.g. AEF, APF, etc.) of an API provider domain function. + Possible values are: + - AEF: API provider function is API Exposing Function. + - APF: API provider function is API Publishing Function. + - AMF: API Provider function is API Management Function. diff --git a/TS29222_CAPIF_Access_Control_Policy_API.yaml b/TS29222_CAPIF_Access_Control_Policy_API.yaml new file mode 100644 index 0000000000000000000000000000000000000000..236f88811c0d1a82e6ae52c9b5e4b07548a825ce --- /dev/null +++ b/TS29222_CAPIF_Access_Control_Policy_API.yaml @@ -0,0 +1,127 @@ +openapi: 3.0.0 + +info: + title: CAPIF_Access_Control_Policy_API + description: | + API for access control policy. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.3.0-alpha.1" + +externalDocs: + description: 3GPP TS 29.222 V18.0.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ + +servers: + - url: '{apiRoot}/access-control-policy/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222 + +paths: + /accessControlPolicyList/{serviceApiId}: + get: + description: Retrieves the access control policy list. + parameters: + - name: serviceApiId + in: path + description: Identifier of a published service API + required: true + schema: + type: string + - name: aef-id + in: query + required: true + description: Identifier of the AEF + schema: + type: string + - name: api-invoker-id + in: query + description: Identifier of the API invoker + schema: + type: string + - name: supported-features + in: query + description: To filter irrelevant responses related to unsupported features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/AccessControlPolicyList' + '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' + '414': + $ref: 'TS29122_CommonData.yaml#/components/responses/414' + '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: + AccessControlPolicyList: + type: object + description: Represents the access control policy list for a published service API. + properties: + apiInvokerPolicies: + type: array + items: + $ref: '#/components/schemas/ApiInvokerPolicy' + minItems: 0 + description: Policy of each API invoker. + + ApiInvokerPolicy: + type: object + description: Represents the policy of an API Invoker. + properties: + apiInvokerId: + type: string + description: API invoker ID assigned by the CAPIF core function + allowedTotalInvocations: + type: integer + description: Total number of invocations allowed on the service API by the API invoker. + allowedInvocationsPerSecond: + type: integer + description: Invocations per second allowed on the service API by the API invoker. + allowedInvocationTimeRangeList: + type: array + items: + $ref: '#/components/schemas/TimeRangeList' + minItems: 0 + description: > + The time ranges during which the invocations are allowed on the service API + by the API invoker. + required: + - apiInvokerId + + TimeRangeList: + type: object + description: > + Represents the time range during which the invocation of a service API is allowed + by the API invoker. + properties: + startTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + stopTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' diff --git a/TS29222_CAPIF_Auditing_API.yaml b/TS29222_CAPIF_Auditing_API.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c5c3d6df92e45bf9cb92507923c1bf2feef5cbca --- /dev/null +++ b/TS29222_CAPIF_Auditing_API.yaml @@ -0,0 +1,158 @@ +openapi: 3.0.0 + +info: + title: CAPIF_Auditing_API + description: | + API for auditing. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.3.0-alpha.2" + +externalDocs: + description: 3GPP TS 29.222 V18.1.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ + +servers: + - url: '{apiRoot}/logs/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222. + +paths: + /apiInvocationLogs: + get: + description: Query and retrieve service API invocation logs stored on the CAPIF core function. + parameters: + - name: aef-id + in: query + description: String identifying the API exposing function. + schema: + type: string + - name: api-invoker-id + in: query + description: String identifying the API invoker which invoked the service API. + schema: + type: string + - name: time-range-start + in: query + description: Start time of the invocation time range. + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + - name: time-range-end + in: query + description: End time of the invocation time range. + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + - name: api-id + in: query + description: String identifying the API invoked. + schema: + type: string + - name: api-name + in: query + description: > + API name, it is set as {apiName} part of the URI structure as defined in + clause 5.2.4 of 3GPP TS 29.122. + schema: + type: string + - name: api-version + in: query + description: Version of the API which was invoked. + schema: + type: string + - name: protocol + in: query + description: Protocol invoked. + schema: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/Protocol' + - name: operation + in: query + description: Operation that was invoked on the API. + schema: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/Operation' + - name: result + in: query + description: Result or output of the invocation. + schema: + type: string + - name: resource-name + in: query + description: Name of the specific resource invoked. + schema: + type: string + - name: src-interface + in: query + description: Interface description of the API invoker. + content: + application/json: + schema: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/InterfaceDescription' + - name: dest-interface + in: query + description: Interface description of the API invoked. + content: + application/json: + schema: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/InterfaceDescription' + - name: supported-features + in: query + description: To filter irrelevant responses related to unsupported features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: > + Result of the query operation along with fetched service API invocation log data. + content: + application/json: + schema: + $ref: '#/components/schemas/InvocationLogsRetrieveRes' + '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' + '414': + $ref: 'TS29122_CommonData.yaml#/components/responses/414' + '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: + InvocationLogs: + type: object + description: > + Represents several (more than one) invocation logs. + properties: + multipleInvocationLogs: + type: array + items: + $ref: 'TS29222_CAPIF_Logging_API_Invocation_API.yaml#/components/schemas/InvocationLog' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - multipleInvocationLogs + + InvocationLogsRetrieveRes: + description: > + Represents the result of an invocation logs retrieval request. + oneOf: + - $ref: 'TS29222_CAPIF_Logging_API_Invocation_API.yaml#/components/schemas/InvocationLog' + - $ref: '#/components/schemas/InvocationLogs' diff --git a/TS29222_CAPIF_Discover_Service_API.yaml b/TS29222_CAPIF_Discover_Service_API.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ca6fb3d978f16170acb21773bfcbf3910168dea1 --- /dev/null +++ b/TS29222_CAPIF_Discover_Service_API.yaml @@ -0,0 +1,170 @@ +openapi: 3.0.0 + +info: + title: CAPIF_Discover_Service_API + description: | + API for discovering service APIs. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.3.0-alpha.2" + +externalDocs: + description: 3GPP TS 29.222 V18.4.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ + +servers: + - url: '{apiRoot}/service-apis/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222. + +paths: + /allServiceAPIs: + get: + description: > + Discover published service APIs and retrieve a collection of APIs according + to certain filter criteria. + parameters: + - name: api-invoker-id + in: query + description: > + String identifying the API invoker assigned by the CAPIF core function. + It also represents the CCF identifier in the CAPIF-6/6e interface. + required: true + schema: + type: string + - name: api-name + in: query + description: > + API name, it is set as {apiName} part of the URI structure as defined + in clause 5.2.4 of 3GPP TS 29.122. + schema: + type: string + - name: api-version + in: query + description: API major version the URI (e.g. v1). + schema: + type: string + - name: comm-type + in: query + description: Communication type used by the API (e.g. REQUEST_RESPONSE). + schema: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/CommunicationType' + - name: protocol + in: query + description: Protocol used by the API. + schema: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/Protocol' + - name: aef-id + in: query + description: AEF identifer. + schema: + type: string + - name: data-format + in: query + description: Data formats used by the API (e.g. serialization protocol JSON used). + schema: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/DataFormat' + - name: api-cat + in: query + description: The service API category to which the service API belongs to. + schema: + type: string + - name: preferred-aef-loc + in: query + description: The preferred AEF location. + content: + application/json: + schema: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/AefLocation' + - name: req-api-prov-name + in: query + description: Represents the required API provider name. + schema: + type: string + - name: supported-features + in: query + description: Features supported by the NF consumer for the CAPIF Discover Service API. + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: api-supported-features + in: query + description: > + Features supported by the discovered service API indicated by api-name parameter. + This may only be present if api-name query parameter is present. + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: ue-ip-addr + in: query + description: Represents the UE IP address information. + schema: + $ref: '#/components/schemas/IpAddrInfo' + - name: service-kpis + in: query + description: > + Contains iInformation about service characteristics provided by the targeted + service API(s). + schema: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/ServiceKpis' + responses: + '200': + description: > + The response body contains the result of the search over the list of registered APIs. + content: + application/json: + schema: + $ref: '#/components/schemas/DiscoveredAPIs' + '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' + '414': + $ref: 'TS29122_CommonData.yaml#/components/responses/414' + '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: + DiscoveredAPIs: + type: object + description: > + Represents a list of APIs currently registered in the CAPIF core function + and satisfying a number of filter criteria provided by the API consumer. + properties: + serviceAPIDescriptions: + type: array + items: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/ServiceAPIDescription' + minItems: 1 + description: > + Description of the service API as published by the service. Each service + API description shall include AEF profiles matching the filter criteria. + + IpAddrInfo: + type: object + description: Represents the UE IP address information. + properties: + ipv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + oneOf: + - required: [ipv4Addr] + - required: [ipv6Addr] diff --git a/TS29222_CAPIF_Events_API.yaml b/TS29222_CAPIF_Events_API.yaml new file mode 100644 index 0000000000000000000000000000000000000000..68bec979ac39bc3f034d6cba366a43b37e747ffa --- /dev/null +++ b/TS29222_CAPIF_Events_API.yaml @@ -0,0 +1,470 @@ +openapi: 3.0.0 + +info: + title: CAPIF_Events_API + description: | + API for event subscription management. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.3.0-alpha.4" + +externalDocs: + description: 3GPP TS 29.222 V18.4.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ + +servers: + - url: '{apiRoot}/capif-events/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222 + +paths: + /{subscriberId}/subscriptions: + post: + description: Creates a new individual CAPIF Event Subscription. + parameters: + - name: subscriberId + in: path + description: Identifier of the Subscriber + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventSubscription' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventNotification' + responses: + '204': + description: No Content (successful 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: Created (Successful creation of subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/EventSubscription' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/capif-events/v1/{subscriberId}/subscriptions/{subscriptionId} + 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' + + /{subscriberId}/subscriptions/{subscriptionId}: + delete: + description: Deletes an individual CAPIF Event Subscription. + parameters: + - name: subscriberId + in: path + description: Identifier of the Subscriber + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of an individual Events Subscription + required: true + schema: + type: string + responses: + '204': + description: > + The individual CAPIF Events Subscription matching the subscriptionId is 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' + + put: + description: Update of an existing individual CAPIF Event Subscription. + parameters: + - name: subscriberId + in: path + description: Identifier of the Subscriber + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the individual Subscriber + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventSubscription' + responses: + '200': + description: OK (Successful update of the subscription). + content: + application/json: + schema: + $ref: '#/components/schemas/EventSubscription' + '204': + description: No Content + '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: + description: Modification of an existing individual CAPIF Event Subscription. + parameters: + - name: subscriberId + in: path + description: Identifier of the Subscriber + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the individual Subscriber + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/EventSubscriptionPatch' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/EventSubscription' + '204': + description: No Content + '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' + +components: + schemas: + EventSubscription: + type: object + description: Represents an individual CAPIF Event Subscription resource. + properties: + events: + type: array + items: + $ref: '#/components/schemas/CAPIFEvent' + minItems: 1 + description: Subscribed events + eventFilters: + type: array + items: + $ref: '#/components/schemas/CAPIFEventFilter' + minItems: 1 + description: Subscribed event filters + eventReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + requestTestNotification: + type: boolean + description: > + Set to true by Subscriber to request the CAPIF core function to send a + test notification as defined in in clause 7.6. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - events + - notificationDestination + + EventNotification: + type: object + description: Represents an individual CAPIF Event notification. + properties: + subscriptionId: + type: string + description: > + Identifier of the subscription resource to which the notification + is related – CAPIF resource identifier + events: + $ref: '#/components/schemas/CAPIFEvent' + eventDetail: + $ref: '#/components/schemas/CAPIFEventDetail' + required: + - subscriptionId + - events + + CAPIFEventFilter: + type: object + description: Represents a CAPIF event filter. + properties: + apiIds: + type: array + items: + type: string + minItems: 1 + description: Identifier of the service API + apiInvokerIds: + type: array + items: + type: string + minItems: 1 + description: Identity of the API invoker + aefIds: + type: array + items: + type: string + minItems: 1 + description: Identifier of the API exposing function + + CAPIFEventDetail: + type: object + description: Represents a CAPIF event details. + properties: + serviceAPIDescriptions: + type: array + items: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/ServiceAPIDescription' + minItems: 1 + description: Description of the service API as published by the APF. + apiIds: + type: array + items: + type: string + minItems: 1 + description: Identifier of the service API + apiInvokerIds: + type: array + items: + type: string + minItems: 1 + description: Identity of the API invoker + accCtrlPolList: + $ref: '#/components/schemas/AccessControlPolicyListExt' + invocationLogs: + type: array + items: + $ref: 'TS29222_CAPIF_Logging_API_Invocation_API.yaml#/components/schemas/InvocationLog' + minItems: 1 + description: Invocation logs. + apiTopoHide: + $ref: '#/components/schemas/TopologyHiding' + + AccessControlPolicyListExt: + description: Represents the extension for access control policies. + allOf: + - $ref: 'TS29222_CAPIF_Access_Control_Policy_API.yaml#/components/schemas/AccessControlPolicyList' + - type: object + properties: + apiId: + type: string + required: + - apiId + + TopologyHiding: + type: object + description: Represents the routing rules information of a service API. + properties: + apiId: + type: string + routingRules: + type: array + items: + $ref: 'TS29222_CAPIF_Routing_Info_API.yaml#/components/schemas/RoutingRule' + minItems: 1 + required: + - apiId + - routingRules + + EventSubscriptionPatch: + type: object + description: > + Represents the parameters to request the updated of an individual CAPIF Event + Subscription resource. + properties: + events: + type: array + items: + $ref: '#/components/schemas/CAPIFEvent' + minItems: 1 + description: Subscribed events + eventFilters: + type: array + items: + $ref: '#/components/schemas/CAPIFEventFilter' + minItems: 1 + description: Subscribed event filters + eventReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + + CAPIFEvent: + anyOf: + - type: string + enum: + - SERVICE_API_AVAILABLE + - SERVICE_API_UNAVAILABLE + - SERVICE_API_UPDATE + - API_INVOKER_ONBOARDED + - API_INVOKER_OFFBOARDED + - SERVICE_API_INVOCATION_SUCCESS + - SERVICE_API_INVOCATION_FAILURE + - ACCESS_CONTROL_POLICY_UPDATE + - ACCESS_CONTROL_POLICY_UNAVAILABLE + - API_INVOKER_AUTHORIZATION_REVOKED + - API_INVOKER_UPDATED + - API_TOPOLOGY_HIDING_CREATED + - API_TOPOLOGY_HIDING_REVOKED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Describes the CAPIF event. + Possible values are: + - SERVICE_API_AVAILABLE: + Events related to the availability of service APIs after the service APIs are + published. + - SERVICE_API_UNAVAILABLE: + Events related to the unavailability of service APIs after the service APIs are + unpublished. + - SERVICE_API_UPDATE: Events related to change in service API information. + - API_INVOKER_ONBOARDED: Events related to API invoker onboarded to CAPIF. + - API_INVOKER_OFFBOARDED: Events related to API invoker offboarded from CAPIF. + - SERVICE_API_INVOCATION_SUCCESS: + Events related to the successful invocation of service APIs. + - SERVICE_API_INVOCATION_FAILURE: Events related to the failed invocation of service APIs. + - ACCESS_CONTROL_POLICY_UPDATE: + Events related to the update for the access control policy related to the service APIs. + - ACCESS_CONTROL_POLICY_UNAVAILABLE: + Events related to the unavailability of the access control policy related to + the service APIs. + - API_INVOKER_AUTHORIZATION_REVOKED: Events related to the revocation of the authorization + of API invokers to access the service APIs. + - API_INVOKER_UPDATED: Events related to API invoker profile updated to CAPIF. + - API_TOPOLOGY_HIDING_CREATED: + Events related to the creation or update of the API topology hiding + information of the service APIs after the service APIs are published. + - API_TOPOLOGY_HIDING_REVOKED: + Events related to the revocation of the API topology hiding information of + the service APIs after the service APIs are unpublished. diff --git a/TS29222_CAPIF_Logging_API_Invocation_API.yaml b/TS29222_CAPIF_Logging_API_Invocation_API.yaml new file mode 100644 index 0000000000000000000000000000000000000000..916a4ab002cbad53c5c222158572453bf933f8d3 --- /dev/null +++ b/TS29222_CAPIF_Logging_API_Invocation_API.yaml @@ -0,0 +1,179 @@ +openapi: 3.0.0 + +info: + title: CAPIF_Logging_API_Invocation_API + description: | + API for invocation logs. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.3.0-alpha.1" + +externalDocs: + description: 3GPP TS 29.222 V18.0.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ + +servers: + - url: '{apiRoot}/api-invocation-logs/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222 + +paths: + /{aefId}/logs: + post: + description: Creates a new log entry for service API invocations. + parameters: + - name: aefId + in: path + description: Identifier of the API exposing function + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/InvocationLog' + responses: + '201': + description: > + Log of service API invocations provided by API exposing function successfully + stored on the CAPIF core function. + content: + application/json: + schema: + $ref: '#/components/schemas/InvocationLog' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/api-invocation-logs/v1/{aefId}/logs/{logId} + 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' + /{aefId}/logs/{logId}: + description: Creates a new log entry for service API invocations. + parameters: + - name: aefId + in: path + description: Identifier of the API exposing function + required: true + schema: + type: string + - name: logId + in: path + description: Identifier of individual log entry + required: true + schema: + type: string +components: + schemas: + InvocationLog: + type: object + description: > + Represents a set of Service API invocation logs to be stored in a CAPIF core function. + properties: + aefId: + type: string + description: > + Identity information of the API exposing function requesting logging of + service API invocations + apiInvokerId: + type: string + description: Identity of the API invoker which invoked the service API + logs: + type: array + items: + $ref: '#/components/schemas/Log' + minItems: 1 + description: Service API invocation log + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - aefId + - apiInvokerId + - logs + + Log: + type: object + description: Represents an individual service API invocation log entry. + properties: + apiId: + type: string + description: String identifying the API invoked. + apiName: + type: string + description: > + Name of the API which was invoked, it is set as {apiName} part of the URI + structure as defined in clause 5.2.4 of 3GPP TS 29.122. + apiVersion: + type: string + description: Version of the API which was invoked + resourceName: + type: string + description: Name of the specific resource invoked + uri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + protocol: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/Protocol' + operation: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/Operation' + result: + type: string + description: For HTTP protocol, it contains HTTP status code of the invocation + invocationTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + invocationLatency: + $ref: '#/components/schemas/DurationMs' + inputParameters: + description: > + List of input parameters. Can be any value - string, number, boolean, array or object. + outputParameters: + description: > + List of output parameters. Can be any value - string, number, boolean, array or object. + srcInterface: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/InterfaceDescription' + destInterface: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/InterfaceDescription' + fwdInterface: + type: string + description: > + It includes the node identifier (as defined in IETF RFC 7239 of all forwarding + entities between the API invoker and the AEF, concatenated with comma and space, + e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60 + required: + - apiId + - apiName + - apiVersion + - resourceName + - protocol + - result + + DurationMs: + type: integer + description: Represents a period of time in units of milliseconds. + minimum: 0 diff --git a/TS29222_CAPIF_Publish_Service_API.yaml b/TS29222_CAPIF_Publish_Service_API.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c122eceb6267de95cc79b8ad7762b3053f468eb8 --- /dev/null +++ b/TS29222_CAPIF_Publish_Service_API.yaml @@ -0,0 +1,781 @@ +openapi: 3.0.0 + +info: + title: CAPIF_Publish_Service_API + description: | + API for publishing service APIs. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.3.0-alpha.4" + +externalDocs: + description: 3GPP TS 29.222 V18.4.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ + +servers: + - url: '{apiRoot}/published-apis/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222. + +paths: +# APF published API + /{apfId}/service-apis: + post: + description: Publish a new API. + parameters: + - name: apfId + in: path + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAPIDescription' + responses: + '201': + description: > + Service API published successfully The URI of the created resource + shall be returned in the "Location" HTTP header. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAPIDescription' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/published-apis/v1/{apfId}/service-apis/{serviceApiId} + 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' + get: + description: Retrieve all published APIs. + parameters: + - name: apfId + in: path + required: true + schema: + type: string + responses: + '200': + description: Definition of all service API(s) published by the API publishing function. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceAPIDescription' + 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' + +# Individual APF published API + /{apfId}/service-apis/{serviceApiId}: + get: + description: Retrieve a published service API. + parameters: + - name: serviceApiId + in: path + required: true + schema: + type: string + - name: apfId + in: path + required: true + schema: + type: string + responses: + '200': + description: > + Definition of individual service API published by the API publishing function. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAPIDescription' + '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: + description: Update a published service API. + parameters: + - name: serviceApiId + in: path + required: true + schema: + type: string + - name: apfId + in: path + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAPIDescription' + responses: + '200': + description: Definition of service API updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAPIDescription' + '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' + patch: + description: Modify an existing published service API. + operationId: ModifyIndAPFPubAPI + tags: + - Individual APF published API + parameters: + - name: serviceApiId + in: path + required: true + schema: + type: string + - name: apfId + in: path + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ServiceAPIDescriptionPatch' + responses: + '200': + description: > + The definition of the service API is modified successfully and a + representation of the updated service API is returned in the request body. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAPIDescription' + '204': + description: No Content. The definition of the service API is 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: + description: Unpublish a published service API. + parameters: + - name: serviceApiId + in: path + required: true + schema: + type: string + - name: apfId + in: path + required: true + schema: + type: string + responses: + '204': + description: The individual published service API matching the serviceAPiId is 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 + +components: + schemas: +# Data Type for representations + ServiceAPIDescription: + type: object + description: Represents the description of a service API as published by the APF. + properties: + apiName: + type: string + description: > + API name, it is set as {apiName} part of the URI structure as defined in + clause 5.2.4 of 3GPP TS 29.122. + apiId: + type: string + description: > + API identifier assigned by the CAPIF core function to the published service API. + Shall not be present in the HTTP POST request from the API publishing function + to the CAPIF core function. Shall be present in the HTTP POST response from the + CAPIF core function to the API publishing function and in the HTTP GET response + from the CAPIF core function to the API invoker (discovery API). + apiStatus: + $ref: '#/components/schemas/ApiStatus' + aefProfiles: + type: array + items: + $ref: '#/components/schemas/AefProfile' + minItems: 1 + description: > + AEF profile information, which includes the exposed API details (e.g. protocol). + description: + type: string + description: Text description of the API + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + shareableInfo: + $ref: '#/components/schemas/ShareableInformation' + serviceAPICategory: + type: string + description: The service API category to which the service API belongs to. + apiSuppFeats: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + pubApiPath: + $ref: '#/components/schemas/PublishedApiPath' + ccfId: + type: string + description: CAPIF core function identifier. + required: + - apiName + + InterfaceDescription: + type: object + description: Represents the description of an API's interface. + properties: + ipv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + fqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + port: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + apiPrefix: + type: string + description: > + A string representing a sequence of path segments that starts with the slash character. + securityMethods: + type: array + items: + $ref: '#/components/schemas/SecurityMethod' + minItems: 1 + description: > + Security methods supported by the interface, it take precedence over + the security methods provided in AefProfile, for this specific interface. + oneOf: + - required: [ipv4Addr] + - required: [ipv6Addr] + - required: [fqdn] + + AefProfile: + type: object + description: Represents the AEF profile data. + properties: + aefId: + type: string + description: Identifier of the API exposing function + versions: + type: array + items: + $ref: '#/components/schemas/Version' + minItems: 1 + description: API version + protocol: + $ref: '#/components/schemas/Protocol' + dataFormat: + $ref: '#/components/schemas/DataFormat' + securityMethods: + type: array + items: + $ref: '#/components/schemas/SecurityMethod' + minItems: 1 + description: Security methods supported by the AEF + domainName: + type: string + description: Domain to which API belongs to + interfaceDescriptions: + type: array + items: + $ref: '#/components/schemas/InterfaceDescription' + minItems: 1 + description: Interface details + aefLocation: + $ref: '#/components/schemas/AefLocation' + serviceKpis: + $ref: '#/components/schemas/ServiceKpis' + ueIpRange: + $ref: '#/components/schemas/IpAddrRange' + required: + - aefId + - versions + oneOf: + - required: [domainName] + - required: [interfaceDescriptions] + + Resource: + type: object + description: Represents the API resource data. + properties: + resourceName: + type: string + description: Resource name + commType: + $ref: '#/components/schemas/CommunicationType' + uri: + type: string + description: > + Relative URI of the API resource, it is set as {apiSpecificSuffixes} part + of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122. + custOpName: + type: string + description: > + it is set as {custOpName} part of the URI structure for a custom operation + associated with a resource as defined in clause 5.2.4 of 3GPP TS 29.122. + custOperations: + type: array + items: + $ref: '#/components/schemas/CustomOperation' + minItems: 1 + description: > + Custom operations associated with this resource. + operations: + type: array + items: + $ref: '#/components/schemas/Operation' + minItems: 1 + description: > + Supported HTTP methods for the API resource. Only applicable when the + protocol in AefProfile indicates HTTP. + description: + type: string + description: Text description of the API resource + required: + - resourceName + - commType + - uri + + CustomOperation: + type: object + description: Represents the description of a custom operation. + properties: + commType: + $ref: '#/components/schemas/CommunicationType' + custOpName: + type: string + description: > + it is set as {custOpName} part of the URI structure for a custom operation + without resource association as defined in clause 5.2.4 of 3GPP TS 29.122. + operations: + type: array + items: + $ref: '#/components/schemas/Operation' + minItems: 1 + description: > + Supported HTTP methods for the API resource. Only applicable when the + protocol in AefProfile indicates HTTP. + description: + type: string + description: Text description of the custom operation + required: + - commType + - custOpName + + Version: + type: object + description: Represents the API version information. + properties: + apiVersion: + type: string + description: API major version in URI (e.g. v1) + expiry: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + resources: + type: array + items: + $ref: '#/components/schemas/Resource' + minItems: 1 + description: Resources supported by the API. + custOperations: + type: array + items: + $ref: '#/components/schemas/CustomOperation' + minItems: 1 + description: Custom operations without resource association. + required: + - apiVersion + + ShareableInformation: + type: object + description: > + Indicates whether the service API and/or the service API category can be shared + to the list of CAPIF provider domains. + properties: + isShareable: + type: boolean + description: > + Set to "true" indicates that the service API and/or the service API + category can be shared to the list of CAPIF provider domain information. + Otherwise set to "false". + capifProvDoms: + type: array + items: + type: string + minItems: 1 + description: > + List of CAPIF provider domains to which the service API information to be shared. + required: + - isShareable + + PublishedApiPath: + type: object + description: Represents the published API path within the same CAPIF provider domain. + properties: + ccfIds: + type: array + items: + type: string + minItems: 1 + description: A list of CCF identifiers where the service API is already published. + + AefLocation: + description: > + Represents the location information (e.g. civic address, GPS coordinates, data center ID) + where the AEF providing the service API is located. + type: object + properties: + civicAddr: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + geoArea: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + dcId: + type: string + description: > + Identifies the data center where the AEF providing the service API is located. + + ServiceAPIDescriptionPatch: + type: object + description: > + Represents the parameters to request the modification of an APF published API resource. + properties: + apiStatus: + $ref: '#/components/schemas/ApiStatus' + aefProfiles: + type: array + items: + $ref: '#/components/schemas/AefProfile' + description: AEF profile information, which includes the exposed API details. + minItems: 1 + description: + type: string + description: Text description of the API + shareableInfo: + $ref: '#/components/schemas/ShareableInformation' + serviceAPICategory: + type: string + description: The service API category to which the service API belongs to. + apiSuppFeats: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + pubApiPath: + $ref: '#/components/schemas/PublishedApiPath' + ccfId: + type: string + description: CAPIF core function identifier. + + ApiStatus: + type: object + description: > + Represents the API status. + properties: + aefIds: + type: array + items: + type: string + description: > + Indicates the list of AEF ID(s) where the API is active. + If this attribute is omitted, the API is inactive at all AEF(s) + defined in the "aefProfiles" attribute within + the ServiceAPIDescription data structure. + required: + - aefIds + + ServiceKpis: + type: object + description: > + Represents information about the service characteristics provided by a service API. + properties: + maxReqRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + description: > + Unsigned integer identifying maximum request rate per second from the API Invoker + supported by the server. + maxRestime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + availability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + avalComp: + type: string + pattern: '^\d+(\.\d+)? (kFLOPS|MFLOPS|GFLOPS|TFLOPS|PFLOPS|EFLOPS|ZFLOPS)$' + description: > + The maximum compute resource available in FLOPS for the API Invoker. + avalGraComp: + type: string + pattern: '^\d+(\.\d+)? (kFLOPS|MFLOPS|GFLOPS|TFLOPS|PFLOPS|EFLOPS|ZFLOPS)$' + description: > + The maximum graphical compute resource in FLOPS available for the API Invoker. + avalMem: + type: string + pattern: '^\d+(\.\d+)? (KB|MB|GB|TB|PB|EB|ZB|YB)$' + description: > + The maximum memory resource available for the API Invoker. + avalStor: + type: string + pattern: '^\d+(\.\d+)? (KB|MB|GB|TB|PB|EB|ZB|YB)$' + description: > + The maximum storage resource available for the API Invoker. + conBand: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + description: > + The connection bandwidth in kbps advertised for the API Invoker's use. + + IpAddrRange: + description: Represents the list of public IP ranges + type: object + properties: + ueIpv4AddrRanges: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddressRange' + description: Represents the IPv4 Address ranges of the UE(s). + minItems: 1 + ueIpv6AddrRanges: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6AddressRange' + description: Represents the Ipv6 Address ranges of the UE(s). + minItems: 1 + anyOf: + - required: [ueIpv4AddrRanges] + - required: [ueIpv6AddrRanges] + + Protocol: + anyOf: + - type: string + enum: + - HTTP_1_1 + - HTTP_2 + - MQTT + - WEBSOCKET + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Indicates a protocol and protocol version used by the API. + Possible values are: + - HTTP_1_1: Indicates that the protocol is HTTP version 1.1. + - HTTP_2: Indicates that the protocol is HTTP version 2. + - MQTT: Indicates that the protocol is Message Queuing Telemetry Transport. + - WEBSOCKET: Indicates that the protocol is Websocket. + + CommunicationType: + anyOf: + - type: string + enum: + - REQUEST_RESPONSE + - SUBSCRIBE_NOTIFY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Indicates a communication type of the resource or the custom operation. + Possible values are: + - REQUEST_RESPONSE: The communication is of the type request-response. + - SUBSCRIBE_NOTIFY: The communication is of the type subscribe-notify. + + DataFormat: + anyOf: + - type: string + enum: + - JSON + - XML + - PROTOBUF3 + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Indicates a data format. + Possible values are: + - JSON: Indicates that the data format is JSON. + - XML: Indicates that the data format is Extensible Markup Language. + - PROTOBUF3: Indicates that the data format is Protocol buffers version 3. + + SecurityMethod: + anyOf: + - type: string + enum: + - PSK + - PKI + - OAUTH + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Indicates the security method. + Possible values are: + - PSK: Security method 1 (Using TLS-PSK) as described in 3GPP TS 33.122. + - PKI: Security method 2 (Using PKI) as described in 3GPP TS 33.122. + - OAUTH: Security method 3 (TLS with OAuth token) as described in 3GPP TS 33.122. + + Operation: + anyOf: + - type: string + enum: + - GET + - POST + - PUT + - PATCH + - DELETE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Indicates an HTTP method. + Possible values are: + - GET: HTTP GET method. + - POST: HTTP POST method. + - PUT: HTTP PUT method. + - PATCH: HTTP PATCH method. + - DELETE: HTTP DELETE method. diff --git a/TS29222_CAPIF_Routing_Info_API.yaml b/TS29222_CAPIF_Routing_Info_API.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fc520bae8a24515404e0f26ffec21b780e117548 --- /dev/null +++ b/TS29222_CAPIF_Routing_Info_API.yaml @@ -0,0 +1,120 @@ +openapi: 3.0.0 + +info: + title: CAPIF_Routing_Info_API + description: | + API for Routing information. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.2.0-alpha.1" + +externalDocs: + description: 3GPP TS 29.222 V18.0.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ + +servers: + - url: '{apiRoot}/capif-routing-info/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222 + +paths: + /service-apis/{serviceApiId}: + get: + description: Retrieves the API routing information. + parameters: + - name: serviceApiId + in: path + description: Identifier of a published service API + required: true + schema: + type: string + - name: aef-id + in: query + required: true + description: Identifier of the AEF + schema: + type: string + - name: supp-feat + in: query + required: false + description: To filter irrelevant responses related to unsupported features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/RoutingInfo' + '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' + '414': + $ref: 'TS29122_CommonData.yaml#/components/responses/414' + '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: + RoutingInfo: + type: object + description: Represents an API routing information. + properties: + routingRules: + type: array + items: + $ref: '#/components/schemas/RoutingRule' + minItems: 1 + required: + - routingRules + + RoutingRule: + type: object + description: Represents an API routing rule. + properties: + ipv4AddrRanges: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Ipv4AddressRange' + minItems: 1 + ipv6AddrRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6AddressRange' + minItems: 1 + aefProfile: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/AefProfile' + required: + - aefProfile + + Ipv6AddressRange: + type: object + description: Represents IPv6 address range. + properties: + start: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + end: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + required: + - start + - end diff --git a/TS29222_CAPIF_Security_API.yaml b/TS29222_CAPIF_Security_API.yaml new file mode 100644 index 0000000000000000000000000000000000000000..53ddf1c1ff5c12329725109b6aa9406229f1e463 --- /dev/null +++ b/TS29222_CAPIF_Security_API.yaml @@ -0,0 +1,572 @@ +openapi: 3.0.0 + +info: + title: CAPIF_Security_API + description: | + API for CAPIF security management. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.3.0-alpha.3" + +externalDocs: + description: 3GPP TS 29.222 V18.4.0 Common API Framework for 3GPP Northbound APIs + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/ + +servers: + - url: '{apiRoot}/capif-security/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222. + +paths: + /trustedInvokers/{apiInvokerId}: + get: + parameters: + - name: apiInvokerId + in: path + description: Identifier of an individual API invoker + required: true + schema: + type: string + - name: authenticationInfo + in: query + description: > + When set to 'true', it indicates the CAPIF core function to send the + authentication information of the API invoker. Set to false or omitted otherwise. + schema: + type: boolean + - name: authorizationInfo + in: query + description: > + When set to 'true', it indicates the CAPIF core function to send the + authorization information of the API invoker. Set to false or omitted otherwise. + schema: + type: boolean + responses: + '200': + description: > + The security related information of the API Invoker based on the request + from the API exposing function. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSecurity' + '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' + '414': + $ref: 'TS29122_CommonData.yaml#/components/responses/414' + '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: + parameters: + - name: apiInvokerId + in: path + description: Identifier of an individual API invoker + required: true + schema: + type: string + requestBody: + description: create a security context for an API invoker + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSecurity' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityNotification' + responses: + '204': + description: No Content (successful 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 created. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSecurity' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/capif-security/v1/trustedInvokers/{apiInvokerId} + 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' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29122_CommonData.yaml#/components/responses/414' + '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: + parameters: + - name: apiInvokerId + in: path + description: Identifier of an individual API invoker + required: true + schema: + type: string + 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' + /trustedInvokers/{apiInvokerId}/update: + post: + parameters: + - name: apiInvokerId + in: path + description: Identifier of an individual API invoker + required: true + schema: + type: string + requestBody: + description: Update the security context (e.g. re-negotiate the security methods). + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSecurity' + responses: + '200': + description: Successful updated. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSecurity' + '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' + + /trustedInvokers/{apiInvokerId}/delete: + post: + parameters: + - name: apiInvokerId + in: path + description: Identifier of an individual API invoker + required: true + schema: + type: string + requestBody: + description: Revoke the authorization of the API invoker for APIs. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityNotification' + responses: + '204': + description: Successful revoked. + '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' + + /securities/{securityId}/token: + post: + parameters: + - name: securityId + in: path + description: Identifier of an individual API invoker + required: true + schema: + type: string + requestBody: + required: true + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/AccessTokenReq' + responses: + '200': + description: Successful Access Token Request + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTokenRsp' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + description: Error in the Access Token Request + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTokenErr' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTokenErr' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + schemas: + ServiceSecurity: + type: object + description: > + Represents the details of the security method for each service API interface. + When included by the API invoker, it indicates the preferred method of security. + When included by the CAPIF core function, it indicates the security method to be + used for the service API interface. + properties: + securityInfo: + type: array + items: + $ref: '#/components/schemas/SecurityInformation' + minimum: 1 + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + requestTestNotification: + type: boolean + description: > + Set to true by API invoker to request the CAPIF core function to send a + test notification as defined in in clause 7.6. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - securityInfo + - notificationDestination + + SecurityInformation: + type: object + description: Represents the interface details and the security method. + properties: + interfaceDetails: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/InterfaceDescription' + aefId: + type: string + description: Identifier of the API exposing function + apiId: + type: string + description: API identifier + prefSecurityMethods: + type: array + items: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/SecurityMethod' + minItems: 1 + description: Security methods preferred by the API invoker for the API interface. + selSecurityMethod: + $ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/SecurityMethod' + authenticationInfo: + type: string + description: Authentication related information + authorizationInfo: + type: string + description: Authorization related information + authorizationFlow: + type: array + items: + $ref: '#/components/schemas/AuthorizationFlow' + minItems: 1 + required: + - prefSecurityMethods + oneOf: + - required: [interfaceDetails] + - required: [aefId] + + SecurityNotification: + type: object + description: Represents the revoked authorization notification details. + properties: + apiInvokerId: + type: string + description: String identifying the API invoker assigned by the CAPIF core function. + aefId: + type: string + description: String identifying the AEF. + apiIds: + type: array + items: + type: string + minItems: 1 + description: Identifier of the service API + cause: + $ref: '#/components/schemas/Cause' + required: + - apiInvokerId + - apiIds + - cause + + AccessTokenReq: + format: x-www-form-urlencoded + description: Represents the access token request information. + properties: + grant_type: + type: string + enum: + - client_credentials + client_id: + type: string + resOwnerId: + type: string + client_secret: + type: string + scope: + type: string + authCode: + type: string + required: + - grant_type + - client_id + + AccessTokenRsp: + type: object + description: Represents the access token response information. + properties: + access_token: + type: string + description: > + JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims) + token_type: + type: string + enum: + - Bearer + expires_in: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + scope: + type: string + required: + - access_token + - token_type + - expires_in + + AccessTokenClaims: + type: object + description: Represents the claims data structure for the access token. + properties: + iss: + type: string + resOwnerId: + type: string + scope: + type: string + exp: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + required: + - iss + - scope + - exp + + AccessTokenErr: + type: object + description: Represents an error in the access token request. + properties: + error: + type: string + enum: + - invalid_request + - invalid_client + - invalid_grant + - unauthorized_client + - unsupported_grant_type + - invalid_scope + error_description: + type: string + error_uri: + type: string + required: + - error + + AuthorizationCodeRsp: + type: object + description: Represents the authorization code response information. + properties: + authCode: + type: string + required: + - authCode + + Cause: + anyOf: + - type: string + enum: + - OVERLIMIT_USAGE + - UNEXPECTED_REASON + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Indicates the cause for revoking the API invoker's authorization to the service API. + Possible values are: + - OVERLIMIT_USAGE: + The revocation of the authorization of the API invoker is due to the overlimit + usage of the service API + - UNEXPECTED_REASON: + The revocation of the authorization of the API invoker is due to unexpected reason. + + AuthorizationFlow: + anyOf: + - type: string + enum: + - CLIENT_CREDENTIALS_FLOW + - AUTHORIZATION_CODE_FLOW + - AUTHORIZATION_CODE_FLOW_WITH_PKCE + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration and + is not used to encode content defined in the present version of this API. + description: | + Indicates the supported authorization flow (e.g. client credentials flow, authorization code flow, etc.) to the API invoker. + Possible values are: + - CLIENT_CREDENTIALS_FLOW: + The supported authorization flow is client credentials flow. + - AUTHORIZATION_CODE_FLOW: + The supported authorization flow is authorization code flow. + - AUTHORIZATION_CODE_FLOW_WITH_PKCE: + The supported authorization flow is authorization code flow with PKCE. diff --git a/TS29255_Naf_Authentication.yaml b/TS29255_Naf_Authentication.yaml new file mode 100644 index 0000000000000000000000000000000000000000..84b10a9af8b436ae3f9d7410b598be442c163800 --- /dev/null +++ b/TS29255_Naf_Authentication.yaml @@ -0,0 +1,308 @@ +openapi: 3.0.0 + +info: + title: Naf_Authentication + version: 1.1.0-alpha.1 + description: | + AF Authentication Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.255 V18.0.0; 5G System;Uncrewed Aerial System Service Supplier (USS) Services; Stage + 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.255/ + +servers: + - url: '{apiRoot}/naf-auth/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /request-auth: + post: + operationId: UAVAuthRequest + summary: UAV authentication + tags: + - UAV authentication + requestBody: + description: UAV authentication + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UAVAuthInfo' + responses: + '200': + description: UAV Auth response or message exchange + content: + application/json: + schema: + $ref: '#/components/schemas/UAVAuthResponse' + '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': + description: > + The request is rejected by the USS and more details (not only the ProblemDetails) are + returned. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetailsAuthenticateAuthorize' + '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: + reauthRevokeNotification: + '{request.body#/notifyUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ReauthRevokeNotify' + responses: + '204': + description: Successful Notification response + '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' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + + + + schemas: + +# +# STRUCTURED DATA TYPES +# + UAVAuthInfo: + description: UAV auth data + type: object + required: + - gpsi + - serviceLevelId + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + serviceLevelId: + type: string + notifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifyCorrId: + type: string + ipAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + authMsg: + type: string + deprecated: true + authContainer: + type: array + items: + $ref: '#/components/schemas/AuthContainer' + minItems: 1 + uavLocInfo: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + UAVAuthResponse: + description: UAV auth response data + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + authContainer: + type: array + items: + $ref: '#/components/schemas/AuthContainer' + minItems: 1 + authMsg: + type: string + deprecated: true + authResult: + allOf: + - $ref: '#/components/schemas/AuthResult' + deprecated: true + serviceLevelId: + type: string + authSessAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + authProfIndex: + type: string + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + + ReauthRevokeNotify: + description: UAV related notification + type: object + required: + - gpsi + - serviceLevelId + - notifyType + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + serviceLevelId: + type: string + notifyCorrId: + type: string + authContainer: + type: array + items: + $ref: '#/components/schemas/AuthContainer' + minItems: 1 + authMsg: + type: string + deprecated: true + notifyType: + $ref: '#/components/schemas/NotifyType' + ipAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + + AuthContainer: + description: Authentication/Authorization data + type: object + properties: + authMsgType: + $ref: '#/components/schemas/AuthMsgType' + authMsgPayload: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + authResult: + $ref: '#/components/schemas/AuthResult' + + ProblemDetailsAuthenticateAuthorize: + description: Extends ProblemDetails to indicate more details during Authentication failure + allOf: + - $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/AdditionInfoAuthenticateAuthorize' + + AdditionInfoAuthenticateAuthorize: + description: Indicates additional information during authentication failure + type: object + properties: + uasResRelInd: + type: boolean + description: > + Indicates to release the UAV resources during authentication failure, when set to + "true". Default is set to "false". + +# +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + AuthResult: + anyOf: + - type: string + enum: + - AUTH_SUCCESS + - AUTH_FAIL + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the result of authentication and/or authorization. + Possible values are: + - AUTH_SUCCESS: The UUAA or C2 authorization has succeeded. + - AUTH_FAIL: The UUAA or C2 authorization has failed. + + NotifyType: + anyOf: + - type: string + enum: + - REAUTHENTICATE + - REAUTHORIZE + - REVOKE + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the type of notification. + Possible values are: + - REAUTHENTICATE: The UAV needs to be reauthenticated. + - REAUTHORIZE: Authorization data needs to be updated to UAV. + - REVOKE: Revoke UAV authentication and authorization. + + AuthMsgType: + anyOf: + - type: string + enum: + - UUAA + - C2AUTH + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the type of AA message. + Possible values are: + - UUAA: Indicates that the type of the AA message is UUAA payload. + - C2AUTH: Indicates that the type of the AA message is C2 authorization payload. diff --git a/TS29256_Nnef_Authentication.yaml b/TS29256_Nnef_Authentication.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b76bb4ef5d458cc0d474f5384f6c572fbc76250d --- /dev/null +++ b/TS29256_Nnef_Authentication.yaml @@ -0,0 +1,243 @@ +openapi: 3.0.0 + +info: + title: Nnef_Authentication + version: '1.0.2' + description: | + NEF Auth Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.256 V17.3.0; 5G System;Uncrewed Aerial Systems Network Function (UAS-NF); + Aerial Management Services; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.256/ + +servers: + - url: '{apiRoot}/nnef-authentication/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnef-authentication + +paths: + /uav-authentications: + post: + summary: UAV authentication + tags: + - UAV authentication + requestBody: + description: UAV authentication + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UAVAuthInfo' + responses: + '200': + description: UAV Auth response or message exchange + content: + application/json: + schema: + $ref: '#/components/schemas/UAVAuthResponse' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + description: UAV authentication failure + content: + application/json: + schema: + $ref: '#/components/schemas/UAVAuthFailure' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + authNotification: + '{request.body#/authNotification }': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AuthNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnef-authentication: Access to the Nnef_authentication API + + + + + + schemas: +# +# STRUCTURED DATA TYPES +# + UAVAuthInfo: + description: UAV auth data + type: object + required: + - gpsi + - serviceLevelId + - nfType + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + serviceLevelId: + type: string + authNotificationURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ipAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + authServerAddress: + type: string + authMsg: + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + deprecated: true + authContainer: + type: array + items: + $ref: '#/components/schemas/AuthContainer' + minItems: 1 + ueLocInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + nfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + + UAVAuthResponse: + description: UAV auth response data + type: object + required: + - gpsi + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + serviceLevelId: + type: string + authMsg: + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + deprecated: true + authContainer: + type: array + items: + $ref: '#/components/schemas/AuthContainer' + minItems: 1 + authResult: + allOf: + - $ref: '#/components/schemas/AuthResult' + deprecated: true + notifyCorrId: + type: string + + AuthNotification: + description: UAV related notification + type: object + required: + - gpsi + - serviceLevelId + - notifType + - notifyCorrId + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + serviceLevelId: + type: string + notifyCorrId: + type: string + authMsg: + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + deprecated: true + authContainer: + type: array + items: + $ref: '#/components/schemas/AuthContainer' + minItems: 1 + notifType: + $ref: '#/components/schemas/NotifType' + + UAVAuthFailure: + description: UAV auth failure + type: object + required: + - error + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + uasResourceRelease: + type: boolean + default: false + + AuthContainer: + description: Authentication/Authorization data + type: object + properties: + authMsgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + authMsgPayload: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + authResult: + $ref: '#/components/schemas/AuthResult' + +# +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + + AuthResult: + description: Enumeration representing the result of authentication and/or authorization. + anyOf: + - type: string + enum: + - AUTH_SUCCESS + - AUTH_FAIL + - type: string + NotifType: + description: Enumeration representing the type of notification. + anyOf: + - type: string + enum: + - REAUTH + - UPDATEAUTH + - REVOKE + - type: string diff --git a/TS29257_UAE_C2OperationModeManagement.yaml b/TS29257_UAE_C2OperationModeManagement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fec6870874c1aa870788a4cc303c2a5af14816b7 --- /dev/null +++ b/TS29257_UAE_C2OperationModeManagement.yaml @@ -0,0 +1,501 @@ +openapi: 3.0.0 + +info: + title: UAE Server C2 Operation Mode Management Service + version: 1.1.0-alpha.1 + description: | + UAE Server C2 Operation Mode Management Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.257 V18.1.0; Application layer support for Uncrewed Aerial System (UAS); + UAS Application Enabler (UAE) Server Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.257/ + +servers: + - url: '{apiRoot}/uae-c2opmode-mngt/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /initiate: + post: + summary: Request the provisioning of C2 Operation Mode configuration information for a UAS (i.e. pair of UAV and UAV-C). + operationId: InitiateC2OpModeConfig + tags: + - Initiate C2 Operation Mode configuration + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ConfigureData' + responses: + '200': + description: > + The communicated C2 Operation Mode configuration information was successfully + received. The response body contains the feedback of the UAE Server on whether + this C2 Operation Mode configuration request is confirmed (i.e. can be undertaken + by the UAE Server) or not. + content: + application/json: + schema: + $ref: '#/components/schemas/C2Result' + '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' + callbacks: + C2OpModeMngtCompletionNotification: + '{$request.body#/notificationUri}/c2mode-mngt-completion': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/C2OpModeMngtCompStatus' + responses: + '204': + description: > + No Content. The notification was succesfull and the C2 Operation Mode + Management Completion status for the concerned UAS (i.e. pair of UAV + and UAV-C) was successfully received and acknowledged by the UASS. + '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' + SelectedC2CommunicationModeNotification: + '{$request.body#/notificationUri}/inform-selec-c2mode': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SelectedC2CommModeNotif' + responses: + '204': + description: > + No Content. The notification was succesfull and the C2 Communication Mode + selected by the concerned UAS (i.e. pair of UAV and UAV-C) was successfully + received and acknowledged by the UASS. + '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' + C2CommunicationModeSwitchingNotification: + '{$request.body#/notificationUri}/inform-c2mode-switch': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/C2CommModeSwitchNotif' + responses: + '200': + description: > + OK. The targeted C2 Communication Mode switching for the concerned UAS + (i.e. pair of UAV and UAV-C) is successfully received. The response body + contains the feedback of the UASS on whether this C2 Communication Mode + switching is confirmed (i.e. validated) or not. + content: + application/json: + schema: + $ref: '#/components/schemas/C2Result' + '204': + description: > + No Content. The targeted C2 Communication Mode switching for the concerned + UAS (i.e. pair of UAV and UAV-C) is successfully received and acknowledged, + and the UASS does not need to confirm (i.e. validate) it. + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + ConfigureData: + description: > + Represents the parameters to request to provision C2 Operation Mode configuration + information for a UAS (i.e. pair of UAV and UAV-C). + type: object + properties: + uassId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + uasId: + $ref: '#/components/schemas/UasId' + allowedC2CommModes: + type: array + items: + $ref: '#/components/schemas/C2CommMode' + minItems: 1 + c2CommModeSwitchTypes: + type: array + items: + $ref: '#/components/schemas/C2CommModeSwitching' + minItems: 1 + notificationUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + primaryC2CommMode: + $ref: '#/components/schemas/C2CommMode' + secondaryC2CommMode: + $ref: '#/components/schemas/C2CommMode' + c2SwitchPolicies: + $ref: '#/components/schemas/C2SwitchPolicies' + c2ServiceArea: + $ref: '#/components/schemas/C2ServiceArea' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - uassId + - uasId + - allowedC2CommModes + - c2CommModeSwitchTypes + - notificationUri + - primaryC2CommMode + - c2SwitchPolicies + + SelectedC2CommModeNotif: + description: > + Represents information on the C2 Communication Mode selected by a UAS (i.e. pair of + UAV and UAV-C). + type: object + properties: + uasId: + $ref: '#/components/schemas/UasId' + selPrimaryC2CommMode: + $ref: '#/components/schemas/C2CommMode' + selSecondaryC2CommMode: + $ref: '#/components/schemas/C2CommMode' + required: + - uasId + - selPrimaryC2CommMode + + C2CommModeSwitchNotif: + description: > + Represents information on the targeted C2 Communication Mode switching for a UAS + (i.e. pair of UAV and UAV-C). + type: object + properties: + uaeServerId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + uasId: + $ref: '#/components/schemas/UasId' + c2CommModeSwitchType: + $ref: '#/components/schemas/C2CommModeSwitching' + switchingCause: + $ref: '#/components/schemas/C2SwitchingCause' + required: + - uaeServerId + - uasId + - c2CommModeSwitchType + + C2Result: + description: Represents the result of an action related to C2 of a UAS. + type: object + properties: + c2OpConfirmed: + type: boolean + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - c2OpConfirmed + + UasId: + description: Represents the identifier of a UAS (i.e. pair of UAV and UAV-C). + type: object + properties: + groupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + individualUasId: + type: array + items: + $ref: '#/components/schemas/UavId' + minItems: 2 + oneOf: + - required: [groupId] + - required: [individualUasId] + + UavId: + description: Represents the identifier of a UAV (e.g. UAV, UAV-C). + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + caaId: + type: string + anyOf: + - required: [gpsi] + - required: [caaId] + + C2ServiceArea: + description: Represents a C2 service area. + type: object + properties: + ncgiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + geographicAreaList: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + oneOf: + - required: [geographicAreaList] + - anyOf: + - required: [ncgiList] + - required: [taiList] + + C2OpModeMngtCompStatus: + description: > + Represents the C2 Operation Mode Management Completion status for a UAV + (e.g. UAV, UAV-C). + type: object + properties: + uasId: + $ref: '#/components/schemas/UasId' + status: + $ref: '#/components/schemas/C2OpModeStatus' + required: + - uasId + - status + + C2SwitchPolicies: + description: Represents the C2 operation mode switching policies. + type: object + properties: + directC2LinkQualityThrlds: + $ref: '#/components/schemas/C2LinkQualityThrlds' + uuC2LinkQualityThrlds: + $ref: '#/components/schemas/C2LinkQualityThrlds' + + C2LinkQualityThrlds: + description: Represents the C2 link quality thresholds. + type: object + properties: + nrRsrpThrldLow: + type: integer + minimum: 0 + maximum: 127 + nrRsrpThrldHigh: + type: integer + minimum: 0 + maximum: 127 + nrRsrqThrldLow: + type: integer + minimum: 0 + maximum: 127 + nrRsrqThrldHigh: + type: integer + minimum: 0 + maximum: 127 + packetLossThrldLow: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + packetLossThrldHigh: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + +# ENUMS: + + C2CommMode: + anyOf: + - type: string + enum: + - DIRECT_C2_COMMUNICATION + - NETWORK_ASSISTED_C2_COMMUNICATION + - UTM_NAVIGATED_C2_COMMUNICATION + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the C2 Communication Mode. + Possible values are: + - DIRECT_C2_COMMUNICATION: Indicates Direct C2 Communication mode. + - NETWORK_ASSISTED_C2_COMMUNICATION: Indicates Network-Assisted C2 Communication mode. + - UTM_NAVIGATED_C2_COMMUNICATION: Indicates UTM-Navigated C2 communication mode. + + C2CommModeSwitching: + anyOf: + - type: string + enum: + - DIRECT_TO_NETWORK_ASSISTED_C2 + - NETWORK_ASSISTED_TO_DIRECT_C2 + - DIRECT_TO_UTM_NAVIGATED_C2 + - NETWORK_ASSISTED_TO_UTM_NAVIGATED_C2 + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the C2 Communication Mode Switching type. + Possible values are: + - DIRECT_TO_NETWORK_ASSISTED_C2: Indicates the C2 Communication Mode switching from Direct + C2 Communication mode to Network-Assisted C2 Communication mode. + - NETWORK_ASSISTED_TO_DIRECT_C2: Indicates the C2 Communication Mode switching from + Network-Assisted C2 Communication mode to Direct C2 Communication mode. + - DIRECT_TO_UTM_NAVIGATED_C2: Indicates the C2 Communication Mode switching from + Direct C2 Communication mode to UTM-Navigated C2 communication mode. + - NETWORK_ASSISTED_TO_UTM_NAVIGATED_C2: Indicates the C2 Communication Mode switching + from Network-Assisted C2 Communication mode to UTM-Navigated C2 communication mode. + + C2SwitchingCause: + anyOf: + - type: string + enum: + - DIRECT_LINK_QUALITY_DEGRADATION + - DIRECT_LINK_AVAILABLE + - MOVING_BVLOS + - LOCATION_CHANGE + - TRAFFIC_CONTROL_NEEDED + - SECURITY_REASONS + - OTHER_REASONS + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the C2 Communication Mode switching cause. + Possible values are: + - DIRECT_LINK_QUALITY_DEGRADATION: Indicates that the C2 Communication Mode switching + was triggered due to a degradation in the direct radio link quality. + - DIRECT_LINK_AVAILABLE: Indicates that the C2 Communication Mode switching was triggered + due to the availability of a direct link, i.e. direct radio link quality enables its + usage. + - MOVING_BVLOS: Indicates that the C2 Communication Mode switching was triggered due to + the UAV moving BVLOS. + - LOCATION_CHANGE: Indicates that the C2 Communication Mode switching was triggered due to + an actual or expected location/mobility of the UAV (e.g. which impacts the UAV-to-UAV-C + location). + - TRAFFIC_CONTROL_NEEDED: Indicates that the C2 Communication Mode switching was triggered + due to the necessity to have air traffic control. + - SECURITY_REASONS: Indicates that the C2 Communication Mode switching was triggered due to + security reasons. + - OTHER_REASONS: Indicates that the C2 Communication Mode switching was triggered due to + other reasons (e.g. unpredictable event, unknown reason, weather conditions, topography, + etc.). + + C2OpModeStatus: + anyOf: + - type: string + enum: + - SUCCESSFUL + - NOT_SUCCESSFUL + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the C2 operation mode management completion status. + Possible values are: + - SUCCESSFUL: Indicates that the C2 operation mode configuration was successful. + - NOT_SUCCESSFUL: Indicates that the C2 operation mode configuration was not successful. diff --git a/TS29257_UAE_ChangeUSSManagement.yaml b/TS29257_UAE_ChangeUSSManagement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ac99321ba8bb2ae74ae65efea546e7827e653d12 --- /dev/null +++ b/TS29257_UAE_ChangeUSSManagement.yaml @@ -0,0 +1,402 @@ +openapi: 3.0.0 + +info: + title: UAE Server USS Change Management Service + version: 1.0.0-alpha.1 + description: | + UAE Server USS Change Management Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.257 V18.1.0; Application layer support for Uncrewed Aerial System (UAS); + UAS Application Enabler (UAE) Server Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.257/ + +servers: + - url: '{apiRoot}/uae-usschange-mngt/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /policies: + get: + summary: Retrieve all the active USS Change Policies managed by the UAE Server. + operationId: GetUSSChangePolicies + tags: + - USS Change Policies (Collection) + responses: + '200': + description: > + OK. All the active USS Change Policies managed by the UAE Server shall be returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/USSChangePolicy' + '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: Request the creation of a USS Change Policy. + operationId: CreateUSSChangePolicy + tags: + - USS Change Policies (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/USSChangePolReq' + responses: + '200': + description: > + OK. The USS Change Policy is successfully created and a representation of the created + Individual USS Change Policy resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/USSChangePolResp' + headers: + Location: + description: > + Contains the URI of the created Individual USS Change Policy 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' +#Editor's Note: The definition of the notifications is FFS. + + + /policies/{policyId}: + parameters: + - name: policyId + in: path + description: Represents the identifier of the Individual USS Change Policy resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual USS Change Policy resource. + operationId: GetUSSChangePolicy + tags: + - Individual USS Change Policy (Document) + responses: + '200': + description: OK. The requested Individual USS Change Policy resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/USSChangePolicy' + '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 USS Change Policy resource. + operationId: UpdateUSSChangePolicy + tags: + - Individual USS Change Policy (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/USSChangePolicy' + responses: + '200': + description: > + OK. The Individual USS Change Policy resource is successfully updated and a + representation of the updated resource shall be returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/USSChangePolicy' + '204': + description: > + No Content. The Individual USS Change Policy 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' + '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: Request the modification of an existing Individual USS Change Policy resource. + operationId: ModifyUSSChangePolicy + tags: + - Individual USS Change Policy (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/USSChangePolicyPatch' + responses: + '200': + description: > + OK. The Individual USS Change Policy resource is successfully modified and a + representation of the updated resource shall be returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/USSChangePolicy' + '204': + description: > + No Content. The Individual USS Change Policy 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' + '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' + + delete: + summary: Request the deletion of an existing Individual USS Change Policy resource. + operationId: DeleteUSSChangePolicy + tags: + - Individual USS Change Policy (Document) + responses: + '204': + description: > + No Content. The Individual USS Change Policy 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' + '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' + + /request-usschange: + post: + summary: Request USS change. + operationId: RequestUSSChange + tags: + - Request USS Change + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/USSChangeReq' + responses: + '204': + description: > + No Content. The USS change request is successfully received. + '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' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + USSChangePolReq: + description: > + Represents the parameters to request the creation/Update of a USS Change Policy. + type: object + properties: + uassId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + ussChangePol: + $ref: '#/components/schemas/USSChangePolicy' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - uassId + - ussChangePol + + USSChangePolResp: + description: Represents the response to a USS Change Policy create/update request. + type: object + properties: + ussChangePol: + $ref: '#/components/schemas/USSChangePolicy' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ussChangePol + + USSChangePolicy: + description: Represents a USS Change Policy. + type: object + properties: + uasId: + $ref: 'TS29257_UAE_C2OperationModeManagement.yaml#/components/schemas/UasId' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + required: + - uasId + - notifUri + + USSChangePolicyPatch: + description: > + Represents the parameters to request the modification of a USS Change Policy. + type: object + properties: + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + + USSChangeReq: + description: Represents the parameters to request for USS change. + type: object + properties: + uassId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + uasId: + $ref: 'TS29257_UAE_C2OperationModeManagement.yaml#/components/schemas/UasId' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - uassId + - uasId diff --git a/TS29257_UAE_DAASupport.yaml b/TS29257_UAE_DAASupport.yaml new file mode 100644 index 0000000000000000000000000000000000000000..992ca0476420cb7e48b09f7325dedf870e49063f --- /dev/null +++ b/TS29257_UAE_DAASupport.yaml @@ -0,0 +1,552 @@ +openapi: 3.0.0 + +info: + title: UAE Server DAA Support Service + version: 1.0.0-alpha.2 + description: | + UAE Server DAA Support Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.257 V18.2.0; Application layer support for Uncrewed Aerial System (UAS); + UAS Application Enabler (UAE) Server Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.257/ + +servers: + - url: '{apiRoot}/uae-daa/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /policies: + get: + summary: Retrieve all the active DAA Policies managed by the UAE Server. + operationId: GetDAAPolicies + tags: + - DAA Policies (Collection) + responses: + '200': + description: > + OK. All the active DAA Policies managed by the UAE Server shall be returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DAAPolicy' + '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: Request the creation of a DAA Policy. + operationId: CreateDAAPolicy + tags: + - DAA Policies (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DAAPolReq' + responses: + '200': + description: > + OK. The DAA Policy is successfully created and a representation of the created + Individual DAA Policy resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/DAAPolResp' + headers: + Location: + description: > + Contains the URI of the created Individual DAA Policy 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: + DAAPolCompStatusNotif: + '{$request.body#/daaPol/notifUri}/daa-policy': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DAAPolConfigNotif' + responses: + '204': + description: > + No Content. The DAA Policy Configuration Status notification is successfully + received and acknowledged. + '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' + + DAAEventsNotif: + '{$request.body#/daaPol/notifUri}/daa-events': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DAAEventsInfo' + responses: + '200': + description: > + OK. The DAA event notification is successfully received and acknowledged, and + the UASS returns updated/additional DAA related event information in the + response body. + content: + application/json: + schema: + $ref: '#/components/schemas/DAAEventsInfo' + '204': + description: > + No Content. The DAA event notification is successfully received and + acknowledged. + '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' + + + /policies/{policyId}: + parameters: + - name: policyId + in: path + description: Represents the identifier of the Individual DAA Policy resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual DAA Policy resource. + operationId: GetIndDAAPolicy + tags: + - Individual DAA Policy (Document) + responses: + '200': + description: OK. The requested Individual DAA Policy resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/DAAPolicy' + '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 DAA Policy resource. + operationId: UpdateIndDAAPolicy + tags: + - Individual DAA Policy (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DAAPolicy' + responses: + '200': + description: > + OK. The Individual DAA Policy resource is successfully updated and a + representation of the updated resource shall be returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/DAAPolicy' + '204': + description: > + No Content. The Individual DAA Policy 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' + '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: Request the modification of an existing Individual DAA Policy resource. + operationId: ModifyIndDAAPolicy + tags: + - Individual DAA Policy (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/DAAPolicyPatch' + responses: + '200': + description: > + OK. The Individual DAA Policy resource is successfully modified and a + representation of the updated resource shall be returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/DAAPolicy' + '204': + description: > + No Content. The Individual DAA Policy 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' + '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' + + delete: + summary: Request the deletion of an existing Individual DAA Policy resource. + operationId: DeleteIndDAAPolicy + tags: + - Individual DAA Policy (Document) + responses: + '204': + description: > + No Content. The Individual DAA Policy 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' + '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' + + /inform-events: + post: + summary: Inform about and request the management of possible DAA related events. + operationId: InformDAAEvents + tags: + - InformDAAEvents + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/InformDAAEventsReq' + responses: + '204': + description: > + No Content. The request is successfully received. + '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' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + DAAPolReq: + description: > + Represents the parameters to request the creation of a DAA Policy. + type: object + properties: + uassId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + daaPol: + $ref: '#/components/schemas/DAAPolicy' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - uassId + - daaPol + + DAAPolResp: + description: Represents the response to a DAA Policy creation request. + type: object + properties: + daaPol: + $ref: '#/components/schemas/DAAPolicy' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - daaPol + + DAAPolicy: + description: Represents the content of a DAA Policy. + type: object + properties: + uasId: + $ref: 'TS29257_UAE_C2OperationModeManagement.yaml#/components/schemas/UasId' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + required: + - uasId + - notifUri + + DAAPolicyPatch: + description: > + Represents the parameters to request the modification of a DAA Policy. + type: object + properties: + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + + InformDAAEventsReq: + description: Represents the parameters to report DAA related event(s). + type: object + properties: + uassId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + uasId: + $ref: 'TS29257_UAE_C2OperationModeManagement.yaml#/components/schemas/UasId' + daaEventsInfo: + type: array + items: + $ref: '#/components/schemas/DAAEvent' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - uassId + - uasId + - daaEventsInfo + + DAAPolConfigNotif: + description: Represents the parameters to request for DAA. + type: object + properties: + status: + $ref: '#/components/schemas/DAAPolConfigStatus' + required: + - status + + DAAEventsInfo: + description: Represents the parameters to request for DAA. + type: object + properties: + uasId: + $ref: 'TS29257_UAE_C2OperationModeManagement.yaml#/components/schemas/UasId' + daaEventsInfo: + type: array + items: + $ref: '#/components/schemas/DAAEvent' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - uasId + - daaEventsInfo + + DAAEvent: + description: Represents the parameters to request for DAA. + type: object + properties: + uasId: + $ref: 'TS29257_UAE_C2OperationModeManagement.yaml#/components/schemas/UasId' + uasLocInfo: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + required: + - uasId + - uasLocInfo + + DAAPolConfigStatus: + anyOf: + - type: string + enum: + - SUCCESSFUL + - NOT_SUCCESSFUL + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents DAA Policy configuration completion status. + Possible values are: + - SUCCESSFUL: Indicates that the DAA Policy configuration was successful. + - NOT_SUCCESSFUL: Indicates that the DAA Policy configuration was not successful. diff --git a/TS29257_UAE_RealtimeUAVStatus.yaml b/TS29257_UAE_RealtimeUAVStatus.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4d79feb1d58c30be20b118be40494baa8ba931b7 --- /dev/null +++ b/TS29257_UAE_RealtimeUAVStatus.yaml @@ -0,0 +1,373 @@ +openapi: 3.0.0 +info: + title: UAE Server Real-time UAV Status Service + version: 1.0.0 + description: | + UAE Server Real-time UAV Status Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.257 V17.1.0; Application layer support for Uncrewed Aerial System (UAS); + UAS Application Enabler (UAE) Server Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.257/ + +servers: + - url: '{apiRoot}/uae-uav-status/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /subscriptions: + get: + summary: Retrieve all the active real-time UAV status subscriptions managed by the UAE Server. + operationId: GetRTUavStatusSubscriptions + tags: + - Real-time UAV Status Subscriptions (Collection) + responses: + '200': + description: > + OK. All the active real-time UAV status subscriptions managed by the UAE Server + shall be returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RTUavStatusSubsc' + '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: Request the creation of a subscription to real-time UAV status reporting. + operationId: CreateRTUavStatusSubsc + tags: + - Real-time UAV Status Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RTUavStatusSubsc' + responses: + '200': + description: > + OK. The subscription is successfully created and a representation of the created + Individual Real-time UAV Status Subscription resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/RTUavStatusSubsc' + headers: + Location: + description: > + Contains the URI of the created Individual Real-time UAV Status Subscription + 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: + RTUavStatusNotification: + '{$request.body#/notificationUri}/uav-status': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RTUavStatusNotif' + responses: + '204': + description: > + No Content. The real-time UAV status notification is successfully + received and acknowledged. + '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' + + + /subscriptions/{subscriptionId}: + get: + summary: Retrieve a real-time UAV status subscription resource. + operationId: GetRTUavStatusSubscription + tags: + - Individual Real-time UAV Status Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Individual Real-time UAV Status Subscription identifier. + required: true + schema: + type: string + responses: + '200': + description: OK. The requested real-time UAV status subscription resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/RTUavStatusSubsc' + '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 real-time UAV status subscription. + operationId: UpdateRTUavStatusSubscription + tags: + - Individual Real-time UAV Status Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Individual Real-time UAV Status Subscription identifier. + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RTUavStatusSubsc' + responses: + '200': + description: > + OK. The real-time UAV status subscription is successfully updated and a + representation of the updated Individual Real-time UAV Status Subscription + resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/RTUavStatusSubsc' + '204': + description: No Content. The real-time UAV status subscription is successfully updated. + '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' + + delete: + summary: Request the deletion of an existing real-time UAV status subscription. + operationId: DeleteRTUavStatusSubscription + tags: + - Individual Real-time UAV Status Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Individual Real-time UAV Status Subscription identifier. + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual Real-time UAV Status 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' + '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' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + RTUavStatusSubsc: + description: > + Represents the parameters to request the creation or update of a subscription + to real-time UAV status reporting. + type: object + properties: + uassId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + uavIds: + type: array + items: + $ref: 'TS29257_UAE_C2OperationModeManagement.yaml#/components/schemas/UavId' + minItems: 1 + notificationUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - uassId + - uavIds + - notificationUri + + RTUavStatusNotif: + description: Represents a real-time UAV status notification. + type: object + properties: + subscriptionId: + type: string + rTUavStatus: + type: array + items: + $ref: '#/components/schemas/RTUavStatus' + minItems: 1 + required: + - subscriptionId + - rTUavStatus + + RTUavStatus: + description: Represents real-time UAV status information. + type: object + properties: + uavId: + $ref: 'TS29257_UAE_C2OperationModeManagement.yaml#/components/schemas/UavId' + uavNetConnStatus: + $ref: '#/components/schemas/UavNetConnStatus' + uavLocInfo: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + allOf: + - required: [uavId] + - oneOf: + - required: [uavLocInfo] + - allOf: + - required: [uavLocInfo] + - required: [uavNetConnStatus] + + UavNetConnStatus: + description: Represents UAV network connection status information. + type: object + properties: + statusInfo: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/MonitoringType' + timestamp: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + required: + - statusInfo + - timestamp diff --git a/TS29309_Nbsp_GBA.yaml b/TS29309_Nbsp_GBA.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f76c98445ab48e194dabf7100aebd0c514673621 --- /dev/null +++ b/TS29309_Nbsp_GBA.yaml @@ -0,0 +1,461 @@ +openapi: 3.0.0 + +info: + version: '1.1.0-alpha.2' + title: 'GBA BSF Nbsp_GBA Service' + description: | + GBA BSF Nbsp_GBA Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.309 V18.1.0; 5G System; Bootstrapping Server Function (GBA BSF) Services; Stage 3 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.309/' + +servers: + - url: '{apiRoot}/nbsp-gba/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nbsp-gba + +paths: + /bootstrapping-info-retrieval: + post: + summary: Retrieve Bootstrapping Info from GBA BSF from NAF + operationId: BootstrappingInfoRetrieval + tags: + - Bootstrapping Info Retrieval (Custom Operation) + security: + - {} + - oAuth2ClientCredentials: + - nbsp-gba + - oAuth2ClientCredentials: + - nbsp-gba + - nbsp-gba:bootstrapping-info-retrieval:invoke + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BootstrappingInfoRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/BootstrappingInfoResponse' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /push-info-retrieval: + post: + summary: Retrieve Push Info from GBA BSF from Push-NAF + operationId: PushInfoRetrieval + tags: + - Push Info Retrieval (Custom Operation) + security: + - {} + - oAuth2ClientCredentials: + - nbsp-gba + - oAuth2ClientCredentials: + - nbsp-gba + - nbsp-gba:push-info-retrieval:invoke + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PushInfoRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/PushInfoResponse' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nbsp-gba: Access to the Nbsp_GBA API + nbsp-gba:bootstrapping-info-retrieval:invoke: >- + Access to invoke the Bootstrapping Info Retrieval custom operation + nbsp-gba:push-info-retrieval:invoke: >- + Access to invoke the Push Info Retrieval custom operation + + schemas: + +# +# STRUCTURED TYPES +# + + BootstrappingInfoRequest: + description: > + Request body of the HTTP POST operation for resource /bootstrapping-info-request + type: object + required: + - btId + - nafId + properties: + btId: + $ref: '#/components/schemas/BtId' + nafId: + $ref: '#/components/schemas/NafId' + gbaUAware: + type: boolean + default: false + gsIds: + type: array + items: + $ref: '#/components/schemas/GsId' + minItems: 1 + + BootstrappingInfoResponse: + description: > + Response body of the HTTP POST operation for resource /bootstrapping-info-request + type: object + required: + - meKeyMaterial + properties: + meKeyMaterial: + $ref: '#/components/schemas/MeKeyMaterial' + uiccKeyMaterial: + $ref: '#/components/schemas/UiccKeyMaterial' + keyExpiryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + bootstrappingInfoCreationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ussList: + type: array + items: + $ref: '#/components/schemas/UssListItem' + minItems: 1 + gbaType: + $ref: '#/components/schemas/GbaType' + impi: + $ref: '#/components/schemas/Impi' + + PushInfoRequest: + description: Request body of the HTTP POST operation for resource /push-info-request + type: object + required: + - ueId + - ueIdType + - uiccAppLabel + - nafId + - ptId + - uiccOrMe + - requestedLifeTime + properties: + ueId: + $ref: '#/components/schemas/UeId' + ueIdType: + $ref: '#/components/schemas/UeIdType' + uiccAppLabel: + $ref: '#/components/schemas/UiccAppLabel' + nafId: + $ref: '#/components/schemas/NafId' + ptId: + $ref: '#/components/schemas/PtId' + uiccOrMe: + $ref: '#/components/schemas/UiccOrMe' + requestedLifeTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + privateIdRequest: + type: boolean + default: false + gbaUAware: + type: boolean + default: false + gsIds: + type: array + items: + $ref: '#/components/schemas/GsId' + minItems: 1 + auts: + $ref: '#/components/schemas/Auts' + rand: + $ref: '#/components/schemas/Rand' + securityFeaturesRequest: + type: array + items: + $ref: '#/components/schemas/SecFeature' + minItems: 1 + + PushInfoResponse: + description: Response body of the HTTP POST operation for resource /push-info-request + type: object + required: + - meKeyMaterial + - gbaPushInfo + properties: + meKeyMaterial: + $ref: '#/components/schemas/MeKeyMaterial' + gbaPushInfo: + $ref: '#/components/schemas/GbaPushInfo' + uiccKeyMaterial: + $ref: '#/components/schemas/UiccKeyMaterial' + keyExpiryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + bootstrappingInfoCreationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ussList: + type: array + items: + $ref: '#/components/schemas/UssListItem' + minItems: 1 + gbaType: + $ref: '#/components/schemas/GbaType' + impi: + $ref: '#/components/schemas/Impi' + securityFeaturesResponse: + type: array + items: + $ref: '#/components/schemas/SecFeature' + + NafId: + description: NAF ID, containing the NAF FQDN and the Ua Security Protocol Identifier + type: object + required: + - nafFqdn + - uaSecProtId + properties: + nafFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + uaSecProtId: + type: string + pattern: '^[A-Fa-f0-9]{10}$' + + UssListItem: + description: Data item in a User Security Settings array list + type: object + required: + - uss + properties: + uss: + $ref: '#/components/schemas/Uss' + + Uss: + description: User Security Settings for a given GAA Service + type: object + required: + - gsId + - gsType + - ueIds + properties: + gsId: + $ref: '#/components/schemas/GsId' + gsType: + $ref: '#/components/schemas/GsType' + ueIds: + type: array + items: + $ref: '#/components/schemas/UeIdsItem' + minItems: 1 + nafGroup: + $ref: '#/components/schemas/NafGroup' + flags: + type: array + items: + $ref: '#/components/schemas/FlagsItem' + minItems: 1 + keyChoice: + $ref: '#/components/schemas/KeyChoice' + + UeIdsItem: + description: Data item in a UE ID array list + type: object + required: + - ueId + properties: + ueId: + $ref: '#/components/schemas/UeId' + + FlagsItem: + description: Data item in a Flags array list + type: object + required: + - flag + properties: + flag: + $ref: '#/components/schemas/Flag' + +# +# SIMPLE TYPES +# + + GsId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + + GsType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + + BtId: + description: Bootstrapping Transaction Identifier + type: string + + MeKeyMaterial: + description: ME Key Material (hex-encoded string) + type: string + pattern: '^[A-Fa-f0-9]{64}$' + + UiccKeyMaterial: + description: UICC key material (hex-encoded string) + type: string + pattern: '^[A-Fa-f0-9]{64}$' + + UeId: + description: Public Identity of the UE + type: string + + Impi: + description: IMS Private Identity of the UE + type: string + + Flag: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + + GbaPushInfo: + description: GBA Push Info (hex-encoded string) + type: string + pattern: '^([A-Fa-f0-9]{2})+$' + + NafGroup: + description: Character string representing a NAF Group + type: string + + PtId: + description: Character string representing a P-TID + type: string + + UiccAppLabel: + description: Character string representing an UICC Application Label + type: string + + Auts: + description: AUTS value in UMTS AKA + type: string + pattern: '^[A-Fa-f0-9]{28}$' + + Rand: + description: RAND in UMTS AKA + type: string + pattern: '^[A-Fa-f0-9]{32}$' + +# +# ENUMS +# + + KeyChoice: + description: Type of key (ME-based or UICC-based) that the NAF shall use + anyOf: + - type: string + enum: + - ME_BASED_KEY + - UICC_BASED_KEY + - ME_UICC_BASED_KEYS + - type: string + + UiccOrMe: + description: Indicates whether GBA_ME or GBA_U is to be used for GBA push + anyOf: + - type: string + enum: + - GBA_ME + - GBA_U + - type: string + + SecFeature: + description: Security features supported by the BSF or the NAF + anyOf: + - type: string + enum: + - GPL_U + - type: string + + GbaType: + description: Authentication type used by the UE for GBA + anyOf: + - type: string + enum: + - 3G_GBA + - 2G_GBA + - GBA_DIGEST + - type: string + + UeIdType: + description: Type of UE Identity (public or private) + anyOf: + - type: string + enum: + - PUBLIC + - PRIVATE + - type: string diff --git a/TS29486_VAE_ApplicationRequirement.yaml b/TS29486_VAE_ApplicationRequirement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e295546435d79e7f3cfc1e26cbcc58fdc69d8797 --- /dev/null +++ b/TS29486_VAE_ApplicationRequirement.yaml @@ -0,0 +1,281 @@ +openapi: 3.0.0 + +info: + version: 1.2.0-alpha.2 + title: VAE_ApplicationRequirement + description: | + API for VAE Application Requirement Service + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.486 V18.1.0 V2X Application Enabler (VAE) Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.486/' + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/vae-app-req/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + /application-requirements: + post: + summary: VAE_Application_Requirements resource create service Operation + tags: + - application requirements collection (Document) + operationId: CreateApplicationRequirement + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationRequirementData' + required: true + responses: + '201': + description: Application Requirement Resource Created + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationRequirementData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + NotifyNetworkResource: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AppReqNotification' + 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: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-requirements/{requirementId}: + get: + summary: VAE Application Requirement resource read service Operation + tags: + - Individual application requirement (Document) + operationId: ReadApplicationRequirement + parameters: + - name: requirementId + in: path + description: Identifier of an application requirement resource + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationRequirementData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: VAE Application Requirement resource delete service Operation + tags: + - Individual application requirement (Document) + operationId: DeleteApplicationRequirement + parameters: + - name: requirementId + in: path + required: true + description: Unique ID of the application requirement to be deleted + schema: + type: string + responses: + '204': + description: The subscription was terminated successfully. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + ApplicationRequirementData: + description: > + Represents an individual Application Requirement resource for a V2X UE ID or a V2X group ID. + type: object + properties: + ueId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xUeId' + groupId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xGroupId' + duration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + serviceId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xServiceId' + appRequirement: + $ref: '#/components/schemas/ApplicationRequirement' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + requestTestNotification: + type: boolean + description: > + Set to true by the service consumer to request the VAE server to send a test + notification as defined in clause 6.3.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - serviceId + - appRequirement + - notifUri + + ApplicationRequirement: + description: Represents the requirements for application change. + type: object + properties: + serviceLevel: + $ref: '#/components/schemas/ServiceLevel' + + AppReqNotification: + description: > + Represents a notificaton of the result of the network resource adaptation corresponding to + the V2X application requirement. + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + result: + $ref: '#/components/schemas/ReservationResult' + required: + - resourceUri + - result + +# Simple data types and Enumerations + ServiceLevel: + description: Indicates a service level for application service. + anyOf: + - type: string + enum: + - HIGH + - MEDIUM + - LOW + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + + ReservationResult: + description: > + Represents the result of the network resource adaptation corresponding to the V2X + application requirement. + anyOf: + - type: string + enum: + - SUCCESSFUL + - FAILURE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. diff --git a/TS29486_VAE_DynamicGroup.yaml b/TS29486_VAE_DynamicGroup.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bdd827319a92a5261e3528c4535848f08afec562 --- /dev/null +++ b/TS29486_VAE_DynamicGroup.yaml @@ -0,0 +1,249 @@ +openapi: 3.0.0 + +info: + version: 1.2.0-alpha.2 + title: VAE_DynamicGroup + description: | + VAE_Dynamic_Group Service + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.486 V18.1.0 V2X Application Enabler (VAE) Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.486/' + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/vae-dynamic-group/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + /group-configurations: + post: + summary: VAE_Dynamice_Group resource create service Operation + tags: + - application requirements collection (Document) + operationId: CreateGroupConfiguration + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GroupConfigurationData' + required: true + responses: + '201': + description: Application Requirement Resource created + headers: + Location: + description: Contains the URI of the newly created resource. + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/GroupConfigurationData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + NotifyDynamicGroup: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DynamicGroupNotification' + 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: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /group-configurations/{configId}: + get: + summary: VAE Group Configuration resource read service Operation + tags: + - Individual Group Configuration(Document) + operationId: ReadDynamicGroupConfiguration + parameters: + - name: configId + in: path + description: Identifier of an group configuration resource. + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/GroupConfigurationData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: VAE Group Configuration resource delete service Operation + tags: + - Individual group configuration (Document) + operationId: DeleteGroupConfiguration + parameters: + - name: configId + in: path + required: true + description: Unique ID of the group configuration to be deleted. + schema: + type: string + responses: + '204': + description: The subscription was terminated successfully. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + GroupConfigurationData: + description: Represents an individual Group Configuration resource for a V2X group ID. + type: object + properties: + groupId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xGroupId' + definition: + type: string + leaderId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xUeId' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + duration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + requestTestNotification: + type: boolean + description: > + Set to true by the service consumer to request the VAE server to test + a notification connection. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - groupId + - definition + - leaderId + - notifUri + + DynamicGroupNotification: + description: > + Represents a notification on the dynamic group information (i.e. group member + joins or leaves). + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + joinedUeIds: + type: array + items: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xUeId' + minItems: 1 + leftUeIds: + type: array + items: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xUeId' + minItems: 1 + required: + - resourceUri diff --git a/TS29486_VAE_FileDistribution.yaml b/TS29486_VAE_FileDistribution.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d237e2b9ba6f7ee4925518c7d691e099aafe9e6e --- /dev/null +++ b/TS29486_VAE_FileDistribution.yaml @@ -0,0 +1,262 @@ +openapi: 3.0.0 + +info: + version: 1.2.0-alpha.1 + title: VAE_FileDistribution + description: | + API for VAE File Distribution Service + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.486 V18.0.0 V2X Application Enabler (VAE) Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.486/' + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/vae-file-distribution/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + /file-distributions: + post: + summary: VAE File Distributions resource create service Operation + tags: + - file distributions collection (Document) + operationId: CreateFileDistributions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FileDistributionData' + required: true + responses: + '201': + description: File Distribution Resource Created + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/FileDistributionData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /file-distributions/{distributionId}: + get: + summary: Get an existing individual file distribution resource + operationId: ReadIndividualFileDistribution + tags: + - Individual File Distribution (Document) + parameters: + - name: distributionId + in: path + description: Identifier of a file distribution resource + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/FileDistributionData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: VAE File Distribution resource delete service Operation + tags: + - Individual file distribution (Document) + operationId: DeleteFileDistribution + parameters: + - name: distributionId + in: path + required: true + description: Unique ID of the file distribution to be deleted + schema: + type: string + responses: + '204': + description: The subscription was terminated successfully. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + FileDistributionData: + description: Represents an individual File Distribution resource for a V2X group ID. + type: object + properties: + groupId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xGroupId' + fileLists: + type: array + items: + $ref: '#/components/schemas/FileList' + minItems: 1 + serviceClass: + type: string + geoArea: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + maxBitrate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + localMbmsInfo: + $ref: '#/components/schemas/LocalMbmsInfo' + localMbmsActInd: + type: boolean + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - fileLists + - geoArea + - maxBitrate + - maxDelay + + FileList: + description: Represents a file list. + type: object + properties: + fileUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + fileDisplayUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + fileEarFetchTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + fileLatFetchTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + fileSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + fileStatus: + $ref: '#/components/schemas/FileStatus' + completionTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + keepUpdateInterval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + uniAvailability: + type: boolean + fileRepetition: + type: integer + required: + - fileUri + - fileDisplayUri + - fileEarFetchTime + - fileLatFetchTime + - fileStatus + - completionTime + - keepUpdateInterval + + LocalMbmsInfo: + description: Contains the local MBMS information. + type: object + properties: + mbmsEnbIpv4MulAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + mbmsEnbIpv6MulAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + mbmsGwIpv4SsmAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + mbmsGwIpv6SsmAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + cteid: + type: string + bmscIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + bmscIpv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + bmscPort: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + +# Simple data types and Enumerations + FileStatus: + description: Represents a file status. + anyOf: + - type: string + enum: + - PENDING + - FETCHED + - PREPARED + - TRANSMITTING + - SENT + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. diff --git a/TS29486_VAE_HDMapDynamicInfo.yaml b/TS29486_VAE_HDMapDynamicInfo.yaml new file mode 100644 index 0000000000000000000000000000000000000000..580d4da45f688dda7c5f470be150ae86dd032c73 --- /dev/null +++ b/TS29486_VAE_HDMapDynamicInfo.yaml @@ -0,0 +1,256 @@ +openapi: 3.0.0 + +info: + version: 1.1.0-alpha.2 + title: VAE_HDMapDynamicInfo + description: | + API for VAE HDMapDynamicInfo Service + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.486 V18.1.0 V2X Application Enabler (VAE) Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.486/' + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/vae-hdmap-dynamic-info/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + /subscriptions: + post: + summary: VAE_HDMapDynamicInfo resource create service Operation + tags: + - hdmap dynamicinfo subscriptions collection (Document) + operationId: Create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/HdMapDynamicInfoData' + required: true + responses: + '201': + description: HdMap DynamicInfo Subscription Resource Created + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/HdMapDynamicInfoData' + '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: + NotifyHdMapDynamicInfo: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/HdMapDynamicInfoNotification' + 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' + /subscriptions/{subscriptionId}: + get: + summary: VAE HdMap DynamicInfo Subscription resource read service Operation + tags: + - Individual HdMap DynamicInfo Subscription(Document) + operationId: ReadHdMapDynamicInfoSubscription + parameters: + - name: subscriptionId + in: path + description: Identifier of an HdMap DynamicIfo Subscription resource + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/HdMapDynamicInfoData' + '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' + delete: + summary: VAE HdMap DynamicInfo Subscription resource delete service Operation + tags: + - Individual hdmap dynamicinfo subscription (Document) + operationId: DeleteHdMapDynamicInfoSubscription + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the hdmap dynamicinfo subscription to be deleted + schema: + type: string + responses: + '204': + description: The subscription was terminated 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' + '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: + HdMapDynamicInfoData: + description: > + Represents an individual HdMap DynamicInfo Subscription resource for a V2X UE ID. + type: object + properties: + ueId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xUeId' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + range: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + requestTestNotification: + type: boolean + description: > + Set to true by the service consumer to request the VAE server to send a test + notification as defined in clause 6.3.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ueId + - notifUri + - range + + HdMapDynamicInfoNotification: + description: > + Represents a notificaton of HD map dynamic info corresponding to the subscription. + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nearbyUeInfo: + type: array + items: + $ref: '#/components/schemas/NearbyUeInfo' + minItems: 1 + description: Contains the informaiotn of nearby UEs. + required: + - resourceUri + - nearbyUeInfo + + NearbyUeInfo: + description: Represents the informaiotn of nearby UEs. + type: object + properties: + nearbyUeId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xUeId' + location: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + distance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - nearbyUeId + - location + - distance diff --git a/TS29486_VAE_MessageDelivery.yaml b/TS29486_VAE_MessageDelivery.yaml new file mode 100644 index 0000000000000000000000000000000000000000..34178a085ada96a6c40d869dd2f387f108713162 --- /dev/null +++ b/TS29486_VAE_MessageDelivery.yaml @@ -0,0 +1,484 @@ +openapi: 3.0.0 + +info: + version: 1.2.0-alpha.2 + title: VAE_MessageDelivery + description: | + API for VAE Message Delivery Service + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.486 V18.1.0 V2X Application Enabler (VAE) Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.486/' + +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/vae-message-delivery/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + /subscriptions: + post: + summary: Create a new Individual Message Delivery Data Subscription resource + operationId: CreateIndividualMessageDeliveryDataSubscription + tags: + - Message Delivery Data Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MessageDeliverySubscriptionData' + responses: + '201': + description: The subscription was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/MessageDeliverySubscriptionData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + uplinkMessageDelivery: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UplinkMessageDeliveryData' + responses: + '204': + description: No Content, Notification was successful + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + receptReportOfDownlinkMesageDelivery: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Result' + responses: + '204': + description: No Content, Notification was successful + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}: + get: + summary: Get an existing individual Message Delivery Subscription resource + operationId: ReadIndividualMessageDeliverySubscription + tags: + - Individual Message Delivery Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: > + String identifying a subscription to the Individual Message Delivery Subscription + required: true + schema: + type: string + responses: + '200': + description: The subscription information is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MessageDeliverySubscriptionData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual Message Delivery Subscription resource + operationId: DeleteMessageDeliverySubscription + tags: + - Individual Message Delivery Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: > + String identifying a subscription to the Individual Message Delivery Subscription + required: true + schema: + type: string + responses: + '204': + description: The subscription was terminated successfully. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}/message-deliveries: + post: + summary: VAE Message delivery resource create service Operation + tags: + - message deliveries collection (Collection) + operationId: CreateDownlinkMessageDelivery + parameters: + - name: subscriptionId + in: path + description: > + String identifying a subscription to the Individual Message Delivery Subscription + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DownlinkMessageDeliveryData' + required: true + responses: + '201': + description: Downlink Message Delivery Resource Created + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/DownlinkMessageDeliveryData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}/message-deliveries/{dlDeliveryId}: + get: + summary: VAE Message delivery resource Read service Operation + tags: + - Individual downlink message delivery (Document) + operationId: ReadIndividualDownlinkMessageDelivery + parameters: + - name: subscriptionId + in: path + description: > + String identifying a subscription to the Individual Message Delivery Subscription + required: true + schema: + type: string + - name: dlDeliveryId + in: path + description: Identifier of a downlink messge delivery resource + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/DownlinkMessageDeliveryData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: VAE Message delivery resource delete service Operation + tags: + - Individual message delivery (Document) + operationId: DeleteMessageDelivery + parameters: + - name: subscriptionId + in: path + description: > + String identifying a subscription to the Individual Message Delivery Subscription + required: true + schema: + type: string + - name: dlDeliveryId + in: path + required: true + description: Unique ID of the message delivery to be deleted + schema: + type: string + 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: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + DownlinkMessageDeliveryData: + description: Contains the downlink V2X message delivery data. + type: object + properties: + ueId: + $ref: '#/components/schemas/V2xUeId' + groupId: + $ref: '#/components/schemas/V2xGroupId' + duration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + geoId: + $ref: '#/components/schemas/GeoId' + payload: + $ref: '#/components/schemas/V2xMessagePayload' + required: + - payload + + MessageDeliverySubscriptionData: + description: Represents the V2X message delivery subscription data. + type: object + properties: + appSerId: + $ref: '#/components/schemas/AppServerId' + serviceId: + $ref: '#/components/schemas/V2xServiceId' + geoId: + $ref: '#/components/schemas/GeoId' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + requestTestNotification: + type: boolean + description: > + Set to true by the service consumer to request the VAE server to send a test + notification as defined in clause 6.1.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - appSerId + - serviceId + - notifUri + + + UplinkMessageDeliveryData: + description: Represents the uplink V2X message delivery data. + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ueId: + $ref: '#/components/schemas/V2xUeId' + geoId: + $ref: '#/components/schemas/GeoId' + payload: + $ref: '#/components/schemas/V2xMessagePayload' + required: + - resourceUri + - ueId + - payload + + Result: + description: Contains the result of downlink message delivery. + anyOf: + - type: string + enum: + - SUCCESS + - FAIL + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + + AppServerId: + description: Represents the service consumer identifier. + type: string + + V2xUeId: + description: Represents the identifier of the V2X UE. + type: string + + V2xGroupId: + description: Represents the group ID for which a V2X message is addressed. + type: string + + V2xServiceId: + description: Represents the V2X service ID to which a V2X message belongs. + type: string + + GeoId: + description: Represents a geographical area identifier. + type: string + + V2xMessagePayload: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' diff --git a/TS29486_VAE_PC5ProvisioningRequirement.yaml b/TS29486_VAE_PC5ProvisioningRequirement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7f9a60fc8376f9c75617befeda0aebd8b935c7fb --- /dev/null +++ b/TS29486_VAE_PC5ProvisioningRequirement.yaml @@ -0,0 +1,297 @@ +openapi: 3.0.0 + +info: + version: 1.1.0-alpha.2 + title: VAE_PC5ProvisioningRequirement + description: | + API for VAE_PC5ProvisioningRequirement + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.486 V18.1.0 V2X Application Enabler (VAE) Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.486/' + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/vae-pc5-prov-req/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + /subscriptions: + post: + summary: VAE_PC5 Provisioning Requirement resource create service Operation + tags: + - PC5 provisioning requirement subscriptions collection (Document) + operationId: Create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProvisioningRequirement' + required: true + responses: + '201': + description: PC5 Provisioning Requirement Subscription Resource Created + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/ProvisioningRequirement' + '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: + NotifyResutOfMultiOperationPC5Provisioning: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Notification' + 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' + /subscriptions/{subscriptionId}: + get: + summary: VAE PC5 Provisioning Requirement Subscription resource read service Operation + tags: + - Individual PC5 Provisioning Requirement Subscription (Document) + operationId: ReadPC5ProvisioningRequirementSubscription + parameters: + - name: subscriptionId + in: path + description: Identifier of an PC5 Provisioning Requirement Subscription resource + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/ProvisioningRequirement' + '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: Updates/replaces an existing subscription resource + tags: + - VAE PC5 Provisioning Requirement Subscription resource put service Operation + operationId: UpdatePC5ProvisioningRequirementSubscription + parameters: + - name: subscriptionId + in: path + description: Identifier of an PC5 Provisioning Requirement Subscription resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ProvisioningRequirement' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/ProvisioningRequirement' + '204': + description: No Content (Successful update of the 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' + '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: VAE PC5 Provisioning Requirement Subscription resource delete service Operation + tags: + - Individual PC5 Provisioning Requirement Subscription (Document) + operationId: DeletePC5ProvisioningRequirementSubscription + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the PC5 Provisioning Requirement Subscription to be deleted + schema: + type: string + responses: + '204': + description: The subscription was terminated 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' + '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: + ProvisioningRequirement: + description: Represents an Individual PC5 Provisioning Requirement Subscription resource. + type: object + properties: + ueId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xUeId' + groupId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xGroupId' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + serviceId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xServiceId' + appQosReq: + $ref: 'TS29486_VAE_SessionOrientedService.yaml#/components/schemas/AppplicationQosRequirement' + plmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + requestTestNotification: + type: boolean + description: > + Set to true by the service consumer to request the VAE server to send a test + notification as defined in clause 6.3.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - serviceId + - notifUri + + Notification: + description: Represents a notificaton of result of PC5 Provisioning Requirement. + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + result: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/Result' + required: + - resourceUri + - result diff --git a/TS29486_VAE_ServiceAndQoSControlInfo.yaml b/TS29486_VAE_ServiceAndQoSControlInfo.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d3a08c6dbce66c66e49d71888e83e5c2baff3e83 --- /dev/null +++ b/TS29486_VAE_ServiceAndQoSControlInfo.yaml @@ -0,0 +1,423 @@ +openapi: 3.0.0 + +info: + title: VAE Server Service And QoS Control Info Service + version: 1.0.0-alpha.1 + description: | + VAE Server Service And QoS Control Info Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.486 V18.1.0 V2X Application Enabler (VAE) Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.486/' + +servers: + - url: '{apiRoot}/vae-sqci/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /subscriptions: + post: + summary: Request the creation of a Service Adaptation And QoS Control Subscription. + operationId: CreateServAdaptQoSCtrlSubsc + tags: + - Service Adaptation And QoS Control Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServAdaptQoSCtrlSubsc' + responses: + '201': + description: > + Created. The Service Adaptation And QoS Control Subscription is successfully created + and a representation of the created Individual Service Adaptation And QoS Control + Subscription resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ServAdaptQoSCtrlSubsc' + headers: + Location: + description: > + Contains the URI of the created Individual Service Adaptation And QoS Control + Subscription 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: + ServReqQoSAdaptNotif: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AdaptNotif' + responses: + '200': + description: > + OK. The Service Requirements And QoS Adaptation notification is successfully + received and acknowledged and the acknowledgment related information shall be + returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/AdaptNotifResp' + '204': + description: > + No Content. The Service Requirements And QoS Adaptation notification is + successfully received and acknowledged 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' + + /subscriptions/{subscriptionId}: + parameters: + - name: subscriptionId + in: path + description: > + Represents the identifier of the Individual Service Adaptation And QoS Control + Subscription resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual Service Adaptation And QoS Control Subscription resource. + operationId: GetIndServAdaptQoSCtrlSubsc + tags: + - Individual Service Adaptation And QoS Control Subscription (Document) + responses: + '200': + description: > + OK. The requested Individual Service Adaptation And QoS Control Subscription resource + shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ServAdaptQoSCtrlSubsc' + '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 Service Adaptation And QoS Control Subscription resource. + operationId: UpdateIndServAdaptQoSCtrlSubsc + tags: + - Individual Service Adaptation And QoS Control Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServAdaptQoSCtrlSubsc' + responses: + '200': + description: > + OK. The Individual Service Adaptation And QoS Control Subscription resource is + successfully updated and a representation of the updated resource shall be returned in + the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/ServAdaptQoSCtrlSubsc' + '204': + description: > + No Content. The Individual Service Adaptation And QoS Control 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' + '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: Request the modification of an existing Individual Service Adaptation And QoS Control Subscription resource. + operationId: ModifyIndServAdaptQoSCtrlSubsc + tags: + - Individual Service Adaptation And QoS Control Subscription (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ServAdaptQoSCtrlSubscPatch' + responses: + '200': + description: > + OK. The Individual Service Adaptation And QoS Control Subscription resource is + successfully modified and a representation of the updated resource shall be returned in + the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/ServAdaptQoSCtrlSubsc' + '204': + description: > + No Content. The Individual Service Adaptation And QoS Control 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' + '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' + + delete: + summary: Request the deletion of an existing Individual Service Adaptation And QoS Control Subscription resource. + operationId: DeleteIndServAdaptQoSCtrlSubsc + tags: + - Individual Service Adaptation And QoS Control Subscription (Document) + responses: + '204': + description: > + No Content. The Individual Service Adaptation And QoS Control 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' + '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' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + ServAdaptQoSCtrlSubsc: + description: > + Represents a Service Adaptation And QoS Control Subscription. + type: object + properties: + subscTarget: + $ref: '#/components/schemas/V2xTarget' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - subscTarget + - notifUri + + ServAdaptQoSCtrlSubscPatch: + description: > + Represents the requested modifications to a Service Adaptation And QoS Control subscription. + type: object + properties: + subscTarget: + $ref: '#/components/schemas/V2xTarget' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + + AdaptNotif: + description: > + Represents a Service Requirements And QoS Adaptation Notification. + type: object + properties: + subscriptionId: + type: string + ueIdsList: + type: array + items: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xUeId' + minItems: 1 + qosChangeInfo: + $ref: '#/components/schemas/QoSChangeInfo' + required: + - subscriptionId + - qosChangeInfo + + AdaptNotifResp: + description: > + Represents the Service Requirements And QoS Adaptation Notification acknowledgment related + information. + type: object + properties: + result: + $ref: '#/components/schemas/AckResult' + ueIdsList: + type: array + items: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xUeId' + minItems: 1 + required: + - result + + QoSChangeInfo: + description: > + Represents the QoS change related information. + type: object + properties: + loa: + type: string + + V2xTarget: + description: > + Represents the targeted V2X entity. + type: object + properties: + groupId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xGroupId' + serviceId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xServiceId' + ueId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xUeId' + oneOf: + - required: [groupId] + - required: [serviceId] + - required: [ueId] + +# +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + AckResult: + anyOf: + - type: string + enum: + - POSITIVE + - NEGATIVE + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the reporting granularity. + Possible values are: + - POSITIVE: Indicates that the acknowledgement is positive. + - NEGATIVE: Indicates that the acknowledgement is negative. diff --git a/TS29486_VAE_ServiceContinuity.yaml b/TS29486_VAE_ServiceContinuity.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b2a2067d170207f4812b695ac78ef44cbb0c8031 --- /dev/null +++ b/TS29486_VAE_ServiceContinuity.yaml @@ -0,0 +1,104 @@ +openapi: 3.0.0 + +info: + version: 1.2.0-alpha.1 + title: VAE_Service Continuity + description: | + API for VAE Service Continuity Service + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.486 V18.0.0 V2X Application Enabler (VAE) Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.486/' +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/vae-service-continuity/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + /geo-areas/{geoId}: + get: + summary: VAE service continuity query service operation + tags: + - Individual geographical area (Document) + operationId: QueryServiceContinuity + parameters: + - name: geoId + in: path + description: Identifier of a geographical area + required: true + schema: + type: string + - name: service-id + in: query + description: Identifier of a V2X service + required: true + schema: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xServiceId' + - name: supp-feat + in: query + description: To filter irrelevant responses related to unsupported features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/V2xServiceInfo' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + V2xServiceInfo: + description: > + Represents an individual geographical area resource including the designated V2X + service identifier. + type: object + properties: + serviceIds: + type: array + items: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xServiceId' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - serviceIds diff --git a/TS29486_VAE_SessionOrientedService.yaml b/TS29486_VAE_SessionOrientedService.yaml new file mode 100644 index 0000000000000000000000000000000000000000..928a0a6b522d9b7f2381e9247d1e85bded0472b2 --- /dev/null +++ b/TS29486_VAE_SessionOrientedService.yaml @@ -0,0 +1,330 @@ +openapi: 3.0.0 + +info: + version: 1.1.0-alpha.2 + title: VAE_SessionOrientedService + description: | + API for VAE_SessionOrientedService + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.486 V18.1.0 V2X Application Enabler (VAE) Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.486/' + +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/vae-session-Oriented-service/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + /subscriptions: + post: + summary: VAE_SessionOrientedService resource create service Operation + tags: + - session oriented service subscriptions collection (Document) + operationId: Create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SessionOrientedData' + required: true + responses: + '201': + description: Session Oriented Service Subscription Resource Created + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/SessionOrientedData' + '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: + NotifyResutOfSessionOrientedService: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Notification' + 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' + /subscriptions/{subscriptionId}: + get: + summary: VAE Session Oriented Service Subscription resource read service Operation + tags: + - Individual Session Oriented Service Subscription (Document) + operationId: ReadSessionOrientedServiceSubscription + parameters: + - name: subscriptionId + in: path + description: Identifier of an Session Oriented Service Subscription resource + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/SessionOrientedData' + '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: Updates/replaces an existing subscription resource + tags: + - VAE Session Oriented Service Subscription resource put service Operation + parameters: + - name: subscriptionId + in: path + description: Identifier of an Session Oriented Service Subscription resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SessionOrientedData' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/SessionOrientedData' + '204': + description: No Content (Successful update of the 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' + '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: VAE Session Oriented Service Subscription resource delete service Operation + tags: + - Individual Session Oriented Service Subscription (Document) + operationId: DeleteSessionOrientedServiceSubscription + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the Session Oriented Service Subscription n to be deleted + schema: + type: string + responses: + '204': + description: The subscription was terminated 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' + '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: + SessionOrientedData: + description: > + Represents data to trigger establishment or update of session-oriented service. + type: object + properties: + ueId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xUeId' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + serviceId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xServiceId' + appSerId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/AppServerId' + appQosReq: + $ref: '#/components/schemas/AppplicationQosRequirement' + requestTestNotification: + type: boolean + description: > + Set to true by the service consumer to request the VAE server to send a test + notification as defined in clause 6.3.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ueId + - notifUri + - serviceId + - appSerId + + Notification: + description: > + Represents the result of the establishment or update of the session-oriented service. + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + action: + $ref: '#/components/schemas/Action' + result: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/Result' + required: + - resourceUri + - action + - result + + AppplicationQosRequirement: + description: Represents application layer QoS requirement. + type: object + properties: + pqi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + resourceType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/QosResourceType' + priorityLevel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + packetDelayBudget: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + packetErrorRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate' + averagingWindow: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AverWindow' + maxDataBurstVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVol' + +# Simple data types and Enumerations + Action: + description: Indicate the action to the session-oriented service. + anyOf: + - type: string + enum: + - ESTABLISHMENT + - UPDATE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. diff --git a/TS29486_VAE_V2PApplicationRequirement.yaml b/TS29486_VAE_V2PApplicationRequirement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7aac57ff1602581d020237447c1889a4bd59a072 --- /dev/null +++ b/TS29486_VAE_V2PApplicationRequirement.yaml @@ -0,0 +1,306 @@ +openapi: 3.0.0 + +info: + version: 1.1.0-alpha.1 + title: VAE Server V2P Application Requirement Service + description: | + API for VAE Server V2P Application Requirement Service + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.486 V18.1.0 V2X Application Enabler (VAE) Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.486/' + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/vae-v2P-app-req/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + /provisionings: + post: + summary: Request the creation of a V2P Application Requirements Provisioning. + tags: + - V2P Application Requirements Provisionings collection (Collection) + operationId: CreateV2PAppReqsProv + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/V2pAppReqData' + required: true + responses: + '201': + description: > + Created. The V2P Application Requirements Provisioning is successfully created and a + representation of the created Individual V2P Application Requirements Provisioning + resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/V2pAppReqData' + headers: + Location: + description: > + Contains the URI of the created Individual V2P Application Requirements + Provisioning 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' + + /provisionings/{provId}: + parameters: + - name: provId + in: path + description: > + Represents the identifier of the Individual V2P Application Requirements Provisioning + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual V2P Application Requirement Provisioning resource. + operationId: GetIndV2pAppReqsProv + tags: + - Individual V2P Application Requirements Provisioning (Document) + responses: + '200': + description: > + OK. The requested Individual V2P Application Requirements Provisioning resource + representation shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/V2pAppReqData' + '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 V2P Application Requirements Provisioning resource. + operationId: UpdateIndV2pAppReqsProv + tags: + - Individual V2P Application Requirements Provisioning (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/V2pAppReqData' + responses: + '200': + description: > + OK. The Individual V2P Application Requirements Provisioning resource is successfully + updated and a representation of the updated resource shall be returned in the response + body. + content: + application/json: + schema: + $ref: '#/components/schemas/V2pAppReqData' + '204': + description: > + No Content. The Individual V2P Application Requirements Provisioning 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 the modification of an existing Individual V2P Application Requirements Provisioning resource. + operationId: ModifyIndV2pAppReqsProv + tags: + - Individual V2P Application Requirements Provisioning (Document) + requestBody: + description: Parameters to modify the existing configuration. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/V2pAppReqDataPatch' + responses: + '200': + description: > + OK. The Individual V2P Application Requirements Provisioning resource is successfully + modified and a representation of the updated resource shall be returned in the response + body. + content: + application/json: + schema: + $ref: '#/components/schemas/V2pAppReqData' + '204': + description: > + No Content. The Individual V2P Application Requirements Provisioning 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' + '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' + + delete: + summary: Request the deletion of an existing Individual V2P Application Requirements Provisioning resource. + operationId: DeleteIndV2pAppReqsProv + tags: + - Individual V2P Application Requirements Provisioning (Document) + responses: + '204': + description: > + No Content. The Individual V2P Application Requirements Provisioning 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: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + V2pAppReqData: + description: Represents the V2P Application Requirements Provisioning. + type: object + properties: + requestorId: + type: string + serviceId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xServiceId' + groupId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xGroupId' + v2pQosReqs: + $ref: 'TS29486_VAE_VRUZoneManagement.yaml#/components/schemas/AppReqs' + appTrafficPattern: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + paramOverPc5: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParameterOverPc5' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oneOf: + - required: [serviceId] + - required: [groupId] + required: + - requestorId + - v2pQosReqs + - appTrafficPattern + + V2pAppReqDataPatch: + description: > + Represents the requested modifications to a V2P Application Requirements Provisioning. + type: object + properties: + v2pQosReqs: + $ref: 'TS29486_VAE_VRUZoneManagement.yaml#/components/schemas/AppReqs' + appTrafficPattern: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + paramOverPc5: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParameterOverPc5Rm' diff --git a/TS29486_VAE_V2VConfigRequirement.yaml b/TS29486_VAE_V2VConfigRequirement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8c3280b6ac14ad7aad795db54e410bebe08fd71c --- /dev/null +++ b/TS29486_VAE_V2VConfigRequirement.yaml @@ -0,0 +1,232 @@ +openapi: 3.0.0 + +info: + version: 1.1.0-alpha.1 + title: VAE_V2VConfigRequirement + description: | + API for VAE_V2VConfigRequirement + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.486 V18.0.0 V2X Application Enabler (VAE) Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.486/' + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/vae-v2v-config-req/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + /configurations: + post: + summary: VAE V2V Configuration resource create service Operation + tags: + - V2V Configurations collection (Document) + operationId: Create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/V2vConfigurationData' + required: true + responses: + '201': + description: V2V Configuration Resource Created + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/V2vConfigurationData' + '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' + /configurations/{configurationId}: + get: + summary: VAE V2V Configuration resource read service Operation + tags: + - Individual V2V Configuration (Document) + operationId: ReadV2VConfiguration + parameters: + - name: configurationId + in: path + description: Identifier of a V2V Configuration resource + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/V2vConfigurationData' + '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: Updates/replaces an existing configuration resource + tags: + - VAE V2V Configuration resource put service Operation + operationId: UpdateV2VConfiguration + parameters: + - name: configurationId + in: path + description: Identifier of a V2V 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/V2vConfigurationData' + responses: + '200': + description: OK (Successful update of the configuration) + content: + application/json: + schema: + $ref: '#/components/schemas/V2vConfigurationData' + '204': + description: No Content (Successful update of the 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' + '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: VAE V2V Configuration resource delete service Operation + tags: + - Individual V2V Configuration (Document) + operationId: DeleteV2VConfiguration + parameters: + - name: configurationId + in: path + required: true + description: Unique ID of the V2V Configuration to be deleted + schema: + type: string + responses: + '204': + description: The configuration was deleted 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' + '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: + V2vConfigurationData: + description: Contains the V2V configuration data. + type: object + properties: + groupId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xGroupId' + serviceId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xServiceId' + canUeIds: + type: array + items: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xUeId' + minItems: 1 + appQosReq: + $ref: 'TS29486_VAE_SessionOrientedService.yaml#/components/schemas/AppplicationQosRequirement' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' diff --git a/TS29486_VAE_VRUZoneManagement.yaml b/TS29486_VAE_VRUZoneManagement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..00aca1cf7930b9e73e60a726b1784ea17f26db54 --- /dev/null +++ b/TS29486_VAE_VRUZoneManagement.yaml @@ -0,0 +1,511 @@ +openapi: 3.0.0 + +info: + title: VAE Server VRU Zone Management Service + version: 1.0.0-alpha.1 + description: | + VAE Server VRU Zone Management Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.486 V18.1.0 V2X Application Enabler (VAE) Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.486/' + +servers: + - url: '{apiRoot}/vae-vzm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /subscriptions: + post: + summary: Request the creation of a VRU Zone Management Subscription. + operationId: CreateVRUZoneMngtSubsc + tags: + - VRU Zone Management Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/VRUZoneMngtSubsc' + responses: + '201': + description: > + Created. The VRU Zone Management Subscription is successfully created and a + representation of the created Individual VRU Zone Management Subscription resource + shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/VRUZoneMngtSubsc' + headers: + Location: + description: > + Contains the URI of the created Individual VRU Zone Management Subscription + 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: + EnterLeaveNotif: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EnterLeaveNotif' + responses: + '204': + description: > + No Content. The VRU Zone Management Enter/Leave notification is successfully + received and acknowledged 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' + + /subscriptions/{subscriptionId}: + parameters: + - name: subscriptionId + in: path + description: > + Represents the identifier of the Individual VRU Zone Management Subscription + resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual VRU Zone Management Subscription resource. + operationId: GetIndVRUZoneMngtSubsc + tags: + - Individual VRU Zone Management Subscription (Document) + responses: + '200': + description: > + OK. The requested Individual VRU Zone Management Subscription resource shall be + returned. + content: + application/json: + schema: + $ref: '#/components/schemas/VRUZoneMngtSubsc' + '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 VRU Zone Management Subscription resource. + operationId: UpdateIndVRUZoneMngtSubsc + tags: + - Individual VRU Zone Management Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/VRUZoneMngtSubsc' + responses: + '200': + description: > + OK. The Individual VRU Zone Management Subscription resource is successfully updated + and a representation of the updated resource shall be returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/VRUZoneMngtSubsc' + '204': + description: > + No Content. The Individual VRU Zone Management 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' + '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: Request the modification of an existing Individual VRU Zone Management Subscription resource. + operationId: ModifyIndVRUZoneMngtSubsc + tags: + - Individual VRU Zone Management Subscription (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/VRUZoneMngtSubscPatch' + responses: + '200': + description: > + OK. The Individual VRU Zone Management Subscription resource is successfully modified + and a representation of the updated resource shall be returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/VRUZoneMngtSubsc' + '204': + description: > + No Content. The Individual VRU Zone Management 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' + '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' + + delete: + summary: Request the deletion of an existing Individual VRU Zone Management Subscription resource. + operationId: DeleteIndVRUZoneMngtSubsc + tags: + - Individual VRU Zone Management Subscription (Document) + responses: + '204': + description: > + No Content. The Individual VRU Zone Management 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' + '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' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + VRUZoneMngtSubsc: + description: > + Represents a VRU Zone Management Subscription. + type: object + properties: + requestorId: + type: string + ueIdsList: + type: array + items: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xUeId' + minItems: 1 + vruZoneInfo: + $ref: '#/components/schemas/VRUZoneInfo' + vruAppReqs: + $ref: '#/components/schemas/AppReqs' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + vruZoneId: + type: string + areaOfInterest: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + timeValidity: + $ref: '#/components/schemas/TimeValidity' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - requestorId + - notifUri + - vruZoneInfo + - vruAppReqs + + VRUZoneMngtSubscPatch: + description: > + Represents the requested modifications to a VRU Zone Management Subscription. + type: object + properties: + vruZoneInfo: + $ref: '#/components/schemas/VRUZoneInfo' + vruAppReqs: + $ref: '#/components/schemas/AppReqs' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + areaOfInterest: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + timeValidity: + $ref: '#/components/schemas/TimeValidity' + + EnterLeaveNotif: + description: > + Represents a VRU Zone Management Enter/LeaveNotification. + type: object + properties: + groupId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xGroupId' + ueId: + $ref: 'TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xUeId' + vruZoneInfo: + $ref: '#/components/schemas/VRUZoneInfo' + vruZoneId: + type: string + enterLeaveInfo: + $ref: '#/components/schemas/EnterLeaveInfo' + mobilityInfo: + $ref: '#/components/schemas/MobilityInfo' + required: + - vruZoneInfo + - vruZoneId + - enterLeaveInfo + oneOf: + - required: [groupId] + - required: [ueId] + + VRUZoneInfo: + description: > + Represents VRU zone related information. + type: object + properties: + ueTypes: + type: array + items: + $ref: '#/components/schemas/UEType' + minItems: 1 + vruZoneType: + $ref: '#/components/schemas/VRUZoneType' + required: + - typeOfUes + - vruZoneType + + AppReqs: + description: > + Represents VRU application requirements. + type: object + properties: + supportedMsgs: + type: array + items: + $ref: '#/components/schemas/MsgType' + minItems: 1 + reliability: + format: float + type: number + minimum: 0 + maximum: 100 + delay: + type: integer + minimum: 1 + jitter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + anyOf: + - required: [reliability] + - required: [delay] + - required: [jitter] + + TimeValidity: + description: > + Represents the time validity information. + type: object + properties: + startTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + endTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + anyOf: + - required: [startTime] + - required: [endTime] + + EnterLeaveInfo: + description: > + Represents the information related to V2X UE(s) entering/leaving a VRU zone. + type: object + properties: + time: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + duration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + required: + - time + + MobilityInfo: + description: > + Represents mobility information. + type: object + properties: + speed: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + direction: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/Direction' + anyOf: + - required: [speed] + - required: [direction] + + UEType: + anyOf: + - type: string + enum: + - V2X + - PEDESTRIAN + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the type of UE(s) to be considered. + Possible values are: + - V2X: Indicates V2X UE(s). + - PEDESTRIAN: Indicates pedestrian UE(s). + + VRUZoneType: + anyOf: + - type: string + enum: + - STATIC + - DYNAMIC + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the VRU zone type. + Possible values are: + - STATIC: Indicates that the VRU zone is static. + - DYNAMIC: Indicates that the VRU zone is dynamic. + + MsgType: + anyOf: + - type: string + enum: + - VAM + - CAM + - DENM + - BSM + - CPM + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the message type. + Possible values are: + - VAM: Indicates that the type of message is VAM. + - CAM: Indicates that the type of message is CAM. + - DENM: Indicates that the type of message is DENM. + - BSM: Indicates that the type of message is BSM. + - CPM: Indicates that the type of message is CPM. diff --git a/TS29500_CustomHeaders.abnf b/TS29500_CustomHeaders.abnf new file mode 100644 index 0000000000000000000000000000000000000000..51e3a5e2476c1c1562be8d2fed0c1f05ffa5f059 --- /dev/null +++ b/TS29500_CustomHeaders.abnf @@ -0,0 +1,763 @@ +; ---------------------------------------- +; RFC 5234 +; ---------------------------------------- + +HTAB = %x09 ; horizontal tab + +LF = %x0A ; linefeed + +CR = %x0D ; carriage return + +SP = %x20 + +DQUOTE = %x22 ; " (Double Quote) + +DIGIT = %x30-39 ; 0-9 + +ALPHA = %x41-5A / %x61-7A ; A-Z / a-z + +VCHAR = %x21-7E ; visible (printing) characters + +WSP = SP / HTAB ; white space + +CRLF = CR LF ; Internet standard newline + +HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F" + + + +; ---------------------------------------- +; RFC 3986 +; ---------------------------------------- + +unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" + +pct-encoded = "%" HEXDIG HEXDIG + +sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" + +pchar = unreserved / pct-encoded / sub-delims / ":" / "@" + +segment = *pchar + +segment-nz = 1*pchar + +path-abempty = *( "/" segment ) + +path-absolute = "/" [ segment-nz *( "/" segment ) ] + +path-rootless = segment-nz *( "/" segment ) + +path-empty = 0pchar + +IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" ) + +dec-octet = "25" %x30-35 / "2" %x30-34 DIGIT / "1" 2DIGIT / %x31-39 DIGIT / DIGIT + +h16 = 1*4HEXDIG + +ls32 = ( h16 ":" h16 ) / Ipv4address + +Ipv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet + +Ipv6address = 6( h16 ":" ) ls32 + / "::" 5( h16 ":" ) ls32 + / [ h16 ] "::" 4( h16 ":" ) ls32 + / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 + / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 + / [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 + / [ *4( h16 ":" ) h16 ] "::" ls32 + / [ *5( h16 ":" ) h16 ] "::" h16 + / [ *6( h16 ":" ) h16 ] "::" + +IP-literal = "[" ( Ipv6address / IpvFuture ) "]" + +reg-name = *( unreserved / pct-encoded / sub-delims ) + +host = IP-literal / Ipv4address / reg-name + +port = *DIGIT + +scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ) + +userinfo = *( unreserved / pct-encoded / sub-delims / ":" ) + +authority = [ userinfo "@" ] host [ ":" port ] + +hier-part = "//" authority path-abempty / path-absolute / path-rootless / path-empty + +query = *( pchar / "/" / "?" ) + +fragment = *( pchar / "/" / "?" ) + +URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] + + + +; ---------------------------------------- +; RFC 5322 +; ---------------------------------------- + +obs-FWS = 1*WSP *( CRLF 1*WSP ) + +FWS = ( [ *WSP CRLF ] 1*WSP ) / obs-FWS + +obs-NO-WS-CTL = %d1-8 / %d11 / %d12 / %d14-31 / %d127 + +obs-ctext = obs-NO-WS-CTL + +ctext = %d33-39 / %d42-91 / %d93-126 / obs-ctext + +obs-qp = "\" ( %d0 / obs-NO-WS-CTL / LF / CR ) + +quoted-pair = ( "\" ( VCHAR / WSP ) ) / obs-qp + +ccontent = ctext / quoted-pair / comment + +comment = "(" *( [ FWS ] ccontent ) [ FWS ] ")" + +CFWS = ( 1*( [ FWS ] comment ) [ FWS ] ) / FWS + +day-name = "Mon" / "Tue" / "Wed" / "Thu" / "Fri" / "Sat" / "Sun" + +obs-day-of-week = [ CFWS ] day-name [ CFWS ] + +day-of-week = ( [ FWS ] day-name ) / obs-day-of-week + +obs-day = [ CFWS ] 1*2DIGIT [ CFWS ] + +day = ( [ FWS ] 1*2DIGIT FWS ) / obs-day + +month = "Jan" / "Feb" / "Mar" / "Apr" / "May" / "Jun" + / "Jul" / "Aug" / "Sep" / "Oct" / "Nov" / "Dec" + +obs-year = [ CFWS ] 2*DIGIT [ CFWS ] + +year = ( FWS 4*DIGIT FWS ) / obs-year + +date = day month year + +obs-hour = [ CFWS ] 2DIGIT [ CFWS ] + +hour = obs-hour / 2DIGIT + +obs-minute = [ CFWS ] 2DIGIT [ CFWS ] + +minute = obs-minute / 2DIGIT + +obs-second = [ CFWS ] 2DIGIT [ CFWS ] + +second = obs-second / 2DIGIT + +time-of-day = hour ":" minute [ ":" second ] + +obs-zone = "UT" / "GMT" / "EST" / "EDT" / "CST" / "CDT" / "MST" / "MDT" + / "PST" / "PDT" / %d65-73 / %d75-90 / %d97-105 / %d107-122 + +zone = ( FWS ( "+" / "-" ) 4DIGIT ) / obs-zone + +time = time-of-day zone + +date-time = [ day-of-week "," ] date time [ CFWS ] + + + +; ---------------------------------------- +; RFC 6749 +; ---------------------------------------- + +NQCHAR = %x21 / %x23-5B / %x5D-7E + + + +; ---------------------------------------- +; RFC 9110 +; ---------------------------------------- + +OWS = *( SP / HTAB ) + +RWS = 1*( SP / HTAB ) + +tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" + / "." / "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA + +token = 1*tchar + +BWS = OWS + +quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE + +qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text + +obs-text = %x80-FF + + +date1 = day-rfc9110 SP month-rfc9110 SP year-rfc9110 ; e.g., 02 Jun 1982 + +day-rfc9110 = 2DIGIT + +month-rfc9110 = %x4A.61.6E ; "Jan", case-sensitive + / %x46.65.62 ; "Feb", case-sensitive + / %x4D.61.72 ; "Mar", case-sensitive + / %x41.70.72 ; "Apr", case-sensitive + / %x4D.61.79 ; "May", case-sensitive + / %x4A.75.6E ; "Jun", case-sensitive + / %x4A.75.6C ; "Jul", case-sensitive + / %x41.75.67 ; "Aug", case-sensitive + / %x53.65.70 ; "Sep", case-sensitive + / %x4F.63.74 ; "Oct", case-sensitive + / %x4E.6F.76 ; "Nov", case-sensitive + / %x44.65.63 ; "Dec", case-sensitive + +year-rfc9110 = 4DIGIT + +codings = content-coding / "identity" / "*" + +content-coding = token + +weight = OWS ";" OWS "q=" qvalue + +qvalue = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] ) + + +credentials = auth-scheme [ 1*SP ( token68 + / [ ( "," / auth-param ) *( OWS "," [ OWS auth-param ] ) ] ) ] + +auth-scheme = token + +auth-param = token BWS "=" BWS ( token / quoted-string ) + +token68 = 1*( ALPHA / DIGIT / "-" / "." / "_" / "~" / "+" / "/" ) *"=" + + + +; ---------------------------------------- +; 3GPP TS 29.500 +; +; Version: 18.3.0 (September 2023) +; +; (c) 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). +; ---------------------------------------- + + +; +; Header: 3gpp-Sbi-Message-Priority +; + +Sbi-Message-Priority-Header = "3gpp-Sbi-Message-Priority:" OWS + ( "3" %x30-31 / %x31-32 DIGIT / DIGIT ) OWS + + + +; +; Header: 3gpp-Sbi-Callback +; + +Sbi-Callback-Header = "3gpp-Sbi-Callback:" OWS cbtype *1( ";" OWS "apiversion=" majorversion ) OWS + +cbchar = "-" / "_" / DIGIT / ALPHA + +cbtype = 1*cbchar + +majorversion = *DIGIT + + + +; +; Header: 3gpp-Sbi-Target-apiRoot +; + +Sbi-Target-ApiRoot-Header = "3gpp-Sbi-Target-apiRoot:" OWS sbi-scheme "://" sbi-authority + [ prefix ] OWS + +sbi-scheme = "https" / "http" + +sbi-authority = host [ ":" port ] + +prefix = path-absolute + + + +; +; Header: 3gpp-Sbi-Routing-Binding +; + +Sbi-Routing-Binding-Header = "3gpp-Sbi-Routing-Binding:" OWS "bl=" blvalue + 1*( ";" OWS parameter ) + [ ";" OWS callback-uri-prefix ] OWS + +blvalue = "nf-instance" + / "nf-set" + / "nfservice-instance" + / "nfservice-set" + +parametername = "nfinst" + / "nfset" + / "nfservinst" + / "nfserviceset" + / "servname" + / "backupamfinst" + / "backupnf" + +parameter = parametername "=" token + + + +; +; Header: 3gpp-Sbi-Binding +; + +Sbi-Binding-Header = "3gpp-Sbi-Binding:" OWS binding-element *( OWS "," OWS binding-element ) OWS + +binding-element = "bl=" blvalue 1*( ";" OWS bh-parameter ) + [ ";" OWS recoverytime ] + [ ";" OWS notif-receiver ] + [ ";" OWS "group=" groupvalue ] + [ 1*( ";" OWS groupparameter ) ] + [ ";" OWS "no-redundancy=" no-red-value ] + [ ";" OWS callback-uri-prefix ] OWS + +bh-parametername = parametername / "scope" + +bh-parameter = bh-parametername "=" token + +recoverytime = "recoverytime=" OWS DQUOTE date-time DQUOTE + +notif-receiver = "nr=" URI + +groupvalue = "true" / "false" + +groupparametername = "oldgroupid" + / "groupid" + / "uribase" + / "oldnfinst" + / "oldservset" + / "oldservinst" + / "guami" + +groupparameter = groupparametername "=" token + +no-red-value = "true" + + + +; +; Header: 3gpp-Sbi-Producer-Id +; + +Sbi-Producer-Id-Header = "3gpp-Sbi-Producer-Id:" OWS "nfinst=" nfinst + [ OWS ";" OWS "nfservinst=" nfservinst ] + [ OWS ";" OWS "nfset=" nfset ] + [ OWS ";" OWS "nfserviceset=" nfserviceset ] OWS + +nfinst = 8HEXDIG "-" 4HEXDIG "-" 4HEXDIG "-" 4HEXDIG "-" 12HEXDIG + +nfservinst = token + +nfset = token + +nfserviceset = token + + + +; +; Header: 3gpp-Sbi-Oci +; + +Sbi-Oci-Header = "3gpp-Sbi-Oci:" OWS oci-element *( OWS "," OWS oci-element ) OWS + +oci-element = timestamp ";" RWS validityPeriod ";" RWS olcMetric ";" RWS olcScope + +timestamp = "Timestamp:" RWS DQUOTE date-time DQUOTE + +validityPeriod = "Period-of-Validity:" RWS 1*DIGIT "s" + +olcMetric = "Overload-Reduction-Metric:" RWS ( "100" / %x31-39 DIGIT / DIGIT ) "%" + +olcScope = nfProducerScope / nfConsumerScope / scpScope / seppScope + +nfProducerScope = ( ( "NF-Instance:" RWS nfinst ) + / ( "NF-Set:" RWS nfset ) + / ( "NF-Service-Instance:" RWS nfservinst [ ";" RWS "NF-Inst:" RWS nfinst ] ) + / ( "NF-Service-Set:" RWS nfserviceset ) + ) [ ";" RWS sNssaiList ";" RWS dnnList ] + +nfConsumerScope = ( "NFC-Instance:" RWS nfinst [ ";" RWS "Service-Name:" RWS servname ] ) + / ( "NFC-Set:" RWS nfset [ ";" RWS "Service-Name:" RWS servname ]) + / ( "NFC-Service-Instance:" RWS nfservinst [";" RWS "NF-Inst:" RWS nfinst ] ) + / ( "NFC-Service-Set:" RWS nfserviceset ) + / ( "Callback-Uri:" RWS DQUOTE URI DQUOTE *( RWS "&" RWS DQUOTE URI DQUOTE )) + +servname = token + +scpScope = "SCP-FQDN:" RWS fqdn + +seppScope = "SEPP-FQDN:" RWS fqdn + +fqdn = token + +dnnList = "DNN:" RWS 1*tchar *( RWS "&" RWS 1*tchar ) + +sNssaiList = "S-NSSAI:" RWS snssai *( RWS "&" RWS snssai ) + +snssai = 1*tchar + + + +; +; Header: 3gpp-Sbi-Lci +; + +Sbi-Lci-Header = "3gpp-Sbi-Lci:" OWS lc-element *( OWS "," OWS lc-element ) OWS + +lc-element = timestamp ";" RWS lcMetric ";" RWS lcScope + +lcMetric = "Load-Metric:" RWS ( "100" / %x31-39 DIGIT / DIGIT ) "%" + +lcScope = lcNfProducerScope / scpScope / seppScope + +lcNfProducerScope = ( ( "NF-Instance:" RWS nfinst ) + / ( "NF-Set:" RWS nfset) + / ( "NF-Service-Instance:" RWS nfservinst [ ";" RWS "NF-Inst:" RWS nfinst ] ) + / ( "NF-Service-Set:" RWS nfserviceset) + ) [ ";" RWS sNssaiList ";" RWS dnnList ";" RWS relativeCapacity ] + +relativeCapacity = "Relative-Capacity:" RWS ( "100" / 1*2DIGIT ) "%" + + + +; +; Header: 3gpp-Sbi-Client-Credentials +; + +Sbi-Client-Credentials-Header = "3gpp-Sbi-Client-Credentials:" OWS jwt OWS + +jwt = 1*b64urlchar "." 1*b64urlchar "." 1*b64urlchar + +b64urlchar = ALPHA / DIGIT / "-" / "_" + + + +; +; Header: 3gpp-Sbi-Source-NF-Client-Credentials +; + +Sbi-Source-NF-Client-Credentials-Header = "3gpp-Sbi-Source-NF-Client-Credentials:" OWS jwt OWS + + + +; +; Header: 3gpp-Sbi-Nrf-Uri +; + +Sbi-Nrf-Uri-Header = "3gpp-Sbi-Nrf-Uri:" OWS nrfUriParam *( OWS ";" OWS nrfUriParam ) OWS + +nrfUriParam = nrfUriParamName ":" RWS ( nrfUriParamValue1 / nrfUriParamValue2 ) + +nrfUriParamName = "nnrf-disc" / "nnrf-nfm" / "nnrf-oauth2" / "oauth2-requested-services" / token + +nrfUriParamValue1 = DQUOTE URI DQUOTE + +nrfUriParamValue2 = ( nrfServiceName *( RWS "&" RWS nrfServiceName ) ) + +nrfServiceName = "nnrf-disc" / "nnrf-nfm" + + + +; +; Header: 3gpp-Sbi-Target-Nf-Id +; + +Sbi-Target-Nf-Id-Header = "3gpp-Sbi-Target-Nf-Id:" OWS "nfinst=" nfinst + [ ";" OWS "nfservinst=" nfservinst ] OWS + + + +; +; Header: 3gpp-Sbi-Max-Forward-Hops +; + +Sbi-Max-Forward-Hops-Header = "3gpp-Sbi-Max-Forward-Hops:" OWS ( %x31-39 DIGIT / DIGIT ) + ";" OWS "nodetype=" nodetypevalue OWS + +nodetypevalue = "scp" + + + +; +; Header: 3gpp-Sbi-Originating-Network-Id +; + +Sbi-Originating-Network-Id-Header = "3gpp-Sbi-Originating-Network-Id:" OWS 3DIGIT "-" 2*3DIGIT + [ "-" 11HEXDIG ] [ ";" OWS srcinfo ] OWS + +srcinfo = "src" ":" RWS srctype "-" srcfqdn + +srctype = "SCP" / "SEPP" + +srcfqdn = 4*( ALPHA / DIGIT / "-" / "." ) + + + +; +; Header: 3gpp-Sbi-Access-Scope +; + +Sbi-Access-Scope-Header = "3gpp-Sbi-Access-Scope:" OWS scope-token *( SP scope-token ) OWS + +scope-token = 1*NQCHAR + + + +; +; Header: 3gpp-Sbi-Other-Access-Scopes +; + +Sbi-Other-Access-Scopes-Header = "3gpp-Sbi-Other-Access-Scopes:" OWS scope-token + *( SP scope-token ) OWS + + + +; +; Header: 3gpp-Sbi-Access-Token +; + +Sbi-Access-Token-Header = "3gpp-Sbi-Access-Token:" OWS credentials OWS + + + +; +; Header: 3gpp-Sbi-Target-Nf-Group-Id +; + +Sbi-Target-Nf-Group-Id-Header = "3gpp-Sbi-Target-Nf-Group-Id:" OWS "nfgid=" nfGroupIdValue OWS + +nfGroupIdValue = DQUOTE token DQUOTE + + + +; +; Header: 3gpp-Sbi-Nrf-Uri-Callback +; + +Sbi-Nrf-Uri-Callback-Header = "3gpp-Sbi-Nrf-Uri-Callback:" OWS + nrfUriCallbackParam *( OWS ";" OWS nrfUriCallbackParam ) OWS + +nrfUriCallbackParam = nrfUriCallbackParamName ":" RWS nrfUriCallbackParamValue + +nrfUriCallbackParamName = "nnrf-disc" / "nnrf-nfm" / token + +nrfUriCallbackParamValue = DQUOTE URI DQUOTE + + + +; +; Header: 3gpp-Sbi-NF-Peer-Info +; + +Sbi-NF-Peer-Info-Header = "3gpp-Sbi-NF-Peer-Info:" OWS peerinfo *( ";" OWS peerinfo ) OWS + +peerinfo = peertype "=" token + +peertype = "srcinst" + / "srcservinst" + / "srcscp" + / "srcsepp" + / "dstinst" + / "dstservinst" + / "dstscp" + / "dstsepp" + + + +; +; Header: 3gpp-Sbi-Sender-Timestamp +; + +Sbi-Sender-Timestamp-Header = "3gpp-Sbi-Sender-Timestamp:" OWS + day-name "," SP date1 SP time-of-day "." milliseconds SP "GMT" OWS + +milliseconds = 3DIGIT + + + +; +; Header: 3gpp-Sbi-Max-Rsp-Time +; + +Sbi-Max-Rsp-Time-Header = "3gpp-Sbi-Max-Rsp-Time:" OWS 1*5DIGIT OWS + + + +; +; Header: 3gpp-Sbi-Correlation-Info +; + +Sbi-Correlation-Info-Header = "3gpp-Sbi-Correlation-Info:" OWS + correlationinfo *( ";" OWS correlationinfo ) OWS + +correlationinfo = ctype "-" cvalue + +ctype = extension-token / "imsi" / "impi" / "suci" / "nai" / "gci" / "gli" + / "impu" / "msisdn" / "extid" / "imeisv" / "imei" / "mac" / "eui" + +extension-token = 1*( "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "." / "^" / "_" + / "`" / "|" / "~" / DIGIT / ALPHA ) + +cvalue = 1*( tchar / "@" ) + + + +; +; Header: 3gpp-Sbi-Alternate-Chf-Id +; + +Sbi-Alternate-Chf-Id-Header = "3gpp-Sbi-Alternate-Chf-Id:" OWS + "nfinst=" nfinst ";" OWS ( "primary" / "secondary" ) OWS + + + +; +; Header: 3gpp-Sbi-Notif-Accepted-Encoding +; + +Sbi-Notif-Accepted-Encoding-Header = "3gpp-Sbi-Notif-Accepted-Encoding:" OWS + encoding-element *( OWS "," OWS encoding-element ) OWS + +encoding-element = codings [ weight ] + + + +; +; Header: 3gpp-Sbi-Consumer-Info +; + +Sbi-Consumer-Info-Header = "3gpp-Sbi-Consumer-Info:" OWS + consumer-info-element *( OWS "," OWS consumer-info-element ) OWS + +consumer-info-element = ( supportedService ";" OWS supportedVersions + [ ";" OWS supportedFeatures ] + [ ";" OWS acceptEncoding ] + [ ";" OWS callback-uri-prefix ] + ) [ ";" OWS intraPlmnCallbackRoot ";" OWS interPlmnCallbackRoot ] + +supportedService = "service=" servicename + +servicename = 1*( "-" / %x61-7A ) + +supportedVersions = "apiversion=" "(" OWS + [ apimajorversion *( RWS apimajorversion ) OWS ] ")" + +apimajorversion = %x31-39 [ *DIGIT ] + +supportedFeatures = "supportedfeatures=" features + +features = *HEXDIG + +acceptEncoding = "acceptencoding=" %x22 encodingList %x22 + +encodingList = [ encoding-element *( OWS "," OWS encoding-element ) ] + +intraPlmnCallbackRoot = "intraPlmnCallbackRoot=" + DQUOTE sbi-scheme "://" sbi-authority [ prefix ] DQUOTE + +interPlmnCallbackRoot = "interPlmnCallbackRoot=" + DQUOTE sbi-scheme "://" sbi-authority [ prefix ] DQUOTE + +callback-uri-prefix = "callback-uri-prefix=" DQUOTE prefix DQUOTE + + + +; +; Header: 3gpp-Sbi-Response-Info +; + +Sbi-Response-Info-Header = "3gpp-Sbi-Response-Info:" OWS + resp-info-param *( OWS ";" OWS resp-info-param ) OWS + +resp-info-param = resp-info-param-name "=" OWS resp-info-param-value + +resp-info-param-name = "request-retransmitted" + / "nfinst" + / "nfset" + / "nfservinst" + / "nfserviceset" + / "context-transferred" + / "no-retry" + / token + +resp-info-param-value = token + + + +; +; Header: 3gpp-Sbi-Selection-Info +; + +Sbi-Selection-Info-Header = "3gpp-Sbi-Selection-Info:" OWS + selection-info-element *( OWS "," OWS selection-info-element ) OWS + +selection-info-element = ( "reselection=" reselectionvalue *( ";" OWS selection-criteria ) ) + / ( selection-criteria *( ";" OWS selection-criteria ) ) +reselectionvalue = "true" / "false" + +selection-criteria = selection-action "=" token + +selection-action = "not-select-nfservinst" + / "not-select-nfserviceset" + / "not-select-nfinst" + / "not-select-nfset" + + + +; +; Header: 3gpp-Sbi-Interplmn-Purpose +; + +Sbi-Interplmn-Purpose-Header = "3gpp-Sbi-Interplmn-Purpose:" OWS N32Purpose ":" OWS + additional-info OWS + +N32Purpose = "ROAMING" + / "INTER_PLMN_MOBILITY" + / "SMS_INTERCONNECT" + / "ROAMING_TEST" + / "INTER_PLMN_MOBILITY_TEST" + / "SMS_INTERCONNECT_TEST" + / "SNPN_INTERCONNECT" + / "SNPN_INTERCONNECT_TEST" + / "DISASTER_ROAMING" + / "DISASTER_ROAMING_TEST" + / token + +additional-info = token + + + +; +; Header: 3gpp-Sbi-Request-Info +; + +Sbi-Request-Info-Header = "3gpp-Sbi-Request-Info:" OWS req-param *( ";" OWS req-param ) OWS + +req-param = req-param-name "=" OWS req-param-value + +req-param-name = "retrans" + / "redirect" + / "reason" + / "idempotency-key" + / "receivedrejectioncause" + / "callback-uri-prefix" + / token + +req-param-value = token + + + +; +; Header: 3gpp-Sbi-Retry-Info +; + +Sbi-Retry-Info-Header = "3gpp-Sbi-Retry-Info:" OWS retriesindication OWS + +retriesindication = "no-retries" + diff --git a/TS29502_CustomHeaders.abnf b/TS29502_CustomHeaders.abnf new file mode 100644 index 0000000000000000000000000000000000000000..bccb796c67d2caa9a55bc884fea928ba339ad968 --- /dev/null +++ b/TS29502_CustomHeaders.abnf @@ -0,0 +1,72 @@ +; ---------------------------------------- +; RFC 5234 +; ---------------------------------------- + +HTAB = %x09 ; horizontal tab + +SP = %x20 + +DIGIT = %x30-39 ; 0-9 + + + +; ---------------------------------------- +; RFC 9110 +; ---------------------------------------- + +OWS = *( SP / HTAB ) + + +date1 = day SP month SP year ; e.g., 02 Jun 1982 + +day = 2DIGIT + +month = %x4A.61.6E ; "Jan", case-sensitive + / %x46.65.62 ; "Feb", case-sensitive + / %x4D.61.72 ; "Mar", case-sensitive + / %x41.70.72 ; "Apr", case-sensitive + / %x4D.61.79 ; "May", case-sensitive + / %x4A.75.6E ; "Jun", case-sensitive + / %x4A.75.6C ; "Jul", case-sensitive + / %x41.75.67 ; "Aug", case-sensitive + / %x53.65.70 ; "Sep", case-sensitive + / %x4F.63.74 ; "Oct", case-sensitive + / %x4E.6F.76 ; "Nov", case-sensitive + / %x44.65.63 ; "Dec", case-sensitive + +year = 4DIGIT + +day-name = %x4D.6F.6E ; Mon + / %x54.75.65 ; Tue + / %x57.65.64 ; Wed + / %x54.68.75 ; Thu + / %x46.72.69 ; Fri + / %x53.61.74 ; Sat + / %x53.75.6E ; Sun + +time-of-day = hour ":" minute ":" second + +hour = 2DIGIT + +minute = 2DIGIT + +second = 2DIGIT + + + +; ---------------------------------------- +; 3GPP TS 29.502 +; +; Version: 18.5.0 (December 2023) +; +; (c) 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). +; ---------------------------------------- + +; +; Header: 3gpp-Sbi-Origination-Timestamp +; + +Sbi-Origination-Timestamp-Header = "3gpp-Sbi-Origination-Timestamp:" OWS day-name "," + SP date1 SP time-of-day "." milliseconds SP "GMT" OWS + +milliseconds = 3DIGIT diff --git a/TS29503_Nudm_EE.yaml b/TS29503_Nudm_EE.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9c3f8e46c6fc1123c4f2026d92565e2d4dbf2842 --- /dev/null +++ b/TS29503_Nudm_EE.yaml @@ -0,0 +1,1048 @@ +openapi: 3.0.0 + +info: + version: '1.3.0-alpha.5' + title: 'Nudm_EE' + description: | + Nudm Event Exposure Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 18.4.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-ee/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-ee + - {} + +paths: + /{ueIdentity}/ee-subscriptions: + post: + summary: Subscribe + operationId: CreateEeSubscription + tags: + - Create EE Subscription + security: + - {} + - oAuth2ClientCredentials: + - nudm-ee + - oAuth2ClientCredentials: + - nudm-ee + - nudm-ee:subscription:create + parameters: + - name: ueIdentity + in: path + description: Represents the scope of the UE for which the subscription is applied. Contains the GPSI of the user or the external group ID or any UE. + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+|anyUE)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedEeSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-ee/v1/{ueIdentity}/ee-subscriptions/{subscriptionId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/EeSubscriptionError' + '404': + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/EeSubscriptionError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + description: Not Implemented + content: + application/problem+json: + schema: + $ref: '#/components/schemas/EeSubscriptionError' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + eventOccurrenceNotification: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MonitoringReport' + minItems: 1 + responses: + '204': + description: Successful Notification response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + monitoringRevocationNotification: + '{request.body#/secondCallbackRef}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EeMonitoringRevoked' + responses: + '204': + description: Successful Notification response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + dataRestorationNotification: + '{request.body#/dataRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/DataRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + + + /{ueIdentity}/ee-subscriptions/{subscriptionId}: + delete: + summary: Unsubscribe + operationId: DeleteEeSubscription + tags: + - Delete EE Subscription + security: + - {} + - oAuth2ClientCredentials: + - nudm-ee + - oAuth2ClientCredentials: + - nudm-ee + - nudm-ee:subscription:modify + parameters: + - name: ueIdentity + in: path + description: Represents the scope of the UE for which the subscription is applied. Contains the GPSI of the user or the external group ID or any UE. + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+|anyUE)$' + - name: subscriptionId + in: path + description: Id of the EE Subscription + required: true + schema: + type: string + responses: + '204': + description: Successful response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: Patch + operationId: UpdateEeSubscription + tags: + - Update EE Subscription + security: + - {} + - oAuth2ClientCredentials: + - nudm-ee + - oAuth2ClientCredentials: + - nudm-ee + - nudm-ee:subscription:modify + parameters: + - name: ueIdentity + in: path + description: Represents the scope of the UE for which the subscription is applied. Contains the GPSI of the user or the external group ID or any UE. + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+|anyUE)$' + - name: subscriptionId + in: path + description: Id of the EE Subscription + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Successful response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-ee: Access to the nudm-ee API + nudm-ee:subscription:create: Access to create EE Subscriptions + nudm-ee:subscription:modify: Access to update EE Subscriptions + + + schemas: + +# COMPLEX TYPES: + + CreatedEeSubscription: + type: object + required: + - eeSubscription + properties: + eeSubscription: + $ref: '#/components/schemas/EeSubscription' + numberOfUes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + eventReports: + type: array + items: + $ref: '#/components/schemas/MonitoringReport' + minItems: 1 + epcStatusInd: + type: boolean + 5gOnlyInd: + type: boolean + enum: + - true + failedMonitoringConfigs: + description: > + A map (list of key-value pairs where referenceId converted from integer to string serves + as key; see clause 6.4.6.3.2) of FailedMonitoringConfiguration + type: object + additionalProperties: + $ref: '#/components/schemas/FailedMonitoringConfiguration' + minProperties: 1 + failedMoniConfigsEPC: + description: > + A map (list of key-value pairs where referenceId converted from integer to string serves + as key; see clause 6.4.6.3.2) of FailedMonitoringConfiguration, the key value "ALL" may + be used to identify a map entry which contains the failed cause of the EE subscription + was not successful in EPC domain. + type: object + additionalProperties: + $ref: '#/components/schemas/FailedMonitoringConfiguration' + minProperties: 1 + resetIds: + type: array + items: + type: string + minItems: 1 + currentStatusNotAvailableList: + type: array + items: + $ref: '#/components/schemas/EventType' + minItems: 1 + + + FailedMonitoringConfiguration: + description: Contains the event type and failed cause of the failed Monitoring Configuration in the EE subscription + type: object + required: + - eventType + - failedCause + properties: + eventType: + $ref: '#/components/schemas/EventType' + failedCause: + $ref: '#/components/schemas/FailedCause' + + + EeSubscription: + type: object + required: + - callbackReference + - monitoringConfigurations + properties: + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + monitoringConfigurations: + description: A map (list of key-value pairs where ReferenceId serves as key) of MonitoringConfigurations + type: object + additionalProperties: + $ref: '#/components/schemas/MonitoringConfiguration' + minProperties: 1 + reportingOptions: + $ref: '#/components/schemas/ReportingOptions' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + subscriptionId: + type: string + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + epcAppliedInd: + type: boolean + default: false + scefDiamHost: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + scefDiamRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + notifyCorrelationId: + type: string + secondCallbackRef: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + excludeGpsiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + includeGpsiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + dataRestorationCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + udrRestartInd: + type: boolean + default: false + + MonitoringConfiguration: + type: object + required: + - eventType + properties: + eventType: + $ref: '#/components/schemas/EventType' + immediateFlag: + type: boolean + locationReportingConfiguration: + $ref: '#/components/schemas/LocationReportingConfiguration' + associationType: + $ref: '#/components/schemas/AssociationType' + datalinkReportCfg: + $ref: '#/components/schemas/DatalinkReportingConfiguration' + lossConnectivityCfg: + $ref: '#/components/schemas/LossConnectivityCfg' + maximumLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + maximumResponseTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + suggestedPacketNumDl: + type: integer + minimum: 1 + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + singleNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + pduSessionStatusCfg: + $ref: '#/components/schemas/PduSessionStatusCfg' + reachabilityForSmsCfg: + $ref: '#/components/schemas/ReachabilityForSmsConfiguration' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + afId: + type: string + reachabilityForDataCfg: + $ref: '#/components/schemas/ReachabilityForDataConfiguration' + idleStatusInd: + type: boolean + default: false + monitoringSuspension: + $ref: '#/components/schemas/MonitoringSuspension' + + MonitoringSuspension: + type: object + properties: + suspendedInsidePlmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + suspendedOutsidePlmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + + LossConnectivityCfg: + type: object + properties: + maxDetectionTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + LocationReportingConfiguration: + type: object + required: + - currentLocation + properties: + currentLocation: + type: boolean + oneTime: + type: boolean + accuracy: + $ref: '#/components/schemas/LocationAccuracy' + n3gppAccuracy: + $ref: '#/components/schemas/LocationAccuracy' + + ReportingOptions: + type: object + properties: + reportMode: + $ref: '#/components/schemas/EventReportMode' + maxNumOfReports: + $ref: '#/components/schemas/MaxNumOfReports' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + samplingRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + guardTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + reportPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + notifFlag: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NotificationFlag' + mutingExcInstructions: + writeOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/MutingExceptionInstructions' + mutingNotSettings: + readOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/MutingNotificationsSettings' + varRepPeriodInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarRepPeriod' + minItems: 1 + + MonitoringReport: + type: object + required: + - referenceId + - eventType + - timeStamp + properties: + referenceId: + $ref: '#/components/schemas/ReferenceId' + eventType: + $ref: '#/components/schemas/EventType' + report: + $ref: '#/components/schemas/Report' + reachabilityForSmsReport: + $ref: '#/components/schemas/ReachabilityForSmsReport' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + reachabilityReport: + $ref: '#/components/schemas/ReachabilityReport' + + Report: + oneOf: + - $ref: '#/components/schemas/ChangeOfSupiPeiAssociationReport' + - $ref: '#/components/schemas/RoamingStatusReport' + - $ref: '#/components/schemas/CnTypeChangeReport' + - $ref: '#/components/schemas/CmInfoReport' + - $ref: '#/components/schemas/LossConnectivityReport' + - $ref: '#/components/schemas/LocationReport' + - $ref: '#/components/schemas/PdnConnectivityStatReport' + - $ref: '#/components/schemas/GroupMembListChanges' + + ReachabilityForSmsReport: + type: object + required: + - smsfAccessType + properties: + smsfAccessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + maxAvailabilityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ChangeOfSupiPeiAssociationReport: + type: object + required: + - newPei + properties: + newPei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + + RoamingStatusReport: + type: object + required: + - roaming + - newServingPlmn + properties: + roaming: + type: boolean + newServingPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + purged: + type: boolean + enum: + - true + + CnTypeChangeReport: + type: object + required: + - newCnType + properties: + newCnType: + $ref: '#/components/schemas/CnType' + oldCnType: + $ref: '#/components/schemas/CnType' + + DatalinkReportingConfiguration: + type: object + properties: + dddTrafficDes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + minItems: 1 + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + slice: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dddStatusList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DlDataDeliveryStatus' + minItems: 1 + + CmInfoReport: + type: object + properties: + oldCmInfoList: + type: array + items: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/CmInfo' + minItems: 1 + maxItems: 2 + newCmInfoList: + type: array + items: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/CmInfo' + minItems: 1 + maxItems: 2 + required: + - newCmInfoList + + PduSessionStatusCfg: + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + + ReachabilityReport: + type: object + properties: + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + accessTypeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + reachability: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/UeReachability' + maxAvailabilityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + idleStatusIndication: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/IdleStatusIndication' + + ReachabilityForDataConfiguration: + type: object + required: + - reportCfg + properties: + reportCfg: + $ref: '#/components/schemas/ReachabilityForDataReportConfig' + minInterval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + EeMonitoringRevoked: + type: object + required: + - revokedMonitoringEventList + properties: + revokedMonitoringEventList: + description: A map (list of key-value pairs where ReferenceId serves as key) of MonitoringEvents + type: object + additionalProperties: + $ref: '#/components/schemas/MonitoringEvent' + minProperties: 1 + removedGpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + excludeGpsiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + + MonitoringEvent: + type: object + required: + - eventType + properties: + eventType: + $ref: '#/components/schemas/EventType' + revokedCause: + $ref: '#/components/schemas/RevokedCause' + + LossConnectivityReport: + type: object + required: + - lossOfConnectReason + properties: + lossOfConnectReason: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/LossOfConnectivityReason' + + LocationReport: + type: object + required: + - location + properties: + location: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + + PdnConnectivityStatReport: + type: object + required: + - pdnConnStat + properties: + pdnConnStat: + $ref: '#/components/schemas/PdnConnectivityStatus' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + pduSeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Prefixes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + ipv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + pduSessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + + GroupMembListChanges: + description: Represents information on the change(s) to a group's members list. + type: object + properties: + addedUEs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + removedUEs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + anyOf: + - required: [addedUEs] + - required: [removedUEs] + + EeSubscriptionErrorAddInfo: + description: Additional Information for EE Subscription Error. + type: object + properties: + subType: + $ref: '#/components/schemas/SubscriptionType' + failedMonitoringConfigs: + description: > + A map (list of key-value pairs where referenceId converted from integer to string serves + as key; see clause 6.4.6.3.2) of FailedMonitoringConfiguration + type: object + additionalProperties: + $ref: '#/components/schemas/FailedMonitoringConfiguration' + minProperties: 1 + failedMoniConfigsEPC: + description: > + A map (list of key-value pairs where referenceId converted from integer to string serves + as key; see clause 6.4.6.3.2) of FailedMonitoringConfiguration, the key value "ALL" may + be used to identify a map entry which contains the failed cause of the EE subscription + was not successful in EPC domain. + type: object + additionalProperties: + $ref: '#/components/schemas/FailedMonitoringConfiguration' + minProperties: 1 + + EeSubscriptionError: + description: EE Subscription Error. + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/EeSubscriptionErrorAddInfo' + + +# SIMPLE TYPES: + + ReferenceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + + MaxNumOfReports: + type: integer + + +# ENUMS: + + ReachabilityForSmsConfiguration: + description: > + Indicates the configuration for report of reachability status for SMS. + anyOf: + - type: string + enum: + - REACHABILITY_FOR_SMS_OVER_NAS + - REACHABILITY_FOR_SMS_OVER_IP + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + EventType: + description: Indicates the event type of UDM Event Exposure service. + anyOf: + - type: string + enum: + - LOSS_OF_CONNECTIVITY + - UE_REACHABILITY_FOR_DATA + - UE_REACHABILITY_FOR_SMS + - LOCATION_REPORTING + - CHANGE_OF_SUPI_PEI_ASSOCIATION + - ROAMING_STATUS + - COMMUNICATION_FAILURE + - AVAILABILITY_AFTER_DDN_FAILURE + - CN_TYPE_CHANGE + - DL_DATA_DELIVERY_STATUS + - PDN_CONNECTIVITY_STATUS + - UE_CONNECTION_MANAGEMENT_STATE + - ACCESS_TYPE_REPORT + - REGISTRATION_STATE_REPORT + - CONNECTIVITY_STATE_REPORT + - TYPE_ALLOCATION_CODE_REPORT + - FREQUENT_MOBILITY_REGISTRATION_REPORT + - PDU_SES_REL + - PDU_SES_EST + - UE_MEMORY_AVAILABLE_FOR_SMS + - GROUP_MEMBER_LIST_CHANGE + - QOS_MON + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + LocationAccuracy: + description: Indicates the location accuracy level. + anyOf: + - type: string + enum: + - CELL_LEVEL + - RAN_NODE_LEVEL + - TA_LEVEL + - N3IWF_LEVEL + - UE_IP + - UE_PORT + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + CnType: + description: Indicates the core network type. + anyOf: + - type: string + enum: + - SINGLE_4G + - SINGLE_5G + - DUAL_4G5G + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + AssociationType: + description: > + Indicates association type to be included to identify + whether it is IMSI-IMEI or IMSI-IMEISV. + anyOf: + - type: string + enum: + - IMEI_CHANGE + - IMEISV_CHANGE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + EventReportMode: + description: Event report mode. + anyOf: + - type: string + enum: + - PERIODIC + - ON_EVENT_DETECTION + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + ReachabilityForDataReportConfig: + description: > + Indicates the configuration for report of + reachability status for data. + anyOf: + - type: string + enum: + - DIRECT_REPORT + - INDIRECT_REPORT + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + RevokedCause: + description: Revocation Cause for the monitoring event. + anyOf: + - type: string + enum: + - NOT_ALLOWED + - EXCLUDED_FROM_GROUP + - GPSI_REMOVED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + FailedCause: + description: > + Contains the Failed cause of the failed monitoring configuration in the EE subscription. + event monitoring. + anyOf: + - type: string + enum: + - AF_NOT_ALLOWED + - MTC_PROVIDER_NOT_ALLOWED + - MONITORING_NOT_ALLOWED + - UNSUPPORTED_MONITORING_EVENT_TYPE + - UNSUPPORTED_MONITORING_REPORT_OPTIONS + - UNSPECIFIED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + PdnConnectivityStatus: + description: PDN Connectivity Status. + anyOf: + - type: string + enum: + - ESTABLISHED + - RELEASED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + SubscriptionType: + description: UE Subscription Type. + anyOf: + - type: string + enum: + - 5G + - 4G_5G + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + diff --git a/TS29503_Nudm_MT.yaml b/TS29503_Nudm_MT.yaml new file mode 100644 index 0000000000000000000000000000000000000000..42be9cfcbf392d019a66f02b6d6011d0a31c6e6b --- /dev/null +++ b/TS29503_Nudm_MT.yaml @@ -0,0 +1,230 @@ +openapi: 3.0.0 +info: + version: '1.2.0-alpha.1' + title: 'Nudm_MT' + description: | + UDM MT Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 18.0.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-mt/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-mt + - {} + +paths: + /{supi}: + get: + summary: Query Information for the UE + operationId: QueryUeInfo + tags: + - Query UE Info + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: fields + in: query + description: attributes to be retrieved + required: true + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/UeInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/loc-info/provide-loc-info: + post: + summary: Provides the UE's 5GS location information + operationId: ProvideLocationInfo + tags: + - Provide UE Location + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LocationInfoRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LocationInfoResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-mt: Access to the nudm-mt API + + + schemas: + +# COMPLEX TYPES: + + UeInfo: + description: Represents UE information. + type: object + properties: + tadsInfo: + $ref: 'TS29518_Namf_MT.yaml#/components/schemas/UeContextInfo' + userState: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/5GsUserState' + 5gSrvccInfo: + $ref: '#/components/schemas/5GSrvccInfo' + + 5GSrvccInfo: + description: Represents 5G SRVCC information for a UE. + type: object + required: + - ue5GSrvccCapability + properties: + ue5GSrvccCapability: + type: boolean + stnSr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StnSr' + cMsisdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CMsisdn' + + LocationInfoRequest: + description: Represents information to be sent in a location information request. It contains the requested information, i.e. current location, local time zone, RAT type, or serving node identity only. + type: object + properties: + req5gsLoc: + type: boolean + default: false + reqCurrentLoc: + type: boolean + default: false + reqRatType: + type: boolean + default: false + reqTimeZone: + type: boolean + default: false + reqServingNode: + type: boolean + default: false + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + LocationInfoResult: + description: Represents the requested location information. + type: object + properties: + vPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smsfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + tai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + currentLoc: + type: boolean + geoInfo: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + locationAge: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AgeOfLocationEstimate' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + timezone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + +# SIMPLE TYPES: + + +# ENUMS: diff --git a/TS29503_Nudm_NIDDAU.yaml b/TS29503_Nudm_NIDDAU.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2b592498a6bff1b3eca2f93756698959a7f30a4d --- /dev/null +++ b/TS29503_Nudm_NIDDAU.yaml @@ -0,0 +1,235 @@ +openapi: 3.0.0 + +info: + version: '1.2.0-alpha.2' + title: 'Nudm_NIDDAU' + description: | + Nudm NIDD Authorization Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 18.1.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-niddau/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-niddau + - {} + +paths: + /{ueIdentity}/authorize: + post: + summary: Authorize the NIDD configuration request. + operationId: AuthorizeNiddData + tags: + - Authorize the NIDD configuration request + parameters: + - name: ueIdentity + in: path + description: Represents the scope of the UE for which the NIDD configuration are authorized. Contains the GPSI of the user or the external group ID. + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizationInfo' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizationData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + niddAuthUpdateNotification: + '{request.body#/authUpdateCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NiddAuthUpdateNotification' + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-niddau: Access to the nudm-niddau API + + schemas: + +# COMPLEX TYPES: +# + AuthorizationData: + description: Represents NIDD authorization data. + type: object + required: + - authorizationData + properties: + authorizationData: + type: array + items: + $ref: '#/components/schemas/UserIdentifier' + minItems: 1 + uniqueItems: true + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + UserIdentifier: + description: Represents the user identifier. + type: object + required: + - supi + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + NiddAuthUpdateInfo: + description: Represents NIDD authorization update information. + type: object + required: + - authorizationData + properties: + authorizationData: + $ref: '#/components/schemas/AuthorizationData' + invalidityInd: + type: boolean + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + niddCause: + $ref: '#/components/schemas/NiddCause' + + NiddAuthUpdateNotification: + description: Represents a NIDD authorization update notification. + type: object + required: + - niddAuthUpdateInfoList + properties: + niddAuthUpdateInfoList: + type: array + items: + $ref: '#/components/schemas/NiddAuthUpdateInfo' + minItems: 1 + + AuthorizationInfo: + description: Represents NIDD authorization information. + type: object + required: + - snssai + - dnn + - mtcProviderInformation + - authUpdateCallbackUri + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + authUpdateCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + afId: + type: string + nefId: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NefId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + + +# SIMPLE TYPES: + + + +# ENUMS: + + NiddCause: + description: Indicates the usage for Subscription Withdrawal. + anyOf: + - type: string + enum: + - SUBSCRIPTION_WITHDRAWAL + - DNN_REMOVED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. diff --git a/TS29503_Nudm_PP.yaml b/TS29503_Nudm_PP.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4034e21d28ecdd4c5c937c4841a5218c5e173452 --- /dev/null +++ b/TS29503_Nudm_PP.yaml @@ -0,0 +1,1266 @@ +openapi: 3.0.0 + +info: + version: '1.3.0-alpha.4' + title: 'Nudm_PP' + description: | + Nudm Parameter Provision Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 18.4.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-pp/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-pp + - {} + +paths: + /{ueId}/pp-data: + patch: + summary: provision parameters + operationId: Update + tags: + - Subscription Data Update + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PpData' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /5g-vn-groups/{extGroupId}: + put: + summary: create a 5G VN Group + operationId: Create 5G VN Group + tags: + - 5G VN Group Creation + parameters: + - name: extGroupId + in: path + description: External Identifier of the Group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/5GVnGroupConfiguration' + required: true + responses: + '201': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: delete a 5G VN Group + operationId: Delete 5G VN Group + tags: + - 5G VN Group Deletion + parameters: + - name: extGroupId + in: path + description: External Identifier of the Group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: mtc-provider-info + in: query + description: MTC Provider Information that originated the service operation + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + - name: af-id + in: query + description: AF ID that originated the service operation + schema: + type: string + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: modify a 5G VN Group + operationId: Modify 5G VN Group + tags: + - 5G VN Group Modification + parameters: + - name: extGroupId + in: path + description: External Identifier of the group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/5GVnGroupConfigurationModification' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: get 5G VN Group + operationId: Get 5G VN Group + tags: + - 5G VN Group Modification + parameters: + - name: extGroupId + in: path + description: External Identifier of the group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/5GVnGroupConfiguration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/pp-data-store/{afInstanceId}: + put: + summary: Create a Provisioning Parameter Data Entry + operationId: Create PP Data Entry + tags: + - ParameterProvisioningDataEntry (Document) + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - type: string + pattern: '^anyUE$' + - name: afInstanceId + in: path + description: Application Function Instance Identifier + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PpDataEntry' + required: true + responses: + '201': + description: Indicating a successful creation of the resource + content: + application/json: + schema: + $ref: '#/components/schemas/PpDataEntry' + '204': + description: Indicating a successful update of the resource + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: Delete a Provisioning Parameter Data Entry + operationId: Delete PP Data Entry + tags: + - ParameterProvisioningDataEntry (Document) + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - type: string + pattern: '^anyUE$' + - name: afInstanceId + in: path + description: Application Function Instance Identifier + required: true + schema: + type: string + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: get Parameter Provisioning Data Entry + operationId: Get PP Data Entry + tags: + - ParameterProvisioningDataEntry (Document) + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - type: string + pattern: '^anyUE$' + - name: afInstanceId + in: path + description: Application Function Instance Identifier + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/PpDataEntry' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + + /mbs-group-membership/{extGroupId}: + put: + summary: create a 5G MBS Group + operationId: Create 5G MBS Group + tags: + - 5G MBS Group Creation + parameters: + - name: extGroupId + in: path + description: External Identifier of the Group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MulticastMbsGroupMemb' + required: true + responses: + '201': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: delete a 5G MBS Group + operationId: Delete 5G MBS Group + tags: + - 5G MBS Group Deletion + parameters: + - name: extGroupId + in: path + description: External Identifier of the Group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: modify a 5G MBS Group + operationId: Modify 5G MBS Group + tags: + - 5G MBS Group Modification + parameters: + - name: extGroupId + in: path + description: External Identifier of the group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/MulticastMbsGroupMemb' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: get 5G MBS Group + operationId: Get 5G MBS Group + tags: + - 5G MBS Group Modification + parameters: + - name: extGroupId + in: path + description: External Identifier of the group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/MulticastMbsGroupMemb' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-pp: Access to the nudm-pp API + + + schemas: + +# COMPLEX TYPES: + + PpData: + type: object + properties: + communicationCharacteristics: + $ref: '#/components/schemas/CommunicationCharacteristics' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + expectedUeBehaviourParameters: + $ref: '#/components/schemas/ExpectedUeBehaviour' + expectedUeBehaviourExtension: + $ref: '#/components/schemas/ExpectedUeBehaviourExtension' + ecRestriction: + $ref: '#/components/schemas/EcRestriction' + acsInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AcsInfoRm' + stnSr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StnSrRm' + lcsPrivacy: + $ref: '#/components/schemas/LcsPrivacy' + sorInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SorInfo' + 5mbsAuthorizationInfo: + $ref: '#/components/schemas/5MbsAuthorizationInfo' + dnnSnssaiSpecificGroup: + $ref: '#/components/schemas/DnnSnssaiSpecificGroup' + mbsAssistanceInfo: + $ref: '#/components/schemas/MbsAssistanceInfo' + appSpecificExpectedUeBehaviour: + $ref: '#/components/schemas/AppSpecificExpectedUeBehaviour' + sliceUsageControlInfos: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SliceUsageControlInfo' + minItems: 1 + nullable: true + + MbsAssistanceInfo: + type: object + properties: + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + assistanceInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + required: + - mbsSessionId + + CommunicationCharacteristics: + type: object + properties: + ppSubsRegTimer: + $ref: '#/components/schemas/PpSubsRegTimer' + ppActiveTime: + $ref: '#/components/schemas/PpActiveTime' + ppDlPacketCount: + $ref: '#/components/schemas/PpDlPacketCount' + ppDlPacketCountExt: + $ref: '#/components/schemas/PpDlPacketCountExt' + ppMaximumResponseTime: + $ref: '#/components/schemas/PpMaximumResponseTime' + ppMaximumLatency: + $ref: '#/components/schemas/PpMaximumLatency' + nullable: true + + PpSubsRegTimer: + type: object + required: + - subsRegTimer + - afInstanceId + - referenceId + properties: + subsRegTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + afInstanceId: + type: string + referenceId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + PpActiveTime: + type: object + required: + - activeTime + - afInstanceId + - referenceId + properties: + activeTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + afInstanceId: + type: string + referenceId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + 5GVnGroupConfiguration: + type: object + properties: + 5gVnGroupData: + $ref: '#/components/schemas/5GVnGroupData' + members: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + referenceId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + afInstanceId: + type: string + internalGroupIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + membersData: + description: > + Contains the list of 5G VN Group members, each member is identified by GPSI. + A map (list of key-value pairs where Gpsi serves as key) of GpsiInfo. + The value in each entries of the map shall be an empty JSON object. + type: object + additionalProperties: + $ref: '#/components/schemas/GpsiInfo' + minProperties: 1 + + 5GVnGroupConfigurationModification: + description: > + Contains the attributes to modify on the 5GVnGroupConfiguration data structure; + the attributes to be deleted need to be set to the null value. + type: object + properties: + 5gVnGroupData: + $ref: '#/components/schemas/5GVnGroupDataModification' + afInstanceId: + type: string + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + members: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + nullable: true + membersData: + description: > + Contains the list of 5G VN Group members, each member is identified by GPSI. + A map (list of key-value pairs where Gpsi serves as key) of GpsiInfo. + The value in each entries of the map shall be an empty JSON object. + type: object + additionalProperties: + $ref: '#/components/schemas/GpsiInfo' + minProperties: 1 + nullable: true + + 5GVnGroupData: + type: object + required: + - dnn + - sNssai + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + pduSessionTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + appDescriptors: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/AppDescriptor' + minItems: 1 + secondaryAuth: + type: boolean + dnAaaIpAddressAllocation: + type: boolean + dnAaaAddress: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/IpAddress' + additionalDnAaaAddresses: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/IpAddress' + minItems: 1 + dnAaaFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + 5gVnGroupCommunicationInd: + type: boolean + maxGroupDataRate: + $ref: '#/components/schemas/MaxGroupDataRate' + + 5GVnGroupDataModification: + description: > + Contains the attributes to modify on the 5GVnGroupData data structure; + the attributes to be deleted need to be set to the null value. + type: object + properties: + appDescriptors: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/AppDescriptor' + minItems: 1 + nullable: true + secondaryAuth: + type: boolean + nullable: true + dnAaaIpAddressAllocation: + type: boolean + nullable: true + dnAaaAddress: + type: object + nullable: true + allOf: + - $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/IpAddress' + additionalDnAaaAddresses: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/IpAddress' + minItems: 1 + nullable: true + dnAaaFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/FqdnRm' + 5gVnGroupCommunicationInd: + type: boolean + nullable: true + maxGroupDataRate: + type: object + nullable: true + allOf: + - $ref: '#/components/schemas/MaxGroupDataRate' + nullable: true + + ExpectedUeBehaviour: + type: object + required: + - afInstanceId + - referenceId + properties: + afInstanceId: + type: string + referenceId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + stationaryIndication: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StationaryIndicationRm' + communicationDurationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + scheduledCommunicationType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationTypeRm' + periodicTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + scheduledCommunicationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationTimeRm' + expectedUmts: + type: array + items: + $ref: '#/components/schemas/LocationArea' + minItems: 1 + nullable: true + description: > + Identifies the UE's expected geographical movement. The attribute is only + applicable in 5G. + trafficProfile: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TrafficProfileRm' + batteryIndication: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BatteryIndicationRm' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + LocationArea: + type: object + properties: + geographicAreas: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 0 + description: Identifies a list of geographic area of the user where the UE is located. + civicAddresses: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + minItems: 0 + description: Identifies a list of civic addresses of the user where the UE is located. + nwAreaInfo: + $ref: '#/components/schemas/NetworkAreaInfo' + umtTime: + $ref: '#/components/schemas/UmtTime' + + UmtTime: + type: object + required: + - timeOfDay + - dayOfWeek + properties: + timeOfDay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeOfDay' + dayOfWeek: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DayOfWeek' + + NetworkAreaInfo: + description: > + Describes a network area information in which the NF service consumer requests + the number of UEs. + type: object + properties: + ecgis: + description: Contains a list of E-UTRA cell identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + minItems: 1 + ncgis: + description: Contains a list of NR cell identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + minItems: 1 + gRanNodeIds: + description: Contains a list of NG RAN nodes. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + tais: + description: Contains a list of tracking area identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + + EcRestriction: + type: object + required: + - afInstanceId + - referenceId + properties: + afInstanceId: + type: string + referenceId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + plmnEcInfos: + type: array + items: + $ref: '#/components/schemas/PlmnEcInfo' + minItems: 1 + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + PlmnEcInfo: + type: object + required: + - plmnId + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + ecRestrictionDataWb: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/EcRestrictionDataWb' + ecRestrictionDataNb: + type: boolean + default: false + + + PpDlPacketCountExt: + type: object + required: + - afInstanceId + - referenceId + properties: + afInstanceId: + type: string + referenceId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + singleNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + PpMaximumResponseTime: + type: object + required: + - maximumResponseTime + - afInstanceId + - referenceId + properties: + maximumResponseTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + afInstanceId: + type: string + referenceId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + PpMaximumLatency: + type: object + required: + - maximumLatency + - afInstanceId + - referenceId + properties: + maximumLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + afInstanceId: + type: string + referenceId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + LcsPrivacy: + type: object + properties: + afInstanceId: + type: string + referenceId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + lpi: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/Lpi' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + evtRptExpectedArea: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + areaUsageInd: + allOf: + - $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/AreaUsageInd' + default: POSITIVE_SENSE + upLocRepIndAf: + allOf: + - $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/UpLocRepIndAf' + default: USER_PLANE_REPORT_NOT_ALLOWED + nullable: true + + PpDataEntry: + type: object + properties: + communicationCharacteristics: + $ref: '#/components/schemas/CommunicationCharacteristicsAF' + referenceId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + ecsAddrConfigInfo: + $ref: '#/components/schemas/EcsAddrConfigInfo' + additionalEcsAddrConfigInfos: + type: array + items: + $ref: '#/components/schemas/EcsAddrConfigInfo' + minItems: 1 + ecsAddrConfigInfoPerPlmn: + description: > + A map (list of key-value pairs) where the key of the map is the serving PLMN id; + and the value is an array of EcsAddrConfigInfo for that serving PLMN. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/EcsAddrConfigInfo' + minItems: 1 + minProperties: 1 + ecRestriction: + $ref: '#/components/schemas/EcRestriction' + sliceUsageControlInfos: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SliceUsageControlInfo' + minItems: 1 + nullable: true + + CommunicationCharacteristicsAF: + type: object + properties: + ppDlPacketCount: + $ref: '#/components/schemas/PpDlPacketCount' + maximumResponseTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + maximumLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + nullable: true + + EcsAddrConfigInfo: + type: object + properties: + ecsServerAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/EcsServerAddr' + spatialValidityCond: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SpatialValidityCond' + nullable: true + + 5MbsAuthorizationInfo: + type: object + properties: + 5mbsSessionIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + minItems: 1 + nullable: true + + MulticastMbsGroupMemb: + type: object + required: + - multicastGroupMemb + properties: + multicastGroupMemb: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + afInstanceId: + type: string + internalGroupIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + + + DnnSnssaiSpecificGroup: + type: object + required: + - dnn + - snssai + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + defQos: + $ref: '#/components/schemas/AfReqDefaultQoS' + afReqServArea: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + nullable: true + + AfReqDefaultQoS: + type: object + required: + - 5qi + - arp + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + priorityLevel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5QiPriorityLevel' + + + ExpectedUeBehaviourExtension: + type: object + required: + - afInstanceId + - referenceId + properties: + afInstanceId: + type: string + referenceId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + expectedUeBehaviourData: + description: A map(list of key-value pairs) where a valid JSON pointer serves as key + type: object + additionalProperties: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData' + minProperties: 1 + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + AppSpecificExpectedUeBehaviour: + type: object + required: + - afInstanceId + - referenceId + - appSpecificExpectedUeBehaviourData + properties: + afInstanceId: + type: string + referenceId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + appSpecificExpectedUeBehaviourData: + description: A map(list of key-value pairs) where a valid JSON pointer serves as key + type: object + additionalProperties: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/AppSpecificExpectedUeBehaviourData' + minProperties: 1 + nullable: true + + MaxGroupDataRate: + description: > + The limits of the total bit rate across all sessions of the 5G VN group + (uplink and downlink) + type: object + properties: + uplink: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + downlink: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + + GpsiInfo: + description: > + In this version of this specificiaiton, this data type does not contain any attributes, + it is used to convey an empty JSON objects as the value of the entries in the membersData map. + type: object + nullable: true + + +# SIMPLE TYPES: + + + PpDlPacketCount: + type: integer + nullable: true + + + +# ENUMS: + diff --git a/TS29503_Nudm_RSDS.yaml b/TS29503_Nudm_RSDS.yaml new file mode 100644 index 0000000000000000000000000000000000000000..619975fdaa8bd74e99635e6af7ba6a5046f2052e --- /dev/null +++ b/TS29503_Nudm_RSDS.yaml @@ -0,0 +1,107 @@ +openapi: 3.0.0 +info: + version: '1.2.0-alpha.1' + title: 'Nudm_ReportSMDeliveryStatus' + description: | + UDM Report SM Delivery Status Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 18.0.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-rsds/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-rsds + - {} + +paths: + /{ueIdentity}/sm-delivery-status: + post: + summary: Report the SM Delivery Status + operationId: ReportSMDeliveryStatus + tags: + - Report SM Delivery Status + parameters: + - name: ueIdentity + in: path + description: Represents the scope of the UE for which the Service Specific Parameters are authorized. Contains the GPSI of the user or the external group ID. + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmDeliveryStatus' + required: true + responses: + '204': + description: Successful response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-rsds: Access to the nudm-rsds API + + + schemas: + +# COMPLEX TYPES: + + SmDeliveryStatus: + description: Represents SM Delivery Status. + type: object + required: + - gpsi + - smStatusReport + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + smStatusReport: + type: string + + +# SIMPLE TYPES: + + +# ENUMS: diff --git a/TS29503_Nudm_SSAU.yaml b/TS29503_Nudm_SSAU.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2b4dc3c5927929d98c9253c1d1bca986e0a6b276 --- /dev/null +++ b/TS29503_Nudm_SSAU.yaml @@ -0,0 +1,323 @@ +openapi: 3.0.0 + +info: + version: '1.1.0-alpha.1' + title: 'Nudm_SSAU' + description: | + Nudm Service Specific Authorization Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 18.0.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-ssau/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-ssau + - {} + +paths: + /{ueIdentity}/{serviceType}/authorize: + post: + summary: Authorization for the Service specific parameters in the request. + operationId: ServiceSpecificAuthorization + tags: + - Service specific authorization request + parameters: + - name: ueIdentity + in: path + description: Represents the scope of the UE for which the Service Specific Parameters are authorized. Contains the GPSI of the user or the external group ID. + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+)$' + - name: serviceType + in: path + description: Represents the specific service for which the Service Specific Parameters are authorized. + required: true + schema: + $ref: '#/components/schemas/ServiceType' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSpecificAuthorizationInfo' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSpecificAuthorizationData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + authUpdateNotification: + '{request.body#/authUpdateCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AuthUpdateNotification' + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueIdentity}/{serviceType}/remove: + post: + summary: Remove the authorization of specific service's configuration. + operationId: ServiceSpecificAuthorizationRemoval + tags: + - Service specific authorization remove + parameters: + - name: ueIdentity + in: path + description: Represents the scope of the UE for which the Service Specific configuration authorization to be removed. Contains the GPSI of the user or the external group ID. + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+)$' + - name: serviceType + in: path + description: Represents the specific service for which the Service Specific configuration authorization to be removed. + required: true + schema: + $ref: '#/components/schemas/ServiceType' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSpecificAuthorizationRemoveData' + required: true + responses: + '204': + description: Successful response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-ssau: Access to the nudm-ssau API + + schemas: + +# COMPLEX TYPES: +# + AuthUpdateNotification: + description: Represents an authorization update notification. + type: object + required: + - serviceType + - authUpdateInfoList + properties: + serviceType: + $ref: '#/components/schemas/ServiceType' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + authUpdateInfoList: + type: array + items: + $ref: '#/components/schemas/AuthUpdateInfo' + minItems: 1 + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + afId: + type: string + + AuthUpdateInfo: + description: Represents authorization update information. + type: object + required: + - authorizationData + properties: + authorizationData: + $ref: '#/components/schemas/ServiceSpecificAuthorizationData' + invalidityInd: + type: boolean + invalidCause: + $ref: '#/components/schemas/InvalidCause' + + + ServiceSpecificAuthorizationInfo: + description: Authorization information for a specific service + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + authUpdateCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + afId: + type: string + nefId: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NefId' + + ServiceSpecificAuthorizationData: + description: Authorization Response for a specific service. + type: object + properties: + authorizationUeId: + $ref: '#/components/schemas/AuthorizationUeId' + extGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalGroupId' + intGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + authId: + type: string + + AuthorizationUeId: + description: UE Id of the Authorization Data. + type: object + required: + - supi + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + + ServiceSpecificAuthorizationRemoveData: + description: Information for Authorization removal of a specific service. + type: object + required: + - authId + properties: + authId: + type: string + + + +# SIMPLE TYPES: + + + +# ENUMS: + + ServiceType: + anyOf: + - type: string + enum: + - AF_GUIDANCE_FOR_URSP + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - AF_GUIDANCE_FOR_URSP + + InvalidCause: + anyOf: + - type: string + enum: + - SUBSRIPTION_WITHDRAWAL + - DNN_REMOVED + - SLICE_REMOVED + - AUTHORIZATION_REVOKED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - SUBSRIPTION_WITHDRAWAL + - DNN_REMOVED + - SLICE_REMOVED + - AUTHORIZATION_REVOKED diff --git a/TS29503_Nudm_UEAU.yaml b/TS29503_Nudm_UEAU.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2fa3d15cab3ee8bd4469284908ff102efc1f494f --- /dev/null +++ b/TS29503_Nudm_UEAU.yaml @@ -0,0 +1,1033 @@ +openapi: 3.0.0 +info: + version: '1.3.0-alpha.4' + title: 'Nudm_UEAU' + description: | + UDM UE Authentication Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 18.4.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-ueau/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-ueau + - {} + +paths: + /{supiOrSuci}/security-information/generate-auth-data: + post: + summary: Generate authentication data for the UE + operationId: GenerateAuthData + tags: + - Generate Auth Data + security: + - {} + - oAuth2ClientCredentials: + - nudm-ueau + - oAuth2ClientCredentials: + - nudm-ueau + - nudm-ueau:security-information:generate-auth-data:invoke + parameters: + - name: supiOrSuci + in: path + description: SUPI or SUCI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupiOrSuci' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationInfoRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationInfoResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supiOrSuci}/security-information-rg: + get: + summary: Get authentication data for the FN-RG + operationId: GetRgAuthData + tags: + - Get Auth Data for FN-RG + security: + - {} + - oAuth2ClientCredentials: + - nudm-ueau + - oAuth2ClientCredentials: + - nudm-ueau + - nudm-ueau:security-information-rg:read + parameters: + - name: supiOrSuci + in: path + description: SUPI or SUCI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupiOrSuci' + - name: authenticated-ind + in: query + description: Authenticated indication + required: true + schema: + $ref: '#/components/schemas/AuthenticatedInd' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + description: serving PLMN ID + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/RgAuthCtx' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supi}/auth-events: + post: + summary: Create a new confirmation event + operationId: ConfirmAuth + tags: + - Confirm Auth + security: + - {} + - oAuth2ClientCredentials: + - nudm-ueau + - oAuth2ClientCredentials: + - nudm-ueau + - nudm-ueau:auth-events:create + parameters: + - name: supi + in: path + description: SUPI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthEvent' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthEvent' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-ueau/v1/{supi}/auth-events/{authEventId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + dataRestorationNotification: + '{request.body#/dataRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/DataRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supi}/hss-security-information/{hssAuthType}/generate-av: + post: + summary: Generate authentication data for the UE in EPS or IMS domain + operationId: GenerateAv + tags: + - Generate HSS Authentication Vectors + security: + - {} + - oAuth2ClientCredentials: + - nudm-ueau + - oAuth2ClientCredentials: + - nudm-ueau + - nudm-ueau:hss-security-information:generate-av:invoke + parameters: + - name: supi + in: path + description: SUPI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: hssAuthType + in: path + description: Type of AV requested by HSS + required: true + schema: + $ref: '#/components/schemas/HssAuthTypeInUri' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/HssAuthenticationInfoRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/HssAuthenticationInfoResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supi}/auth-events/{authEventId}: + put: + summary: Deletes the authentication result in the UDM + operationId: DeleteAuth + tags: + - Delete Auth + security: + - {} + - oAuth2ClientCredentials: + - nudm-ueau + - oAuth2ClientCredentials: + - nudm-ueau + - nudm-ueau:auth-event-id:modify + parameters: + - name: supi + in: path + description: SUPI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: authEventId + in: path + description: authEvent Id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthEvent' + required: true + responses: + '204': + description: Expected response to a successful authentication result removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{supi}/gba-security-information/generate-av: + post: + summary: Generate authentication data for the UE in GBA domain + operationId: GenerateGbaAv + tags: + - Generate GBA Authentication Vectors + security: + - {} + - oAuth2ClientCredentials: + - nudm-ueau + - oAuth2ClientCredentials: + - nudm-ueau + - nudm-ueau:gba-security-information:generate-av:invoke + parameters: + - name: supi + in: path + description: SUPI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GbaAuthenticationInfoRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/GbaAuthenticationInfoResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supiOrSuci}/prose-security-information/generate-av: + post: + summary: Generate authentication data for ProSe + operationId: GenerateProseAV + tags: + - Generate ProSe Authentication Vectors + parameters: + - name: supiOrSuci + in: path + description: SUPI or SUCI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupiOrSuci' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProSeAuthenticationInfoRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ProSeAuthenticationInfoResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-ueau: Access to the nudm-ueau API + nudm-ueau:security-information:generate-auth-data:invoke: Acess to invoke the "generate-auth-data" custom operation on the "security-information" resource + nudm-ueau:security-information-rg:read: Access to read the "security-information-rg" resource + nudm-ueau:auth-events:create: Access to create a new child resource on the "auth-events" collection resource + nudm-ueau:auth-event-id:modify: Access to modify (delete) an "auth-event-id" individual resource + nudm-ueau:hss-security-information:generate-av:invoke: Acess to invoke the "generate-av" custom operation on the "hss-security-information" resource + nudm-ueau:gba-security-information:generate-av:invoke: Acess to invoke the "generate-av" custom operation on the "gba-security-information" resource + + + schemas: + +# COMPLEX TYPES: + + AuthenticationInfoRequest: + type: object + required: + - servingNetworkName + - ausfInstanceId + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + servingNetworkName: + $ref: '#/components/schemas/ServingNetworkName' + resynchronizationInfo: + $ref: '#/components/schemas/ResynchronizationInfo' + ausfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + cellCagInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CagId' + minItems: 1 + n5gcInd: + type: boolean + default: false + nswoInd: + type: boolean + default: false + disasterRoamingInd: + type: boolean + default: false + aun3Ind: + type: boolean + default: false + + AuthenticationInfoResult: + type: object + required: + - authType + properties: + authType: + $ref: '#/components/schemas/AuthType' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + authenticationVector: + $ref: '#/components/schemas/AuthenticationVector' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + akmaInd: + type: boolean + default: false + authAaa: + type: boolean + default: false + routingId: + type: string + pattern: '^[0-9]{1,4}$' + pvsInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServerAddressingInfo' + minItems: 1 + mskInd: + type: boolean + default: false + + AuthenticationVector: + oneOf: + - $ref: '#/components/schemas/AvEapAkaPrime' + - $ref: '#/components/schemas/Av5GHeAka' + discriminator: + propertyName: avType + mapping: + 5G_HE_AKA: '#/components/schemas/Av5GHeAka' + EAP_AKA_PRIME: '#/components/schemas/AvEapAkaPrime' + + AvEapAkaPrime: + type: object + required: + - avType + - rand + - xres + - autn + - ckPrime + - ikPrime + properties: + avType: + $ref: '#/components/schemas/AvType' + rand: + $ref: '#/components/schemas/Rand' + xres: + $ref: '#/components/schemas/Xres' + autn: + $ref: '#/components/schemas/Autn' + ckPrime: + $ref: '#/components/schemas/CkPrime' + ikPrime: + $ref: '#/components/schemas/IkPrime' + + Av5GHeAka: + type: object + required: + - avType + - rand + - xresStar + - autn + - kausf + properties: + avType: + $ref: '#/components/schemas/AvType' + rand: + $ref: '#/components/schemas/Rand' + xresStar: + $ref: '#/components/schemas/XresStar' + autn: + $ref: '#/components/schemas/Autn' + kausf: + $ref: '#/components/schemas/Kausf' + + ResynchronizationInfo: + type: object + required: + - rand + - auts + properties: + rand: + $ref: '#/components/schemas/Rand' + auts: + $ref: '#/components/schemas/Auts' + + AuthEvent: + type: object + required: + - nfInstanceId + - success + - timeStamp + - authType + - servingNetworkName + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + success: + $ref: '#/components/schemas/Success' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + authType: + $ref: '#/components/schemas/AuthType' + servingNetworkName: + $ref: '#/components/schemas/ServingNetworkName' + authRemovalInd: + type: boolean + default: false + nfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + resetIds: + type: array + items: + type: string + minItems: 1 + dataRestorationCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + udrRestartInd: + type: boolean + default: false + + RgAuthCtx: + type: object + required: + - authInd + properties: + authInd: + type: boolean + default: false + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + HssAuthenticationInfoRequest: + type: object + required: + - hssAuthType + - numOfRequestedVectors + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + hssAuthType: + $ref: '#/components/schemas/HssAuthType' + numOfRequestedVectors: + $ref: '#/components/schemas/NumOfRequestedVectors' + requestingNodeType: + $ref: '#/components/schemas/NodeType' + servingNetworkId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + resynchronizationInfo: + $ref: '#/components/schemas/ResynchronizationInfo' + anId: + $ref: '#/components/schemas/AccessNetworkId' + + HssAuthenticationInfoResult: + type: object + required: + - hssAuthenticationVectors + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + hssAuthenticationVectors: + $ref: '#/components/schemas/HssAuthenticationVectors' + + HssAuthenticationVectors: + oneOf: + - type: array + items: + $ref: '#/components/schemas/AvEpsAka' + minItems: 1 + maxItems: 5 + - type: array + items: + $ref: '#/components/schemas/AvImsGbaEapAka' + minItems: 1 + maxItems: 5 + - type: array + items: + $ref: '#/components/schemas/AvEapAkaPrime' + minItems: 1 + maxItems: 5 + + AvEpsAka: + type: object + required: + - avType + - rand + - xres + - autn + - kasme + properties: + avType: + $ref: '#/components/schemas/HssAvType' + rand: + $ref: '#/components/schemas/Rand' + xres: + $ref: '#/components/schemas/Xres' + autn: + $ref: '#/components/schemas/Autn' + kasme: + $ref: '#/components/schemas/Kasme' + + AvImsGbaEapAka: + type: object + required: + - avType + - rand + - xres + - autn + - ck + - ik + properties: + avType: + $ref: '#/components/schemas/HssAvType' + rand: + $ref: '#/components/schemas/Rand' + xres: + $ref: '#/components/schemas/Xres' + autn: + $ref: '#/components/schemas/Autn' + ck: + $ref: '#/components/schemas/ConfidentialityKey' + ik: + $ref: '#/components/schemas/IntegrityKey' + + GbaAuthenticationInfoRequest: + type: object + required: + - authType + properties: + authType: + $ref: '#/components/schemas/GbaAuthType' + resynchronizationInfo: + $ref: 'TS29562_Nhss_imsUEAU.yaml#/components/schemas/ResynchronizationInfo' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + GbaAuthenticationInfoResult: + type: object + properties: + 3gAkaAv: + $ref: 'TS29562_Nhss_imsUEAU.yaml#/components/schemas/3GAkaAv' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + ProSeAuthenticationInfoRequest: + type: object + required: + - servingNetworkName + - relayServiceCode + properties: + servingNetworkName: + $ref: '#/components/schemas/ServingNetworkName' + relayServiceCode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RelayServiceCode' + resynchronizationInfo: + $ref: '#/components/schemas/ResynchronizationInfo' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + ProSeAuthenticationInfoResult: + type: object + required: + - authType + properties: + authType: + $ref: '#/components/schemas/AuthType' + proseAuthenticationVectors: + $ref: '#/components/schemas/ProSeAuthenticationVectors' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + ProSeAuthenticationVectors: + oneOf: + - type: array + items: + $ref: '#/components/schemas/AvEapAkaPrime' + minItems: 1 + maxItems: 5 + + + +# SIMPLE TYPES: + + Autn: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + Auts: + type: string + pattern: '^[A-Fa-f0-9]{28}$' + + CkPrime: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + IkPrime: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + Kausf: + type: string + pattern: '^[A-Fa-f0-9]{64}$' + + Rand: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + Xres: + type: string + pattern: '^[A-Fa-f0-9]{8,32}$' + + XresStar: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + ServingNetworkName: + type: string + pattern: '^(5G:mnc[0-9]{3}[.]mcc[0-9]{3}[.]3gppnetwork[.]org(:[A-F0-9]{11})?)|5G:NSWO$' + + Success: + type: boolean + + AuthenticatedInd: + type: boolean + + ConfidentialityKey: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + IntegrityKey: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + Kasme: + type: string + pattern: '^[A-Fa-f0-9]{64}$' + + NumOfRequestedVectors: + type: integer + minimum: 1 + maximum: 5 + + +# ENUMS: + + AuthType: + description: Indicates the authentication method. + anyOf: + - type: string + enum: + - 5G_AKA + - EAP_AKA_PRIME + - EAP_TLS + - NONE + - EAP_TTLS + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + AvType: + description: Indicates the type of authentication vector. + anyOf: + - type: string + enum: + - 5G_HE_AKA + - EAP_AKA_PRIME + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + HssAuthType: + description: Indicates the authentication method. + anyOf: + - type: string + enum: + - EPS_AKA + - EAP_AKA + - EAP_AKA_PRIME + - IMS_AKA + - GBA_AKA + - UMTS_AKA + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + HssAvType: + description: Indicates a type of authentication vector. + anyOf: + - type: string + enum: + - EPS_AKA + - EAP_AKA + - IMS_AKA + - GBA_AKA + - UMTS_AKA + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + HssAuthTypeInUri: + description: Indicates a type of authentication method. + anyOf: + - type: string + enum: + - eps-aka + - eap-aka + - eap-aka-prime + - ims-aka + - gba-aka + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + AccessNetworkId: + description: > + Indicates the contents of Access Network ID. + Used in the derivation of authentication vectors in EAP-AKA. + anyOf: + - type: string + enum: + - HRPD + - WIMAX + - WLAN + - ETHERNET + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + NodeType: + description: > + Indicates Indicates the requesting node type. + anyOf: + - type: string + enum: + - AUSF + - VLR + - SGSN + - S_CSCF + - BSF + - GAN_AAA_SERVER + - WLAN_AAA_SERVER + - MME + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + GbaAuthType: + description: Indicates the authentication method. + anyOf: + - type: string + enum: + - DIGEST_AKAV1_MD5 + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + diff --git a/TS29503_Nudm_UECM.yaml b/TS29503_Nudm_UECM.yaml new file mode 100644 index 0000000000000000000000000000000000000000..677355b75500f23c27e545a846d522ef3ab60f02 --- /dev/null +++ b/TS29503_Nudm_UECM.yaml @@ -0,0 +1,3589 @@ +openapi: 3.0.0 + +info: + version: '1.3.0-alpha.5' + title: 'Nudm_UECM' + description: | + Nudm Context Management Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 18.4.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-uecm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-uecm + - {} + +paths: + /{ueId}/registrations: + get: + summary: retrieve UE registration data sets + operationId: GetRegistrations + tags: + - UECM Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: registration-dataset-names + in: query + style: form + explode: false + description: List of UECM registration dataset names + required: true + schema: + $ref: '#/components/schemas/RegistrationDatasetNames' + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: dnn + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/RegistrationDataSets' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/send-routing-info-sm: + post: + summary: Retreive addressing information for SMS delivery + operationId: SendRoutingInfoSm + tags: + - SendRoutingInfoSM (Custom Operation) + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoutingInfoSmRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/RoutingInfoSmResponse' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/amf-3gpp-access: + put: + summary: register as AMF for 3GPP access + operationId: 3GppRegistration + tags: + - AMF registration for 3GPP access + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:amf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/amf-3gpp-access' + required: true + schema: + type: string + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + deregistrationNotification: + '{request.body#/deregCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeregistrationData' + responses: + '204': + description: Successful Notification response + '200': + description: Successful Notification response with information to UDM + content: + application/json: + schema: + $ref: '#/components/schemas/DeregistrationRespData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + pcscfRestorationNotification: + '{request.body#/pcscfRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcscfRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + dataRestorationNotification: + '{request.body#/dataRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + reauthNotification: + '{request.body#/reauthNotifyCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ReauthNotificationInfo' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + patch: + summary: Update a parameter in the AMF registration for 3GPP access + operationId: Update3GppRegistration + tags: + - Parameter update in the AMF registration for 3GPP access + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:amf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistrationModification' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: retrieve the AMF registration for 3GPP access information + operationId: Get3GppRegistration + tags: + - AMF 3Gpp-access Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/amf-3gpp-access/dereg-amf: + post: + summary: trigger AMF for 3GPP access deregistration + operationId: deregAMF + tags: + - Trigger AMF for 3GPP access deregistration + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:amf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfDeregInfo' + required: true + responses: + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/amf-3gpp-access/pei-update: + post: + summary: Updates the PEI in the 3GPP access registration context + operationId: PeiUpdate + tags: + - PEI Update + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:amf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PeiUpdateInfo' + required: true + responses: + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/amf-3gpp-access/roaming-info-update: + post: + summary: Update the Roaming Information + operationId: UpdateRoamingInformation + tags: + - Roaming Information Update + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:roaming-info-update:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoamingInfoUpdate' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/RoamingInfoUpdate' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm//{ueId}/registrations/amf-3gpp-access/roaming-info-update' + required: true + schema: + type: string + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/amf-non-3gpp-access: + put: + summary: register as AMF for non-3GPP access + operationId: Non3GppRegistration + tags: + - AMF registration for non-3GPP access + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:amf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/amf-non-3gpp-access' + required: true + schema: + type: string + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + '204': + description: No Content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + deregistrationNotification: + '{request.body#/deregCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeregistrationData' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + pcscfRestorationNotification: + '{request.body#/pcscfRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcscfRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + dataRestorationNotification: + '{request.body#/dataRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + reauthNotification: + '{request.body#/reauthNotifyCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ReauthNotificationInfo' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + patch: + summary: update a parameter in the AMF registration for non-3GPP access + operationId: UpdateNon3GppRegistration + tags: + - Parameter update in the AMF registration for non-3GPP access + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:amf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistrationModification' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: retrieve the AMF registration for non-3GPP access information + operationId: GetNon3GppRegistration + tags: + - AMF non-3GPP-access Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/smf-registrations: + get: + summary: retrieve the SMF registration information + operationId: GetSmfRegistration + tags: + - SMF SmfRegistration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: dnn + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistrationInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/smf-registrations/{pduSessionId}: + put: + summary: register as SMF + operationId: Registration + tags: + - SMF SmfRegistration + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:smf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: pduSessionId + in: path + description: Identifier of the PDU session + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/smf-registrations/{pduSessionId}' + required: true + schema: + type: string + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + deregistrationNotification: + '{request.body#/deregCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeregistrationData' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + pcscfRestorationNotification: + '{request.body#/pcscfRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcscfRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + dataRestorationNotification: + '{request.body#/dataRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + staleCheckNotification: + '{request.body#/staleCheckCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PduSessionIds' + responses: + '200': + description: Partial Success + content: + application/json: + schema: + $ref: '#/components/schemas/PduSessionIds' + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: delete an SMF registration + operationId: SmfDeregistration + tags: + - SMF Deregistration + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:smf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: pduSessionId + in: path + description: Identifier of the PDU session + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + - name: smf-set-id + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + - name: smf-instance-id + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: smf-events-implicitly-unsubscribed + in: query + description: Indication on SMF event subscriptions implicitly unsubscribed. + required: false + schema: + type: boolean + enum: + - true + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: get an SMF registration + operationId: RetrieveSmfRegistration + tags: + - Retrieve SMF Registration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: pduSessionId + in: path + description: Identifier of the PDU session + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: update a parameter in the SMF registration + operationId: UpdateSmfRegistration + tags: + - Parameter update in the SMF registration + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:smf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: pduSessionId + in: path + description: Identifier of the PDU session + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/SmfRegistrationModification' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/smsf-3gpp-access: + put: + summary: register as SMSF for 3GPP access + operationId: 3GppSmsfRegistration + tags: + - SMSF registration for 3GPP access + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:smsf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/smsf-3gpp-access' + required: true + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in IETF RFC 9110, 2.3 + schema: + type: string + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + headers: + ETag: + description: Entity Tag, containing a strong validator, as described in IETF RFC 9110, 2.3 + schema: + type: string + '204': + description: No content + headers: + ETag: + description: Entity Tag, containing a strong validator, as described in IETF RFC 9110, 2.3 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + dataRestorationNotification: + '{request.body#/dataRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: delete the SMSF registration for 3GPP access + operationId: 3GppSmsfDeregistration + tags: + - SMSF Deregistration for 3GPP Access + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:smsf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: smsf-set-id + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + - name: If-Match + in: header + description: Validator for conditional requests, as described in IETF RFC 9110, 3.1 + schema: + type: string + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: retrieve the SMSF registration for 3GPP access information + operationId: Get3GppSmsfRegistration + tags: + - SMSF 3GPP access Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: update a parameter in the SMSF registration for 3GPP access + operationId: UpdateSmsf3GppRegistration + tags: + - Parameter update in the SMSF registration for 3GPP access + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:smsf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/SmsfRegistrationModification' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/smsf-non-3gpp-access: + put: + summary: register as SMSF for non-3GPP access + operationId: Non3GppSmsfRegistration + tags: + - SMSF registration for non-3GPP access + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:smsf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/smsf-non-3gpp-access' + required: true + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in IETF RFC 9110, 2.3 + schema: + type: string + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + headers: + ETag: + description: Entity Tag, containing a strong validator, as described in IETF RFC 9110, 2.3 + schema: + type: string + '204': + description: No content + headers: + ETag: + description: Entity Tag, containing a strong validator, as described in IETF RFC 9110, 2.3 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + dataRestorationNotification: + '{request.body#/dataRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: delete SMSF registration for non 3GPP access + operationId: Non3GppSmsfDeregistration + tags: + - SMSF Deregistration for non-3GPP access + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:smsf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: smsf-set-id + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + - name: If-Match + in: header + description: Validator for conditional requests, as described in IETF RFC 9110, 3.1 + schema: + type: string + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: retrieve the SMSF registration for non-3GPP access information + operationId: GetNon3GppSmsfRegistration + tags: + - SMSF non-3GPP access Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: update a parameter in the SMSF registration for non-3GPP access + operationId: UpdateSmsfNon3GppRegistration + tags: + - Parameter update in the SMSF registration for non-3GPP access + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:smsf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/SmsfRegistrationModification' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/ip-sm-gw: + put: + summary: Register an IP-SM-GW + operationId: IpSmGwRegistration + tags: + - IP-SM-GW registration + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:ip-sm-gw-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/ip-sm-gw' + required: true + schema: + type: string + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: Delete the IP-SM-GW registration + operationId: IpSmGwDeregistration + tags: + - IP-SM-GW Deregistration + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:ip-sm-gw-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: Retrieve the IP-SM-GW registration information + operationId: GetIpSmGwRegistration + tags: + - IP-SM-GW Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /restore-pcscf: + post: + summary: Trigger the Restoration of the P-CSCF + operationId: Trigger P-CSCF Restoration + tags: + - Trigger P-CSCF Restoration + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerRequest' + required: true + responses: + '204': + description: Successful response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/location: + get: + summary: retrieve the target UE's location information + operationId: GetLocationInfo + tags: + - UE Location Information retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LocationInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/nwdaf-registrations: + get: + summary: retrieve the NWDAF registration + operationId: GetNwdafRegistration + tags: + - NWDAF Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: analytics-ids + in: query + description: List of analytics Id(s) provided by the consumers of NWDAF. + schema: + type: array + items: + $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/EventId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NwdafRegistration' + minItems: 1 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/nwdaf-registrations/{nwdafRegistrationId}: + put: + summary: register as NWDAF + operationId: NwdafRegistration + tags: + - NWDAF registration + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:nwdaf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: nwdafRegistrationId + in: path + description: NWDAF registration identifier + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NwdafRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/NwdafRegistration' + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/NwdafRegistration' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + delete: + summary: delete an NWDAF registration + operationId: NwdafDeregistration + tags: + - NWDAF Deregistration + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:nwdaf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: nwdafRegistrationId + in: path + description: NWDAF registration identifier + required: true + schema: + type: string + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + patch: + summary: Update a parameter in the NWDAF registration + operationId: UpdateNwdafRegistration + tags: + - Parameter update in the NWDAF registration + security: + - {} + - oAuth2ClientCredentials: + - nudm-uecm + - oAuth2ClientCredentials: + - nudm-uecm + - nudm-uecm:nwdaf-registration:write + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: nwdafRegistrationId + in: path + description: NWDAF registration identifier + required: true + schema: + type: string + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/NwdafRegistrationModification' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/NwdafRegistration' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/auth-trigger: + get: + summary: trigger the primary (re-)authentication + operationId: authTrigger + tags: + - Trigger the primary (re-)authentication + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthTriggerInfo' + required: true + responses: + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-uecm: Access to the nudm-uecm API + nudm_uecm:amf-registration:write: Write access (update/modify) to representations of the Amf3GppAccessRegistration and AmfNon3GppAccessRegistration resources + nudm_uecm:smf-registration:write: Write access (create/delete/modify) to the representations of individualSmfRegistration resources + nudm_uecm:smsf-registration:write: Write access (create/delete/modify) to representations of the Smsf3GppAccessRegistration and SmsfNon3GppAccessRegistration resources + nudm_uecm:ip-sm-gw-registration:write: Write access (create/delete/modify) to the representation of the IpSmGwRegistration resource + nudm_uecm:nwdaf-registration:write: Write access (create/delete/modify) to the representation of the NwdafRegistration resource + + + schemas: + +# COMPLEX TYPES: + + Amf3GppAccessRegistration: + description: > + This datatype contains the set of information relevant to the AMF where the UE + has registered via 3GPP access. + type: object + required: + - amfInstanceId + - deregCallbackUri + - guami + - ratType + properties: + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + purgeFlag: + $ref: '#/components/schemas/PurgeFlag' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + imsVoPs: + $ref: '#/components/schemas/ImsVoPs' + deregCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amfServiceNameDereg: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + pcscfRestorationCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amfServiceNamePcscfRest: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + initialRegistrationInd: + type: boolean + emergencyRegistrationInd: + type: boolean + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + minItems: 1 + drFlag: + $ref: '#/components/schemas/DualRegistrationFlag' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + urrpIndicator: + type: boolean + amfEeSubscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + epsInterworkingInfo: + $ref: '#/components/schemas/EpsInterworkingInfo' + ueSrvccCapability: + type: boolean + registrationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + vgmlcAddress: + $ref: '#/components/schemas/VgmlcAddress' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + noEeSubscriptionInd: + type: boolean + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + ueReachableInd: + $ref: '#/components/schemas/UeReachableInd' + reRegistrationRequired: + type: boolean + adminDeregSubWithdrawn: + type: boolean + dataRestorationCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + resetIds: + type: array + items: + type: string + minItems: 1 + disasterRoamingInd: + type: boolean + default: false + ueMINTCapability: + type: boolean + sorSnpnSiSupported: + type: boolean + default: false + udrRestartInd: + type: boolean + default: false + lastSynchronizationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + + Amf3GppAccessRegistrationModification: + description: > + This datatype contains the set of attributes obtained from type + Amf3GppAccessRegistration by deleting attributes that are not subject to + modification by HTTP PATCH method. + type: object + required: + - guami + properties: + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + purgeFlag: + $ref: '#/components/schemas/PurgeFlag' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + imsVoPs: + $ref: '#/components/schemas/ImsVoPs' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + epsInterworkingInfo: + $ref: '#/components/schemas/EpsInterworkingInfo' + ueSrvccCapability: + type: boolean + nullable: true + ueMINTCapability: + type: boolean + + EpsInterworkingInfo: + description: > + This information element contains the associations between APN/DNN and PGW-C+SMF + selected by the AMF for EPS interworking. + type: object + properties: + epsIwkPgws: + description: A map (list of key-value pairs where Dnn serves as key) of EpsIwkPgws + type: object + additionalProperties: + $ref: '#/components/schemas/EpsIwkPgw' + + EpsIwkPgw: + description: + This datatype signifies the PGW FQDN, SMF instance ID and the PLMNId location. + type: object + required: + - pgwFqdn + - smfInstanceId + properties: + pgwFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + + AmfNon3GppAccessRegistration: + description: > + Represents the complete set of information relevant to the AMF when the UE has registered + via non 3GPP access. + type: object + required: + - amfInstanceId + - imsVoPs + - deregCallbackUri + - guami + - ratType + properties: + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + purgeFlag: + $ref: '#/components/schemas/PurgeFlag' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + imsVoPs: + $ref: '#/components/schemas/ImsVoPs' + deregCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amfServiceNameDereg: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + pcscfRestorationCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amfServiceNamePcscfRest: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + minItems: 1 + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + urrpIndicator: + type: boolean + amfEeSubscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + registrationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + vgmlcAddress: + $ref: '#/components/schemas/VgmlcAddress' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + noEeSubscriptionInd: + type: boolean + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + reRegistrationRequired: + type: boolean + adminDeregSubWithdrawn: + type: boolean + dataRestorationCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + resetIds: + type: array + items: + type: string + minItems: 1 + disasterRoamingInd: + type: boolean + default: false + sorSnpnSiSupported: + type: boolean + default: false + udrRestartInd: + type: boolean + default: false + lastSynchronizationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + AmfNon3GppAccessRegistrationModification: + description: > + This data type contains attributes of AmfNon3GppAccessRegistration that can be + modified using PATCH. + type: object + required: + - guami + properties: + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + purgeFlag: + $ref: '#/components/schemas/PurgeFlag' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + imsVoPs: + $ref: '#/components/schemas/ImsVoPs' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + + SmfRegistration: + description: > + This datatype contains a complete set of mandatory information relevant to an SMF + serving the UE. + type: object + required: + - smfInstanceId + - pduSessionId + - singleNssai + - plmnId + properties: + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + singleNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + emergencyServices: + type: boolean + pcscfRestorationCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + pgwFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + pgwIpAddr: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/IpAddress' + epdgInd: + type: boolean + default: false + deregCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + registrationReason: + $ref: '#/components/schemas/RegistrationReason' + registrationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + dataRestorationCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + resetIds: + type: array + items: + type: string + minItems: 1 + udrRestartInd: + type: boolean + default: false + lastSynchronizationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + pduSessionReActivationRequired: + type: boolean + default: false + staleCheckCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + udmStaleCheckCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + wildcardInd: + type: boolean + + PduSessionIds: + type: object + properties: + pduSessionIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + minItems: 1 + + SmsfRegistration: + description: > + This datatype contains SMSF registration for 3GPP access that is created or updated + with the received information. + type: object + required: + - smsfInstanceId + - plmnId + properties: + smsfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smsfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + smsfMAPAddress: + $ref: '#/components/schemas/E164Number' + smsfDiameterAddress: + $ref: '#/components/schemas/NetworkNodeDiameterAddress' + registrationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + dataRestorationCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + resetIds: + type: array + items: + type: string + minItems: 1 + smsfSbiSupInd: + type: boolean + default: false + udrRestartInd: + type: boolean + default: false + lastSynchronizationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueMemoryAvailableInd: + type: boolean + enum: + - true + + DeregistrationData: + description: > + This datatype is supported by the POST HTTP method, and it includes the + deregistration data. + type: object + required: + - deregReason + properties: + deregReason: + $ref: '#/components/schemas/DeregistrationReason' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + newSmfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + PcscfRestorationNotification: + description: > + This datatype contains the SUPI optionally addresses the failed P-CSCF. It is + supported by the POST HTTP method. + type: object + required: + - supi + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + failedPcscf: + $ref: '#/components/schemas/PcscfAddress' + + NetworkNodeDiameterAddress: + description: > + This data type is a part of smsfDiameterAddress and it should be present + whenever smsf supports Diameter protocol. + type: object + required: + - name + - realm + properties: + name: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + realm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + + TriggerRequest: + description: > + This data type identifies if the NF service consumer requires to trigger P-CSCF + restoration. + type: object + required: + - supi + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + failedPcscf: + $ref: '#/components/schemas/PcscfAddress' + + SmfRegistrationInfo: + description: This data type provides information about the SMF registration information. + type: object + required: + - smfRegistrationList + properties: + smfRegistrationList: + type: array + items: + $ref: '#/components/schemas/SmfRegistration' + minItems: 1 + + IpSmGwRegistration: + description: This data type contains the IP-SW-GW routing information. + type: object + anyOf: + - required: [ ipSmGwMapAddress ] + - required: [ ipSmGwDiameterAddress ] + - required: [ ipsmgwIpv4 ] + - required: [ ipsmgwIpv6 ] + - required: [ ipsmgwFqdn ] + properties: + ipSmGwMapAddress: + $ref: '#/components/schemas/E164Number' + ipSmGwDiameterAddress: + $ref: '#/components/schemas/NetworkNodeDiameterAddress' + ipsmgwIpv4: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipsmgwIpv6: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + ipsmgwFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + unriIndicator: + type: boolean + default: false + resetIds: + type: array + items: + type: string + minItems: 1 + ipSmGwSbiSupInd: + type: boolean + default: false + + + AmfDeregInfo: + description: This data type contains the reason of deregistration. + type: object + required: + - deregReason + properties: + deregReason: + $ref: '#/components/schemas/DeregistrationReason' + + LocationInfo: + description: This data type contains the UE's location information in 5GC. + type: object + required: + - registrationLocationInfoList + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + registrationLocationInfoList: + type: array + items: + $ref: '#/components/schemas/RegistrationLocationInfo' + minItems: 1 + maxItems: 2 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + RegistrationLocationInfo: + description: > + This data type contains the information about serving AMF, optional VGMLC and + access type related information used by (H)GMLC. + type: object + required: + - amfInstanceId + - accessTypeList + properties: + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + vgmlcAddress: + $ref: '#/components/schemas/VgmlcAddress' + accessTypeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + maxItems: 2 + + VgmlcAddress: + description: > + This data type contains the address(es) of VGMLC. + Depending on the names of Vgmlcaddress, it could indicate either VGMLC IPv4 or IPv6 + address. + type: object + properties: + vgmlcAddressIpv4: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + vgmlcAddressIpv6: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + vgmlcFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + + PeiUpdateInfo: + description: This data type contains information about the PEI. + type: object + required: + - pei + properties: + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + + RegistrationDatasetNames: + description: Represents the UECM registration dataset names. + type: array + items: + $ref: '#/components/schemas/RegistrationDataSetName' + minItems: 2 + uniqueItems: true + + RegistrationDataSets: + description: > + This data type contains all the attributes related to 3GPP access and + non-access registration. + type: object + properties: + amf3Gpp: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + amfNon3Gpp: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + smfRegistration: + $ref: '#/components/schemas/SmfRegistrationInfo' + smsf3Gpp: + $ref: '#/components/schemas/SmsfRegistration' + smsfNon3Gpp: + $ref: '#/components/schemas/SmsfRegistration' + ipSmGw: + $ref: '#/components/schemas/IpSmGwRegistration' + nwdafRegistration: + $ref: '#/components/schemas/NwdafRegistrationInfo' + + NwdafRegistration: + description: The complete set of information relevant to an NWDAF serving the UE + type: object + required: + - nwdafInstanceId + - analyticsIds + properties: + nwdafInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + analyticsIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/EventId' + minItems: 1 + nwdafSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + registrationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resetIds: + type: array + items: + type: string + minItems: 1 + + NwdafRegistrationModification: + description: Contains attributes of NwdafRegistration that can be modified using PATCH + type: object + required: + - nwdafInstanceId + properties: + nwdafInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nwdafSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + analyticsIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/EventId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + SmfRegistrationModification: + description: Contains attributes of SmfRegistration that can be modified using PATCH + type: object + required: + - smfInstanceId + properties: + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + pgwFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/FqdnRm' + + DataRestorationNotification: + description: Contains identities representing those UEs potentially affected by a data-loss event at the UDR + type: object + properties: + lastReplicationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + supiRanges: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SupiRange' + minItems: 1 + gpsiRanges: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IdentityRange' + minItems: 1 + resetIds: + type: array + items: + type: string + minItems: 1 + sNssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + dnnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + udmGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + + RoamingInfoUpdate: + description: Contains the Roaming Information Update + type: object + required: + - servingPlmn + properties: + roaming: + type: + boolean + servingPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + + PcscfAddress: + description: Contains the addressing information (IP addresses and/or FQDN) of the P-CSCF + type: object + anyOf: + - required: [ipv4Addrs] + - required: [ipv6Addrs] + - required: [fqdn] + properties: + ipv4Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + fqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + + NwdafRegistrationInfo: + description: List of NwdafRegistration + type: object + required: + - nwdafRegistrationList + properties: + nwdafRegistrationList: + type: array + items: + $ref: '#/components/schemas/NwdafRegistration' + minItems: 1 + + RoutingInfoSmRequest: + description: Request body of the send-routing-info-sm custom operation + type: object + properties: + ipSmGwInd: + type: boolean + default: false + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + RoutingInfoSmResponse: + description: Addressing information of available nodes for SMS delivery + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + smsf3Gpp: + $ref: '#/components/schemas/SmsfRegistration' + smsfNon3Gpp: + $ref: '#/components/schemas/SmsfRegistration' + ipSmGw: + $ref: '#/components/schemas/IpSmGwInfo' + smsRouter: + $ref: '#/components/schemas/SmsRouterInfo' + + IpSmGwInfo: + description: Contains the IP-SM-GW Information + type: object + properties: + ipSmGwRegistration: + $ref: '#/components/schemas/IpSmGwRegistration' + ipSmGwGuidance: + $ref: '#/components/schemas/IpSmGwGuidance' + + IpSmGwGuidance: + description: > + Contains guidance information (e.g. minimum and recommended delivery times) of the IP-SM-GW + type: object + required: + - minDeliveryTime + - recommDeliveryTime + properties: + minDeliveryTime: + type: integer + minimum: 30 + maximum: 600 + recommDeliveryTime: + type: integer + minimum: 30 + maximum: 600 + + SmsRouterInfo: + description: Addressing information of the SMS Router configured at the UDM + type: object + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + diameterAddress: + $ref: '#/components/schemas/NetworkNodeDiameterAddress' + mapAddress: + $ref: '#/components/schemas/E164Number' + routerIpv4: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + routerIpv6: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + routerFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + + SmsfRegistrationModification: + description: Contains attributes of SmsfRegistration that can be modified using PATCH + type: object + required: + - smsfInstanceId + properties: + smsfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smsfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + ueMemoryAvailableInd: + type: boolean + enum: + - true + + ReauthNotificationInfo: + description: Contains the SUPI to identify the UE that is subject to reauthentication + type: object + required: + - supi + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + + AuthTriggerInfo: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + + DeregistrationRespData: + type: object + properties: + smfEventRemovedInd: + type: boolean + enum: + - true + +# SIMPLE TYPES: + + PurgeFlag: + description: > + This flag indicates whether an AMF is deregistered. This attribute may be included + in notifications sent by the UDR to the UDM if purgeFlag is also set to true in the + same notification. + type: boolean + + E164Number: + description: > + This data type mentions International E.164 number of the SMSF; shall be present if + the SMSF supports MAP. + type: string + pattern: '^[0-9]{1,15}$' + + DualRegistrationFlag: + description: > + This data type indicates that the UDM+HSS is requested not to send S6a-CLR + to the registered MME/SGSN (if any). + type: boolean + +# ENUMS: + + ImsVoPs: + description: > + It represents the information indicating homogeneity of + IMS Voice over PS Sessions support for the UE + anyOf: + - type: string + enum: + - HOMOGENEOUS_SUPPORT + - HOMOGENEOUS_NON_SUPPORT + - NON_HOMOGENEOUS_OR_UNKNOWN + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + DeregistrationReason: + description: > + It represents the reason of Deregistration Notification. + anyOf: + - type: string + enum: + - UE_INITIAL_REGISTRATION + - UE_REGISTRATION_AREA_CHANGE + - SUBSCRIPTION_WITHDRAWN + - 5GS_TO_EPS_MOBILITY + - 5GS_TO_EPS_MOBILITY_UE_INITIAL_REGISTRATION + - REREGISTRATION_REQUIRED + - SMF_CONTEXT_TRANSFERRED + - DUPLICATE_PDU_SESSION + - PDU_SESSION_REACTIVATION_REQUIRED + - DISASTER_CONDITION_TERMINATED + - OPERATOR_DETERMINED_BARRING + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + + RegistrationReason: + description: > + Indicates NF registration reason. + anyOf: + - type: string + enum: + - SMF_CONTEXT_TRANSFERRED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + RegistrationDataSetName: + description: > + Indicates the names of registration data sets to be retrieved. + anyOf: + - type: string + enum: + - AMF_3GPP + - AMF_NON_3GPP + - SMF_PDU_SESSIONS + - SMSF_3GPP + - SMSF_NON_3GPP + - IP_SM_GW + - NWDAF + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + UeReachableInd: + description: UE Reachable Indication + anyOf: + - type: string + enum: + - REACHABLE + - NOT_REACHABLE + - UNKNOWN + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + diff --git a/TS29503_Nudm_UEID.yaml b/TS29503_Nudm_UEID.yaml new file mode 100644 index 0000000000000000000000000000000000000000..239904e4fab7cd4a1e24e0d97344454b6313b858 --- /dev/null +++ b/TS29503_Nudm_UEID.yaml @@ -0,0 +1,98 @@ +openapi: 3.0.0 +info: + version: '1.0.0' + title: 'Nudm_UEIdentifier' + description: | + UDM UE Identifier Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 17.10.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-ueid/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-ueid + - {} + +paths: + /deconceal: + post: + summary: Deconceal the SUCI to the SUPI + operationId: Deconceal + tags: + - Deconceal + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeconcealReqData' + required: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/DeconcealRspData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-ueid: Access to the nudm-ueid API + + + schemas: + +# COMPLEX TYPES: + + DeconcealReqData: + description: Deconceal Request Data + type: object + required: + - suci + properties: + suci: + $ref: 'TS29509_Nausf_UEAuthentication.yaml#/components/schemas/Suci' + + DeconcealRspData: + description: Deconceal Response Data + type: object + required: + - supi + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + +# SIMPLE TYPES: + + +# ENUMS: diff --git a/TS29504_CustomHeaders.abnf b/TS29504_CustomHeaders.abnf new file mode 100644 index 0000000000000000000000000000000000000000..bfe7238552931069a4a11557488ba097fa58f518 --- /dev/null +++ b/TS29504_CustomHeaders.abnf @@ -0,0 +1,109 @@ +; ---------------------------------------- +; RFC 5234 +; ---------------------------------------- + +HTAB = %x09 ; horizontal tab + +LF = %x0A ; linefeed + +CR = %x0D ; carriage return + +SP = %x20 + +DQUOTE = %x22 ; " (Double Quote) + +DIGIT = %x30-39 ; 0-9 + +ALPHA = %x41-5A / %x61-7A ; A-Z / a-z + +VCHAR = %x21-7E ; visible (printing) characters + +WSP = SP / HTAB ; white space + +CRLF = CR LF ; Internet standard newline + + + +; ---------------------------------------- +; RFC 5322 +; ---------------------------------------- + +obs-FWS = 1*WSP *( CRLF 1*WSP ) + +FWS = ( [ *WSP CRLF ] 1*WSP ) / obs-FWS + +obs-NO-WS-CTL = %d1-8 / %d11 / %d12 / %d14-31 / %d127 + +obs-ctext = obs-NO-WS-CTL + +ctext = %d33-39 / %d42-91 / %d93-126 / obs-ctext + +obs-qp = "\" ( obs-NO-WS-CTL / LF / CR ) + +quoted-pair = ( "\" ( VCHAR / WSP ) ) / obs-qp + +ccontent = ctext / quoted-pair / comment + +comment = "(" *( [ FWS ] ccontent ) [ FWS ] ")" + + + +; ---------------------------------------- +; RFC 7230 +; ---------------------------------------- + +OWS = *( SP / HTAB ) + +tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" + / "." / "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA + +token = 1*tchar + +obs-text = %x80-FF + + + +; ---------------------------------------- +; RFC 7232 +; ---------------------------------------- + +entity-tag = [ weak ] opaque-tag + +weak = %x57.2F ; "W/", case-sensitive + +opaque-tag = DQUOTE *etagc DQUOTE + +etagc = %x21 / %x23-7E / obs-text ; VCHAR except double quotes, plus obs-text + + + +; ---------------------------------------- +; 3GPP TS 29.504 +; +; Version: 18.3.0 (September 2023) +; +; (c) 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). +; ---------------------------------------- + +; +; Header: 3gpp-Sbi-Notification-Correlation +; + +Sbi-Notification-Correlation-Header = "3gpp-Sbi-Notification-Correlation:" OWS subscriptionId + *( OWS "," OWS subscriptionId ) OWS + +subscriptionId = token + + + +; +; Header: 3gpp-Sbi-Etags +; + +Sbi-Etags-Header = "3gpp-Sbi-Etags:" OWS datasetEtag *( OWS "," OWS datasetEtag ) OWS + +datasetEtag = dataSetName "=" entity-tag + +dataSetName = UeSubscribedDataSetName + +UeSubscribedDataSetName = 1*( ALPHA / DIGIT / "_" ) diff --git a/TS29504_Nudr_DR.yaml b/TS29504_Nudr_DR.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8080d2d0c82903ed2daae2b392739fc102e04fe6 --- /dev/null +++ b/TS29504_Nudr_DR.yaml @@ -0,0 +1,419 @@ +openapi: 3.0.0 + +info: + version: 2.3.0-alpha.5 + title: 'Nudr_DataRepository API OpenAPI file' + description: | + Unified Data Repository Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.504 V18.4.0; 5G System; Unified Data Repository Services; Stage 3 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.504/' + +servers: + - description: API root + url: '{apiRoot}/nudr-dr/v2' + variables: + apiRoot: + default: https://example.com + +security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + +paths: + /subscription-data/{ueId}/authentication-data/authentication-subscription: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1authentication-data~1authentication-subscription' + /subscription-data/{ueId}/authentication-data/authentication-status: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1authentication-data~1authentication-status' + /subscription-data/{ueId}/authentication-data/authentication-status/{servingNetworkName}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1authentication-data~1authentication-status~1%7BservingNetworkName%7D' + /subscription-data/{ueId}/ue-update-confirmation-data/sor-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ue-update-confirmation-data~1sor-data' + /subscription-data/{ueId}/ue-update-confirmation-data/upu-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ue-update-confirmation-data~1upu-data' + /subscription-data/{ueId}/ue-update-confirmation-data/subscribed-cag: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ue-update-confirmation-data~1subscribed-cag' + /subscription-data/{ueId}/ue-update-confirmation-data/subscribed-snssais: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ue-update-confirmation-data~1subscribed-snssais' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/am-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1am-data' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/smf-selection-subscription-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1smf-selection-subscription-data' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sm-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1sm-data' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/lcs-bca-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1lcs-bca-data' + /subscription-data/{ueId}/context-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data' + /subscription-data/{ueId}/context-data/amf-3gpp-access: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1amf-3gpp-access' + /subscription-data/{ueId}/context-data/amf-non-3gpp-access: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1amf-non-3gpp-access' + /subscription-data/{ueId}/context-data/smf-registrations: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smf-registrations' + /subscription-data/{ueId}/context-data/smf-registrations/{pduSessionId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smf-registrations~1%7BpduSessionId%7D' + /subscription-data/{ueId}/operator-specific-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1operator-specific-data' + /subscription-data/{ueId}/context-data/smsf-3gpp-access: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smsf-3gpp-access' + /subscription-data/{ueId}/context-data/smsf-non-3gpp-access: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smsf-non-3gpp-access' + /subscription-data/{ueId}/context-data/location: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1location' + /subscription-data/{ueId}/context-data/ip-sm-gw: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ip-sm-gw' + /subscription-data/{ueId}/context-data/mwd: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1mwd' + /subscription-data/{ueId}/context-data/roaming-information: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1roaming-information' + /subscription-data/{ueId}/context-data/pei-info: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1pei-info' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-mng-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1sms-mng-data' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1sms-data' + /subscription-data/{ueId}/lcs-privacy-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1lcs-privacy-data' + /subscription-data/{ueId}/lcs-mo-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1lcs-mo-data' + /subscription-data/{ueId}/lcs-subscription-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1lcs-subscription-data' + /subscription-data/{ueId}/pp-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1pp-data' + /subscription-data/{ueId}/context-data/ee-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions' + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions~1%7BsubsId%7D' + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/amf-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions~1%7BsubsId%7D~1amf-subscriptions' + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/smf-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions~1%7BsubsId%7D~1smf-subscriptions' + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/hss-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions~1%7BsubsId%7D~1hss-subscriptions' + /subscription-data/group-data/{ueGroupId}/ee-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-subscriptions' + /subscription-data/group-data/{ueGroupId}/ee-subscriptions/{subsId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-subscriptions~1%7BsubsId%7D' + /subscription-data/group-data/{ueGroupId}/ee-subscriptions/{subsId}/amf-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-subscriptions~1%7BsubsId%7D~1amf-subscriptions' + /subscription-data/group-data/{ueGroupId}/ee-subscriptions/{subsId}/smf-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-subscriptions~1%7BsubsId%7D~1smf-subscriptions' + /subscription-data/group-data/{ueGroupId}/ee-subscriptions/{subsId}/hss-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-subscriptions~1%7BsubsId%7D~1hss-subscriptions' + /subscription-data/group-data/{ueGroupId}/ee-profile-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-profile-data' + /subscription-data/group-data/5g-vn-groups: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~15g-vn-groups' + /subscription-data/group-data/5g-vn-groups/{externalGroupId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~15g-vn-groups~1%7BexternalGroupId%7D' + /subscription-data/group-data/5g-vn-groups/internal: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~15g-vn-groups~1internal' + /subscription-data/group-data/5g-vn-groups/pp-profile-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~15g-vn-groups~1pp-profile-data' + /subscription-data/group-data/mbs-group-membership: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1mbs-group-membership' + /subscription-data/group-data/mbs-group-membership/{externalGroupId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1mbs-group-membership~1%7BexternalGroupId%7D' + /subscription-data/group-data/mbs-group-membership/internal: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1mbs-group-membership~1internal' + /subscription-data/group-data/mbs-group-membership/pp-profile-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1mbs-group-membership~1pp-profile-data' + /subscription-data/{ueId}/ee-profile-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ee-profile-data' + /subscription-data/{ueId}/context-data/sdm-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1sdm-subscriptions' + /subscription-data/{ueId}/context-data/sdm-subscriptions/{subsId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1sdm-subscriptions~1%7BsubsId%7D' + /subscription-data/{ueId}/context-data/nidd-authorizations: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1nidd-authorizations' + /subscription-data/{ueId}/context-data/sdm-subscriptions/{subsId}/hss-sdm-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1sdm-subscriptions~1%7BsubsId%7D~1hss-sdm-subscriptions' + /subscription-data/shared-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1shared-data' + /subscription-data/shared-data/{sharedDataId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1shared-data~1%7BsharedDataId%7D' + /subscription-data/subs-to-notify: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1subs-to-notify' + /subscription-data/subs-to-notify/{subsId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1subs-to-notify~1%7BsubsId%7D' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/trace-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1trace-data' + /subscription-data/{ueId}/identity-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1identity-data' + /subscription-data/{ueId}/operator-determined-barring-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1operator-determined-barring-data' + /subscription-data/{ueId}/nidd-authorization-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1nidd-authorization-data' + /subscription-data/{ueId}/service-specific-authorization-data/{serviceType}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1service-specific-authorization-data~1%7BserviceType%7D' + /subscription-data/{ueId}/v2x-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1v2x-data' + /subscription-data/{ueId}/pp-profile-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1pp-profile-data' + /subscription-data/{ueId}/coverage-restriction-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1coverage-restriction-data' + /subscription-data/group-data/group-identifiers: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1group-identifiers' + /subscription-data/{ueId}/prose-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1prose-data' + /subscription-data/{ueId}/pp-data-store: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1pp-data-store' + /subscription-data/{ueId}/context-data/service-specific-authorizations/{serviceType}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1service-specific-authorizations~1%7BserviceType%7D' + /subscription-data/{ueId}/5mbs-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~15mbs-data' + /subscription-data/{ueId}/uc-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1uc-data' + /subscription-data/{ueId}/time-sync-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1time-sync-data' + /subscription-data/{ueId}/ranging-slpos-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ranging-slpos-data' + /subscription-data/{ueId}/a2x-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1a2x-data' + /policy-data/ues/{ueId}: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D' + /policy-data/ues/{ueId}/am-data: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1am-data' + /policy-data/ues/{ueId}/ue-policy-set: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1ue-policy-set' + /policy-data/ues/{ueId}/sm-data: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1sm-data' + /policy-data/ues/{ueId}/sm-data/{usageMonId}: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1sm-data~1%7BusageMonId%7D' + /policy-data/sponsor-connectivity-data/{sponsorId}: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1sponsor-connectivity-data~1%7BsponsorId%7D' + /policy-data/bdt-data: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1bdt-data' + /policy-data/bdt-data/{bdtReferenceId}: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1bdt-data~1%7BbdtReferenceId%7D' + /policy-data/subs-to-notify: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1subs-to-notify' + /policy-data/subs-to-notify/{subsId}: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1subs-to-notify~1%7BsubsId%7D' + /policy-data/ues/{ueId}/operator-specific-data: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1operator-specific-data' + /application-data/pfds: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1pfds' + /application-data/pfds/{appId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1pfds~1%7BappId%7D' + /application-data/influenceData: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData' +# The path segment is left not following the naming convention as defined in 3GPP TS 29.501 due to backward compatibility consideration. + /application-data/influenceData/{influenceId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData~1%7BinfluenceId%7D' +# The path segment is left not following the naming convention as defined in 3GPP TS 29.501 due to backward compatibility consideration. + /policy-data/plmns/{plmnId}/ue-policy-set: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1plmns~1%7BplmnId%7D~1ue-policy-set' + /application-data/bdtPolicyData: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1bdtPolicyData' +# The path segment is left not following the naming convention as defined in 3GPP TS 29.501 due to backward compatibility consideration. + /application-data/bdtPolicyData/{bdtPolicyId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1bdtPolicyData~1%7BbdtPolicyId%7D' +# The path segment is left not following the naming convention as defined in 3GPP TS 29.501 due to backward compatibility consideration. + /application-data/iptvConfigData: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1iptvConfigData' +# The path segment is left not following the naming convention as defined in 3GPP TS 29.501 due to backward compatibility consideration. + /application-data/iptvConfigData/{configurationId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1iptvConfigData~1%7BconfigurationId%7D' +# The path segment is left not following the naming convention as defined in 3GPP TS 29.501 due to backward compatibility consideration. + /application-data/serviceParamData: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1serviceParamData' +# The path segment is left not following the naming convention as defined in 3GPP TS 29.501 due to backward compatibility consideration. + /application-data/serviceParamData/{serviceParamId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1serviceParamData~1%7BserviceParamId%7D' +# The path segment is left not following the naming convention as defined in 3GPP TS 29.501 due to backward compatibility consideration. + /application-data/influenceData/subs-to-notify: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData~1subs-to-notify' +# The path segment is left not following the naming convention as defined in 3GPP TS 29.501 due to backward compatibility consideration. + /application-data/influenceData/subs-to-notify/{subscriptionId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData~1subs-to-notify~1%7BsubscriptionId%7D' +# The path segment is left not following the naming convention as defined in 3GPP TS 29.501 due to backward compatibility consideration. + /application-data/subs-to-notify: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1subs-to-notify' + /application-data/subs-to-notify/{subsId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1subs-to-notify~1%7BsubsId%7D' + /exposure-data/{ueId}/access-and-mobility-data: + $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1%7BueId%7D~1access-and-mobility-data' + /exposure-data/{ueId}/session-management-data/{pduSessionId}: + $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1%7BueId%7D~1session-management-data~1%7BpduSessionId%7D' + /exposure-data/subs-to-notify: + $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1subs-to-notify' + /exposure-data/subs-to-notify/{subId}: + $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1subs-to-notify~1%7BsubId%7D' + /data-restoration-events: + post: + # This is a pseudo operation, clients shall NOT invoke this method! + summary: subscribe to data restoration notifications + operationId: CreateIndividualSubcription + tags: + - Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: {} + responses: + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + restorationNotification: + '{dataRestorationCallbackUri}': + # The URI in {dataRestorationCallbackUri} is the default endpoint discovered from NRF. + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataRestorationNotification' + responses: + '204': + description: No Content, Notification was succesfull + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NF service consumer' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NF service consumer' + required: true + schema: + type: string + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudr-dr: Access to the Nudr_DataRepository API + nudr-dr:subscription-data: Access to the SubscriptionData data set + nudr-dr:subscription-data:authentication-subscription:read: Access to read the AuthenticationSubscription resource of the SubscriptionData data set + nudr-dr:subscription-data:authentication-subscription:modify: Access to update the AuthenticationSubscription resource of the SubscriptionData data set + nudr-dr:subscription-data:registrations:write: Write access to NF registration resources of the SubscriptionData data set + nudr-dr:policy-data: Access to the PolicyData data set + nudr-dr:policy-data:ues:read: Access to read the UEs resource + nudr-dr:policy-data:ues:am-data:read: Access to read the UEs Access and Mobility policy data + nudr-dr:policy-data:ues:ue-policy-set:read: Access to read the UEs Policy Set data + nudr-dr:policy-data:ues:ue-policy-set:create: Access to create the UEs Policy Set data + nudr-dr:policy-data:ues:ue-policy-set:modify: Access to update the UEs Policy Set data + nudr-dr:policy-data:ues:sm-data:read: Access to read the UEs Session Management Policy data + nudr-dr:policy-data:ues:sm-data:modify: Access to update the UEs Session Management Policy data + nudr-dr:policy-data:ues:sm-data:create: Access to create the UEs Session Management Policy data + nudr-dr:policy-data:sponsor-connectivity-data:read: Access to read the sponsored Connectivity Data + nudr-dr:policy-data:bdt-data:read: Access to read the BDT data resource + nudr-dr:policy-data:bdt-data:create: Access to create the BDT data resource + nudr-dr:policy-data:bdt-data:modify: Access to update the BDT data resource + nudr-dr:policy-data:subs-to-notify:create: Access to create Subscriptions resources + nudr-dr:policy-data:subs-to-notify:modify: Access to update Subscriptions resources + nudr-dr:policy-data:ues:operator-specific-data:read: Access to read the UEs operator specific policy data + nudr-dr:policy-data:ues:operator-specific-data:modify: Access to update the UEs operator specific policy data + nudr-dr:policy-data:ues:operator-specific-data:create: Access to create the UEs operator specific policy data + nudr-dr:policy-data:slice-control-data:read: Access to read Slice specific Policy Control Data + nudr-dr:policy-data:slice-control-data:modify: Access to update Slice specific Policy Control Data + nudr-dr:policy-data:group-control-data:read: Access to read Group Control Data + nudr-dr:policy-data:group-control-data:modify: Access to update Group Control Data + nudr-dr:exposure-data: Access to the ExposureData data set + nudr-dr:exposure-data:access-and-mobility-data:create: Access to create ExposureData + nudr-dr:exposure-data:access-and-mobility-data:read: Access to read ExposureData + nudr-dr:exposure-data:access-and-mobility-data:modify: Access to update ExposureData + nudr-dr:exposure-data:session-management-data:create: Access to create ExposureData + nudr-dr:exposure-data:session-management-data:read: Access to read ExposureData + nudr-dr:exposure-data:session-management-data:modify: Access to update ExposureData + nudr-dr:exposure-data:subs-to-notify:create: Access to create Subscriptions resources + nudr-dr:exposure-data:subs-to-notify:modify: Access to update Subscriptions resources + nudr-dr:application-data: Access to the ApplicationData data set + nudr-dr:application-data:pfds:read: Access to read PFDData + nudr-dr:application-data:pfds:modify: Access to update PFDData + nudr-dr:application-data:pfds:create: Access to create PFDData + nudr-dr:application-data:influence-data:read: Access to read Traffic Influence Data + nudr-dr:application-data:influence-data:create: Access to create Traffic Influence Data. + nudr-dr:application-data:influence-data:modify: Access to update Traffic Influence Data + nudr-dr:application-data:influence-data:subscriptions:read: Access to read Traffic Influence Data Subscriptions + nudr-dr:application-data:influence-data:subscriptions:create: Access to create Traffic Influence Data Subscriptions + nudr-dr:application-data:influence-data:subscriptions:modify: Access to update Traffic Influence Data Subscriptions + nudr-dr:application-data:bdt-policy-data:read: Access to read BDT Policy Data + nudr-dr:application-data:bdt-policy-data:create: Access to create BDT Policy Data + nudr-dr:application-data:bdt-policy-data:modify: Access to update BDT Policy Data + nudr-dr:application-data:iptv-config-data:read: Access to read IPTV Configuration Data + nudr-dr:application-data:iptv-config-data:create: Access to create IPTV Configuration Data + nudr-dr:application-data:iptv-config-data:modify: Access to update IPTV Configuration Data + nudr-dr:application-data:service-param-data:read: Access to read Service Parameter Data + nudr-dr:application-data:service-param-data:create: Access to create Service Parameter Data + nudr-dr:application-data:service-param-data:modify: Access to update Service Parameter Data + nudr-dr:application-data:am-influence-data:read: Access to read AM Influence Data + nudr-dr:application-data:am-influence-data:create: Access to create AM Influence Data + nudr-dr:application-data:am-influence-data:modify: Access to update AM Influence Data + nudr-dr:application-data:subs-to-notify:create: Access to create Subscriptions resources + nudr-dr:application-data:subs-to-notify:read: Access to read Subscriptions resources + nudr-dr:application-data:subs-to-notify:modify: Access to update Subscriptions resources + nudr-dr:application-data:eas-deploy-data:read: Access to read EAS Deployment Information Data + nudr-dr:application-data:eas-deploy-data:create: Access to create EAS Deployment Information Data + nudr-dr:application-data:eas-deploy-data:modify: Access to update EAS Deployment Information Data + nudr-dr:application-data:ecs-address-roaming:read: Access to read ECS Address Roaming Data + nudr-dr:application-data:ecs-address-roaming:create: Access to create ECS Address Roaming Data + nudr-dr:application-data:ecs-address-roaming:modify: Access to update ECS Address Roaming Data + nudr-dr:application-data:dnai-eas:read: Access to read DNAI-EAS Mapping Data + nudr-dr:application-data:af-qos-data-sets:read: Access to read AF Qos Data Sets + nudr-dr:application-data:af-qos-data-sets:create: Access to create AF Qos Data Sets + nudr-dr:application-data:af-qos-data-sets:modify: Access to update AF Qos Data Sets + + schemas: + DataRestorationNotification: + description: Contains identities representing those UEs potentially affected by a data-loss event at the UDR + type: object + properties: + supiRanges: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SupiRange' + minItems: 1 + gpsiRanges: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IdentityRange' + minItems: 1 + resetIds: + type: array + items: + type: string + minItems: 1 + sNssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + dnnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + udrGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' diff --git a/TS29504_Nudr_GroupIDmap.yaml b/TS29504_Nudr_GroupIDmap.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4626eb16ae8879ad27c10464b27868d78bdce7cd --- /dev/null +++ b/TS29504_Nudr_GroupIDmap.yaml @@ -0,0 +1,173 @@ +openapi: 3.0.0 + +info: + version: 1.2.0-alpha.2 + title: 'Nudr_GroupIDmap' + description: | + Unified Data Repository Service for NF-Group ID retrieval. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.504 V18.4.0; 5G System; Unified Data Repository Services; Stage 3 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.504/' + +servers: + - description: API root + url: '{apiRoot}/nudr-group-id-map/v1' + variables: + apiRoot: + default: https://example.com + +security: + - {} + - oAuth2ClientCredentials: + - nudr-group-id-map + +paths: + /nf-group-ids: + get: + summary: Retrieves NF-Group IDs for provided Subscriber and NF types + operationId: GetNfGroupIDs + tags: + - NF Group IDs (Document) + parameters: + - name: nf-type + in: query + description: Type of NF + required: true + style: form + explode: false + schema: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + minItems: 1 + - name: subscriberId +# The name of this query parameter is left not following the naming convention as defined in 3GPP TS 29.501 due to backward compatibility consideration. + in: query + description: Identifier of the subscriber + required: true + schema: + $ref: '#/components/schemas/SubscriberId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/NfGroupIdMapResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /routing-ids: + get: + summary: Retrieves Routing Indicators for the provided NF type and NF Group ID + operationId: GetRoutingIDs + tags: + - Routing IDs (Document) + parameters: + - name: nf-type + in: query + description: Type of NF + required: true + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + - name: nf-group-id + in: query + description: Identifier of the NF Group + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/RoutingIdResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudr-group-id-map: Access to the Nudr_GroupIDmap API + + + + schemas: + +# STRUCTURED TYPES: + + NfGroupIdMapResult: + description: > + Contains the NFGroupIds for the requested NF types. The NFType is the key of the map. + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + minProperties: 1 + + RoutingIdResult: + description: > + Contains the Routing Indicators for the requested NF type and NF Group ID. + type: object + properties: + routingIndicators: + type: array + items: + type: string + pattern: '^[0-9]{1,4}$' + minItems: 1 + +# SIMPLE TYPES: + + SubscriberId: + description: > + Represents the Subscription Identifier SUPI or GPSI or IMPI or IMPU, or Routing Indicator. + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|impi-.+|impu-.+|rid-[0-9]{1,4}|.+)$' + +# ENUMS: + diff --git a/TS29505_Subscription_Data.yaml b/TS29505_Subscription_Data.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9323872e2b9e3efc77df0ef1573eccd119dfabb2 --- /dev/null +++ b/TS29505_Subscription_Data.yaml @@ -0,0 +1,11126 @@ +openapi: 3.0.0 +info: + version: '-' + title: 'Unified Data Repository Service API file for subscription data' + description: | + Unified Data Repository Service (subscription data). + The API version is defined in 3GPP TS 29.504. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.505 V18.4.0; 5G System; Usage of the Unified Data Repository Service for subscription data; Stage 3 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.505/' + +paths: + + /subscription-data/{ueId}/authentication-data/authentication-subscription: + get: + summary: Retrieves the authentication subscription data of a UE + operationId: QueryAuthSubsData + tags: + - Authentication Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:authentication-subscription:read + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationSubscription' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: modify the authentication subscription data of a UE + operationId: ModifyAuthenticationSubscription + tags: + - Authentication Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:authentication-subscription:modify + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/authentication-data/authentication-status: + put: + summary: To store the Authentication Status data of a UE + operationId: CreateAuthenticationStatus + tags: + - Authentication Status (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/AuthEvent' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the Authentication Status of a UE + operationId: QueryAuthenticationStatus + tags: + - AuthEvent (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + description: Supported Features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/AuthEvent' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove the Authentication Status of a UE + operationId: DeleteAuthenticationStatus + tags: + - AuthEvent (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + responses: + '204': + description: Upon success, an empty response body shall be returned. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/authentication-data/authentication-status/{servingNetworkName}: + put: + summary: To store the individual Authentication Status data of a UE + operationId: CreateIndividualAuthenticationStatus + tags: + - Individual Authentication Status (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: servingNetworkName + in: path + description: Serving Network Name + required: true + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + requestBody: + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/AuthEvent' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the Individual Authentication Status of a UE + operationId: QueryIndividualAuthenticationStatus + tags: + - Individual AuthEvent (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: servingNetworkName + in: path + description: Serving Network Name + required: true + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + description: Supported Features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/AuthEvent' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove the Individual Authentication Status of a UE + operationId: DeleteIndividualAuthenticationStatus + tags: + - Individual AuthEvent (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: servingNetworkName + in: path + description: Serving Network Name + required: true + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + responses: + '204': + description: Upon success, an empty response body shall be returned. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ue-update-confirmation-data: + get: + summary: Retrieves the complete UE Update Confirmation data + operationId: QueryUeUpdConf + tags: + - UE Update Confirmation (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/UeUpdConfData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ue-update-confirmation-data/sor-data: + put: + summary: > + To store the SoR acknowledgement information of a UE, ME support of SOR CMCI, + and ME support of SOR-SNPN-SI and ME support of SOR-SNPN-SI-LS. + operationId: CreateAuthenticationSoR + tags: + - Authentication SoR (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SorData' + required: true + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: > + Retrieves the SoR acknowledgement information of a UE, ME support of SOR CMCI + ME support of SOR-SNPN-SI and ME support of SOR-SNPN-SI-LS + operationId: QueryAuthSoR + tags: + - Authentication SoR (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SorData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: > + Updates the ME support of SOR CMCI ME support of SOR-SNPN-SI + and ME support of SOR-SNPN-SI-LS information of a UE + operationId: UpdateAuthenticationSoR + tags: + - Authentication SoR (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ue-update-confirmation-data/upu-data: + put: + summary: To store the UPU acknowledgement information of a UE + operationId: CreateAuthenticationUPU + tags: + - Authentication UPU (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpuData' + required: true + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the UPU acknowledgement information of a UE + operationId: QueryAuthUPU + tags: + - Authentication UPU (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/UpuData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ue-update-confirmation-data/subscribed-snssais: + put: + summary: To store the NSSAI update acknowledgement information of a UE + operationId: CreateOrUpdateNssaiAck + tags: + - NSSAI update ack (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NssaiAckData' + required: true + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the UPU acknowledgement information of a UE + operationId: QueryNssaiAck + tags: + - NSSAI ACK (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/NssaiAckData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ue-update-confirmation-data/subscribed-cag: + put: + summary: To store the CAG update acknowledgement information of a UE + operationId: CreateCagUpdateAck + tags: + - CAG update ack (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CagAckData' + required: true + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the CAG acknowledgement information of a UE + operationId: QueryCagAck + tags: + - CAG ACK (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/CagAckData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data: + get: + summary: Retrieve multiple provisioned data sets of a UE + operationId: QueryProvisionedData + tags: + - Provisioned Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: dataset-names + in: query + description: List of dataset names + style: form + explode: false + schema: + $ref: '#/components/schemas/ProvisionedDatasetNames' + - name: adjacent-plmns + in: query + description: List of PLMNs adjacent to the UE's serving PLMN + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + style: form + explode: false + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: '#/components/schemas/VarSnssai' + description: single NSSAI + required: false + - name: dnn + in: query + description: DNN + required: false + schema: + $ref: '#/components/schemas/Dnn' + - name: ext-group-ids + in: query + description: List of external VN group identifiers + schema: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + minItems: 1 + style: form + explode: false + - name: uc-purpose + in: query + description: User consent purpose + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/UcPurpose' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ProvisionedDataSets' + headers: + 3gpp-Sbi-Etags: + description: A comma-separated list of ProvisionedDatasetName = Etag pairs + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/am-data: + get: + summary: Retrieves the access and mobility subscription data of a UE + operationId: QueryAmData + tags: + - Access And Mobility Subscription Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: adjacent-plmns + in: query + description: List of PLMNs adjacent to the UE's serving PLMN + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + style: form + explode: false + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.29110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.39110, 13.1.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilitySubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 91119111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.39110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.29110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/smf-selection-subscription-data: + get: + summary: Retrieves the SMF selection subscription data of a UE + operationId: QuerySmfSelectData + tags: + - SMF Selection Subscription Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.29110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.39110, 13.1.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSelectionSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 91119111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.39110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.29110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sm-data: + get: + summary: Retrieves the Session Management subscription data of a UE + operationId: QuerySmData + tags: + - Session Management Subscription Data + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: '#/components/schemas/VarSnssai' + description: single NSSAI + required: false + - name: dnn + in: query + description: DNN + required: false + schema: + $ref: '#/components/schemas/Dnn' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.29110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.39110, 13.1.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmSubsData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 91119111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.39110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.29110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/amf-3gpp-access: + get: + summary: Retrieves the AMF context data of a UE using 3gpp access + operationId: QueryAmfContext3gpp + tags: + - AMF 3GPP Access Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: To store the AMF context data of a UE using 3gpp access in the UDR + operationId: CreateAmfContext3gpp + tags: + - AMF 3GPP Access Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:registrations:write + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/amf-3gpp-access' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: To modify the AMF context data of a UE using 3gpp access in the UDR + operationId: AmfContext3gpp + tags: + - AMF 3GPP Access Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:registrations:write + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/amf-non-3gpp-access: + get: + summary: Retrieves the AMF context data of a UE using non-3gpp access + operationId: QueryAmfContextNon3gpp + tags: + - AMF Non-3GPP Access Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: To store the AMF context data of a UE using non-3gpp access in the UDR + operationId: CreateAmfContextNon3gpp + tags: + - AMF Non-3GPP Access Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:registrations:write + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/amf-non-3gpp-access' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: To modify the AMF context data of a UE using non 3gpp access in the UDR + operationId: AmfContextNon3gpp + tags: + - AMF Non-3GPP Access Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:registrations:write + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/smf-registrations: + get: + summary: Retrieves the SMF registration list of a UE + operationId: QuerySmfRegList + tags: + - SMF Registrations (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegList' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/smf-registrations/{pduSessionId}: + get: + summary: Retrieves the individual SMF registration of a UE + operationId: QuerySmfRegistration + tags: + - SMF Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: To create an individual SMF context data of a UE in the UDR + operationId: CreateOrUpdateSmfRegistration + tags: + - SMF Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:registrations:write + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + required: true + responses: + '201': + description: Upon success, a response body containing a representation of the created Individual SmfRegistration resource shall be returned + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/smf-registrations/{pduSessionId}' + required: true + schema: + type: string + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + staleCheckNotification: + '{request.body#/udmStaleCheckCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/SmfRegistrationInfo' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + delete: + summary: To remove an individual SMF context data of a UE the UDR + operationId: DeleteSmfRegistration + tags: + - SMF Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:registrations:write + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + responses: + '204': + description: Upon success, an empty response body shall be returned. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: To modify the SMF context data of a UE in the UDR + operationId: UpdateSmfContext + tags: + - SMF Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:registrations:write + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/operator-specific-data: + get: + summary: Retrieves the operator specific data of a UE + operationId: QueryOperSpecData + tags: + - Operator-Specific Data Container (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: object + description: A map(list of key-value pairs) where operator specific data element name serves as key + additionalProperties: + $ref: '#/components/schemas/OperatorSpecificDataContainer' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: To modify operator specific data of a UE + operationId: ModifyOperSpecData + tags: + - Operator-Specific Data Container (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: To create an operator-specific data resource of a UE + operationId: CreateOperSpecData + tags: + - Operator-Specific Data Container (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json: + schema: + type: object + description: A map (list of key-value pairs) where operator specific data element name serves as key + additionalProperties: + $ref: '#/components/schemas/OperatorSpecificDataContainer' + required: true + responses: + '201': + description: Upon success, a response body containing a representation of the created Operator Specific Data resource shall be returned + content: + application/json: + schema: + type: object + description: A map (list of key-value pairs) where operator specific data element name serves as key + additionalProperties: + $ref: '#/components/schemas/OperatorSpecificDataContainer' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/operator-specific-data' + required: true + schema: + type: string + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove an operator-specific data resource of a UE + operationId: DeleteOperSpecData + tags: + - Operator-Specific Data Container (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/smsf-3gpp-access: + put: + summary: Create the SMSF context data of a UE via 3GPP access + operationId: CreateSmsfContext3gpp + tags: + - SMSF 3GPP Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:registrations:write + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/smsf-3gpp-access' + required: true + schema: + type: string + '200': + description: Updated + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove the SMSF context data of a UE via 3GPP access + operationId: DeleteSmsfContext3gpp + tags: + - SMSF 3GPP Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:registrations:write + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the SMSF context data of a UE using 3gpp access + operationId: QuerySmsfContext3gpp + tags: + - SMSF 3GPP Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/smsf-non-3gpp-access: + put: + summary: Create the SMSF context data of a UE via non-3GPP access + operationId: CreateSmsfContextNon3gpp + tags: + - SMSF Non-3GPP Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:registrations:write + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/smsf-non-3gpp-access' + required: true + schema: + type: string + '200': + description: Updated + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove the SMSF context data of a UE via non-3GPP access + operationId: DeleteSmsfContextNon3gpp + tags: + - SMSF Non-3GPP Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:registrations:write + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the SMSF context data of a UE using non-3gpp access + operationId: QuerySmsfContextNon3gpp + tags: + - SMSF Non-3GPP Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/ip-sm-gw: + put: + summary: Create the IP-SM-GW context data of a UE + operationId: CreateIpSmGwContext + tags: + - IP-SM-GW Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:registrations:write + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove the IP-SM-GW context data of a UE + operationId: DeleteIpSmGwContext + tags: + - IP-SM-GW Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:registrations:write + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify the IP-SM-GW context data of a UE + operationId: ModifyIpSmGwContext + tags: + - IP-SM-GW Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:registrations:write + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the IP-SM-GW context data of a UE + operationId: QueryIpSmGwContext + tags: + - IP-SM-GW Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/mwd: + put: + summary: Create the Message Waiting Data of the UE + operationId: CreateMessageWaitingData + tags: + - Message Waiting Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MessageWaitingData' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/MessageWaitingData' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/mwd' + required: true + schema: + type: string + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + delete: + summary: To remove the Message Waiting Data of the UE + operationId: DeleteMessageWaitingData + tags: + - Message Waiting Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify the Message Waiting Data of the UE + operationId: ModifyMessageWaitingData + tags: + - Message Waiting Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the Message Waiting Data of the UE + operationId: QueryMessageWaitingData + tags: + - Message Waiting Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/MessageWaitingData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-mng-data: + get: + summary: Retrieves the SMS management subscription data of a UE + operationId: QuerySmsMngData + tags: + - SMS Management Subscription Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsManagementSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-data: + get: + summary: Retrieves the SMS subscription data of a UE + operationId: QuerySmsData + tags: + - SMS Subscription Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/pp-data: + get: + summary: Read the profile of a given UE + operationId: GetppData + tags: + - Parameter Provision (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: pp data for a UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/PpData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: modify the provisioned parameter data + operationId: ModifyPpData + tags: + - ProvisionedParameterData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: pp data for a UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/pp-profile-data: + get: + summary: Retrieves the parameter provision profile data of a UE + operationId: QueryPPData + tags: + - Parameter Provision profile Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/PpProfileData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/pp-data-store/{afInstanceId}: + put: + summary: create a Provisioning Parameter Data Entry + operationId: Create PP Data Entry + tags: + - ProvisionedParameterDataEntry (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - type: string + pattern: '^anyUE$' + - name: afInstanceId + in: path + description: Application Function Instance Identifier + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/PpDataEntry' + required: true + responses: + '201': + description: Indicating a successful creation of the resource. + content: + application/json: + schema: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/PpDataEntry' + '204': + description: Indicating a successful creation of the resource. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + delete: + summary: Delete a Provisioning Parameter Data Entry + operationId: Delete PP Data Entry + tags: + - ProvisionedParameterDataEntry (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - type: string + pattern: '^anyUE$' + - name: afInstanceId + in: path + description: Application Function Instance Identifier + required: true + schema: + type: string + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + get: + summary: get a Parameter Provisioning Data Entry + operationId: Get PP Data Entry + tags: + - ProvisionedParameterDataEntry (Document) + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - type: string + pattern: '^anyUE$' + - name: afInstanceId + in: path + description: Application Function Instance Identifier + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/PpDataEntry' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /subscription-data/{ueId}/pp-data-store: + get: + summary: get a list of Parameter Provisioning Data Entries + operationId: Get Multiple PP Data Entries + tags: + - ProvisionedParameterDataEntries (Collection) + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - type: string + pattern: '^anyUE$' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/PpDataEntryList' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /subscription-data/{ueId}/context-data/ee-subscriptions: + get: + summary: Retrieves the ee subscriptions of a UE + operationId: Queryeesubscriptions + tags: + - Event Exposure Subscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: event-types + in: query + required: false + description: Event Types + schema: + type: array + items: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/EventType' + minItems: 1 + style: form + explode: false + - name: nf-identifiers + in: query + description: NF Identifiers + schema: + type: array + items: + $ref: '#/components/schemas/NfIdentifier' + minItems: 1 + style: form + explode: false + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EeSubscriptionExt' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + post: + summary: Create individual EE subscription + operationId: CreateEeSubscriptions + tags: + - Event Exposure Subscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}: + put: + summary: Update an individual ee subscriptions of a UE + operationId: UpdateEesubscriptions + tags: + - Event Exposure Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: update of non-existing resource is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes a eeSubscription + operationId: RemoveeeSubscriptions + tags: + - Event Exposure Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify an individual ee subscription of a UE + operationId: ModifyEesubscription + tags: + - Event Exposure Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve a eeSubscription + operationId: QueryeeSubscription + tags: + - Event Exposure Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + items: + $ref: '#/components/schemas/EeSubscription' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/amf-subscriptions: + put: + summary: Create AmfSubscriptions for an individual ee subscriptions of a UE + operationId: Create AMF Subscriptions + tags: + - AMF Subscription Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AmfSubscriptionInfo' + minItems: 1 + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Upon successful creation, the created resource shall be returned + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AmfSubscriptionInfo' + minItems: 1 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes AMF Subscription Info for an eeSubscription + operationId: RemoveAmfSubscriptionsInfo + tags: + - Event AMF Subscription Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: modify the AMF Subscription Info + operationId: ModifyAmfSubscriptionInfo + tags: + - AmfSubscriptionInfo (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve AMF subscription Info + operationId: GetAmfSubscriptionInfo + tags: + - Query AMF Subscription Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AmfSubscriptionInfo' + minItems: 1 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/smf-subscriptions: + put: + summary: Create SMF Subscription Info + operationId: Create SMF Subscriptions + tags: + - SMF Event Subscription Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSubscriptionInfo' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Upon successful creation, the created resource shall be returned + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSubscriptionInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete SMF Subscription Info + operationId: RemoveSmfSubscriptionsInfo + tags: + - SMF Event Subscription Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify SMF Subscription Info + operationId: ModifySmfSubscriptionInfo + tags: + - SMF Event Subscription Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve SMF Subscription Info + operationId: GetSmfSubscriptionInfo + tags: + - SMF Event Subscription Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSubscriptionInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/hss-subscriptions: + put: + summary: Create HSS Subscription Info + operationId: Create HSS Subscriptions + tags: + - HSS Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/HssSubscriptionInfo' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Upon successful creation, the created resource shall be returned + content: + application/json: + schema: + $ref: '#/components/schemas/HssSubscriptionInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete HSS Subscription Info + operationId: RemoveHssSubscriptionsInfo + tags: + - HSS Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify HSS Subscription Info + operationId: ModifyHssSubscriptionInfo + tags: + - HSS Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve HSS Subscription Info + operationId: GetHssSubscriptionInfo + tags: + - HSS Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSubscriptionInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/{ueGroupId}/ee-subscriptions: + get: + summary: Retrieves the ee subscriptions of a group of UEs or any UE + operationId: QueryEeGroupSubscriptions + tags: + - Event Exposure Group Subscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + description: Group of UEs or any UE + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EeSubscription' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + post: + summary: Create individual EE subscription for a group of UEs or any UE + operationId: CreateEeGroupSubscriptions + tags: + - Event Exposure Group Subscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + description: Group of UEs or any UE + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/group-data/{ueGroupId}/ee-subscriptions' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/{ueGroupId}/ee-subscriptions/{subsId}: + put: + summary: Update an individual ee subscription of a group of UEs or any UE + operationId: UpdateEeGroupSubscriptions + tags: + - Event Exposure Group Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: update of non-existing resource is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes a eeSubscription for a group of UEs or any UE + operationId: RemoveEeGroupSubscriptions + tags: + - Event Exposure Group Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify an individual ee subscription for a group of a UEs + operationId: ModifyEeGroupSubscription + tags: + - Event Exposure Group Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve a individual eeSubscription for a group of UEs or any UE + operationId: QueryEeGroupSubscription + tags: + - Event Exposure Group Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + items: + $ref: '#/components/schemas/EeSubscription' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/{ueGroupId}/ee-profile-data: + get: + summary: Retrieves the ee profile data profile data of a group or anyUE + operationId: QueryGroupEEData + tags: + - Event Exposure Data for a group (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + description: Group of UEs or any UE + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/EeGroupProfileData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ee-profile-data: + get: + summary: Retrieves the ee profile data of a UE + operationId: QueryEEData + tags: + - Event Exposure Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/EeProfileData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/sdm-subscriptions: + get: + summary: Retrieves the sdm subscriptions of a UE + operationId: Querysdmsubscriptions + tags: + - SDM Subscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SdmSubscription' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + post: + summary: Create individual sdm subscription + operationId: CreateSdmSubscriptions + tags: + - SDM Subscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/sdm-subscriptions/{subsId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/sdm-subscriptions/{subsId}: + put: + summary: Update an individual sdm subscriptions of a UE + operationId: Updatesdmsubscriptions + tags: + - SDM Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: update of non-existing resource is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes a sdmsubscriptions + operationId: RemovesdmSubscriptions + tags: + - SDM Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify an individual sdm subscription + operationId: ModifysdmSubscription + tags: + - SDM Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves a individual sdmSubscription identified by subsId + operationId: QuerysdmSubscription + tags: + - SDM Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to retrieve + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SdmSubscription' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/sdm-subscriptions/{subsId}/hss-sdm-subscriptions: + put: + summary: Create HSS SDM Subscription Info + operationId: Create HSS SDM Subscriptions + tags: + - HSS SDM Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/HssSubscriptionInfo' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete HSS SDM Subscription Info + operationId: RemoveHssSDMSubscriptionsInfo + tags: + - HSS SDM Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify HSS SDM Subscription Info + operationId: ModifyHssSDMSubscriptionInfo + tags: + - HSS SDM Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve HSS SDM Subscription Info + operationId: GetHssSDMSubscriptionInfo + tags: + - HSS SDM Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSubscriptionInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/shared-data: + get: + summary: retrieve shared data + operationId: GetSharedData + tags: + - Retrieval of shared data + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: shared-data-ids + in: query + description: List of shared data ids + required: true + style: form + explode: false + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SharedDataIds' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SharedData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/shared-data/{sharedDataId}: + get: + summary: retrieve individual shared data + operationId: GetIndividualSharedData + tags: + - Retrieval of individual shared data + parameters: + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + - name: sharedDataId + in: path + description: Id of the Shared Data + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SharedDataId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SharedData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/subs-to-notify: + post: + summary: Subscription data subscriptions + operationId: SubscriptionDataSubscriptions + tags: + - Subs To Notify (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/subs-to-notify/{subsId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + onDataChange: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataChangeNotify' + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the list of subscriptions + operationId: QuerySubsToNotify + tags: + - Subs To Notify (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ue-id + in: query + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes subscriptions identified by a given ue-id parameter + operationId: RemoveMultipleSubscriptionDataSubscriptions + tags: + - Subs To Notify (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ue-id + in: query + required: true + description: UE ID + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: nf-instance-id + in: query + required: false + description: NF Instance ID + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: delete-all-nfs + in: query + required: false + description: Flag to delete subscriptions from all NFs + schema: + type: boolean + - name: implicit-unsubscribe-indication + in: query + required: false + description: Implicit Unsubscribe Indication + schema: + type: boolean + responses: + '204': + description: Expected response to a successful subscription removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/subs-to-notify/{subsId}: + delete: + summary: Deletes a subscriptionDataSubscriptions + operationId: RemovesubscriptionDataSubscriptions + tags: + - Subs To Notify (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify an individual subscriptionDataSubscription + operationId: ModifysubscriptionDataSubscription + tags: + - Subs To Notify (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '200': + description: Expected response to a valid request + content: + application/json: + schema: + oneOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + - $ref: '#/components/schemas/SubscriptionDataSubscriptions' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves a individual subscriptionDataSubscription identified by subsId + operationId: QuerySubscriptionDataSubscriptions + tags: + - Subs To Notify (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: subsId + in: path + required: true + description: Unique ID of the subscription to retrieve + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/trace-data: + get: + summary: Retrieves the trace configuration data of a UE + operationId: QueryTraceData + tags: + - Trace Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/TraceDataOrSharedTraceDataId' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/identity-data: + get: + summary: Retrieve identity data by SUPI or GPSI + operationId: GetIdentityData + tags: + - Query Identity Data by SUPI or GPSI (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: app-port-id + in: query + description: Application port identifier + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/AppPortId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/operator-determined-barring-data: + get: + summary: Retrieve ODB Data data by SUPI or GPSI + operationId: GetOdbData + tags: + - Query ODB Data by SUPI or GPSI (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/OdbData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data: + get: + summary: Retrieve multiple context data sets of a UE + operationId: QueryContextData + tags: + - Context Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: context-dataset-names + in: query + description: List of context dataset names + style: form + explode: false + required: true + schema: + $ref: '#/components/schemas/ContextDatasetNames' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ContextDataSets' + headers: + 3gpp-Sbi-Etags: + description: A comma-separated list of ProvisionedDatasetName = Etag pairs + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/group-identifiers: + get: + summary: Mapping of Group Identifiers + operationId: GetGroupIdentifiers + tags: + - Group Identifiers + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ext-group-id + in: query + description: External Group Identifier + required: false + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: int-group-id + in: query + description: Internal Group Identifier + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + - name: ue-id-ind + in: query + description: Indication whether UE identifiers are required or not + required: false + schema: + type: boolean + default: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/GroupIdentifiers' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/5g-vn-groups: + get: + summary: Retrieves the data of a 5G VN Group + operationId: Query5GVnGroup + tags: + - 5G-VN-Groups (Store) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: gpsis + in: query + description: List of GPSIs + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + style: form + explode: false + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: object + description: A map(list of key-value pairs) where ExtGroupId serves as key + additionalProperties: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5GVnGroupConfiguration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/5g-vn-groups/{externalGroupId}: + put: + summary: Create an individual 5G VN Grouop + operationId: Create5GVnGroup + tags: + - 5GVnGroupConfiguration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + requestBody: + content: + application/json: + schema: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5GVnGroupConfiguration' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5GVnGroupConfiguration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes the 5GVnGroup + operationId: Delete5GVnGroup + tags: + - Delete 5GVnGroup + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + responses: + '204': + description: Expected response to a successful group removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: modify the 5GVnGroup + operationId: Modify5GVnGroup + tags: + - Modify 5GVnGroup + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve a 5GVnGroup configuration + operationId: Get5GVnGroupConfiguration + tags: + - Query 5GVnGroupConfiguration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5GVnGroupConfiguration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/lcs-privacy-data: + get: + summary: Retrieves the LCS Privacy subscription data of a UE + operationId: QueryLcsPrivacyData + tags: + - LCS Privacy Subscription Data + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsPrivacyData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/lcs-subscription-data: + get: + summary: Retrieves the LCS subscription data of a UE + operationId: QueryLcsSubscriptionData + tags: + - LCS Subscription Data + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/lcs-mo-data: + get: + summary: Retrieves the LCS Mobile Originated subscription data of a UE + operationId: QueryLcsMoData + tags: + - LCS Mobile Originated Subscription Data + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsMoData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/nidd-authorization-data: + get: + summary: Retrieve NIDD Authorization Data GPSI or External Group identifier + operationId: GetNiddAuData + tags: + - Query NIDD Authorization Data GPSI or External Group identifier (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+)$' + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: '#/components/schemas/VarSnssai' + description: single NSSAI + required: true + - name: dnn + in: query + description: DNN + required: true + schema: + $ref: '#/components/schemas/Dnn' + - name: mtc-provider-information + in: query + description: MTC Provider Information + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + - name: af-id + in: query + description: Application Function Identifier + schema: + type: string + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizationData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/coverage-restriction-data: + get: + summary: Retrieves the subscribed enhanced Coverage Restriction Data of a UE + operationId: QueryCoverageRestrictionData + tags: + - Enhanced Coverage Restriction Data + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EnhancedCoverageRestrictionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/location: + get: + summary: Retrieves the UE's Location Information + operationId: QueryUeLocation + tags: + - UE's Location Information (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LocationInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/v2x-data: + get: + summary: Retrieves the subscribed V2X Data of a UE + operationId: QueryV2xData + tags: + - V2X Subscription Data + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/V2xSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/prose-data: + get: + summary: Retrieves the subscribed ProSe service Data of a UE + operationId: QueryPorseData + tags: + - ProSe Service Subscription Data + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ProseSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/lcs-bca-data: + get: + summary: Retrieves the LCS Broadcast Assistance subscription data of a UE + operationId: QueryLcsBcaData + tags: + - LCS Broadcast Assistance Subscription Data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsBroadcastAssistanceTypesData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + + /subscription-data/group-data/5g-vn-groups/internal: + get: + summary: Retrieves the data of 5G VN Group + operationId: Query5GVnGroupInternal + tags: + - 5G-VN-Groups-Internal (Document) + parameters: + - name: internal-group-ids + in: query + description: List of Internal Group IDs + required: true + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + style: form + explode: false + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: object + description: A map (list of key-value pairs) where ExtGroupId serves as key + additionalProperties: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5GVnGroupConfiguration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/5g-vn-groups/pp-profile-data: + get: + summary: Retrieves the parameter provision profile data for 5G VN Group + operationId: Query5GVNGroupPPData + tags: + - Parameter Provision profile Data for 5G VN Group(Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ext-group-ids + in: query + description: List of external VN group identifiers + schema: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/Pp5gVnGroupProfileData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/nidd-authorizations: + put: + summary: Create NIDD Authorization Info + operationId: CreateNIDDAuthorizationInfo + tags: + - NIDD Authorization Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NiddAuthorizationInfo' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Upon successful creation, the created resource shall be returned + content: + application/json: + schema: + $ref: '#/components/schemas/NiddAuthorizationInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete NIDD Authorization Info + operationId: RemoveNiddAuthorizationInfo + tags: + - NIDD Authorization Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Expected response to a successful subscription removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify NIDD Authorization Info + operationId: ModifyNiddAuthorizationInfo + tags: + - NIDD Authorization Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve NIDD Authorization Info + operationId: GetNiddAuthorizationInfo + tags: + - NIDD Authorization Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/NiddAuthorizationInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/5mbs-data: + get: + summary: Retrieves the 5mbs subscription data of a UE + operationId: Query5mbsData + tags: + - 5MBSSubscriptionData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/MbsSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}: + get: + summary: Retrieve multiple subscribed data sets of a UE + operationId: QueryUeSubscribedData + tags: + - UE Subscribed Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE Id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: dataset-names + in: query + description: List of dataset names + style: form + explode: false + schema: + $ref: '#/components/schemas/UeSubscribedDatasetNames' + - name: serving-plmn + in: query + description: Serving PLMN Id + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: adjacent-plmns + in: query + description: List of PLMNs adjacent to the UE's serving PLMN + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + style: form + explode: false + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: '#/components/schemas/VarSnssai' + description: single NSSAI + required: false + - name: dnn + in: query + description: DNN + required: false + schema: + $ref: '#/components/schemas/Dnn' + - name: ext-group-ids + in: query + description: List of external VN group identifiers + schema: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + minItems: 1 + style: form + explode: false + - name: uc-purpose + in: query + description: User consent purpose + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/UcPurpose' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/UeSubscribedDataSets' + headers: + 3gpp-Sbi-Etags: + description: A comma-separated list of ProvisionedDatasetName = Etag pairs + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/service-specific-authorization-data/{serviceType}: + get: + summary: Retrieve ServiceSpecific Authorization Data + operationId: GetSSAuData + tags: + - Query Service Specific Authorization Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+)$' + - name: serviceType + in: path + description: Service Type + required: true + schema: + $ref: 'TS29503_Nudm_SSAU.yaml#/components/schemas/ServiceType' + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: '#/components/schemas/VarSnssai' + description: single NSSAI + required: true + - name: dnn + in: query + description: DNN + required: true + schema: + $ref: '#/components/schemas/Dnn' + - name: mtc-provider-information + in: query + description: MTC Provider Information + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + - name: af-id + in: query + description: Application Function Identifier + schema: + type: string + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizationData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/service-specific-authorizations/{serviceType}: + put: + summary: Create Service Specific Authorization Info + operationId: CreateServiceSpecificAuthorizationInfo + tags: + - Service Specific Authorization Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: serviceType + in: path + description: Service Type + required: true + schema: + $ref: 'TS29503_Nudm_SSAU.yaml#/components/schemas/ServiceType' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSpecificAuthorizationInfo' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Upon successful creation, the created resource shall be returned + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSpecificAuthorizationInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete Service Specific Authorization Info + operationId: RemoveServiceSpecificAuthorizationInfo + tags: + - Service Specific Authorization Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: serviceType + in: path + description: Service Type + required: true + schema: + $ref: 'TS29503_Nudm_SSAU.yaml#/components/schemas/ServiceType' + responses: + '204': + description: Expected response to a successful subscription removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify Service Specific Authorization Info + operationId: ModifyServiceSpecificAuthorizationInfo + tags: + - Service Specific Authorization Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: serviceType + in: path + description: Service Type + required: true + schema: + $ref: 'TS29503_Nudm_SSAU.yaml#/components/schemas/ServiceType' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve Service Specific Authorization Info + operationId: GetServiceSpecificAuthorizationInfo + tags: + - Service Specific Authorization Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: serviceType + in: path + description: Service Type + required: true + schema: + $ref: 'TS29503_Nudm_SSAU.yaml#/components/schemas/ServiceType' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSpecificAuthorizationInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/roaming-information: + put: + summary: Update the Roaming Information of the EPC domain + operationId: UpdateRoamingInformation + tags: + - Update the Roaming Information of the EPC domain (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/RoamingInfoUpdate' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/RoamingInfoUpdate' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/roaming-information' + required: true + schema: + type: string + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + get: + summary: Retrieves the Roaming Information of the EPC domain + operationId: QueryRoamingInformation + tags: + - Retrieve the Roaming Information of the EPC domain (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/RoamingInfoUpdate' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/pei-info: + put: + summary: Update the PEI Information of the 5GC/EPC domains + operationId: CreateOrUpdatePeiInformation + tags: + - Update the PEI Information of the 5GC/EPC domains (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/PeiUpdateInfo' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/PeiUpdateInfo' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/pei-info' + required: true + schema: + type: string + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + get: + summary: Retrieves the PEI Information of the 5GC/EPC domains + operationId: QueryPeiInformation + tags: + - Retrieve the Roaming Information of the 5GC/EPC domains (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/PeiUpdateInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/{ueGroupId}/ee-subscriptions/{subsId}/amf-subscriptions: + put: + summary: Create AmfSubscriptions for a group of UEs or any UE + operationId: CreateAmfGroupSubscriptions + tags: + - AMF Group Subscription Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AmfSubscriptionInfo' + minItems: 1 + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Upon successful creation, the created resource shall be returned + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AmfSubscriptionInfo' + minItems: 1 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes AMF Subscription Info for an eeSubscription for a group of UEs or any UE + operationId: RemoveAmfGroupSubscriptions + tags: + - Event AMF Subscription Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: modify the AMF Subscription Info + operationId: ModifyAmfGroupSubscriptions + tags: + - AmfSubscriptionInfo (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve AMF subscription Info for a group of UEs or any UE + operationId: GetAmfGroupSubscriptions + tags: + - Query AMF Subscription Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AmfSubscriptionInfo' + minItems: 1 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/{ueGroupId}/ee-subscriptions/{subsId}/smf-subscriptions: + put: + summary: Create SMF Subscription Info for a group of UEs or any YE + operationId: CreateSmfGroupSubscriptions + tags: + - SMF Event Group Subscription Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSubscriptionInfo' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Upon successful creation, the created resource shall be returned + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSubscriptionInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete SMF Subscription Info for a group of UEs or any UE + operationId: RemoveSmfGroupSubscriptions + tags: + - SMF Event Subscription Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify SMF Subscription Info for a group of UEs or any UE + operationId: ModifySmfGroupSubscriptions + tags: + - SMF Event Subscription Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve SMF Subscription Info for a group of UEs or any UE + operationId: GetSmfGroupSubscriptions + tags: + - SMF Event Subscription Info (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSubscriptionInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/{ueGroupId}/ee-subscriptions/{subsId}/hss-subscriptions: + put: + summary: Create HSS Subscription Info for a group of UEs + operationId: CreateHssGroupSubscriptions + tags: + - HSS Event Group Subscription Info (Document) + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/HssSubscriptionInfo' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Upon successful creation, the created resource shall be returned + content: + application/json: + schema: + $ref: '#/components/schemas/HssSubscriptionInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete HSS Subscription Info + operationId: RemoveHssGroupSubscriptions + tags: + - HSS Event Subscription Info (Document) + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify HSS Subscription Info + operationId: ModifyHssGroupSubscriptions + tags: + - HSS Event Subscription Info (Document) + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve HSS Subscription Info + operationId: GetHssGroupSubscriptions + tags: + - HSS Event Subscription Info (Document) + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/HssSubscriptionInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/uc-data: + get: + summary: Retrieves the subscribed User Consent Data of a UE + operationId: QueryUserConsentData + tags: + - User Consent Data + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: ucPurpose + in: query + description: User consent purpose + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/UcPurpose' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/UcSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/time-sync-data: + get: + summary: Retrieves the time synchronization subscription data of a UE + operationId: QueryTimeSyncSubscriptionData + tags: + - TimeSyncSubscriptionData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/TimeSyncSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /subscription-data/group-data/mbs-group-membership: + get: + summary: Retrieves the data of a 5G MBS Group + operationId: Query5GmbsGroup + tags: + - 5G-MBS-Group (Store) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: gpsis + in: query + description: List of GPSIs + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + style: form + explode: false + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: object + description: A map(list of key-value pairs) where ExtGroupId serves as key + additionalProperties: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/MulticastMbsGroupMemb' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/mbs-group-membership/{externalGroupId}: + put: + summary: Create an individual 5G MBS Grouop + operationId: Create5GmbsGroup + tags: + - MulticastMbsGroupMemb (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + requestBody: + content: + application/json: + schema: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/MulticastMbsGroupMemb' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/MulticastMbsGroupMemb' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes the 5GmbsGroup + operationId: Delete5GmbsGroup + tags: + - Delete 5GmbsGroup + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + responses: + '204': + description: Expected response to a successful group removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: modify the 5GmbsGroup + operationId: Modify5GmbsGroup + tags: + - Modify 5GmbsGroup + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve a 5GmbsGroup + operationId: GetMulticastMbsGroupMemb + tags: + - Query MulticastMbsGroupMemb (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/MulticastMbsGroupMemb' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/mbs-group-membership/internal: + get: + summary: Retrieves the data of 5G MBS Group + operationId: Query5GMbsGroupInternal + tags: + - 5G-MBS-Groups-Internal (Document) + parameters: + - name: internal-group-ids + in: query + description: List of Internal Group IDs + required: true + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + style: form + explode: false + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: object + description: A map (list of key-value pairs) where ExtGroupId serves as key + additionalProperties: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/MulticastMbsGroupMemb' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/mbs-group-membership/pp-profile-data: + get: + summary: Retrieves the parameter provision profile data for 5G MBS Group + operationId: Query5GMbsGroupPPData + tags: + - Parameter Provision profile Data for 5G MBS Group(Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ext-group-ids + in: query + description: List of external MBS group identifiers + schema: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/Pp5gMbsGroupProfileData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ranging-slpos-data: + get: + summary: Retrieves the subscribed Ranging and Sidelink Positioning service Data of a UE + operationId: QueryRangingSlPosData + tags: + - Ranging and Sidelink Positioning Service Subscription Data + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/RangingSlPosSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/a2x-data: + get: + summary: Retrieves the subscribed A2X Data of a UE + operationId: QueryA2xData + tags: + - A2X Subscription Data + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/A2xSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + schemas: + AuthenticationSubscription: + description: A UE's authentication data. + type: object + required: + - authenticationMethod + properties: + authenticationMethod: + $ref: '#/components/schemas/AuthMethod' + encPermanentKey: + type: string + protectionParameterId: + type: string + sequenceNumber: + $ref: '#/components/schemas/SequenceNumber' + authenticationManagementField: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + algorithmId: + type: string + encOpcKey: + type: string + encTopcKey: + type: string + vectorGenerationInHss: + type: boolean + default: false + hssGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + n5gcAuthMethod: + $ref: '#/components/schemas/AuthMethod' + rgAuthenticationInd: + type: boolean + default: false + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + akmaAllowed: + type: boolean + default: false + routingId: + type: string + pattern: '^[0-9]{1,4}$' + + SequenceNumber: + description: Contains the SQN. + type: object + properties: + sqnScheme: + $ref: '#/components/schemas/SqnScheme' + sqn: + type: string + pattern: '^[A-Fa-f0-9]{12}$' + lastIndexes: + type: object + additionalProperties: + type: integer + minimum: 0 + description: A map(list of key-value pairs) where type of node serves as key + indLength: + type: integer + minimum: 0 + difSign: + $ref: '#/components/schemas/Sign' + + SqnScheme: + description: Scheme for generation of Sequence Numbers. + anyOf: + - type: string + enum: + - GENERAL + - NON_TIME_BASED + - TIME_BASED + - type: string + Sign: + description: Sign of the DIF value. + type: string + enum: + - POSITIVE + - NEGATIVE + VarPlmnId: + description: PLMN Id (MCC, MNC) or SNPN Id (MCC, MNC, NID). + type: string + pattern: '^[0-9]{5,6}(-[A-Fa-f0-9]{11})?$' + ProvisionedDatasetNames: + description: The list of names of data sets. + type: array + items: + $ref: '#/components/schemas/ProvisionedDataSetName' + minItems: 1 + uniqueItems: true + + ProvisionedDataSetName: + description: The name of data set. + anyOf: + - type: string + enum: + - AM + - SMF_SEL + - SMS_SUB + - SM + - TRACE + - SMS_MNG + - LCS_PRIVACY + - LCS_MO + - LCS_BCA + - LCS_SUB + - V2X + - PROSE + - ODB + - EE_PROF + - PP_PROF + - NIDD_AUTH + - USER_CONSENT + - MBS + - PP_DATA + - A2X + - type: string + + UeSubscribedDatasetNames: + description: The list of names of data sets. + type: array + items: + $ref: '#/components/schemas/UeSubscribedDataSetName' + minItems: 1 + uniqueItems: true + + UeSubscribedDataSetName: + description: All values defined as ProvisionedDataSetName or ContextDataSetName are applicable + anyOf: + - $ref: '#/components/schemas/ContextDataSetName' + - $ref: '#/components/schemas/ProvisionedDataSetName' + - type: string + enum: + - UE_UPD_CONF + + + ProvisionedDataSets: + description: Contains the provisioned data sets. + type: object + properties: + amData: + $ref: '#/components/schemas/AccessAndMobilitySubscriptionData' + smfSelData: + $ref: '#/components/schemas/SmfSelectionSubscriptionData' + smsSubsData: + $ref: '#/components/schemas/SmsSubscriptionData' + smData: + $ref: '#/components/schemas/SmSubsData' + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + smsMngData: + $ref: '#/components/schemas/SmsManagementSubscriptionData' + lcsPrivacyData: + $ref: '#/components/schemas/LcsPrivacyData' + lcsMoData: + $ref: '#/components/schemas/LcsMoData' + lcsSubscriptionData: + $ref: '#/components/schemas/LcsSubscriptionData' + lcsBcaData: + $ref: '#/components/schemas/LcsBroadcastAssistanceTypesData' + v2xData: + $ref: '#/components/schemas/V2xSubscriptionData' + proseData: + $ref: '#/components/schemas/ProseSubscriptionData' + odbData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/OdbData' + eeProfileData: + $ref: '#/components/schemas/EeProfileData' + ppProfileData: + $ref: '#/components/schemas/PpProfileData' + niddAuthData: + $ref: '#/components/schemas/AuthorizationData' + ucData: + $ref: '#/components/schemas/UcSubscriptionData' + mbsSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/MbsSubscriptionData' + ppData: + $ref: '#/components/schemas/PpData' + a2xData: + $ref: '#/components/schemas/A2xSubscriptionData' + + AccessAndMobilitySubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/AccessAndMobilitySubscriptionData' + SmfSelectionSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SmfSelectionSubscriptionData' + VarSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + Dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + SmSubsData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SmSubsData' + Amf3GppAccessRegistration: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/Amf3GppAccessRegistration' + AmfNon3GppAccessRegistration: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/AmfNon3GppAccessRegistration' + SmfRegistration: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/SmfRegistration' + SmsfRegistration: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/SmsfRegistration' + LocationInfo: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/LocationInfo' + SmsManagementSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SmsManagementSubscriptionData' + SmsSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SmsSubscriptionData' + LcsPrivacyData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/LcsPrivacyData' + LcsMoData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/LcsMoData' + LcsSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/LcsSubscriptionData' + A2xSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/A2xSubscriptionData' + + AuthorizationData: + description: NIDD Authorization Information + required: + - authorizationData + properties: + authorizationData: + type: array + items: + $ref: 'TS29503_Nudm_NIDDAU.yaml#/components/schemas/UserIdentifier' + minItems: 1 + uniqueItems: true + allowedDnnList: + type: array + items: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/WildcardDnn' + allowedSnssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + allowedMtcProviders: + type: array + items: + $ref: '#/components/schemas/MtcProvider' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + EnhancedCoverageRestrictionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/EnhancedCoverageRestrictionData' + V2xSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/V2xSubscriptionData' + ProseSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ProseSubscriptionData' + UcSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/UcSubscriptionData' + LcsBroadcastAssistanceTypesData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/LcsBroadcastAssistanceTypesData' + OperatorSpecificDataContainer: + description: Container for operator specific data. + type: object + required: + - dataType + - value + properties: + dataType: + type: string + enum: + - string + - integer + - number + - boolean + - object + - array + dataTypeDefinition: + type: string + value: + oneOf: + - type: string + - type: integer + - type: number + - type: boolean + - type: object + - type: array + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resetIds: + type: array + items: + type: string + minItems: 1 + + AuthMethod: + description: Contains the Authentication Method. + anyOf: + - type: string + enum: + - 5G_AKA + - EAP_AKA_PRIME + - EAP_TLS + - EAP_TTLS + - NONE + - type: string + PpData: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/PpData' + EeSubscription: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/EeSubscription' + VarUeGroupId: + description: UE group Id or any UE. + type: string + pattern: '^(extgroupid-[^@]+@[^@]+|anyUE)$' + SdmSubscription: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SdmSubscription' + SmfRegList: + description: The list of all the SMF registrations of a UE. + type: array + items: + $ref: '#/components/schemas/SmfRegistration' + SubscriptionDataSubscriptions: + description: A subscription to notifications. + type: object + required: + - monitoredResourceUris + - callbackReference + properties: + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + originalCallbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + sdmSubscription: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SdmSubscription' + hssSubscriptionInfo: + $ref: '#/components/schemas/HssSubscriptionInfo' + subscriptionId: + type: string + uniqueSubscription: + type: boolean + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + immediateReport: + type: boolean + default: false + report: + $ref: '#/components/schemas/ImmediateReport' + additionalDataRefs: + type: array + items: + $ref: '#/components/schemas/AdditionalDataRef' + + AdditionalDataRef: + description: References to additional data requested to be sent in notifications + type: object + required: + - monitoredResourceUris + - additionalDataUris + properties: + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + additionalDataUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + + DataChangeNotify: + description: Container for data which have changed and notification was requested when changed. + type: object + properties: + originalCallbackReference: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + notifyItems: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NotifyItem' + minItems: 1 + sdmSubscription: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SdmSubscription' + additionalSdmSubscriptions: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SdmSubscription' + minItems: 1 + subscriptionDataSubscriptions: + type: array + items: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + additionalData: + description: A map (list of key-value pairs where URI serves as key) of Any Type. + type: object + additionalProperties: + oneOf: + - type: string + - type: integer + - type: number + - type: boolean + - type: object + - type: array + minProperties: 1 + + IdentityData: + description: Identity data corresponds to the provided ueId. + type: object + properties: + supiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + gpsiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + allowedAfIds: + type: array + items: + type: string + minItems: 1 + applicationPortIds: + description: A map (list of key-value pairs where AppPortId serves as key) of GPSIs. + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minProperties: 1 + + UeUpdConfData: + description: The complete UE Update Confirmation Data. + type: object + properties: + sorData: + $ref: '#/components/schemas/SorData' + upuData: + $ref: '#/components/schemas/UpuData' + nssaiAckData: + $ref: '#/components/schemas/NssaiAckData' + cagAckData: + $ref: '#/components/schemas/CagAckData' + + SorData: + description: Used to store the status of the latest SOR data update. + type: object + properties: + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueUpdateStatus: + $ref: '#/components/schemas/UeUpdateStatus' + sorXmacIue: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SorMac' + sorMacIue: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SorMac' + meSupportOfSorCmci: + type: boolean + meSupportOfSorSnpnSi: + type: boolean + default: false + meSupportOfSorSnpnSiLs: + type: boolean + default: false + required: + - provisioningTime + - ueUpdateStatus + + UpuData: + description: Used to store the status of the latest UPU data update. + type: object + properties: + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueUpdateStatus: + $ref: '#/components/schemas/UeUpdateStatus' + upuXmacIue: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/UpuMac' + upuMacIue: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/UpuMac' + required: + - provisioningTime + - ueUpdateStatus + + NssaiAckData: + description: Used to store the status of the latest NSSAI data update. + type: object + properties: + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueUpdateStatus: + $ref: '#/components/schemas/UeUpdateStatus' + required: + - provisioningTime + - ueUpdateStatus + + CagAckData: + description: Used to store the status of the latest CAG data update. + type: object + properties: + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueUpdateStatus: + $ref: '#/components/schemas/UeUpdateStatus' + required: + - provisioningTime + - ueUpdateStatus + + UeUpdateStatus: + description: Status of the procedure. + type: string + enum: + - NOT_SENT + - SENT_NO_ACK_REQUIRED + - WAITING_FOR_ACK + - ACK_RECEIVED + - NEGATIVE_ACK_RECEIVED + + EeProfileData: + description: Event Exposure Profile Data. + type: object + properties: + restrictedEventTypes: + type: array + items: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/EventType' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + allowedMtcProvider: + description: A map (list of key-value pairs where EventType serves as key) of MTC provider lists. In addition to defined EventTypes, the key value "ALL" may be used to identify a map entry which contains a list of MtcProviders that are allowed monitoring all Event Types. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/MtcProvider' + minItems: 1 + minProperties: 1 + iwkEpcRestricted: + type: boolean + default: false + imsi: + type: string + pattern: '^[0-9]{5,15}$' + hssGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + + AmfSubscriptionInfo: + description: Information the UDR stores and retrieves related to active subscriptions at the AMF(s). + type: object + required: + - amfInstanceId + - subscriptionId + properties: + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + subsChangeNotifyCorrelationId: + type: string + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + + ContextDatasetNames: + description: The name of context data set. + type: array + items: + $ref: '#/components/schemas/ContextDataSetName' + minItems: 2 + uniqueItems: true + ContextDataSetName: + anyOf: + - type: string + enum: + - AMF_3GPP + - AMF_NON_3GPP + - SDM_SUBSCRIPTIONS + - EE_SUBSCRIPTIONS + - SMSF_3GPP + - SMSF_NON_3GPP + - SUBS_TO_NOTIFY + - SMF_REG + - IP_SM_GW + - ROAMING_INFO + - PEI_INFO + - type: string + ContextDataSets: + description: Contains the context data sets. + type: object + properties: + amf3Gpp: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + amfNon3Gpp: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + sdmSubscriptions: + type: array + items: + $ref: '#/components/schemas/SdmSubscription' + minItems: 1 + eeSubscriptions: + type: array + items: + $ref: '#/components/schemas/EeSubscription' + minItems: 1 + smsf3GppAccess: + $ref: '#/components/schemas/SmsfRegistration' + smsfNon3GppAccess: + $ref: '#/components/schemas/SmsfRegistration' + subscriptionDataSubscriptions: + type: array + items: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + minItems: 1 + smfRegistrations: + $ref: '#/components/schemas/SmfRegList' + ipSmGw: + $ref: '#/components/schemas/IpSmGwRegistration' + roamingInfo: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/RoamingInfoUpdate' + peiInfo: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/PeiUpdateInfo' + + IpSmGwRegistration: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/IpSmGwRegistration' + + MessageWaitingData: + description: Message Waiting Data list. + type: object + properties: + mwdList: + type: array + items: + $ref: '#/components/schemas/SmscData' + minItems: 1 + + SmscData: + description: Addresses of SM-Service Center entities with SMS wating to be delivered to the UE. + type: object + anyOf: + - required: [ smscMapAddress ] + - required: [ smscDiameterAddress ] + properties: + smscMapAddress: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/E164Number' + smscDiameterAddress: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/NetworkNodeDiameterAddress' + + SmfSubscriptionInfo: + description: Information related to active subscriptions at the SMF(s) + type: object + required: + - smfSubscriptionList + properties: + smfSubscriptionList: + type: array + items: + $ref: '#/components/schemas/SmfSubscriptionItem' + minItems: 1 + + SmfSubscriptionItem: + description: Contains info about a single SMF event subscription + type: object + required: + - smfInstanceId + - subscriptionId + properties: + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + + MtcProvider: + description: MTC provider information. + type: object + properties: + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + afId: + type: string + + HssSubscriptionInfo: + description: Information related to active subscriptions at the HSS(s) + type: object + required: + - hssSubscriptionList + properties: + hssSubscriptionList: + type: array + items: + $ref: '#/components/schemas/HssSubscriptionItem' + minItems: 1 + + HssSubscriptionItem: + description: Contains info about a single HSS event subscription + type: object + required: + - hssInstanceId + - subscriptionId + properties: + hssInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + + EeGroupProfileData: + type: object + properties: + restrictedEventTypes: + type: array + items: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/EventType' + allowedMtcProvider: + description: A map (list of key-value pairs where EventType serves as key) of MTC provider lists. In addition to defined EventTypes, the key value "ALL" may be used to identify a map entry which contains a list of MtcProviders that are allowed monitoring all Event Types. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/MtcProvider' + minItems: 1 + minProperties: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + iwkEpcRestricted: + type: boolean + default: false + extGroupId: + type: string + pattern: '^extgroupid-[^@]+@[^@]+$' + hssGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + + Pp5gVnGroupProfileData: + type: object + properties: + allowedMtcProviders: + description: A map (list of key-value pairs where external VN group identifier serves as key) of AllowedMtcProviderInfo lists. In addition to defined external VN group identifier, the key value "ALL" may be used to identify a map entry which contains a list of AllowedMtcProviderInfo that are allowed operating all the external group identifiers. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/AllowedMtcProviderInfo' + minItems: 1 + minProperties: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + PpProfileData: + type: object + properties: + allowedMtcProviders: + description: A map (list of key-value pairs where PpDataType serves as key) of AllowedMtcProviderInfo lists. In addition to defined PpDataType, the key value "ALL" may be used to identify a map entry which contains a list of AllowedMtcProviderInfo that are allowed to provision all types of the PP data for the user using UDM ParameterProvision service. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/AllowedMtcProviderInfo' + minItems: 1 + minProperties: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + AllowedMtcProviderInfo: + type: object + properties: + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + afId: + type: string + + PpDataType: + anyOf: + - type: string + enum: + - COMMUNICATION_CHARACTERISTICS + - EXPECTED_UE_BEHAVIOUR + - EC_RESTRICTION + - ACS_INFO + - TRACE + - STN_SR + - LCS_PRIVACY + - SOR_INFO + - type: string + + GroupIdentifiers: + description: External or Internal Group Identifier with a list of group members + type: object + properties: + extGroupId: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + intGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + ueIdList: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/UeId' + minItems: 1 + allowedAfIds: + type: array + items: + type: string + minItems: 1 + + NiddAuthorizationInfo: + description: Information related to active NIDD Authorizations + type: object + required: + - niddAuthorizationList + properties: + niddAuthorizationList: + type: array + items: + $ref: 'TS29503_Nudm_NIDDAU.yaml#/components/schemas/AuthorizationInfo' + minItems: 1 + + PpDataEntryList: + description: Contains a list of the Provisioned Parameters entries + type: object + properties: + ppDataEntryList: + type: array + items: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/PpDataEntry' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + UeSubscribedDataSets: + description: Contains the subscribed data sets of a UE. + allOf: + - $ref: '#/components/schemas/ProvisionedDataSets' + - $ref: '#/components/schemas/ContextDataSets' + - $ref: '#/components/schemas/UeUpdConfData' + + ServiceSpecificAuthorizationInfo: + description: Information related to active Service Specific Authorizations + type: object + required: + - serviceSpecificAuthorizationList + properties: + serviceSpecificAuthorizationList: + type: array + items: + $ref: 'TS29503_Nudm_NIDDAU.yaml#/components/schemas/AuthorizationInfo' + minItems: 1 + + NfIdentifier: + type: object + required: + - nfType + properties: + nfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + EeSubscriptionExt: + allOf: + - $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/EeSubscription' + - $ref: '#/components/schemas/AdditionalEeSubsInfo' + + AdditionalEeSubsInfo: + type: object + properties: + amfSubscriptionInfoList: + type: array + items: + $ref: '#/components/schemas/AmfSubscriptionInfo' + minItems: 1 + maxItems: 2 + smfSubscriptionInfo: + $ref: '#/components/schemas/SmfSubscriptionInfo' + hssSubscriptionInfo: + $ref: '#/components/schemas/HssSubscriptionInfo' + + ImmediateReport: + oneOf: + - $ref: '#/components/schemas/ProvisionedDataSets' + - type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SharedData' + minItems: 0 + + Pp5gMbsGroupProfileData: + type: object + properties: + allowedMbsInfos: + description: A map (list of key-value pairs where external VN group identifier serves as key) of AllowedMbsInfos lists. In addition to defined external MBS group identifier, the key value "ALL" may be used to identify a map entry which contains a list of AllowedMbsInfo that are allowed operating all the external group identifiers. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/AllowedMbsInfo' + minItems: 1 + minProperties: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + AllowedMbsInfo: + type: object + properties: + afId: + type: string + + TraceDataOrSharedTraceDataId: + oneOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + - $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SharedDataId' diff --git a/TS29507_Npcf_AMPolicyControl.yaml b/TS29507_Npcf_AMPolicyControl.yaml new file mode 100644 index 0000000000000000000000000000000000000000..64f58d9adfc5b0e7430fd759275c2daead9e3a50 --- /dev/null +++ b/TS29507_Npcf_AMPolicyControl.yaml @@ -0,0 +1,1021 @@ +openapi: 3.0.0 + +info: + version: 1.3.0-alpha.4 + title: Npcf_AMPolicyControl + description: | + Access and Mobility Policy Control Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.507 V18.3.0; 5G System; Access and Mobility Policy Control Service. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.507/' + +servers: + - url: '{apiRoot}/npcf-am-policy-control/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - npcf-am-policy-control + +paths: + /policies: + post: + operationId: CreateIndividualAMPolicyAssociation + summary: Create individual AM policy association. + tags: + - AM Policy Associations (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociationRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociation' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/npcf-am-policy-control/v1/policies/{polAssoId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + policyUpdateNotification: + '{$request.body#/notificationUri}/update': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyUpdate' + responses: + '200': + description: > + OK. The current applicable values corresponding to the policy control request + trigger is reported + content: + application/json: + schema: + $ref: '#/components/schemas/AmRequestedValueRep' + '204': + description: No Content, Notification was successful. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + policyAssocitionTerminationRequestNotification: + '{$request.body#/notificationUri}/terminate': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TerminationNotification' + responses: + '204': + description: No Content, Notification was successful. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /policies/{polAssoId}: + get: + operationId: ReadIndividualAMPolicyAssociation + summary: Read individual AM policy association. + tags: + - Individual AM Policy Association (Document) + parameters: + - name: polAssoId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociation' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + operationId: DeleteIndividualAMPolicyAssociation + summary: Delete individual AM policy association. + tags: + - Individual AM Policy Association (Document) + parameters: + - name: polAssoId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was successfully deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /policies/{polAssoId}/update: + post: + operationId: ReportObservedEventTriggersForIndividualAMPolicyAssociation + summary: > + Report observed event triggers and obtain updated policies for an individual AM + policy association. + tags: + - Individual AM Policy Association (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociationUpdateRequest' + parameters: + - name: polAssoId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '200': + description: OK. Updated policies are returned + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyUpdate' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npcf-am-policy-control: Access to the Npcf_AMPolicyControl API + schemas: + PolicyAssociation: + description: Represents an individual AM Policy Association resource. + type: object + properties: + request: + $ref: '#/components/schemas/PolicyAssociationRequest' + triggers: + type: array + items: + $ref: '#/components/schemas/RequestTrigger' + minItems: 1 + description: Request Triggers that the PCF subscribes. + servAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + wlServAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction' + rfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + rfspValTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + targetRfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + smfSelInfo: + $ref: '#/components/schemas/SmfSelectionData' + ueAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + ueSliceMbrs: + type: array + items: + $ref: '#/components/schemas/UeSliceMbr' + minItems: 1 + description: > + One or more UE-Slice-MBR(s) for S-NSSAI(s) of serving PLMN as part of the + AMF Access and Mobility Policy as determined by the PCF. + pras: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + description: > + Contains the presence reporting area(s) for which reporting was requested. + The praId attribute within the PresenceInfo data type is the key of the map. + pcfUeInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PcfUeCallbackInfo' + matchPdus: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionInfo' + nullable: true + asTimeDisParam: + $ref: '#/components/schemas/AsTimeDistributionParam' + sliceUsgCtrlInfoSets: + type: object + additionalProperties: + $ref: '#/components/schemas/SliceUsgCtrlInfo' + minProperties: 1 + description: > + Represents the network slice usage control information. + The key of the map is the on-demand S-NSSAI (within the "snssai" attribute of the + corresponding map value) to which the network slice usage control information is + related. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - suppFeat + + PolicyAssociationRequest: + description: > + Information which the NF service consumer provides when requesting the creation of a policy + association. The serviveName property corresponds to the serviceName in the main body + of the specification. + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + altNotifIpv4Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + description: Alternate or backup IPv4 Address(es) where to send Notifications. + altNotifIpv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + description: Alternate or backup IPv6 Address(es) where to send Notifications. + altNotifFqdns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + minItems: 1 + description: Alternate or backup FQDN(s) where to send Notifications. + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + accessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + userLoc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + timeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + servingPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + ratTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + groupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + servAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + wlServAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction' + rfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + ueAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + ueSliceMbrs: + type: array + items: + $ref: '#/components/schemas/UeSliceMbr' + minItems: 1 + description: > + The subscribed UE Slice-MBR for each subscribed S-NSSAI of the home PLMN mapping to + a S-NSSAI of the serving PLMN Shall be provided when available. + allowedSnssais: + description: array of allowed S-NSSAIs for the 3GPP access. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + partAllowedNssai: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PartiallyAllowedSnssai' + minProperties: 1 + description: > + Represents the Partially Allowed NSSAI. The "snssai" attribute within the + PartiallyAllowedSnssai data type shall be the key of the map. + snssaisPartRejected: + type: object + additionalProperties: + $ref: '#/components/schemas/SnssaiPartRejected' + minProperties: 1 + description: > + Represents the set of S-NSSAI(s) partially rejected in the RA. + The "snssai" attribute within the SnssaiPartRejected data type shall be the key of the + map. + rejectedSnssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + pendingNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + targetSnssais: + description: array of target S-NSSAIs. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + mappingSnssais: + description: > + mapping of each S-NSSAI of the Allowed NSSAI to the corresponding S-NSSAI of the HPLMN. + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/MappingOfSnssai' + minItems: 1 + n3gAllowedSnssais: + description: array of allowed S-NSSAIs for the Non-3GPP access. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + serviveName: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + traceReq: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + nwdafDatas: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/NwdafData' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notificationUri + - suppFeat + - supi + + PolicyAssociationUpdateRequest: + description: > + Represents information that the NF service consumer provides when requesting the update of + a policy association. + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + altNotifIpv4Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + description: Alternate or backup IPv4 Address(es) where to send Notifications. + altNotifIpv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + description: Alternate or backup IPv6 Address(es) where to send Notifications. + altNotifFqdns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + minItems: 1 + description: Alternate or backup FQDN(s) where to send Notifications. + triggers: + type: array + items: + $ref: '#/components/schemas/RequestTrigger' + minItems: 1 + description: Request Triggers that the NF service consumer observes. + servAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + wlServAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction' + rfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + smfSelInfo: + $ref: '#/components/schemas/SmfSelectionData' + ueAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + ueSliceMbrs: + type: array + items: + $ref: '#/components/schemas/UeSliceMbr' + minItems: 1 + description: > + The subscribed UE-Slice-MBR for each subscribed S-NSSAI of the home PLMN mapping + to a S-NSSAI of the serving PLMN Shall be provided for the "UE_SLICE_MBR_CH" + policy control request trigger. + praStatuses: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + description: > + Contains the UE presence status for tracking area for which changes of the UE presence + occurred. The praId attribute within the PresenceInfo data type is the key of the map. + userLoc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + allowedSnssais: + description: array of allowed S-NSSAIs for the 3GPP access. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + partAllowedNssai: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PartiallyAllowedSnssai' + minProperties: 1 + description: > + Represents the Partially Allowed NSSAI. The "snssai" attribute within the + PartiallyAllowedSnssai data type shall be the key of the map. + snssaisPartRejected: + type: object + additionalProperties: + $ref: '#/components/schemas/SnssaiPartRejected' + minProperties: 1 + description: > + Represents the set of S-NSSAI(s) partially rejected in the RA. + The "snssai" attribute within the SnssaiPartRejected data type shall be the key of the + map. + rejectedSnssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + pendingNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + targetSnssais: + description: array of target S-NSSAIs. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + mappingSnssais: + description: > + mapping of each S-NSSAI of the Allowed NSSAI to the corresponding S-NSSAI of the HPLMN. + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/MappingOfSnssai' + minItems: 1 + accessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + ratTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + n3gAllowedSnssais: + description: array of allowed S-NSSAIs for the Non-3GPP access. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + unavailSnssais: + description: > + Represents the unavailable S-NSSAI(s) from the UE's Allowed NSSAI and/or + Partially Allowed NSSAI that require network slice replacement. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + traceReq: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + nwdafDatas: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/NwdafData' + minItems: 1 + nullable: true + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + PolicyUpdate: + description: > + Represents updated policies that the PCF provides in a notification or in a reply to an + Update Request. + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + triggers: + type: array + items: + $ref: '#/components/schemas/RequestTrigger' + minItems: 1 + nullable: true + description: Request Triggers that the PCF subscribes. + servAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + wlServAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction' + rfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + rfspValTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + targetRfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + smfSelInfo: + $ref: '#/components/schemas/SmfSelectionData' + ueAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + ueSliceMbrs: + type: array + items: + $ref: '#/components/schemas/UeSliceMbr' + minItems: 1 + description: > + One or more UE-Slice-MBR(s) for S-NSSAI(s) of serving PLMN the allowed NSSAI as + part of the AMF Access and Mobility Policy as determined by the PCF. + pras: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfoRm' + description: > + Contains the presence reporting area(s) for which reporting was requested. The praId + attribute within the PresenceInfo data type is the key of the map. + minProperties: 1 + nullable: true + pcfUeInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PcfUeCallbackInfo' + matchPdus: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionInfo' + nullable: true + asTimeDisParam: + $ref: '#/components/schemas/AsTimeDistributionParam' + snssaiReplInfos: + nullable: true + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SnssaiReplaceInfo' + minProperties: 1 + description: > + Contains the network slice replacement information. + The key of the map is the concerned unavailable S-NSSAI (within the "snssai" attribute + of the corresponding map value) to which the network slice replacement information is + related. + sliceUsgCtrlInfoSets: + type: object + additionalProperties: + $ref: '#/components/schemas/SliceUsgCtrlInfo' + minProperties: 1 + description: > + Represents the updated network slice usage control information. + The key of the map is the on-demand S-NSSAI (within the "snssai" attribute of the + corresponding map value) to which the network slice usage control information is + related. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - resourceUri + + TerminationNotification: + description: > + Represents a request to terminate a policy Association that the PCF provides in a + notification. + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + cause: + $ref: '#/components/schemas/PolicyAssociationReleaseCause' + required: + - resourceUri + - cause + + SmfSelectionData: + description: Represents the SMF Selection information that may be replaced by the PCF. + type: object + properties: + unsuppDnn: + type: boolean + candidates: + type: object + additionalProperties: + $ref: '#/components/schemas/CandidateForReplacement' + minProperties: 1 + description: > + Contains the list of DNNs per S-NSSAI that are candidates for replacement. The snssai + attribute within the CandidateForReplacement data type is the key of the map. + nullable: true + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + mappingSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + nullable: true + CandidateForReplacement: + description: Represents a list of candidate DNNs for replacement for an S-NSSAI. + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + nullable: true + required: + - snssai + nullable: true + + AmRequestedValueRep: + description: > + Represents the current applicable values corresponding to the policy control request + triggers. + type: object + properties: + userLoc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + praStatuses: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + description: > + Contains the UE presence statuses for tracking areas. The praId attribute within the + PresenceInfo data type is the key of the map. + accessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + ratTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + allowedSnssais: + description: array of allowed S-NSSAIs for the 3GPP access. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + n3gAllowedSnssais: + description: array of allowed S-NSSAIs for the Non-3GPP access. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + partAllowedNssai: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PartiallyAllowedSnssai' + minProperties: 1 + description: > + Represents the Partially Allowed NSSAI. The "snssai" attribute within the + PartiallyAllowedSnssai data type shall be the key of the map. + snssaisPartRejected: + type: object + additionalProperties: + $ref: '#/components/schemas/SnssaiPartRejected' + minProperties: 1 + description: > + Represents the set of S-NSSAI(s) partially rejected in the RA. + The "snssai" attribute within the SnssaiPartRejected data type shall be the key of the + map. + rejectedSnssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + pendingNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + + AsTimeDistributionParam: + description: Contains the 5G acess stratum time distribution parameters. + type: object + properties: + asTimeDistInd: + type: boolean + uuErrorBudget: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + clkQltDetLvl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ClockQualityDetailLevel' + clkQltAcptCri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ClockQualityAcceptanceCriterion' + nullable: true + + UeSliceMbr: + description: Contains a UE-Slice-MBR and the related information. + type: object + properties: + sliceMbr: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SliceMbr' + minProperties: 1 + description: Contains the MBR for uplink and the MBR for downlink. + servingSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + mappedHomeSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + required: + - sliceMbr + - servingSnssai + nullable: true + + SliceUsgCtrlInfo: + description: Represents network slice usage control information. + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + deregInactivTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + required: + - snssai + + SnssaiPartRejected: + description: Represents the list of the S-NSSAI(s) partially rejected in the RA. + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + allowedTaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + rejectedTaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + required: + - snssai + oneOf: + - required: [ allowedTaiList ] + - required: [ rejectedTaiList ] + + RequestTrigger: + anyOf: + - type: string + enum: + - LOC_CH + - PRA_CH + - SERV_AREA_CH + - RFSP_CH + - ALLOWED_NSSAI_CH + - UE_AMBR_CH + - UE_SLICE_MBR_CH + - SMF_SELECT_CH + - ACCESS_TYPE_CH + - NWDAF_DATA_CH + - TARGET_NSSAI + - SLICE_REPLACE_MGMT + - FEAT_RENEG + - PARTIALLY_ALLOWED_NSSAI_CH + - SNSSAIS_PARTIALLY_REJECTED_CH + - REJECTED_SNSSAIS_CH + - PENDING_NSSAI_CH + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the possible request triggers. + Possible values are: + - LOC_CH: Location change (tracking area). The tracking area of the UE has changed. + - PRA_CH: Change of UE presence in PRA. The AMF reports the current presence status + of the UE in a Presence Reporting Area, and notifies that the UE enters/leaves the + Presence Reporting Area. + - SERV_AREA_CH: Service Area Restriction change. The UDM notifies the AMF that the + subscribed service area restriction information has changed. + - RFSP_CH: RFSP index change. The UDM notifies the AMF that the subscribed RFSP index has + changed. + - ALLOWED_NSSAI_CH: Allowed NSSAI change. The AMF notifies that the set of UE allowed + S-NSSAIs has changed. + - UE_AMBR_CH: UE-AMBR change. The UDM notifies the AMF that the subscribed UE-AMBR has + changed. + - SMF_SELECT_CH: SMF selection information change. The UE requested for an unsupported + DNN or UE requested for a DNN within the list of DNN candidates for replacement per + S-NSSAI. + - ACCESS_TYPE_CH: Access Type change. The AMF notifies that the access type and the RAT + type combinations available in the AMF for a UE with simultaneous 3GPP and non-3GPP + connectivity has changed. + - UE_SLICE_MBR_CH: UE-Slice-MBR change. The NF service consumer notifies any changes + in the subscribed UE-Slice-MBR for each subscribed S-NSSAI of the home PLMN mapping + to a S-NSSAI of the serving PLMN. + - NWDAF_DATA_CH: NDWAF DATA CHANGE. The AMF notifies that the NWDAF instance IDs used + for the UE and/or associated Analytics IDs used for the UE and available in the AMF + have changed. + - TARGET_NSSAI: Generation of Target NSSAI. The NF service consumer notifies that the + Target NSSAI was generated. + - SLICE_REPLACE_MGMT: Indicates that slice replacement is needed for one or more S-NSSAI(s) + of the UE's Allowed NSSAI and/or Partially Allowed NSSAI and the AMF cannot determine the + Alternative S-NSSAI(s) for these S-NSSAI(s). + - FEAT_RENEG: The NF service consumer notifies that the target AMF is requesting feature + re-negotiation. + - PARTIALLY_ALLOWED_NSSAI_CH: Partially Allowed NSSAI change. The NF service consumer + notifies that the set of Partially Allowed S-NSSAI(s) of the UE has changed. + - SNSSAIS_PARTIALLY_REJECTED_CH: Change of the S-NSSAI(s) partially rejected in the RA. The + NF service consumer notifies that the set of S-NSSAI(s) partially rejected in the RA for + the UE has changed. + - REJECTED_SNSSAIS_CH: Change of the Rejected S-NSSAI(s) in the RA. The NF service consumer + notifies that the set of the Rejected S-NSSAI(s) in the RA for the UE has changed. + - PENDING_NSSAI_CH: Pending NSSAI change. The NF service consumer notifies that the set of + Pending S-NSSAI(s) of the UE has changed. + + PolicyAssociationReleaseCause: + anyOf: + - type: string + enum: + - UNSPECIFIED + - UE_SUBSCRIPTION + - INSUFFICIENT_RES + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the cause why the PCF requests the termination of the policy association. + Possible values are: + - UNSPECIFIED: This value is used for unspecified reasons. + - UE_SUBSCRIPTION: This value is used to indicate that the session needs to be + terminated because the subscription of UE has changed (e.g. was removed). + - INSUFFICIENT_RES: This value is used to indicate that the server is overloaded and + needs to abort the session. diff --git a/TS29508_Nsmf_EventExposure.yaml b/TS29508_Nsmf_EventExposure.yaml new file mode 100644 index 0000000000000000000000000000000000000000..49c27736f1a27e815a07e08a47368b5f94af62cc --- /dev/null +++ b/TS29508_Nsmf_EventExposure.yaml @@ -0,0 +1,990 @@ +openapi: 3.0.0 + +info: + version: 1.3.0-alpha.5 + title: Nsmf_EventExposure + description: | + Session Management Event Exposure Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.508 V18.4.0; 5G System; Session Management Event Exposure Service. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.508/ + +servers: + - url: '{apiRoot}/nsmf-event-exposure/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nsmf-event-exposure + +paths: + /subscriptions: + post: + operationId: CreateIndividualSubcription + summary: Create an individual subscription for event notifications from the SMF + tags: + - Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NsmfEventExposure' + responses: + '201': + description: Created. + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nsmf-event-exposure/v1/subscriptions/{subId} + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/NsmfEventExposure' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + myNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NsmfEventExposureNotification' + responses: + '204': + description: No Content, Notification was successful. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + afAcknowledgement: + '{request.body#/ackUri}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AckOfNotify' + responses: + '204': + description: No Content (successful acknowledgement) + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subId}: + get: + operationId: GetIndividualSubcription + summary: Read an individual subscription for event notifications from the SMF + tags: + - IndividualSubscription (Document) + parameters: + - name: subId + in: path + description: Event Subscription ID + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/NsmfEventExposure' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + operationId: ReplaceIndividualSubcription + summary: Replace an individual subscription for event notifications from the SMF + tags: + - IndividualSubscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NsmfEventExposure' + parameters: + - name: subId + in: path + description: Event Subscription ID + required: true + schema: + type: string + responses: + '200': + description: OK. Resource was successfully modified and representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/NsmfEventExposure' + '204': + description: No Content. Resource was successfully modified + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + operationId: DeleteIndividualSubcription + summary: Delete an individual subscription for event notifications from the SMF + tags: + - IndividualSubscription (Document) + parameters: + - name: subId + in: path + description: Event Subscription ID + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was successfully deleted + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nsmf-event-exposure: Access to the Nsmf_EventExposure API + + schemas: + + NsmfEventExposure: + description: > + Represents an Individual SMF Notification Subscription resource. The serviveName property + corresponds to the serviceName in the main body of the specification. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + anyUeInd: + type: boolean + description: > + Any UE indication. This IE shall be present if the event subscription is applicable to + any UE. Default value "false" is used, if not present. + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + pduSeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + ssId: + type: string + description: SSID that the PDU session is related to. + bssId: + type: string + description: BSSID that the PDU session is related to. + upfId: + type: string + description: UPF identity. + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + subId: + $ref: '#/components/schemas/SubId' + notifId: + type: string + description: Notification Correlation ID assigned by the NF service consumer. + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + altNotifIpv4Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + description: Alternate or backup IPv4 address(es) where to send Notifications. + minItems: 1 + altNotifIpv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + description: Alternate or backup IPv6 address(es) where to send Notifications. + minItems: 1 + altNotifFqdns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + minItems: 1 + description: Alternate or backup FQDN(s) where to send Notifications. + eventSubs: + type: array + items: + $ref: '#/components/schemas/EventSubscription' + minItems: 1 + description: Subscribed events + eventNotifs: + type: array + items: + $ref: '#/components/schemas/EventNotification' + minItems: 1 + ImmeRep: + type: boolean + notifMethod: + $ref: '#/components/schemas/NotificationMethod' + maxReportNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + serviveName: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + sampRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + partitionCriteria: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PartitioningCriteria' + minItems: 1 + description: Criteria for partitioning the UEs before applying the sampling ratio. + grpRepTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + notifFlag: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NotificationFlag' + notifFlagInstruct: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MutingExceptionInstructions' + mutingSetting: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MutingNotificationsSettings' + defQosSupp: + type: boolean + description: > + Indicates whether the NF service consumer requests to receive QoS Flow performance + information for the QoS Flow associated with the default QoS rule if there are no + measurements available for the provided Application Identifier included in the appIds + attribute. + qosMonPending: + type: boolean + description: > + Indicates that the reporting will be activated when the measurements are enabled by a + PCC rule. It shall always be set to true when present. It may only be provided in the + response. + required: + - notifId + - notifUri + - eventSubs + + NsmfEventExposureNotification: + description: Represents notifications on events that occurred. + type: object + properties: + notifId: + type: string + description: Notification correlation ID + eventNotifs: + type: array + items: + $ref: '#/components/schemas/EventNotification' + minItems: 1 + description: Notifications about Individual Events + ackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - notifId + - eventNotifs + + EventSubscription: + description: Represents a subscription to a single event. + type: object + properties: + event: + $ref: '#/components/schemas/SmfEvent' + dnaiChgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType' + dddTraDescriptors: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + minItems: 1 + dddStati: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DlDataDeliveryStatus' + minItems: 1 + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + targetPeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + transacDispInd: + type: boolean + description: > + Indicates the subscription for UE transaction dispersion collectionon, if it is included + and set to "true". Default value is "false". + transacMetrics: + type: array + items: + $ref: '#/components/schemas/TransactionMetric' + description: Indicates Session Management Transaction metrics. + minItems: 1 + ueIpAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + upfEvents: + type: array + items: + $ref: 'TS29564_Nupf_EventExposure.yaml#/components/schemas/UpfEvent' + description: Indicates UPF event exposure information. + minItems: 1 + required: + - event + + EventNotification: + description: Represents a notification related to a single event that occurred. + type: object + properties: + event: + $ref: '#/components/schemas/SmfEvent' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ueIpAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + transacInfos: + type: array + items: + $ref: '#/components/schemas/TransactionInfo' + description: Transaction Information. + minItems: 1 + sourceDnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + targetDnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + dnaiChgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType' + candidateDnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + description: The candidate DNAI(s) for the PDU Session. + candDnaisPrioInd: + type: boolean + description: > + If provided and set to true, it indicates that the candidate DNAIs provided + in the candidateDnais attribute are in descending priority order, i.e., + the lower the array index the higher the priority of the respective DNAI. + If omitted, the default value is false. + easRediscoverInd: + type: boolean + description: > + Indication of EAS re-discovery. If present and set to "true", it indicates the EAS + re-discovery is performed, e.g. due to change of common EAS. Default value is "false" if + omitted. + trafCorreInfo: + $ref: '#/components/schemas/TrafficCorrelationNotification' + sourceUeIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + sourceUeIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + targetUeIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + targetUeIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + sourceTraRouting: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + targetTraRouting: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + ueMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + adIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + adIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + reIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + reIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + accType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + pduAccTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + pduSeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + dddStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DlDataDeliveryStatus' + dddTraDescriptor: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + maxWaitTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + commFailure: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/CommunicationFailure' + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Prefixes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + ipv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + pduSessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + sscMode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode' + qfi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + ethFlowDescs: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: > + Descriptor(s) for non-IP traffic. It allows the encoding of multiple UL and/or DL flows. + Each entry of the array describes a single Ethernet flow. + ethfDescs: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + maxItems: 2 + description: > + Contains the UL and/or DL Ethernet flows. Each entry of the array describes a single + Ethernet flow. + flowDescs: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowDescription' + minItems: 1 + description: > + Descriptor(s) for IP traffic. It allows the encoding of multiple UL and/or DL flows. + Each entry of the array describes a single IP flow. + fDescs: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowDescription' + minItems: 1 + maxItems: 2 + description: > + Contains the UL and/or DL IP flows. Each entry of the array describes a single + IP flow. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + ulDelays: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + dlDelays: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + rtDelays: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + ulCongInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + dlCongInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + cimf: + type: boolean + description: Represents the congestion information measurement failure indicator. + ulDataRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + dlDataRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + timeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + smNasFromUe: + $ref: '#/components/schemas/SmNasFromUe' + smNasFromSmf: + $ref: '#/components/schemas/SmNasFromSmf' + upRedTrans: + type: boolean + description: > + Indicates whether the redundant transmission is setup or terminated. Set to "true" if + the redundant transmission is setup, otherwise set to "false" if the redundant + transmission is terminated. Default value is set to "false". + ssId: + type: string + bssId: + type: string + startWlan: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endWlan: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + pduSessInfos: + type: array + items: + $ref: '#/components/schemas/PduSessionInformation' + minItems: 1 + upfInfo: + $ref: '#/components/schemas/UpfInformation' + pdmf: + type: boolean + description: Represents the packet delay measurement failure indicator. + satBackhaulCat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SatelliteBackhaulCategory' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + targetAfId: + type: string + description: Identifier of the Application Function responsible for the target DNAI. + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + required: + - event + - timeStamp + not: + required: [ipv6Prefixes,ipv6Addrs] + + SubId: + type: string + format: SubId + description: > + Identifies an Individual SMF Notification Subscription. To enable that the value is used as + part of a URI, the string shall only contain characters allowed according to the + "lower-with-hyphen" naming convention defined in 3GPP TS 29.501. In an OpenAPI schema, the + format shall be designated as "SubId". + + AckOfNotify: + description: Represents an acknowledgement information of an event notification. + type: object + properties: + notifId: + type: string + ackResult: + $ref: 'TS29522_TrafficInfluence.yaml#/components/schemas/AfResultInfo' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + required: + - notifId + - ackResult + + SmNasFromUe: + description: > + Represents information on the SM NAS messages that SMF receives from UE for PDU Session. + type: object + properties: + smNasType: + type: string + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - smNasType + - timeStamp + + SmNasFromSmf: + description: > + Represents information on the SM congestion control applied SM NAS messages that SMF sends + to UE for PDU Session. + type: object + properties: + smNasType: + type: string + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + backoffTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + appliedSmccType: + $ref: '#/components/schemas/AppliedSmccType' + required: + - smNasType + - timeStamp + - backoffTimer + - appliedSmccType + + TransactionInfo: + description: Represents SMF Transaction Information. + type: object + properties: + transaction: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + transacMetrics: + type: array + items: + $ref: '#/components/schemas/TransactionMetric' + minItems: 1 + required: + - transaction + + PduSessionInformation: + description: Represents the PDU session related information. + type: object + properties: + pduSessId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + sessInfo: + $ref: '#/components/schemas/PduSessionInfo' + + PduSessionInfo: + description: Represents session information. + type: object + properties: + n4SessId: + type: string + description: The identifier of the N4 session for the reported PDU Session. + sessInactiveTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + pduSessStatus: + $ref: '#/components/schemas/PduSessionStatus' + + UpfInformation: + description: Represents the ID/address/FQDN of the UPF. + type: object + properties: + upfId: + type: string + upfAddr: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AddrFqdn' + + TrafficCorrelationNotification: + description: Represents notifications for 5GC determined Traffic Correlation Information. + type: object + properties: + smfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + tfcCorrId: + type: string + description: > + Identification of a set of UEs accessing the application identified by the + Application Identifier or traffic filtering information. + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + easFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + easIpAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + pduSessionNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - smfId + - pduSessionNbr + - tfcCorrId + anyOf: + - required: [dnais] + - anyOf: + - required: [easFqdn] + - required: [easIpAddr] + + SmfEvent: + anyOf: + - type: string + enum: + - AC_TY_CH + - UP_PATH_CH + - PDU_SES_REL + - PLMN_CH + - UE_IP_CH + - RAT_TY_CH + - DDDS + - COMM_FAIL + - PDU_SES_EST + - QFI_ALLOC + - QOS_MON + - SMCC_EXP + - DISPERSION + - RED_TRANS_EXP + - WLAN_INFO + - UPF_INFO + - UP_STATUS_INFO + - SATB_CH + - TRAFFIC_CORRELATION + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Represents the types of events that can be subscribed. + Possible values are: + - AC_TY_CH: Access Type Change. + - UP_PATH_CH: UP Path Change. + - PDU_SES_REL: PDU Session Release. + - PLMN_CH: PLMN Change. + - UE_IP_CH: UE IP address change. + - RAT_TY_CH: RAT Type Change. + - DDDS: Downlink data delivery status. + - COMM_FAIL: Communication Failure. + - PDU_SES_EST: PDU Session Establishment. + - QFI_ALLOC: QFI allocation. + - QOS_MON: QoS Monitoring. + - SMCC_EXP: SM congestion control experience for PDU Session. + - DISPERSION: Session Management transaction dispersion. + - RED_TRANS_EXP: Redundant transmission experience for PDU Session. + - WLAN_INFO: WLAN information on PDU session for which Access Type is NON_3GPP_ACCESS and + RAT Type is TRUSTED_WLAN. + - UPF_INFO: The UPF information, including the UPF ID/address/FQDN information. + - UP_STATUS_INFO: The User Plane status information. + - SATB_CH: Satellite backhaul category change. + - TRAFFIC_CORRELATION: Indicates that the SMF provides 5GC determined traffic correlation + information for a set of UEs identified by Traffic Correlation ID. + + NotificationMethod: + anyOf: + - type: string + enum: + - PERIODIC + - ONE_TIME + - ON_EVENT_DETECTION + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Represents the notification methods that can be subscribed. + Possible values are: + - PERIODIC + - ONE_TIME + - ON_EVENT_DETECTION + + AppliedSmccType: + anyOf: + - type: string + enum: + - DNN_CC + - SNSSAI_CC + description: > + This string indicates the type of applied SM congestion control. + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Represents the type of applied SM congestion control. + Possible values are: + - DNN_CC: Indicates the DNN based congestion control. + - SNSSAI_CC: Indicates the S-NSSAI based congestion control. + + TransactionMetric: + anyOf: + - type: string + enum: + - PDU_SES_EST + - PDU_SES_AUTH + - PDU_SES_MODIF + - PDU_SES_REL + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + + description: | + Represents the metric on UE Session Management transactions. + Possible values are: + - PDU_SES_EST: PDU Session Establishment + - PDU_SES_AUTH: PDU Session Authentication + - PDU_SES_MODIF: PDU Session Modification + - PDU_SES_REL: PDU Session Release + + PduSessionStatus: + anyOf: + - type: string + enum: + - ACTIVATED + - DEACTIVATED + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + + description: | + Represents the status of the PDU Session. + Possible values are: + - ACTIVATED: PDU Session status is activated. + - DEACTIVATED: PDU Session status is deactivated. + diff --git a/TS29509_Nausf_SoRProtection.yaml b/TS29509_Nausf_SoRProtection.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5df2aad8c17e65a89030a0a451e53d3200a5c34a --- /dev/null +++ b/TS29509_Nausf_SoRProtection.yaml @@ -0,0 +1,198 @@ +openapi: 3.0.0 + +info: + version: 1.3.0-alpha.1 + title: Nausf_SoRProtection Service + description: | + AUSF SoR Protection Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.509 V18.0.0; 5G System; Authentication Server Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.509' + +servers: + - url: '{apiRoot}/nausf-sorprotection/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - nausf-sorprotection + +paths: + /{supi}/ue-sor: + post: + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SorInfo' + required: true + responses: + '200': + description: SorSecurityInfo + content: + application/json: + schema: + $ref: '#/components/schemas/SorSecurityInfo' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nausf-sorprotection: Access to the Nausf_SoRProtection API + schemas: + +# +# COMPLEX TYPES: +# + + SorInfo: + description: Contains the Steering Information. + type: object + properties: + steeringContainer: + $ref: '#/components/schemas/SteeringContainer' + ackInd: + $ref: '#/components/schemas/AckInd' + sorHeader: + $ref: '#/components/schemas/SorHeader' + sorTransparentInfo: + $ref: '#/components/schemas/SorTransparentInfo' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ackInd + + SorSecurityInfo: + description: Contains the material generated for securing of SoR. It contains at least the SoR-MAC-IAUSF and CounterSoR. + type: object + properties: + sorMacIausf: + $ref: '#/components/schemas/SorMac' + counterSor: + $ref: '#/components/schemas/CounterSor' + sorXmacIue: + $ref: '#/components/schemas/SorMac' + required: + - sorMacIausf + - counterSor + + SteeringContainer: + description: Contains the information sent to UE. + oneOf: + - type: array + items: + $ref: '#/components/schemas/SteeringInfo' + minItems: 1 + - $ref: '#/components/schemas/SecuredPacket' + + SteeringInfo: + description: Contains a combination of one PLMN identity and zero or more access technologies. + type: object + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + accessTechList: + type: array + items: + $ref: '#/components/schemas/AccessTech' + minItems: 1 + required: + - plmnId + +# +# SIMPLE TYPES: +# + + SorMac: + description: MAC value for protecting SOR procedure (SoR-MAC-IAUSF and SoR-XMAC-IUE). + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + CounterSor: + description: CounterSoR. + type: string + pattern: '^[A-Fa-f0-9]{4}$' + + AckInd: + description: Contains indication whether the acknowledgement from UE is needed. + type: boolean + + SecuredPacket: + description: Contains a secure packet. + type: string + format: byte + + SorHeader: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + + SorTransparentInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + +# +# ENUMS: + + AccessTech: + description: Represents the access technology + anyOf: + - type: string + enum: + - NR + - EUTRAN_IN_WBS1_MODE_AND_NBS1_MODE + - EUTRAN_IN_NBS1_MODE_ONLY + - EUTRAN_IN_WBS1_MODE_ONLY + - UTRAN + - GSM_AND_ECGSM_IoT + - GSM_WITHOUT_ECGSM_IoT + - ECGSM_IoT_ONLY + - CDMA_1xRTT + - CDMA_HRPD + - GSM_COMPACT + - type: string diff --git a/TS29509_Nausf_UEAuthentication.yaml b/TS29509_Nausf_UEAuthentication.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b00dd01fd1ff1a308c5ca23cb885f59fedabe850 --- /dev/null +++ b/TS29509_Nausf_UEAuthentication.yaml @@ -0,0 +1,969 @@ +openapi: 3.0.0 +info: + version: 1.3.0-alpha.4 + title: AUSF API + description: | + AUSF UE Authentication Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.509 V18.3.0; 5G System; 3GPP TS Authentication Server services. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.509' + +servers: + - url: '{apiRoot}/nausf-auth/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - nausf-auth + +paths: + /ue-authentications: + post: + security: + - {} + - oAuth2ClientCredentials: + - nausf-auth + - oAuth2ClientCredentials: + - nausf-auth + - nausf-auth:ue-authentications + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationInfo' + required: true + responses: + '201': + description: UEAuthenticationCtx + content: + application/3gppHal+json: + schema: + $ref: '#/components/schemas/UEAuthenticationCtx' + headers: + Location: + description: 'Contains the URI of the newly created resource according to the structure: {apiRoot}/nausf-auth//ue-authentications/{authCtxId}' + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request from the AMF + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden due to serving network not authorized + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: User does not exist in the HPLMN + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '501': + description: Received protection scheme is not supported by HPLMN + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + /ue-authentications/deregister: + post: + security: + - {} + - oAuth2ClientCredentials: + - nausf-auth + - oAuth2ClientCredentials: + - nausf-auth + - nausf-auth:ue-authentications + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeregistrationInfo' + required: true + responses: + '204': + description: Expected response to a successful removal of security context + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + /ue-authentications/{authCtxId}/5g-aka-confirmation: + put: + security: + - {} + - oAuth2ClientCredentials: + - nausf-auth + - oAuth2ClientCredentials: + - nausf-auth + - nausf-auth:ue-authentications + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ConfirmationData' + responses: + '200': + description: Request processed (EAP success or Failure) + content: + application/json: + schema: + $ref: '#/components/schemas/ConfirmationDataResponse' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + delete: + summary: Deletes the authentication result in the UDM + operationId: Delete5gAkaAuthenticationResult + tags: + - Authentication Result Deletion + security: + - {} + - oAuth2ClientCredentials: + - nausf-auth + - oAuth2ClientCredentials: + - nausf-auth + - nausf-auth:ue-authentications + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful authentication result removal + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /ue-authentications/{authCtxId}/eap-session: + post: + operationId: EapAuthMethod + security: + - {} + - oAuth2ClientCredentials: + - nausf-auth + - oAuth2ClientCredentials: + - nausf-auth + - nausf-auth:ue-authentications + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EapSession' + responses: + '200': + description: Use to handle or close the EAP session + content: + application/json: + schema: + $ref: '#/components/schemas/EapSession' + + application/3gppHal+json: + schema: + type: object + properties: + eapPayload: + $ref: '#/components/schemas/EapPayload' + _links: + type: object + description: 'URI : /{eapSessionUri}, a map(list of key-value pairs) where member serves as key' + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + minProperties: 1 + required: + - eapPayload + - _links + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + delete: + summary: Deletes the authentication result in the UDM + operationId: DeleteEapAuthenticationResult + tags: + - Authentication Result Deletion + security: + - {} + - oAuth2ClientCredentials: + - nausf-auth + - oAuth2ClientCredentials: + - nausf-auth + - nausf-auth:ue-authentications + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful authentication result removal + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /rg-authentications: + post: + security: + - {} + - oAuth2ClientCredentials: + - nausf-auth + - oAuth2ClientCredentials: + - nausf-auth + - nausf-auth:rg-authentications + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RgAuthenticationInfo' + required: true + responses: + '201': + description: RgAuthCtx + content: + application/json: + schema: + $ref: '#/components/schemas/RgAuthCtx' + headers: + Location: + description: 'Contains the URI of the newly created resource according to the structure: {apiRoot}/nausf-auth//rg-authentications/{authCtxId}' + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request from the AMF + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: The UE is not allowed to be authenticated + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: User does not exist in the HPLMN + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + + /prose-authentications: + post: + security: + - {} + - oAuth2ClientCredentials: + - nausf-auth + - oAuth2ClientCredentials: + - nausf-auth + - nausf-auth:prose-authentications + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProSeAuthenticationInfo' + required: true + responses: + '200': + description: Successful authentication with CP-PRUK ID + content: + application/json: + schema: + $ref: '#/components/schemas/ProSeAuthenticationResult' + '201': + description: ProSeAuthenticationCtx + content: + application/3gppHal+json: + schema: + $ref: '#/components/schemas/ProSeAuthenticationCtx' + headers: + Location: + description: 'Contains the URI of the newly created resource according to the structure: {apiRoot}/nausf-auth//prose-authentications/{authCtxId}' + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + /prose-authentications/{authCtxId}/prose-auth: + post: + operationId: proseAuth + security: + - {} + - oAuth2ClientCredentials: + - nausf-auth + - oAuth2ClientCredentials: + - nausf-auth + - nausf-auth:prose-authentications + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProSeEapSession' + responses: + '200': + description: Use to handle or close the EAP session for 5G ProSe Remote UE or a 5G ProSe End UE + content: + application/json: + schema: + $ref: '#/components/schemas/ProSeEapSession' + application/3gppHal+json: + schema: + type: object + properties: + eapPayload: + $ref: '#/components/schemas/EapPayload' + _links: + type: object + description: 'URI : /{eapSessionUri}, a map(list of key-value pairs) where member serves as key' + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + minProperties: 1 + required: + - eapPayload + - _links + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + delete: + summary: Deletes the authentication result in the UDM + operationId: DeleteProSeAuthenticationResult + tags: + - Authentication Result Deletion + security: + - {} + - oAuth2ClientCredentials: + - nausf-auth + - oAuth2ClientCredentials: + - nausf-auth + - nausf-auth:prose-authentications + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful authentication result removal + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nausf-auth: Access to Nausf_UEAuthentication API + nausf-auth:ue-authentications: > + Access to service operations applying to the collection of the ue-authentication + resources and the subresources, i.e. 5g-aka-confirmation and eap-session + nausf-auth:rg-authentications: > + Access to service operations applying to the collection of the rg-authentication + resources + nausf-auth:prose-authentications: > + Access to service operations applying to the collection of the prose-authentication + resources and the subresources, i.e. prose-auth. + + schemas: + AuthenticationInfo: + description: Contains the UE id (i.e. SUCI or SUPI) and the Serving Network Name. + type: object + properties: + supiOrSuci: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupiOrSuci' + servingNetworkName: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + resynchronizationInfo: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ResynchronizationInfo' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + udmGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + routingIndicator: + type: string + pattern: '^[0-9]{1,4}$' + cellCagInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CagId' + minItems: 1 + n5gcInd: + type: boolean + default: false + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + nswoInd: + type: boolean + default: false + disasterRoamingInd: + type: boolean + default: false + onboardingInd: + type: boolean + default: false + aun3Ind: + type: boolean + default: false + required: + - supiOrSuci + - servingNetworkName + + UEAuthenticationCtx: + description: Contains the information related to the resource generated to handle the UE authentication. It contains at least the UE id, Serving Network, the Authentication Method and related EAP information or related 5G-AKA information. + type: object + properties: + authType: + $ref: '#/components/schemas/AuthType' + 5gAuthData: + oneOf: + - $ref: '#/components/schemas/Av5gAka' + - $ref: '#/components/schemas/EapPayload' + _links: + type: object + description: A map(list of key-value pairs) where member serves as key + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + servingNetworkName: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + required: + - authType + - 5gAuthData + - _links + + Av5gAka: + description: Contains Authentication Vector for method 5G AKA. + type: object + required: + - rand + - hxresStar + - autn + properties: + rand: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Rand' + hxresStar: + $ref: '#/components/schemas/HxresStar' + autn: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Autn' + + ConfirmationData: + description: Contains the result of the authentication. + type: object + required: + - resStar + properties: + resStar: + $ref: '#/components/schemas/ResStar' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + ConfirmationDataResponse: + description: Contains the result of the authentication + type: object + properties: + authResult: + $ref: '#/components/schemas/AuthResult' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + kseaf: + $ref: '#/components/schemas/Kseaf' + pvsInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServerAddressingInfo' + minItems: 1 + required: + - authResult + + EapSession: + description: Contains information related to the EAP session. + type: object + properties: + eapPayload: + $ref: '#/components/schemas/EapPayload' + kSeaf: + $ref: '#/components/schemas/Kseaf' + _links: + type: object + description: A map(list of key-value pairs) where member serves as key + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + authResult: + $ref: '#/components/schemas/AuthResult' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + pvsInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServerAddressingInfo' + minItems: 1 + msk: + $ref: '#/components/schemas/Msk' + required: + - eapPayload + + DeregistrationInfo: + description: Contains the UE id (i.e. SUPI). + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supi + + RgAuthenticationInfo: + description: Contains the UE id (i.e. SUCI) and the authenticated indication. + type: object + properties: + suci: + $ref: '#/components/schemas/Suci' + authenticatedInd: + type: boolean + default: false + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - suci + - authenticatedInd + + RgAuthCtx: + description: Contains the UE id (i.e. SUPI) and the authentication indication. + type: object + properties: + authResult: + $ref: '#/components/schemas/AuthResult' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + authInd: + type: boolean + default: false + required: + - authResult + + AuthResult: + description: Indicates the result of the authentication. + type: string + enum: + - AUTHENTICATION_SUCCESS + - AUTHENTICATION_FAILURE + - AUTHENTICATION_ONGOING + + EapPayload: + type: string + format: byte + description: contains an EAP packet + nullable: true + + Kseaf: + description: Contains the Kseaf. + type: string + pattern: '[A-Fa-f0-9]{64}' + + Msk: + description: Contains the Master Session Key. + type: string + pattern: '[A-Fa-f0-9]{128}' + + ResStar: + description: Contains the RES*. + type: string + pattern: '[A-Fa-f0-9]{32}' + nullable: true + + HxresStar: + description: Contains the HXRES*. + type: string + pattern: "[A-Fa-f0-9]{32}" + + Suci: + description: Contains the SUCI. + type: string + pattern: '^(suci-(0-[0-9]{3}-[0-9]{2,3}|[1-7]-.+)-[0-9]{1,4}-(0-0-.+|[a-fA-F1-9]-([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])-[a-fA-F0-9]+)|.+)$' + + AuthType: + description: Indicates the authentication method used. + anyOf: + - type: string + enum: + - 5G_AKA + - EAP_AKA_PRIME + - EAP_TLS + - EAP_TTLS + - type: string + + ProSeAuthenticationInfo: + description: > + Contains the UE id (i.e. SUCI) or CP-PRUK ID, Relay Service Code and Nonce_1. + type: object + properties: + supiOrSuci: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupiOrSuci' + 5gPrukId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GPrukId' + relayServiceCode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RelayServiceCode' + nonce1: + $ref: '#/components/schemas/Nonce1' + servingNetworkName: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - relayServiceCode + - nonce1 + - servingNetworkName + + ProSeAuthenticationCtx: + description: Contains the information related to the resource generated to handle the ProSe authentication. + type: object + properties: + authType: + $ref: '#/components/schemas/AuthType' + _links: + type: object + description: A map(list of key-value pairs) where member serves as key + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + proSeAuthData: + $ref: '#/components/schemas/ProSeAuthData' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - authType + - _links + - proSeAuthData + + ProSeEapSession: + description: Contains information related to the EAP session. If present the 5gPrukId IE shall carry the CP-PRUK ID. + type: object + properties: + eapPayload: + $ref: '#/components/schemas/EapPayload' + knrProSe: + $ref: '#/components/schemas/KnrProSe' + _links: + type: object + description: A map(list of key-value pairs) where member serves as key + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + authResult: + $ref: '#/components/schemas/AuthResult' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + nonce2: + $ref: '#/components/schemas/Nonce2' + 5gPrukId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GPrukId' + required: + - eapPayload + + ProSeAuthData: + description: Represents ProSe authentication related information. + oneOf: + - $ref: '#/components/schemas/EapPayload' + + ProSeAuthenticationResult: + description: Successful authentication for CP-PRUK ID. + type: object + properties: + knrProSe: + $ref: '#/components/schemas/KnrProSe' + nonce2: + $ref: '#/components/schemas/Nonce2' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + KnrProSe: + description: Contains the KNR_ProSe. + type: string + pattern: '[A-Fa-f0-9]{64}' + Nonce1: + type: string + format: byte + description: contains an Nonce1 + nullable: true + + Nonce2: + type: string + format: byte + description: contains an Nonce2 + nullable: true diff --git a/TS29509_Nausf_UPUProtection.yaml b/TS29509_Nausf_UPUProtection.yaml new file mode 100644 index 0000000000000000000000000000000000000000..11984dc72b9f9318ce73983df14acbe87d434993 --- /dev/null +++ b/TS29509_Nausf_UPUProtection.yaml @@ -0,0 +1,169 @@ +openapi: 3.0.0 +info: + version: 1.3.0-alpha.1 + title: Nausf_UPUProtection Service + description: | + AUSF UPU Protection Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.509 V18.0.0; 5G System; Authentication Server Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.509' + +servers: + - url: '{apiRoot}/nausf-upuprotection/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - nausf-upuprotection + +paths: + /{supi}/ue-upu: + post: + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpuInfo' + required: true + responses: + '200': + description: UpuSecurityInfo + content: + application/json: + schema: + $ref: '#/components/schemas/UpuSecurityInfo' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nausf-upuprotection: Access to the Nausf_UPUProtection API + + schemas: + +# +# COMPLEX TYPES: +# + + UpuInfo: + description: Contains the UE parameters update Information. + type: object + properties: + upuDataList: + type: array + items: + $ref: '#/components/schemas/UpuData' + minItems: 1 + upuHeader: + $ref: '#/components/schemas/UpuHeader' + upuAckInd: + $ref: '#/components/schemas/UpuAckInd' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + upuTransparentInfo: + $ref: '#/components/schemas/UpuTransparentInfo' + required: + - upuDataList + - upuAckInd + + UpuSecurityInfo: + description: Contains the material generated for securing of UPU. It contains at least the UPU-MAC-IAUSF and CounterUPU. + type: object + properties: + upuMacIausf: + $ref: '#/components/schemas/UpuMac' + counterUpu: + $ref: '#/components/schemas/CounterUpu' + upuXmacIue: + $ref: '#/components/schemas/UpuMac' + required: + - upuMacIausf + - counterUpu + + UpuData: + description: Contains UE parameters update data set (e.g., the updated Routing ID Data or the Default configured NSSAI). + type: object + properties: + secPacket: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SecuredPacket' + defaultConfNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + routingId: + $ref: 'TS29544_Nspaf_SecuredPacket.yaml#/components/schemas/RoutingId' + +# +# SIMPLE TYPES: +# + + UpuMac: + description: MAC value for protecting UPU procedure (UPU-MAC-IAUSF and UPU-MAC-IUE). + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + CounterUpu: + description: CounterUPU. + type: string + pattern: '^[A-Fa-f0-9]{4}$' + + UpuAckInd: + description: Contains the indication of whether the acknowledgement from UE is needed. + type: boolean + + UpuHeader: + description: Contains the "UPU Header" IE as specified in clause 9.11.3.53A of 3GPP TS 24.501 (octet 4), encoded as 2 hexadecimal characters. + type: string + pattern: '^[A-Fa-f0-9]{2}$' + + UpuTransparentInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' diff --git a/TS29510_Nnrf_Bootstrapping.yaml b/TS29510_Nnrf_Bootstrapping.yaml new file mode 100644 index 0000000000000000000000000000000000000000..787238dd91d4ebb503010c2391ad29230a22a73b --- /dev/null +++ b/TS29510_Nnrf_Bootstrapping.yaml @@ -0,0 +1,123 @@ +openapi: 3.0.0 + +info: + version: '1.2.0-alpha.1' + title: 'NRF Bootstrapping' + description: | + NRF Bootstrapping. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.510 V18.5.0; 5G System; Network Function Repository Services; Stage 3 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.510/' + +paths: + /bootstrapping: + get: + summary: Bootstrapping Info Request + operationId: BootstrappingInfoRequest + tags: + - Bootstrapping Request + parameters: + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in IETF RFC 9110, 13.1.2 + schema: + type: string + responses: + '200': + description: Successful Bootstrapping Request + content: + application/3gppHal+json: + schema: + $ref: '#/components/schemas/BootstrappingInfo' + headers: + Cache-Control: + description: Cache-Control containing max-age, described in IETF RFC 9111, 5.2 + schema: + type: string + ETag: + description: > + Entity Tag containing a strong validator, described in IETF RFC 9110, 8.8.3 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target NRF + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target NRF + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + schemas: + BootstrappingInfo: + description: Information returned by NRF in the bootstrapping response message + type: object + required: + - _links + properties: + status: + $ref: '#/components/schemas/Status' + _links: + type: object + description: > + Map of link objects where the keys are the link relations defined in + 3GPP TS 29.510 clause 6.4.6.3.3 + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + minProperties: 1 + nrfFeatures: + type: object + description: > + Map of features supported by the NRF, where the keys are the NRF services + as defined in 3GPP TS 29.510 clause 6.1.6.3.11 + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + minProperties: 1 + oauth2Required: + type: object + description: > + Map indicating whether the NRF requires Oauth2-based authorization for accessing + its services. The key of the map shall be the name of an NRF service, + e.g. "nnrf-nfm" or "nnrf-disc" + additionalProperties: + type: boolean + minProperties: 1 + nrfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + nrfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + Status: + description: Overal status of the NRF + anyOf: + - type: string + enum: + - OPERATIVE + - NON_OPERATIVE + - type: string diff --git a/TS29510_Nnrf_NFDiscovery.yaml b/TS29510_Nnrf_NFDiscovery.yaml new file mode 100644 index 0000000000000000000000000000000000000000..31b9261e1ecd708a18e9d767a26fb148e7992647 --- /dev/null +++ b/TS29510_Nnrf_NFDiscovery.yaml @@ -0,0 +1,2481 @@ +openapi: 3.0.0 + +info: + version: '1.3.0-alpha.6' + title: 'NRF NFDiscovery Service' + description: | + NRF NFDiscovery Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.510 V18.5.0; 5G System; Network Function Repository Services; Stage 3 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.510/' + +servers: + - url: '{apiRoot}/nnrf-disc/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnrf-disc + - oAuth2ClientCredentials: + - nnrf-disc + - nnrf-disc:nf-instances:read-complete-profile + +paths: + /nf-instances: + get: + summary: Search a collection of NF Instances + operationId: SearchNFInstances + tags: + - NF Instances (Store) + parameters: + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + - name: target-nf-type + in: query + description: Type of the target NF + required: true + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + - name: requester-nf-type + in: query + description: Type of the requester NF + required: true + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + - name: preferred-collocated-nf-types + in: query + description: collocated NF types that candidate NFs should preferentially support + schema: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/CollocatedNfType' + minItems: 1 + style: form + explode: false + - name: requester-nf-instance-id + in: query + description: NfInstanceId of the requester NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: service-names + in: query + description: Names of the services offered by the NF + schema: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + minItems: 1 + uniqueItems: true + style: form + explode: false + - name: requester-nf-instance-fqdn + in: query + description: FQDN of the requester NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + - name: target-plmn-list + in: query + description: > + Id of the PLMN of either the target NF, or in SNPN scenario the Credentials Holder + in the PLMN + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + - name: requester-plmn-list + in: query + description: Id of the PLMN where the NF issuing the Discovery request is located + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + - name: target-nf-instance-id + in: query + description: Identity of the NF instance being discovered + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: target-nf-instance-id-list + in: query + description: Identities of the NF instances being discovered + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 2 + style: form + explode: false + - name: target-nf-fqdn + in: query + description: FQDN of the NF instance being discovered + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + - name: hnrf-uri + in: query + description: Uri of the home NRF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + - name: snssais + in: query + description: Slice info of the target NF + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: additional-snssais + in: query + description: Additional Slices supported by the target NF (Service) instances + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + - name: requester-snssais + in: query + description: Slice info of the requester NF + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + - name: plmn-specific-snssai-list + in: query + description: PLMN specific Slice info of the target NF + content: + application/json: + schema: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' + minItems: 1 + - name: requester-plmn-specific-snssai-list + in: query + description: PLMN-specific slice info of the NF issuing the Discovery request + content: + application/json: + schema: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' + minItems: 1 + - name: dnn + in: query + description: Dnn supported by the BSF, SMF or UPF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: ipv4-index + in: query + description: The IPv4 Index supported by the candidate UPF. + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/IpIndex' + - name: ipv6-index + in: query + description: The IPv6 Index supported by the candidate UPF. + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/IpIndex' + - name: nsi-list + in: query + description: NSI IDs that are served by the services being discovered + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: smf-serving-area + in: query + schema: + type: string + - name: mbsmf-serving-area + in: query + schema: + type: string + - name: tai + in: query + description: Tracking Area Identity + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + - name: amf-region-id + in: query + description: AMF Region Identity + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfRegionId' + - name: amf-set-id + in: query + description: AMF Set Identity + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfSetId' + - name: guami + in: query + description: Guami used to search for an appropriate AMF + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + - name: supi + in: query + description: SUPI of the user + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: ue-ipv4-address + in: query + description: IPv4 address of the UE + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + - name: ip-domain + in: query + description: IP domain of the UE, which supported by BSF + schema: + type: string + - name: ue-ipv6-prefix + in: query + description: IPv6 prefix of the UE + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + - name: pgw-ind + in: query + description: Combined PGW-C and SMF or a standalone SMF + schema: + type: boolean + - name: preferred-pgw-ind + in: query + description: Indicates combined PGW-C+SMF or standalone SMF are preferred + schema: + type: boolean + - name: pgw + in: query + description: PGW FQDN of a combined PGW-C and SMF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + - name: pgw-ip + in: query + description: PGW IP Address of a combined PGW-C and SMF + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + - name: gpsi + in: query + description: GPSI of the user + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + - name: external-group-identity + in: query + description: external group identifier of the user + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: internal-group-identity + in: query + description: internal group identifier of the user + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + - name: pfd-data + in: query + description: PFD data + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PfdData' + - name: data-set + in: query + description: data set supported by the NF + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DataSetId' + - name: routing-indicator + in: query + description: routing indicator in SUCI + schema: + type: string + pattern: '^[0-9]{1,4}$' + - name: group-id-list + in: query + description: Group IDs of the NFs being discovered + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + minItems: 1 + style: form + explode: false + - name: dnai-list + in: query + description: Data network access identifiers of the NFs being discovered + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + style: form + explode: false + - name: pdu-session-types + in: query + description: list of PDU Session Type required to be supported by the target NF + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + style: form + explode: false + - name: event-id-list + in: query + description: > + Analytics event(s) requested to be supported by the Nnwdaf_AnalyticsInfo service + schema: + type: array + items: + $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/EventId' + minItems: 1 + style: form + explode: false + - name: nwdaf-event-list + in: query + description: > + Analytics event(s) requested to be supported by the Nnwdaf_EventsSubscription service. + schema: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + minItems: 1 + style: form + explode: false + - name: upf-event-list + in: query + description: > + Event(s) requested to be supported by the Nupf_EventExposure service. + schema: + type: array + items: + $ref: 'TS29564_Nupf_EventExposure.yaml#/components/schemas/EventType' + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: upf-iwk-eps-ind + in: query + description: UPF supporting interworking with EPS or not + schema: + type: boolean + - name: chf-supported-plmn + in: query + description: PLMN ID supported by a CHF + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: preferred-locality + in: query + description: preferred target NF location + schema: + type: string + - name: ext-preferred-locality + in: query + description: > + preferred target NF location + A map (list of key-value pairs) where the key of the map represents the relative + priority, for the requester, of each locality description among the list of locality + descriptions in this query parameter, encoded as "1" (highest priority"), "2", "3", …, + "n" (lowest priority) + content: + application/json: + schema: + type: object + additionalProperties: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/LocalityDescription' + minItems: 1 + minProperties: 1 + - name: access-type + in: query + description: AccessType supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + - name: limit + in: query + description: Maximum number of NFProfiles to return in the response + required: false + schema: + type: integer + minimum: 1 + - name: required-features + in: query + description: Features required to be supported by the target NF + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + minItems: 1 + style: form + explode: false + - name: complex-query + in: query + description: the complex query condition expression + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ComplexQuery' + - name: max-payload-size + in: query + description: Maximum content size of the response expressed in kilo octets + required: false + schema: + type: integer + maximum: 2000 + default: 124 + - name: max-payload-size-ext + in: query + description: > + Extended query for maximum content size of the response expressed in kilo octets + required: false + schema: + type: integer + default: 124 + - name: atsss-capability + in: query + description: ATSSS Capability + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AtsssCapability' + - name: upf-ue-ip-addr-ind + in: query + description: UPF supporting allocating UE IP addresses/prefixes + schema: + type: boolean + - name: client-type + in: query + description: Requested client type served by the NF + content: + application/json: + schema: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/ExternalClientType' + - name: lmf-id + in: query + description: LMF identification to be discovered + content: + application/json: + schema: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LMFIdentification' + - name: an-node-type + in: query + description: Requested AN node type served by the NF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AnNodeType' + - name: rat-type + in: query + description: Requested RAT type served by the NF + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + - name: preferred-tai + in: query + description: preferred Tracking Area Identity + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + - name: preferred-nf-instances + in: query + description: preferred NF Instances + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + style: form + explode: false + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in IETF RFC 9110, 13.1.2 + schema: + type: string + - name: target-snpn + in: query + description: Target SNPN Identity, or the Credentials Holder in the SNPN + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + - name: requester-snpn-list + in: query + description: SNPN ID(s) of the NF instance issuing the Discovery request + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + - name: af-ee-data + in: query + description: NEF exposured by the AF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AfEventExposureData' + - name: w-agf-info + in: query + description: UPF collocated with W-AGF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/WAgfInfo' + - name: tngf-info + in: query + description: UPF collocated with TNGF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TngfInfo' + - name: twif-info + in: query + description: UPF collocated with TWIF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TwifInfo' + - name: upf-select-epdg-info + in: query + description: The ePDG information to find a preferred UPF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/EpdgInfo' + - name: target-nf-set-id + in: query + description: Target NF Set ID + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + - name: target-nf-service-set-id + in: query + description: Target NF Service Set ID + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + - name: nef-id + in: query + description: NEF ID + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NefId' + - name: notification-type + in: query + description: Notification Type + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NotificationType' + - name: n1-msg-class + in: query + description: N1 Message Class + schema: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N1MessageClass' + - name: n2-info-class + in: query + description: N2 Information Class + schema: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N2InformationClass' + - name: serving-scope + in: query + description: areas that can be served by the target NF + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: imsi + in: query + description: IMSI of the requester UE to search for an appropriate NF (e.g. HSS, DCSF) + schema: + type: string + pattern: '^[0-9]{5,15}$' + - name: ims-private-identity + in: query + description: IMPI of the requester UE to search for a target HSS or DCSF + schema: + type: string + - name: ims-public-identity + in: query + description: IMS Public Identity of the requester UE to search for a target HSS or DCSF + schema: + type: string + - name: msisdn + in: query + description: MSISDN of the requester UE to search for a target HSS or DCSF + schema: + type: string + - name: preferred-api-versions + in: query + description: Preferred API version of the services to be discovered + content: + application/json: + schema: + description: A map (list of key-value pairs) where ServiceName serves as key + type: object + additionalProperties: + type: string + minProperties: 1 + - name: v2x-support-ind + in: query + description: PCF supports V2X + schema: + type: boolean + - name: redundant-gtpu + in: query + description: UPF supports redundant gtp-u to be discovered + schema: + type: boolean + - name: redundant-transport + in: query + description: UPF supports redundant transport path to be discovered + schema: + type: boolean + - name: ipups + in: query + description: UPF which is configured for IPUPS functionality to be discovered + schema: + type: boolean + - name: sxa-ind + in: query + description: UPF which is configured to support sxa interface + schema: + type: boolean + - name: scp-domain-list + in: query + description: SCP domains the target SCP or SEPP belongs to + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: address-domain + in: query + description: Address domain reachable through the SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + - name: ipv4-addr + in: query + description: IPv4 address reachable through the SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + - name: ipv6-prefix + in: query + description: IPv6 prefix reachable through the SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + - name: served-nf-set-id + in: query + description: NF Set ID served by the SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + - name: remote-plmn-id + in: query + description: Id of the PLMN reachable through the SCP or SEPP + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: remote-snpn-id + in: query + description: Id of the SNPN reachable through the SCP or SEPP + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + - name: data-forwarding + in: query + description: UPF Instance(s) configured for data forwarding are requested + schema: + type: boolean + - name: preferred-full-plmn + in: query + description: NF Instance(s) serving the full PLMN are preferred + schema: + type: boolean + - name: requester-features + in: query + description: > + Features supported by the NF Service Consumer that is invoking + the Nnrf_NFDiscovery service + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: realm-id + in: query + description: realm-id to search for an appropriate UDSF + schema: + type: string + - name: storage-id + in: query + description: storage-id to search for an appropriate UDSF + schema: + type: string + - name: vsmf-support-ind + in: query + description: V-SMF capability supported by the target NF instance(s) + schema: + type: boolean + - name: ismf-support-ind + in: query + description: I-SMF capability supported by the target NF instance(s) + schema: + type: boolean + - name: nrf-disc-uri + in: query + description: Uri of the NRF holding the NF profile of a target NF Instance + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + - name: preferred-vendor-specific-features + in: query + description: Preferred vendor specific features of the services to be discovered + content: + application/json: + schema: + description: A map (list of key-value pairs) where ServiceName serves as key + type: object + additionalProperties: + description: > + A map (list of key-value pairs) where IANA-assigned SMI Network Management + Private Enterprise Codes serves as key + type: object + additionalProperties: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorSpecificFeature' + minItems: 1 + minProperties: 1 + minProperties: 1 + - name: preferred-vendor-specific-nf-features + in: query + description: Preferred vendor specific features of the network function to be discovered + content: + application/json: + schema: + description: > + A map (list of key-value pairs) where IANA-assigned SMI Network Management Private + Enterprise Codes serves as key + type: object + additionalProperties: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorSpecificFeature' + minItems: 1 + minProperties: 1 + - name: required-pfcp-features + in: query + description: PFCP features required to be supported by the target UPF + schema: + type: string + - name: home-pub-key-id + in: query + description: > + Indicates the Home Network Public Key ID which shall be able to be served + by the NF instance + schema: + type: integer + - name: prose-support-ind + in: query + description: PCF supports ProSe Capability + schema: + type: boolean + - name: analytics-aggregation-ind + in: query + description: analytics aggregation is supported by NWDAF or not + schema: + type: boolean + - name: serving-nf-set-id + in: query + description: NF Set Id served by target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + - name: serving-nf-type + in: query + description: NF type served by the target NF + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + - name: ml-analytics-info-list + in: query + description: Lisf of ML Analytics Filter information of Nnwdaf_MLModelProvision service + content: + application/json: + schema: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/MlAnalyticsInfo' + minItems: 1 + - name: analytics-metadata-prov-ind + in: query + description: analytics matadata provisioning is supported by NWDAF or not + schema: + type: boolean + - name: nsacf-capability + in: query + description: the service capability supported by the target NSACF + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NsacfCapability' + - name: mbs-session-id-list + in: query + description: List of MBS Session ID(s) + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + minItems: 1 + - name: area-session-id + in: query + description: Area Session ID + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AreaSessionId' + - name: gmlc-number + in: query + description: The GMLC Number supported by the GMLC + schema: + type: string + pattern: '^[0-9]{5,15}$' + - name: upf-n6-ip + in: query + description: N6 IP address of PSA UPF supported by the EASDF + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + - name: tai-list + in: query + description: Tracking Area Identifiers of the NFs being discovered + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + - name: nf-tai-list-ind + in: query + description: the NF service consumer supports candidate nfs supporting a subset of TAIs + schema: + type: boolean + enum: + - true + - name: preferences-precedence + in: query + description: > + Indicates the precedence of the preference query parameters (from higher to lower) + schema: + type: array + items: + type: string + minItems: 2 + style: form + explode: false + - name: support-onboarding-capability + in: query + description: Indicating the support for onboarding. + schema: + type: boolean + default: false + - name: uas-nf-functionality-ind + in: query + description: UAS NF functionality is supported by NEF or not + schema: + type: boolean + - name: multi-mem-af-sess-qos-ind + in: query + description: Multi-member AF session with required QoS is supported by NEF or not + schema: + type: boolean + enum: + - true + - name: member-ue-sel-assist-ind + in: query + description: member UE selection assistance functionality is supported by NEF or not + schema: + type: boolean + enum: + - true + - name: v2x-capability + in: query + description: indicates the V2X capability that the target PCF needs to support. + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/V2xCapability' + - name: prose-capability + in: query + description: indicates the ProSe capability that the target PCF needs to support. + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ProSeCapability' + - name: shared-data-id + in: query + description: Identifier of shared data stored in the NF being discovered + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SharedDataId' + - name: target-hni + in: query + description: Home Network Identifier query. + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + - name: target-nw-resolution + in: query + description: Resolution of the identity of the target PLMN based on the GPSI of the UE + schema: + type: boolean + - name: exclude-nfinst-list + in: query + description: NF Instance IDs to be excluded from the NF Discovery procedure + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + style: form + explode: false + - name: exclude-nfservinst-list + in: query + description: NF service instance IDs to be excluded from the NF Discovery procedure + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NfServiceInstance' + minItems: 1 + - name: exclude-nfserviceset-list + in: query + description: NF Service Set IDs to be excluded from the NF Discovery procedure + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + minItems: 1 + style: form + explode: false + - name: exclude-nfset-list + in: query + description: NF Set IDs to be excluded from the NF Discovery procedure + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + style: form + explode: false + - name: preferred-analytics-delays + in: query + description: Preferred analytics delays supported by the NWDAF to be discovered + content: + application/json: + schema: + description: > + A map (list of key-value pairs) where EventId or NwdafEvent serves as key + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + minProperties: 1 + - name: high-latency-com + in: query + description: Indicating the support for High Latency communication. + schema: + type: boolean + enum: + - true + - name: nsac-sai + in: query + description: NSAC Service Area Identifier + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NsacSai' + - name: complete-profile + in: query + description: request to discover the complete profile of NF instances + schema: + type: boolean + enum: + - true + - name: n32-purposes + in: query + description: N32 purposes to be supported by the SEPP + schema: + type: array + items: + $ref: 'TS29573_N32_Handshake.yaml#/components/schemas/N32Purpose' + minItems: 1 + style: form + explode: false + - name: preferred-features + in: query + description: Preferred features to be supported by the target Network Function. + content: + application/json: + schema: + description: > + A map (list of key-value pairs) where Service Name serves as the key. + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + minProperties: 1 + - name: remote-plmn-id-roaming + in: query + description: Id of the remote PLMN served by the target NF service producer + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: pru-tai + in: query + description: LMF(s) serving the TAI with PRU(s) existence + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + - name: pru-support-ind + in: query + description: Indicating the support of PRU function + schema: + type: boolean + - name: af-data + in: query + description: events supported by the trusted AFs being discovered + content: + application/json: + schema: + $ref: '#/components/schemas/AfData' + - name: ml-accuracy-checking-ind + in: query + description: Indicating the support for ML Model Accuracy checking. + schema: + type: boolean + enum: + - true + - name: analytics-accuracy-checking-ind + in: query + description: Indicating the support for Analytics Accuracy checking. + schema: + type: boolean + enum: + - true + - name: a2x-support-ind + in: query + description: PCF supports A2X + schema: + type: boolean + - name: a2x-capability + in: query + description: indicates the A2X capability that the target PCF needs to support. + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/A2xCapability' + - name: ml-model-storage-ind + in: query + description: Indicating the support for ML model storage and retrieval capability. + schema: + type: boolean + enum: + - true + - name: data-storage-ind + in: query + description: > + Indicating the support for data and analytics storage and retrieval capability. + schema: + type: boolean + enum: + - true + - name: data-subscription-relocation-support-ind + in: query + description: Indicating the support for relocation of data subscription. + schema: + type: boolean + enum: + - true + - name: ims-domain-name + in: query + description: Indicating the IMS domain name to search for a target DCSF. + schema: + type: string + - name: media-capability-list + in: query + description: Indicating the media capability list to search for a target MF, MRF or MRFP. + schema: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/MediaCapability' + minItems: 1 + style: form + explode: false + - name: roaming-exchange-ind + in: query + description: Indicating the support for roaming exchange. + schema: + type: boolean + enum: + - true + - name: ranging-sl-pos-support-ind + in: query + description: PCF or LMF supports ranging and sidelink positioning Capability + schema: + type: boolean + enum: + - true + - name: preferred-up-positioning-ind + in: query + description: LMF supporting user plane positioning capability + schema: + type: boolean + enum: + - true + - name: complete-search-result + in: query + description: > + Indicates that all the NF profiles or NF Instance IDs matching the query parameters + are requested to be returned + schema: + type: boolean + enum: + - true + + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResult' + links: + search: + operationId: RetrieveStoredSearch + parameters: + searchId: $response.body#/searchId + description: > + The 'searchId' parameter returned in the response can be used as the + 'searchId' parameter in the GET request to '/searches/{searchId}' + completeSearch: + operationId: RetrieveCompleteSearch + parameters: + searchId: $response.body#/searchId + description: > + The 'searchId' parameter returned in the response can be used as the + 'searchId' parameter in the GET request to '/searches/{searchId}/complete' + headers: + Cache-Control: + description: Cache-Control containing max-age, described in IETF RFC 9111, 5.2 + schema: + type: string + ETag: + description: > + Entity Tag containing a strong validator, described in IETF RFC 9110, 8.8.3 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target NRF + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target NRF + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /searches/{searchId}: + get: + operationId: RetrieveStoredSearch + tags: + - Stored Search (Document) + parameters: + - $ref: '#/components/parameters/searchId' + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + responses: + '200': + $ref: '#/components/responses/200' + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target NRF + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target NRF + required: true + schema: + type: string + + /searches/{searchId}/complete: + get: + operationId: RetrieveCompleteSearch + tags: + - Complete Stored Search (Document) + parameters: + - $ref: '#/components/parameters/searchId' + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + responses: + '200': + $ref: '#/components/responses/200' + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target NRF + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target NRF + required: true + schema: + type: string + + /scp-domain-routing-info: + get: + operationId: SCPDomainRoutingInfoGet + tags: + - SCP Domain Routing Information (Document) + security: + - {} + - oAuth2ClientCredentials: + - nnrf-disc + - oAuth2ClientCredentials: + - nnrf-disc + - nnrf-disc:scp-domain:read + parameters: + - name: local + in: query + description: Indication of local SCP Domain Routing Information + required: false + schema: + type: boolean + default: false + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ScpDomainRoutingInformation' + headers: + Content-Encoding: + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + '307': + description: Temporary Redirect + headers: + Location: + description: The URI pointing to the resource located on the redirect target NRF + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /scp-domain-routing-info-subs: + post: + summary: Create a new subscription + operationId: ScpDomainRoutingInfoSubscribe + tags: + - SCP Domain Routing Information Subscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nnrf-disc + - oAuth2ClientCredentials: + - nnrf-disc + - nnrf-disc:scp-domain-subs:write + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScpDomainRoutingInfoSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ScpDomainRoutingInfoSubscription' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nnrf-disc/v1/scp-domain-routing-info-subs/{subscriptionID} + required: true + schema: + type: string + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + onScpDomainRoutingInformationChange: + '{$request.body#/callbackUri}': + post: + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + requestBody: + description: Notification content + content: + application/json: + schema: + $ref: '#/components/schemas/ScpDomainRoutingInfoNotification' + responses: + '204': + description: Expected response to a successful callback processing + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /scp-domain-routing-info-subs/{subscriptionID}: + delete: + summary: Deletes a subscription + operationId: ScpDomainRoutingInfoUnsubscribe + tags: + - Individual SCP Domain Routing Information Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nnrf-disc + - oAuth2ClientCredentials: + - nnrf-disc + - nnrf-disc:scp-domain-subs:write + parameters: + - name: subscriptionID + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '/oauth2/token' + scopes: + nnrf-disc: Access to the Nnrf_NFDiscovery API + nnrf-disc:scp-domain:read: Access to read the scp-domain-routing-info resource + nnrf-disc:scp-domain-subs:write: Access to create/delete a scp-domain subscription resource + nnrf-disc:nf-instances:read-complete-profile: > + Access to the Nnrf_NFDiscovery API enabling the discovery of the complete profile + of NF instances + + parameters: + searchId: + name: searchId + in: path + description: Id of a stored search + required: true + schema: + type: string + + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/StoredSearchResult' + headers: + Cache-Control: + description: Cache-Control containing max-age, described in IETF RFC 9111, 5.2 + schema: + type: string + ETag: + description: > + Entity Tag containing a strong validator, described in IETF RFC 9110, 8.8.3 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + + schemas: + + SearchResult: + description: Contains the list of NF Profiles returned in a Discovery response + type: object + required: + - validityPeriod + - nfInstances + properties: + validityPeriod: + type: integer + nfInstances: + type: array + items: + $ref: '#/components/schemas/NFProfile' + completeNfInstances: + type: array + items: + $ref: '#/components/schemas/NFProfile' + minItems: 1 + searchId: + type: string + numNfInstComplete: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + preferredSearch: + $ref: '#/components/schemas/PreferredSearch' + nrfSupportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + nfInstanceList: + description: List of matching NF instances. The key of the map is the NF instance ID. + type: object + additionalProperties: + $ref: '#/components/schemas/NfInstanceInfo' + minProperties: 1 + searchResultInfo: + $ref: '#/components/schemas/SearchResultInfo' + alteredPriorityInd: + type: boolean + noProfileMatchInfo: + $ref: '#/components/schemas/NoProfileMatchInfo' + ignoredQueryParams: + type: array + items: + type: string + minItems: 1 + + StoredSearchResult: + description: > + Contains a complete search result (i.e. a number of discovered NF Instances), + stored by NRF as a consequence of a prior search result + type: object + required: + - nfInstances + properties: + nfInstances: + type: array + items: + $ref: '#/components/schemas/NFProfile' + completeNfInstances: + type: array + items: + $ref: '#/components/schemas/NFProfile' + minItems: 1 + + NFProfile: + description: Information of an NF Instance discovered by the NRF + type: object + required: + - nfInstanceId + - nfType + - nfStatus + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfInstanceName: + type: string + nfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + nfStatus: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFStatus' + collocatedNfInstances: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/CollocatedNfInstance' + minItems: 1 + plmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + sNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + perPlmnSnssaiList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' + minItems: 1 + nsiList: + type: array + items: + type: string + minItems: 1 + fqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + interPlmnFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + ipv4Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + allowedPlmns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + allowedSnpns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + allowedNfTypes: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + minItems: 1 + allowedNfDomains: + type: array + items: + type: string + minItems: 1 + allowedNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + allowedRuleSet: + description: A map (list of key-value pairs) where a valid JSON pointer Id serves as key + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/RuleSet' + minProperties: 1 + capacity: + type: integer + minimum: 0 + maximum: 65535 + load: + type: integer + minimum: 0 + maximum: 100 + loadTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + locality: + type: string + extLocality: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string serves + as key representing a type of locality + type: object + additionalProperties: + type: string + minProperties: 1 + priority: + type: integer + minimum: 0 + maximum: 65535 + udrInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdrInfo' + udrInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of UdrInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdrInfo' + minProperties: 1 + udmInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdmInfo' + udmInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of UdmInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdmInfo' + minProperties: 1 + ausfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AusfInfo' + ausfInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of AusfInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AusfInfo' + minProperties: 1 + amfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AmfInfo' + amfInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of AmfInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AmfInfo' + minProperties: 1 + smfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SmfInfo' + smfInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of SmfInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SmfInfo' + minProperties: 1 + upfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UpfInfo' + upfInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of UpfInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UpfInfo' + minProperties: 1 + pcfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PcfInfo' + pcfInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of PcfInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PcfInfo' + minProperties: 1 + bsfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/BsfInfo' + bsfInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of BsfInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/BsfInfo' + minProperties: 1 + chfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ChfInfo' + chfInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of ChfInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ChfInfo' + minProperties: 1 + udsfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdsfInfo' + udsfInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of UdsfInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdsfInfo' + minProperties: 1 + nwdafInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NwdafInfo' + nwdafInfoList: + type: object + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of NwdafInfo + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NwdafInfo' + minProperties: 1 + nefInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NefInfo' + pcscfInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of PcscfInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PcscfInfo' + minProperties: 1 + hssInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of HssInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/HssInfo' + minProperties: 1 + customInfo: + type: object + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + nfServicePersistence: + type: boolean + default: false + nfServices: + deprecated: true + type: array + items: + $ref: '#/components/schemas/NFService' + minItems: 1 + nfServiceList: + description: > + A map (list of key-value pairs) where serviceInstanceId serves as key of NFService + type: object + additionalProperties: + $ref: '#/components/schemas/NFService' + minProperties: 1 + defaultNotificationSubscriptions: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DefaultNotificationSubscription' + lmfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/LmfInfo' + gmlcInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/GmlcInfo' + snpnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + nfSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + servingScope: + type: array + items: + type: string + minItems: 1 + lcHSupportInd: + type: boolean + default: false + olcHSupportInd: + type: boolean + default: false + nfSetRecoveryTimeList: + description: A map (list of key-value pairs) where NfSetId serves as key of DateTime + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minProperties: 1 + serviceSetRecoveryTimeList: + description: > + A map (list of key-value pairs) where NfServiceSetId serves as key of DateTime + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minProperties: 1 + scpDomains: + type: array + items: + type: string + minItems: 1 + scpInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ScpInfo' + seppInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SeppInfo' + vendorId: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorId' + supportedVendorSpecificFeatures: + description: > + The key of the map is the IANA-assigned SMI Network Management Private Enterprise Codes + type: object + additionalProperties: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorSpecificFeature' + minItems: 1 + minProperties: 1 + aanfInfoList: + type: object + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of AanfInfo + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AanfInfo' + minProperties: 1 + mfafInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/MfafInfo' + easdfInfoList: + type: object + description: > + A map(list of key-value pairs) where a (unique) valid JSON string + serves as key of EasdfInfo + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/EasdfInfo' + minProperties: 1 + dccfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DccfInfo' + nsacfInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of NsacfInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NsacfInfo' + minProperties: 1 + mbSmfInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of MbSmfInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/MbSmfInfo' + minProperties: 1 + tsctsfInfoList: + type: object + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of TsctsfInfo + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TsctsfInfo' + minProperties: 1 + mbUpfInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of MbUpfInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/MbUpfInfo' + minProperties: 1 + trustAfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TrustAfInfo' + nssaafInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NssaafInfo' + hniList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + minItems: 1 + iwmscInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IwmscInfo' + mnpfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/MnpfInfo' + smsfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SmsfInfo' + dcsfInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of DcsfInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DcsfInfo' + mrfInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of MrfInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/MrfInfo' + mrfpInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of MrfpInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/MrfpInfo' + mfInfoList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of MfInfo + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/MfInfo' + adrfInfoList: + type: object + description: > + A map (list of key-value pairs) where a (unique) valid JSON string + serves as key of AdrfInfo + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AdrfInfo' + minProperties: 1 + selectionConditions: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SelectionConditions' + + NFService: + description: > + Information of a given NF Service Instance; it is part of the NFProfile + of an NF Instance discovered by the NRF + type: object + required: + - serviceInstanceId + - serviceName + - versions + - scheme + - nfServiceStatus + properties: + serviceInstanceId: + type: string + serviceName: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + versions: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFServiceVersion' + minItems: 1 + scheme: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UriScheme' + nfServiceStatus: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFServiceStatus' + fqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + interPlmnFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + ipEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + apiPrefix: + type: string + callbackUriPrefixList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/CallbackUriPrefixItem' + minItems: 1 + defaultNotificationSubscriptions: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DefaultNotificationSubscription' + minItems: 1 + allowedPlmns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + allowedSnpns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + allowedNfTypes: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + minItems: 1 + allowedNfDomains: + type: array + items: + type: string + minItems: 1 + allowedNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + capacity: + type: integer + minimum: 0 + maximum: 65535 + load: + type: integer + minimum: 0 + maximum: 100 + loadTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + priority: + type: integer + minimum: 0 + maximum: 65535 + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + nfServiceSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + minItems: 1 + sNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + perPlmnSnssaiList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' + minItems: 1 + vendorId: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorId' + supportedVendorSpecificFeatures: + description: > + The key of the map is the IANA-assigned SMI Network Management Private Enterprise Codes + type: object + additionalProperties: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorSpecificFeature' + minItems: 1 + minProperties: 1 + oauth2Required: + type: boolean + allowedOperationsPerNfType: + description: A map (list of key-value pairs) where NF Type serves as key + type: object + additionalProperties: + type: array + items: + type: string + minItems: 1 + minProperties: 1 + allowedOperationsPerNfInstance: + description: A map (list of key-value pairs) where NF Instance Id serves as key + type: object + additionalProperties: + type: array + items: + type: string + minItems: 1 + minProperties: 1 + allowedOperationsPerNfInstanceOverrides: + type: boolean + default: false + allowedScopesRuleSet: + description: A map (list of key-value pairs) where a valid JSON pointer Id serves as key + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/RuleSet' + minProperties: 1 + selectionConditions: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SelectionConditions' + + PreferredSearch: + description: > + Contains information on whether the returned NFProfiles match the preferred query parameters + type: object + properties: + preferredTaiMatchInd: + type: boolean + default: false + preferredFullPlmnMatchInd: + type: boolean + default: false + preferredApiVersionsMatchInd: + type: boolean + otherApiVersionsInd: + type: boolean + preferredLocalityMatchInd: + type: boolean + default: false + otherLocalityInd: + type: boolean + default: false + preferredVendorSpecificFeaturesInd: + type: boolean + default: false + preferredCollocatedNfTypeInd: + type: boolean + default: false + preferredPgwMatchInd: + type: boolean + preferredAnalyticsDelaysInd: + type: boolean + preferredFeaturesMatchInd: + type: boolean + noPreferredFeaturesInd: + type: boolean + + NfInstanceInfo: + description: Contains information on an NF profile matching a discovery request + type: object + properties: + nrfDiscApiUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + preferredSearch: + $ref: '#/components/schemas/PreferredSearch' + nrfAlteredPriorities: + description: > + The key of the map is the JSON Pointer of the priority IE in the NFProfile data type + that is altered by the NRF + type: object + additionalProperties: + type: integer + minimum: 0 + maximum: 65535 + minProperties: 1 + nrfSupportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + ScpDomainRoutingInformation: + description: SCP Domain Routing Information + type: object + required: + - scpDomainList + properties: + scpDomainList: + description: | + This IE shall contain a map of SCP domain interconnection information, where + the key of the map is a SCP domain. The value of each entry shall be the + interconnectivity information of the the SCP domain indicated by the key. + An empty map indicates that there is no SCP domain currently registered in + the NRF. + type: object + additionalProperties: + $ref: '#/components/schemas/ScpDomainConnectivity' + + ScpDomainConnectivity: + description: SCP Domain Connectivity Information + type: object + required: + - connectedScpDomainList + properties: + connectedScpDomainList: + type: array + items: + type: string + + ScpDomainRoutingInfoSubscription: + description: SCP Domain Routing Information Subscription + type: object + required: + - callbackUri + properties: + callbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + reqInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + localInd: + type: boolean + default: false + + ScpDomainRoutingInfoNotification: + description: SCP Domain Routing Information Notification + type: object + required: + - routingInfo + properties: + routingInfo: + $ref: '#/components/schemas/ScpDomainRoutingInformation' + localInd: + type: boolean + default: false + + NfServiceInstance: + description: NF service instance + type: object + oneOf: + - required: [ nfInstanceId ] + - required: [ nfServiceSetId ] + properties: + serviceInstanceId: + type: string + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + + NoProfileMatchInfo: + description: Provides the reason for not finding NF matching the search criteria + type: object + required: + - reason + properties: + reason: + $ref: '#/components/schemas/NoProfileMatchReason' + queryParamCombinationList: + type: array + items: + $ref: '#/components/schemas/QueryParamCombination' + minItems: 1 + + QueryParamCombination: + description: Contains a list of Query Parameters + type: object + required: + - queryParams + properties: + queryParams: + type: array + items: + $ref: '#/components/schemas/QueryParameter' + minItems: 1 + + QueryParameter: + description: Contains the name and value of a query parameter + type: object + required: + - name + - value + properties: + name: + type: string + value: + type: string + + NoProfileMatchReason: + description: No Profile Match Reason + anyOf: + - type: string + enum: + - REQUESTER_PLMN_NOT_ALLOWED + - TARGET_NF_SUSPENDED + - TARGET_NF_UNDISCOVERABLE + - QUERY_PARAMS_COMBINATION_NO_MATCH + - UNSPECIFIED + - type: string + + AfData: + description: Contains information supported by the trusted AF + type: object + properties: + afEvents: + type: array + items: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEvent' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TaiRange' + minItems: 1 + required: + - afEvents + + SearchResultInfo: + description: Contains additional information to the search result + type: object + properties: + unsatisfiedTaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 diff --git a/TS29511_N5g-eir_EquipmentIdentityCheck.yaml b/TS29511_N5g-eir_EquipmentIdentityCheck.yaml new file mode 100644 index 0000000000000000000000000000000000000000..cb72d83c37ec62786783162e078ad2306f7c4f95 --- /dev/null +++ b/TS29511_N5g-eir_EquipmentIdentityCheck.yaml @@ -0,0 +1,120 @@ +openapi: 3.0.0 + +info: + version: '1.3.0-alpha.1' + title: '5G-EIR Equipment Identity Check' + description: | + 5G-EIR Equipment Identity Check Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.511 V18.0.0; 5G System; Equipment Identity Register Services; Stage 3 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.511/' + +servers: + - url: '{apiRoot}/n5g-eir-eic/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - n5g-eir-eic + +paths: + /equipment-status: + get: + summary: Retrieves the status of the UE + operationId: GetEquipmentStatus + tags: + - Equipment Status (Document) + parameters: + - name: pei + in: query + description: PEI of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + - name: supi + in: query + description: SUPI of the UE + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: gpsi + in: query + description: GPSI of the UE + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + - name: supported-features + in: query + description: supported features of the NF consumer + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/EirResponseData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: PEI Not Found + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + n5g-eir-eic: Access to the N5g-eir_EquipmentIdentityCheck API + schemas: + EirResponseData: + description: Represents equipment status data provided in an EIR response message. + type: object + required: + - status + properties: + status: + $ref: '#/components/schemas/EquipmentStatus' + EquipmentStatus: + description: Represents equipment status of the PEI. This data type is a string. + type: string + enum: + - WHITELISTED # PERMITTED + - BLACKLISTED # PROHIBITED + - GREYLISTED # TRACKING diff --git a/TS29518_Namf_Communication.yaml b/TS29518_Namf_Communication.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6d056f7f473501a146cf5575f4c320dd117f27da --- /dev/null +++ b/TS29518_Namf_Communication.yaml @@ -0,0 +1,4293 @@ +openapi: 3.0.0 + +info: + version: 1.3.0-alpha.5 + title: Namf_Communication + description: | + AMF Communication Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +security: + - {} + - oAuth2ClientCredentials: + - namf-comm + +externalDocs: + description: 3GPP TS 29.518 V18.4.0; 5G System; Access and Mobility Management Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.518/' + +servers: + - url: '{apiRoot}/namf-comm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + /ue-contexts/{ueContextId}: + put: + summary: Namf_Communication CreateUEContext service Operation + tags: + - Individual ueContext (Document) + operationId: CreateUEContext + security: + - {} + - oAuth2ClientCredentials: + - namf-comm + - oAuth2ClientCredentials: + - namf-comm + - namf-comm:ue-contexts:mobility + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextCreateData' + binaryDataN2Information: + type: string + format: binary + binaryDataN2InformationExt1: + type: string + format: binary + binaryDataN2InformationExt2: + type: string + format: binary + binaryDataN2InformationExt3: + type: string + format: binary + binaryDataN2InformationExt4: + type: string + format: binary + binaryDataN2InformationExt5: + type: string + format: binary + binaryDataN2InformationExt6: + type: string + format: binary + binaryDataN2InformationExt7: + type: string + format: binary + binaryDataN2InformationExt8: + type: string + format: binary + binaryDataN2InformationExt9: + type: string + format: binary + binaryDataN2InformationExt10: + type: string + format: binary + binaryDataN2InformationExt11: + type: string + format: binary + binaryDataN2InformationExt12: + type: string + format: binary + binaryDataN2InformationExt13: + type: string + format: binary + binaryDataN2InformationExt14: + type: string + format: binary + binaryDataN2InformationExt15: + type: string + format: binary + binaryDataN2InformationExt16: + type: string + format: binary + binaryDataN2InformationExt17: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt2: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt3: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt4: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt5: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt6: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt7: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt8: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt9: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt10: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt11: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt12: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt13: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt14: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt15: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt16: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt17: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + required: true + callbacks: + onN2MessageNotify: + '{$request.body#/n2NotifyUri}': + post: + summary: Namf_Communication N2 Info Notify (UE Specific) service Operation + tags: + - N2 Info Notify + operationId: N2InfoNotifyHandoverComplete + requestBody: + description: UE Specific N2 Information Notification + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationNotification' + responses: + '200': + description: N2 Information Notification Response. + content: + application/json: + schema: + $ref: '#/components/schemas/N2InfoNotificationRspData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/N2InfoNotificationRspData' + binaryDataN2InformationExt1: + type: string + format: binary + binaryDataN2InformationExt2: + type: string + format: binary + binaryDataN2InformationExt3: + type: string + format: binary + binaryDataN2InformationExt4: + type: string + format: binary + binaryDataN2InformationExt5: + type: string + format: binary + binaryDataN2InformationExt6: + type: string + format: binary + binaryDataN2InformationExt7: + type: string + format: binary + binaryDataN2InformationExt8: + type: string + format: binary + binaryDataN2InformationExt9: + type: string + format: binary + binaryDataN2InformationExt10: + type: string + format: binary + binaryDataN2InformationExt11: + type: string + format: binary + binaryDataN2InformationExt12: + type: string + format: binary + binaryDataN2InformationExt13: + type: string + format: binary + binaryDataN2InformationExt14: + type: string + format: binary + binaryDataN2InformationExt15: + type: string + format: binary + binaryDataN2InformationExt16: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2InformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt2: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt3: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt4: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt5: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt6: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt7: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt8: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt9: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt10: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt11: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt12: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt13: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt14: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt15: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt16: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + responses: + '201': + description: UE context successfully created. + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/namf-comm//ue-contexts/{ueContextId} + required: true + schema: + type: string + 3gpp-Sbi-Producer-Id: + description: > + Indicating the AMF serving the UE Context. This header shall be included when the + UE Context is created in a target AMF other than the initial AMF sending the + response. + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextCreatedData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextCreatedData' + binaryDataN2Information: + type: string + format: binary + binaryDataN2InformationExt1: + type: string + format: binary + binaryDataN2InformationExt2: + type: string + format: binary + binaryDataN2InformationExt3: + type: string + format: binary + binaryDataN2InformationExt4: + type: string + format: binary + binaryDataN2InformationExt5: + type: string + format: binary + binaryDataN2InformationExt6: + type: string + format: binary + binaryDataN2InformationExt7: + type: string + format: binary + binaryDataN2InformationExt8: + type: string + format: binary + binaryDataN2InformationExt9: + type: string + format: binary + binaryDataN2InformationExt10: + type: string + format: binary + binaryDataN2InformationExt11: + type: string + format: binary + binaryDataN2InformationExt12: + type: string + format: binary + binaryDataN2InformationExt13: + type: string + format: binary + binaryDataN2InformationExt14: + type: string + format: binary + binaryDataN2InformationExt15: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt2: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt3: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt4: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt5: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt6: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt7: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt8: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt9: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt10: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt11: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt12: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt13: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt14: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt15: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextCreateError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextCreateError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Response parts + jsonData: + $ref: '#/components/schemas/UeContextCreateError' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextCreateError' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/release: + post: + summary: Namf_Communication ReleaseUEContext service Operation + tags: + - Individual ueContext (Document) + operationId: ReleaseUEContext + security: + - {} + - oAuth2ClientCredentials: + - namf-comm + - oAuth2ClientCredentials: + - namf-comm + - namf-comm:ue-contexts:mobility + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UEContextRelease' + required: true + responses: + '204': + description: UE Context successfully released + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/assign-ebi: + post: + summary: Namf_Communication EBI Assignment service Operation + tags: + - Individual ueContext (Document) + operationId: EBIAssignment + security: + - {} + - oAuth2ClientCredentials: + - namf-comm + - oAuth2ClientCredentials: + - namf-comm + - namf-comm:ue-contexts:assign-ebi + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AssignEbiData' + required: true + responses: + '200': + description: EBI Assignment successfully performed. + content: + application/json: + schema: + $ref: '#/components/schemas/AssignedEbiData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/AssignEbiError' + application/problem+json: # error originated by an SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/AssignEbiError' + application/problem+json: # error originated by an SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/AssignEbiError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/AssignEbiError' + application/problem+json: # error originated by an SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/transfer: + post: + summary: Namf_Communication UEContextTransfer service Operation + tags: + - Individual ueContext (Document) + operationId: UEContextTransfer + security: + - {} + - oAuth2ClientCredentials: + - namf-comm + - oAuth2ClientCredentials: + - namf-comm + - namf-comm:ue-contexts:mobility + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextTransferReqData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextTransferReqData' + binaryDataN1Message: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1Message: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + required: true + responses: + '200': + description: UE context transfer successfully initiated. + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextTransferRspData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextTransferRspData' + binaryDataN2Information: + type: string + format: binary + binaryDataN2InformationExt1: + type: string + format: binary + binaryDataN2InformationExt2: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt2: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/transfer-update: + post: + summary: Namf_Communication RegistrationStatusUpdate service Operation + tags: + - Individual ueContext (Document) + operationId: RegistrationStatusUpdate + security: + - {} + - oAuth2ClientCredentials: + - namf-comm + - oAuth2ClientCredentials: + - namf-comm + - namf-comm:ue-contexts:mobility + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UeRegStatusUpdateReqData' + required: true + responses: + '200': + description: UE context transfer status successfully updated. + content: + application/json: + schema: + $ref: '#/components/schemas/UeRegStatusUpdateRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /ue-contexts/{ueContextId}/relocate: + post: + summary: Namf_Communication RelocateUEContext service Operation + tags: + - Individual ueContext (Document) + operationId: RelocateUEContext + security: + - {} + - oAuth2ClientCredentials: + - namf-comm + - oAuth2ClientCredentials: + - namf-comm + - namf-comm:ue-contexts:mobility + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextRelocateData' + binaryDataForwardRelocationRequest: + type: string + format: binary + binaryDataN2Information: + type: string + format: binary + binaryDataN2InformationExt1: + type: string + format: binary + binaryDataN2InformationExt2: + type: string + format: binary + binaryDataN2InformationExt3: + type: string + format: binary + binaryDataN2InformationExt4: + type: string + format: binary + binaryDataN2InformationExt5: + type: string + format: binary + binaryDataN2InformationExt6: + type: string + format: binary + binaryDataN2InformationExt7: + type: string + format: binary + binaryDataN2InformationExt8: + type: string + format: binary + binaryDataN2InformationExt9: + type: string + format: binary + binaryDataN2InformationExt10: + type: string + format: binary + binaryDataN2InformationExt11: + type: string + format: binary + binaryDataN2InformationExt12: + type: string + format: binary + binaryDataN2InformationExt13: + type: string + format: binary + binaryDataN2InformationExt14: + type: string + format: binary + binaryDataN2InformationExt15: + type: string + format: binary + binaryDataN2InformationExt16: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataForwardRelocationRequest: + contentType: application/vnd.3gpp.gtpc + headers: + Content-Id: + schema: + type: string + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt2: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt3: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt4: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt5: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt6: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt7: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt8: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt9: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt10: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt11: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt12: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt13: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt14: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt15: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt16: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + required: true + responses: + '201': + description: UE context successfully relocated. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-comm//ue-contexts/{ueContextId}/relocate' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextRelocatedData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/cancel-relocate: + post: + summary: Namf_Communication CancelRelocateUEContext service Operation + tags: + - Individual ueContext (Document) + operationId: CancelRelocateUEContext + security: + - {} + - oAuth2ClientCredentials: + - namf-comm + - oAuth2ClientCredentials: + - namf-comm + - namf-comm:ue-contexts:mobility + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextCancelRelocateData' + binaryDataGtpcMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataGtpcMessage: + contentType: application/vnd.3gpp.gtpc + headers: + Content-Id: + schema: + type: string + required: true + responses: + '204': + description: UE Context successfully released + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/n1-n2-messages: + post: + summary: Namf_Communication N1N2 Message Transfer (UE Specific) service Operation + tags: + - n1N2Message collection (Collection) + operationId: N1N2MessageTransfer + security: + - {} + - oAuth2ClientCredentials: + - namf-comm + - oAuth2ClientCredentials: + - namf-comm + - namf-comm:n1-n2-messages + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|cid-.{1,255}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MessageTransferReqData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N1N2MessageTransferReqData' + binaryDataN1Message: + type: string + format: binary + binaryDataN2Information: + type: string + format: binary + binaryMtData: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1Message: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryMtData: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + required: true + responses: + '202': + description: N1N2 Message Transfer accepted. + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MessageTransferRspData' + headers: + Location: + description: > + The URI of the resource located on the AMF In this release, the URI shall only be + used by NF Service Consumer to correlate the possible N1/N2 Message Transfer Failure + Notification With the related N1/N2 Message Transfer Operation. The NF service + consumer shall not send any service requests towards the URI received in the + Location header. + required: true + schema: + type: string + '200': + description: N1N2 Message Transfer successfully initiated. + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MessageTransferRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + description: Conflicts + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MessageTransferError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + description: Gateway Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MessageTransferError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + description: Unexpected error + callbacks: + onN1N2TransferFailure: + '{$request.body#/n1n2FailureTxfNotifURI}': + post: + summary: Namf_Communication N1N2Transfer Failure Notification service Operation + tags: + - N1N2 Transfer Failure Notification + operationId: N1N2TransferFailureNotification + requestBody: + description: N1N2Transfer Failure Notification + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MsgTxfrFailureNotification' + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /ue-contexts/{ueContextId}/n1-n2-messages/subscriptions: + post: + summary: Namf_Communication N1N2 Message Subscribe (UE Specific) service Operation + tags: + - N1N2 Subscriptions Collection for Individual UE Contexts (Collection) + operationId: N1N2MessageSubscribe + security: + - {} + - oAuth2ClientCredentials: + - namf-comm + - oAuth2ClientCredentials: + - namf-comm + - namf-comm:n1-n2-messages + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UeN1N2InfoSubscriptionCreateData' + required: true + responses: + '201': + description: N1N2 Message Subscription successfully created. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-comm//ue-contexts/{ueContextId}/n1-n2-messages/subscriptions/{subscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/UeN1N2InfoSubscriptionCreatedData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + onN1N2MessageNotify: + '{$request.body#/n1NotifyCallbackUri}': + post: + summary: Namf_Communication N1 Message Notify service Operation + tags: + - N1 Message Notify + operationId: N1MessageNotify + requestBody: + description: N1 Message Notification + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N1MessageNotification' + binaryDataN1Message: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1Message: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '{$request.body#/n2NotifyCallbackUri}': + post: + summary: Namf_Communication N2 Info Notify (UE Specific) service Operation + tags: + - N2 Info Notify + operationId: N2InfoNotify + requestBody: + description: UE Specific N2 Information Notification + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N2InformationNotification' + binaryDataN1Message: + type: string + format: binary + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1Message: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /ue-contexts/{ueContextId}/n1-n2-messages/subscriptions/{subscriptionId}: + delete: + summary: Namf_Communication N1N2 Message UnSubscribe (UE Specific) service Operation + tags: + - N1N2 Individual Subscription (Document) + operationId: N1N2MessageUnSubscribe + security: + - {} + - oAuth2ClientCredentials: + - namf-comm + - oAuth2ClientCredentials: + - namf-comm + - namf-comm:n1-n2-messages + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + - name: subscriptionId + in: path + description: Subscription Identifier + required: true + schema: + type: string + responses: + '204': + description: N1N2 Message Subscription successfully removed. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /non-ue-n2-messages/transfer: + post: + summary: Namf_Communication Non UE N2 Message Transfer service Operation + tags: + - Non UE N2Messages collection (Collection) + operationId: NonUeN2MessageTransfer + security: + - {} + - oAuth2ClientCredentials: + - namf-comm + - oAuth2ClientCredentials: + - namf-comm + - namf-comm:non-ue-n2-messages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferReqData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N2InformationTransferReqData' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + required: true + responses: + '200': + description: Non UE N2 Message Transfer successfully initiated. + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + description: Service Unavailable + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + description: Unexpected error + /non-ue-n2-messages/subscriptions: + post: + summary: Namf_Communication Non UE N2 Info Subscribe service Operation + tags: + - Non UE N2Messages Subscriptions collection (Collection) + operationId: NonUeN2InfoSubscribe + security: + - {} + - oAuth2ClientCredentials: + - namf-comm + - oAuth2ClientCredentials: + - namf-comm + - namf-comm:non-ue-n2-messages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NonUeN2InfoSubscriptionCreateData' + required: true + responses: + '201': + description: Non UE N2 Info Subscription successfully created. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-comm//non-ue-n2-messages/subscriptions/{n2NotifySubscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/NonUeN2InfoSubscriptionCreatedData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + onN2InfoNotify: + '{$request.body#/n2NotifyCallbackUri}': + post: + summary: Namf_Communication Non UE N2 Info Notify service Operation + tags: + - Non UE N2 Info Notify + operationId: NonUeN2InfoNotify + requestBody: + description: Non UE N2 Information Notification + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationNotification' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N2InformationNotification' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /non-ue-n2-messages/subscriptions/{n2NotifySubscriptionId}: + delete: + summary: Namf_Communication Non UE N2 Info UnSubscribe service Operation + tags: + - Non UE N2 Message Notification Individual Subscription (Document) + operationId: NonUeN2InfoUnSubscribe + security: + - {} + - oAuth2ClientCredentials: + - namf-comm + - oAuth2ClientCredentials: + - namf-comm + - namf-comm:non-ue-n2-messages + parameters: + - name: n2NotifySubscriptionId + in: path + description: N2 info Subscription Identifier + required: true + schema: + type: string + responses: + '204': + description: Non UE N2 INfo Subscription successfully removed. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /subscriptions: + post: + summary: Namf_Communication AMF Status Change Subscribe service Operation + tags: + - subscriptions collection (Collection) + operationId: AMFStatusChangeSubscribe + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + required: true + responses: + '201': + description: N1N2 Message Subscription successfully created. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-comm//subscriptions/{subscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + onAmfStatusChange: + '{$request.body#/amfStatusUri}': + post: + summary: Amf Status Change Notify service Operation + tags: + - Amf Status Change Notify + operationId: AmfStatusChangeNotify + requestBody: + description: Amf Status Change Notification + content: + application/json: + schema: + $ref: '#/components/schemas/AmfStatusChangeNotification' + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /subscriptions/{subscriptionId}: + delete: + summary: Namf_Communication AMF Status Change UnSubscribe service Operation + tags: + - individual subscription (Document) + operationId: AMFStatusChangeUnSubscribe + parameters: + - name: subscriptionId + in: path + description: AMF Status Change Subscription Identifier + required: true + schema: + type: string + responses: + '204': + description: N1N2 Message Subscription successfully removed. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + put: + summary: Namf_Communication AMF Status Change Subscribe Modify service Operation + tags: + - individual subscription (Document) + operationId: AMFStatusChangeSubscribeModfy + parameters: + - name: subscriptionId + in: path + description: AMF Status Change Subscription Identifier + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + required: true + responses: + '200': + description: Subscription modified successfully + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + '204': + description: Events subscription modification is accepted entirely + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + OnAmfStatusChange: + '{$request.body#/amfStatusUri}': + post: + summary: Amf Status Change Notify service Operation + tags: + - Amf Status Change Notify + operationId: AmfStatusChangeNOtify + requestBody: + description: Amf Status Change Notification + content: + application/json: + schema: + $ref: '#/components/schemas/AmfStatusChangeNotification' + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + namf-comm: Access to the Namf_Communication API + namf-comm:ue-contexts:mobility: > + Access to service operations applying to UE context resources, i.e., + UEContextTransfer, RegistrationStatusUpdate, CreateUEContext, ReleaseUEContext, + RelocateUEContext, and CancelRelocateUEContext. + namf-comm:ue-contexts:assign-ebi: > + Access to service operations applying to UE context resources for EBI assignment, + i.e., EBIAssignment. + namf-comm:n1-n2-messages: > + Access to service operations applying to n1-n2-messages resources, i.e., + N1N2MessageSubscribe, N1N2MessageUnSubscribe, N1N2MessageTransfer, N1MessageNotify and + N2InfoNotify + namf-comm:non-ue-n2-messages: > + Access to service operations applying to the non-ue-n2-messages resources, i.e., + NonUeN2MessageTransfer, NonUeN2InfoSubscribe, NonUeN2InfoUnSubscribe, and + NonUeN2InfoNotify + schemas: +# +# STRUCTURED DATA TYPES +# + SubscriptionData: + description: Data within an AMF Status Change Subscription request and response + type: object + properties: + amfStatusUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + guamiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + required: + - amfStatusUri + AmfStatusChangeNotification: + description: Data within an AMF Status Change Notification request + type: object + properties: + amfStatusInfoList: + type: array + items: + $ref: '#/components/schemas/AmfStatusInfo' + minItems: 1 + required: + - amfStatusInfoList + AmfStatusInfo: + description: AMF Status Information + type: object + properties: + guamiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + statusChange: + $ref: '#/components/schemas/StatusChange' + targetAmfRemoval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfName' + targetAmfFailure: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfName' + required: + - guamiList + - statusChange + AssignEbiData: + description: Data within an EBI assignment request + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + arpList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + minItems: 1 + releasedEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + modifiedEbiList: + type: array + items: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/EbiArpMapping' + minItems: 1 + required: + - pduSessionId + AssignedEbiData: + description: Data within a successful response to an EBI assignment request + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + assignedEbiList: + type: array + items: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/EbiArpMapping' + minItems: 0 + failedArpList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + minItems: 1 + releasedEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + modifiedEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + required: + - pduSessionId + - assignedEbiList + AssignEbiFailed: + description: Represents failed assignment of EBI(s) + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + failedArpList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + minItems: 1 + required: + - pduSessionId + UEContextRelease: + description: Data within a Release UE Context request + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + unauthenticatedSupi: + type: boolean + default: false + ngapCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + required: + - ngapCause + N2InformationTransferReqData: + description: Data within a N2 Information Transfer request containing the N2 information requested to be transferred to 5G AN + type: object + properties: + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + ratSelector: + $ref: '#/components/schemas/RatSelector' + globalRanNodeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + n2Information: + $ref: '#/components/schemas/N2InfoContainer' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - n2Information + NonUeN2InfoSubscriptionCreateData: + description: Data within a create subscription request for non-UE specific N2 information notification + type: object + properties: + globalRanNodeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + anTypeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + n2InformationClass: + $ref: '#/components/schemas/N2InformationClass' + n2NotifyCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + notifCorrelationId: + type: string + required: + - n2InformationClass + - n2NotifyCallbackUri + NonUeN2InfoSubscriptionCreatedData: + description: Data for the created subscription for non-UE specific N2 information notification + type: object + properties: + n2NotifySubscriptionId: + type: string + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + n2InformationClass: + $ref: '#/components/schemas/N2InformationClass' + required: + - n2NotifySubscriptionId + UeN1N2InfoSubscriptionCreateData: + description: Data within a create subscription request for UE specific N1 and/or N2 information notification + type: object + properties: + n2InformationClass: + $ref: '#/components/schemas/N2InformationClass' + n2NotifyCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + n1MessageClass: + $ref: '#/components/schemas/N1MessageClass' + n1NotifyCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + UeN1N2InfoSubscriptionCreatedData: + description: Data for the created subscription for UE specific N1 and/or N2 information notification + type: object + properties: + n1n2NotifySubscriptionId: + type: string + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - n1n2NotifySubscriptionId + N2InformationNotification: + description: Data within a N2 information notification request + type: object + properties: + n2NotifySubscriptionId: + type: string + n2InfoContainer: + $ref: '#/components/schemas/N2InfoContainer' + toReleaseSessionList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + minItems: 1 + lcsCorrelationId: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CorrelationID' + notifyReason: + $ref: '#/components/schemas/N2InfoNotifyReason' + smfChangeInfoList: + type: array + items: + $ref: '#/components/schemas/SmfChangeInfo' + minItems: 1 + ranNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + initialAmfName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfName' + anN2IPv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + anN2IPv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + notifySourceNgRan: + type: boolean + default: false + notifCorrelationId: + type: string + required: + - n2NotifySubscriptionId + + N2InfoContainer: + description: N2 information container + type: object + properties: + n2InformationClass: + $ref: '#/components/schemas/N2InformationClass' + smInfo: + $ref: '#/components/schemas/N2SmInformation' + ranInfo: + $ref: '#/components/schemas/N2RanInformation' + nrppaInfo: + $ref: '#/components/schemas/NrppaInformation' + pwsInfo: + $ref: '#/components/schemas/PwsInformation' + v2xInfo: + $ref: '#/components/schemas/V2xInformation' + proseInfo: + $ref: '#/components/schemas/ProSeInformation' + tssInfo: + $ref: '#/components/schemas/TssInformation' + rslpInfo: + $ref: '#/components/schemas/RslpInformation' + a2xInfo: + $ref: '#/components/schemas/A2xInformation' + required: + - n2InformationClass + N1MessageNotification: + description: Data within a N1 message notification request + type: object + properties: + n1NotifySubscriptionId: + type: string + n1MessageContainer: + $ref: '#/components/schemas/N1MessageContainer' + lcsCorrelationId: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CorrelationID' + registrationCtxtContainer: + $ref: '#/components/schemas/RegistrationContextContainer' + newLmfIdentification: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LMFIdentification' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + cIoT5GSOptimisation: + type: boolean + default: false + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + tai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + pruInd: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/PruInd' + required: + - n1MessageContainer + N1MessageContainer: + description: N1 Message container + type: object + properties: + n1MessageClass: + $ref: '#/components/schemas/N1MessageClass' + n1MessageContent: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + serviceInstanceId: + type: string + required: + - n1MessageClass + - n1MessageContent + N1N2MessageTransferReqData: + description: Data within a N1/N2 message transfer request + type: object + properties: + n1MessageContainer: + $ref: '#/components/schemas/N1MessageContainer' + n2InfoContainer: + $ref: '#/components/schemas/N2InfoContainer' + mtData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + skipInd: + type: boolean + default: false + lastMsgIndication: + type: boolean + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + lcsCorrelationId: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CorrelationID' + ppi: + $ref: '#/components/schemas/Ppi' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + n1n2FailureTxfNotifURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + smfReallocationInd: + type: boolean + default: false + areaOfValidity: + $ref: '#/components/schemas/AreaOfValidity' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + maAcceptedInd: + type: boolean + default: false + extBufSupport: + type: boolean + default: false + targetAccess: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pruInd: + type: boolean + enum: + - true + + + + N1N2MessageTransferRspData: + description: Data within a N1/N2 message transfer response + type: object + properties: + cause: + $ref: '#/components/schemas/N1N2MessageTransferCause' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - cause + RegistrationContextContainer: + description: Registration Context Container used to send the UE context information, N1 message from UE, AN address etc during Registration with AMF re-allocation procedure + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + localTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + anN2ApId: + type: integer + ranNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + initialAmfName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfName' + userLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + rrcEstCause: + type: string + pattern: '^[0-9a-fA-F]+$' + ueContextRequest: + type: boolean + default: false + initialAmfN2ApId: + type: integer + anN2IPv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + anN2IPv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + allowedNssai: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/AllowedNssai' + configuredNssai: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/ConfiguredSnssai' + minItems: 1 + rejectedNssaiInPlmn: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + rejectedNssaiInTa: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + selectedPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + iabNodeInd: + type: boolean + default: false + mbsrNodeInd: + type: boolean + default: false + ceModeBInd: + $ref: '#/components/schemas/CeModeBInd' + lteMInd: + $ref: '#/components/schemas/LteMInd' + authenticatedInd: + type: boolean + default: false + npnAccessInfo: + $ref: '#/components/schemas/NpnAccessInfo' + required: + - ueContext + - anType + - anN2ApId + - ranNodeId + - initialAmfName + - userLocation + + AreaOfValidity: + description: Area of validity information for N2 information transfer + type: object + properties: + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 0 + taiRangeList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TaiRange' + minItems: 1 + required: + - taiList + UeContextTransferReqData: + description: Data within a UE Context Transfer Request to start transferring of an individual ueContext resource from old AMF to new AMF + type: object + properties: + reason: + $ref: '#/components/schemas/TransferReason' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + regRequest: + $ref: '#/components/schemas/N1MessageContainer' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - reason + - accessType + UeContextTransferRspData: + description: Data within a successful response to the UE Context Transfer request + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + ueRadioCapability: + $ref: '#/components/schemas/N2InfoContent' + ueRadioCapabilityForPaging: + $ref: '#/components/schemas/N2InfoContent' + ueNbiotRadioCapability: + $ref: '#/components/schemas/N2InfoContent' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ueContext + UeContext: + description: Represents an individual ueContext resource + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + supiUnauthInd: + type: boolean + gpsiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + udmGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + ausfGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + pcfGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + routingIndicator: + type: string + hNwPubKeyId: + type: integer + groupList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + drxParameter: + $ref: '#/components/schemas/DrxParameter' + subRfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + pcfRfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + usedRfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + subUeAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + pcfUeAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + subUeSliceMbrList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SliceMbr' + minProperties: 1 + description: A map(list of key-value pairs) where Snssai serves as key. + smsfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + seafData: + $ref: '#/components/schemas/SeafData' + 5gMmCapability: + $ref: '#/components/schemas/5GMmCapability' + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + pcfAmpServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + pcfUepServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + pcfBinding: + $ref: '#/components/schemas/SbiBindingLevel' + pcfAmPolicyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amPolicyReqTriggerList: + type: array + items: + $ref: '#/components/schemas/PolicyReqTrigger' + minItems: 1 + pcfUePolicyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + uePolicyReqTriggerList: + type: array + items: + $ref: '#/components/schemas/PolicyReqTrigger' + minItems: 1 + hpcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + hpcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + restrictedRatList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + forbiddenAreaList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Area' + minItems: 1 + serviceAreaRestriction: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + restrictedCoreNwTypeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CoreNetworkType' + minItems: 1 + eventSubscriptionList: + type: array + items: + $ref: '#/components/schemas/ExtAmfEventSubscription' + minItems: 1 + mmContextList: + type: array + items: + $ref: '#/components/schemas/MmContext' + minItems: 1 + maxItems: 2 + sessionContextList: + type: array + items: + $ref: '#/components/schemas/PduSessionContext' + minItems: 1 + epsInterworkingInfo: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/EpsInterworkingInfo' + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + serviceGapExpiryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + stnSr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StnSr' + cMsisdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CMsisdn' + msClassmark2: + $ref: '#/components/schemas/MSClassmark2' + supportedCodecList: + type: array + items: + $ref: '#/components/schemas/SupportedCodec' + minItems: 1 + smallDataRateStatusInfos: + type: array + items: + $ref: '#/components/schemas/SmallDataRateStatusInfo' + minItems: 1 + restrictedPrimaryRatList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + restrictedSecondaryRatList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + v2xContext: + $ref: '#/components/schemas/V2xContext' + lteCatMInd: + type: boolean + default: false + redCapInd: + type: boolean + default: false + moExpDataCounter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MoExpDataCounter' + cagData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/CagData' + managementMdtInd: + type: boolean + default: false + immediateMdtConf: + $ref: '#/components/schemas/ImmediateMdtConf' + ecRestrictionDataWb: + $ref: '#/components/schemas/EcRestrictionDataWb' + ecRestrictionDataNb: + type: boolean + default: false + iabOperationAllowed: + type: boolean + proseContext: + $ref: '#/components/schemas/ProseContext' + analyticsSubscriptionList: + type: array + items: + $ref: '#/components/schemas/AnalyticsSubscription' + minItems: 1 + pcfAmpBindingInfo: + type: string + pcfUepBindingInfo: + type: string + usedServiceAreaRestriction: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + praInAmPolicy: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + description: A map(list of key-value pairs) where praId serves as key. + praInUePolicy: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + description: A map(list of key-value pairs) where praId serves as key. + updpSubscriptionData: + $ref: '#/components/schemas/UpdpSubscriptionData' + smPolicyNotifyPduList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionInfo' + minItems: 1 + pcfUeCallbackInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PcfUeCallbackInfo' + uePositioningCap: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/UePositioningCapabilities' + astiDistributionIndication: + type: boolean + default: false + tsErrorBudget: + type: integer + snpnOnboardInd: + type: boolean + default: false + smfSelInfo: + $ref: 'TS29507_Npcf_AMPolicyControl.yaml#/components/schemas/SmfSelectionData' + pcfUeSliceMbrList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SliceMbr' + minProperties: 1 + description: A map(list of key-value pairs) where Snssai serves as key. + smsfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + smsfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + smsfBindingInfo: + type: string + disasterRoamingInd: + type: boolean + default: false + disasterPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + satelliteBackhaulCat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SatelliteBackhaulCategory' + wlServAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction' + asTimeDisParam: + $ref: 'TS29507_Npcf_AMPolicyControl.yaml#/components/schemas/AsTimeDistributionParam' + amPolicyInfoContainer: + $ref: '#/components/schemas/AmPolicyInfoContainer' + a2xContext: + $ref: '#/components/schemas/A2xContext' + mbsrOperationAllowed: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/MbsrOperationAllowed' + lcsUpContext: + $ref: '#/components/schemas/LcsUpContext' + reconnectInd: + type: boolean + default: false + + + + N2SmInformation: + description: Represents the session management SMF related N2 information data part + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + n2InfoContent: + $ref: '#/components/schemas/N2InfoContent' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + homePlmnSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + iwkSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + subjectToHo: + type: boolean + required: + - pduSessionId + N2InfoContent: + description: Represents a transparent N2 information content to be relayed by AMF + type: object + properties: + ngapMessageType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + ngapIeType: + $ref: '#/components/schemas/NgapIeType' + ngapData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + required: + - ngapData + NrppaInformation: + description: Represents a NRPPa related N2 information data part + type: object + properties: + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nrppaPdu: + $ref: '#/components/schemas/N2InfoContent' + serviceInstanceId: + type: string + required: + - nfId + - nrppaPdu + PwsInformation: + description: Represents a PWS related information data part + type: object + properties: + messageIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' + serialNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' + pwsContainer: + $ref: '#/components/schemas/N2InfoContent' + bcEmptyAreaList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + sendRanResponse: + type: boolean + default: false + omcId: + $ref: '#/components/schemas/OmcIdentifier' + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + required: + - messageIdentifier + - serialNumber + - pwsContainer + N1N2MsgTxfrFailureNotification: + description: Data within a N1/N2 Message Transfer Failure Notification request + type: object + properties: + cause: + $ref: '#/components/schemas/N1N2MessageTransferCause' + n1n2MsgDataUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + retryAfter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + + required: + - cause + - n1n2MsgDataUri + N1N2MessageTransferError: + description: Data within a N1/N2 Message Transfer Error response + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + errInfo: + $ref: '#/components/schemas/N1N2MsgTxfrErrDetail' + required: + - error + N1N2MsgTxfrErrDetail: + description: N1/N2 Message Transfer Error Details + type: object + properties: + retryAfter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + highestPrioArp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + maxWaitingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + N2InformationTransferRspData: + description: Data within a successful response to the N2 Information Transfer request to transfer N2 Information to the AN + type: object + properties: + result: + $ref: '#/components/schemas/N2InformationTransferResult' + pwsRspData: + $ref: '#/components/schemas/PWSResponseData' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - result + MmContext: + description: Represents a Mobility Management Context in UE Context + type: object + properties: + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + nasSecurityMode: + $ref: '#/components/schemas/NasSecurityMode' + epsNasSecurityMode: + $ref: '#/components/schemas/EpsNasSecurityMode' + nasDownlinkCount: + $ref: '#/components/schemas/NasCount' + nasUplinkCount: + $ref: '#/components/schemas/NasCount' + ueSecurityCapability: + $ref: '#/components/schemas/UeSecurityCapability' + s1UeNetworkCapability: + $ref: '#/components/schemas/S1UeNetworkCapability' + allowedNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + nssaiMappingList: + type: array + items: + $ref: '#/components/schemas/NssaiMapping' + minItems: 1 + allowedHomeNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + partiallyAllowedNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PartiallyAllowedSnssai' + minItems: 1 + nsInstanceList: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + minItems: 1 + expectedUEbehavior: + $ref: '#/components/schemas/ExpectedUeBehavior' + ueDifferentiationInfo: + $ref: '#/components/schemas/UeDifferentiationInfo' + plmnAssiUeRadioCapId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnAssiUeRadioCapId' + manAssiUeRadioCapId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ManAssiUeRadioCapId' + ucmfDicEntryId: + type: string + n3IwfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + wagfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + tngfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + anN2ApId: + type: integer + nssaaStatusList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NssaaStatus' + minItems: 1 + pendingNssaiMappingList: + type: array + items: + $ref: '#/components/schemas/NssaiMapping' + minItems: 1 + uuaaMmStatus: + $ref: '#/components/schemas/UuaaMmStatus' + required: + - accessType + SeafData: + description: Represents SEAF data derived from data received from AUSF + type: object + properties: + ngKsi: + $ref: '#/components/schemas/NgKsi' + keyAmf: + $ref: '#/components/schemas/KeyAmf' + nh: + type: string + pattern: '^[A-Fa-f0-9]+$' + ncc: + type: integer + minimum: 0 + maximum: 7 + keyAmfChangeInd: + type: boolean + keyAmfHDerivationInd: + type: boolean + required: + - ngKsi + - keyAmf + NasSecurityMode: + description: Indicates the NAS Security Mode + type: object + properties: + integrityAlgorithm: + $ref: '#/components/schemas/IntegrityAlgorithm' + cipheringAlgorithm: + $ref: '#/components/schemas/CipheringAlgorithm' + required: + - integrityAlgorithm + - cipheringAlgorithm + PduSessionContext: + description: Represents a PDU Session Context in UE Context + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + smContextRef: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + selectedDnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + additionalAccessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + allocatedEbiList: + type: array + items: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/EbiArpMapping' + minItems: 1 + hsmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + hsmfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + hsmfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + smfBinding: + $ref: '#/components/schemas/SbiBindingLevel' + vsmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + vsmfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + vsmfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + vsmfBinding: + $ref: '#/components/schemas/SbiBindingLevel' + ismfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + ismfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + ismfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + ismfBinding: + $ref: '#/components/schemas/SbiBindingLevel' + nsInstance: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + smfServiceInstanceId: + type: string + maPduSession: + type: boolean + default: false + cnAssistedRanPara: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/CnAssistedRanPara' + nrfManagementUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nrfDiscoveryUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nrfAccessTokenUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + smfBindingInfo: + type: string + vsmfBindingInfo: + type: string + ismfBindingInfo: + type: string + additionalSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + interPlmnApiRoot: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + pgwFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + pgwIpAddr: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/IpAddress' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + anchorSmfSupportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + anchorSmfOauth2Required: + type: boolean + hrsboAllowedInd: + type: boolean + required: + - pduSessionId + - smContextRef + - sNssai + - dnn + - accessType + NssaiMapping: + description: Represents the mapping between a S-NSSAI in serving PLMN to a S-NSSAI in home PLMN + type: object + properties: + mappedSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + hSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + required: + - mappedSnssai + - hSnssai + UeRegStatusUpdateReqData: + description: Data within a UE registration status update request to indicate a completion of transferring at a target AMF + type: object + properties: + transferStatus: + $ref: '#/components/schemas/UeContextTransferStatus' + toReleaseSessionList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + minItems: 1 + pcfReselectedInd: + type: boolean + smfChangeInfoList: + type: array + items: + $ref: '#/components/schemas/SmfChangeInfo' + minItems: 1 + analyticsNotUsedList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + toReleaseSessionInfo: + type: array + items: + $ref: '#/components/schemas/ReleaseSessionInfo' + minItems: 1 + required: + - transferStatus + UeRegStatusUpdateRspData: + description: Data within a UE registration status update response to provide the status of UE context transfer status update at a source AMF + type: object + properties: + regStatusTransferComplete: + type: boolean + required: + - regStatusTransferComplete + AssignEbiError: + description: Data within a failure response to the EBI assignment request + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + failureDetails: + $ref: '#/components/schemas/AssignEbiFailed' + required: + - error + - failureDetails + UeContextCreateData: + description: Data within a request to create an individual ueContext resource + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + targetId: + $ref: '#/components/schemas/NgRanTargetId' + sourceToTargetData: + $ref: '#/components/schemas/N2InfoContent' + pduSessionList: + type: array + items: + $ref: '#/components/schemas/N2SmInformation' + minItems: 1 + n2NotifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ueRadioCapability: + $ref: '#/components/schemas/N2InfoContent' + ueRadioCapabilityForPaging: + $ref: '#/components/schemas/N2InfoContent' + ngapCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + required: + - ueContext + - targetId + - sourceToTargetData + - pduSessionList + UeContextCreatedData: + description: Data within a successful response for creating an individual ueContext resource + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + targetToSourceData: + $ref: '#/components/schemas/N2InfoContent' + pduSessionList: + type: array + items: + $ref: '#/components/schemas/N2SmInformation' + minItems: 1 + failedSessionList: + type: array + items: + $ref: '#/components/schemas/N2SmInformation' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + pcfReselectedInd: + type: boolean + analyticsNotUsedList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + required: + - ueContext + - targetToSourceData + - pduSessionList + UeContextCreateError: + description: Data within a failure response for creating a UE context + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + ngapCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + targetToSourceFailureData: + $ref: '#/components/schemas/N2InfoContent' + required: + - error + UeContextRelocateData: + description: Data within a Relocate UE Context request + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + targetId: + $ref: '#/components/schemas/NgRanTargetId' + sourceToTargetData: + $ref: '#/components/schemas/N2InfoContent' + forwardRelocationRequest: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + pduSessionList: + type: array + items: + $ref: '#/components/schemas/N2SmInformation' + minItems: 1 + ueRadioCapability: + $ref: '#/components/schemas/N2InfoContent' + ngapCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ueContext + - targetId + - sourceToTargetData + - forwardRelocationRequest + UeContextRelocatedData: + description: Data within a Relocate UE Context response + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + required: + - ueContext + + UeContextCancelRelocateData: + description: Data structure used for cancellation of UE Context Relocation + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + relocationCancelRequest: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + required: + - relocationCancelRequest + NgRanTargetId: + description: Indicates a NG RAN as target of the handover + type: object + properties: + ranNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + tai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + required: + - ranNodeId + - tai + PWSResponseData: + description: Data related PWS included in a N2 Information Transfer response + type: object + properties: + ngapMessageType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + serialNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' + messageIdentifier: + type: integer + unknownTaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + n2PwsSubMissInd: + type: boolean + enum: + - true + required: + - ngapMessageType + - serialNumber + - messageIdentifier + PWSErrorData: + description: Data related to PWS error included in a N2 Information Transfer failure response + type: object + properties: + namfCause: + type: integer + required: + - namfCause + N2InformationTransferError: + description: Data within a failure response for a non-UE related N2 Information Transfer + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + pwsErrorInfo: + $ref: '#/components/schemas/PWSErrorData' + required: + - error + NgKsi: + description: Represents the ngKSI + type: object + properties: + tsc: + $ref: '#/components/schemas/ScType' + ksi: + type: integer + minimum: 0 + maximum: 6 + required: + - tsc + - ksi + KeyAmf: + description: Represents the Kamf or K'amf + type: object + properties: + keyType: + $ref: '#/components/schemas/KeyAmfType' + keyVal: + type: string + required: + - keyType + - keyVal + ExpectedUeBehavior: + description: Represents the expected UE behavior (e.g. UE moving trajectory) and its validity period + type: object + properties: + expMoveTrajectory: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + minItems: 1 + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - expMoveTrajectory + - validityTime + N2RanInformation: + description: Represents the RAN related N2 information data part + type: object + properties: + n2InfoContent: + $ref: '#/components/schemas/N2InfoContent' + required: + - n2InfoContent + N2InfoNotificationRspData: + description: Data within a N2 information notification response + type: object + properties: + secRatDataUsageList: + type: array + items: + $ref: '#/components/schemas/N2SmInformation' + minItems: 1 + SmallDataRateStatusInfo: + description: Represents the small data rate status + type: object + properties: + Snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + Dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + SmallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + required: + - Snssai + - Dnn + - SmallDataRateStatus + SmfChangeInfo: + description: SMF change information for PDU session(s) + type: object + properties: + pduSessionIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + minItems: 1 + smfChangeInd: + $ref: '#/components/schemas/SmfChangeIndication' + required: + - pduSessionIdList + - smfChangeInd + + V2xContext: + description: Represents the V2X services related parameters + type: object + properties: + nrV2xServicesAuth: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NrV2xAuth' + lteV2xServicesAuth: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LteV2xAuth' + nrUeSidelinkAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + lteUeSidelinkAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + pc5QoSPara: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pc5QoSPara' + + V2xInformation: + description: V2X related N2 information + type: object + properties: + n2Pc5Pol: + $ref: '#/components/schemas/N2InfoContent' + + ProSeInformation: + description: Represents 5G ProSe related N2 information. + type: object + properties: + n2Pc5ProSePol: + $ref: '#/components/schemas/N2InfoContent' + + ImmediateMdtConf: + description: Immediate MDT Configuration + type: object + properties: + jobType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/JobType' + measurementLteList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MeasurementLteForMdt' + minItems: 1 + measurementNrList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MeasurementNrForMdt' + minItems: 1 + reportingTriggerList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReportingTrigger' + minItems: 1 + reportInterval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReportIntervalMdt' + reportIntervalNr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReportIntervalNrMdt' + reportAmount: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReportAmountMdt' + eventThresholdRsrp: + type: integer + minimum: 0 + maximum: 97 + eventThresholdRsrq: + type: integer + minimum: 0 + maximum: 34 + eventThresholdRsrpNr: + type: integer + minimum: 0 + maximum: 127 + eventThresholdRsrqNr: + type: integer + minimum: 0 + maximum: 127 + collectionPeriodRmmLte: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CollectionPeriodRmmLteMdt' + collectionPeriodRmmNr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CollectionPeriodRmmNrMdt' + measurementPeriodLte: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MeasurementPeriodLteMdt' + areaScope: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AreaScope' + positioningMethod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PositioningMethodMdt' + addPositioningMethodList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PositioningMethodMdt' + minItems: 1 + mdtAllowedPlmnIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + maxItems: 16 + sensorMeasurementList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SensorMeasurement' + minItems: 1 + required: + - jobType + + EpsNasSecurityMode: + description: Indicates the EPS NAS Security Mode + type: object + properties: + integrityAlgorithm: + $ref: '#/components/schemas/EpsNasIntegrityAlgorithm' + cipheringAlgorithm: + $ref: '#/components/schemas/EpsNasCipheringAlgorithm' + required: + - integrityAlgorithm + - cipheringAlgorithm + + EcRestrictionDataWb: + description: Enhanced Coverage Restriction Data for WB-N1 mode + type: object + properties: + ecModeARestricted: + type: boolean + default: false + ecModeBRestricted: + type: boolean + required: + - ecModeBRestricted + + ExtAmfEventSubscription: + description: AMF event subscription extended with additional information received for the subscription + allOf: + - $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/AmfEventSubscription' + - $ref: '#/components/schemas/AmfEventSubscriptionAddInfo' + + AmfEventSubscriptionAddInfo: + description: Additional information received for an AMF event subscription, e.g. binding indications + type: object + properties: + bindingInfo: + type: array + items: + type: string + minItems: 1 + maxItems: 2 + subscribingNfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + eventSyncInd: + type: boolean + nfConsumerInfo: + type: array + items: + type: string + minItems: 1 + aoiStateList: + type: object + description: > + Map of subscribed Area of Interest (AoI) Event State in the old AMF. The JSON pointer to + an AmfEventArea element in the areaList IE (or a PresenceInfo element in + presenceInfoList IE) of the AmfEvent data type shall be the key of the map. + additionalProperties: + $ref: '#/components/schemas/AreaOfInterestEventState' + accessToken: + type: string + description: > + JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims + defined in 3GPP TS 29.510) + + UeDifferentiationInfo: + description: Represents the UE Differentiation Information and its validity time + type: object + properties: + periodicComInd: + $ref: '#/components/schemas/PeriodicCommunicationIndicator' + periodicTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + scheduledComTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationTime' + stationaryInd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StationaryIndication' + trafficProfile: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TrafficProfile' + batteryInd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BatteryIndication' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + CeModeBInd: + description: CE-mode-B Support Indicator. + type: object + properties: + ceModeBSupportInd: + type: boolean + required: + - ceModeBSupportInd + + LteMInd: + description: LTE-M Indication. + type: object + properties: + lteCatMInd: + type: boolean + required: + - lteCatMInd + + NpnAccessInfo: + description: NPN Access Information. + type: object + properties: + cellCagInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CagId' + minItems: 1 + + ProseContext: + description: Represents the ProSe services related parameters. + type: object + properties: + directDiscovery: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UeAuth' + directComm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UeAuth' + l2Relay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UeAuth' + l3Relay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UeAuth' + l2Remote: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UeAuth' + l3Remote: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UeAuth' + l2UeRelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UeAuth' + l3UeRelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UeAuth' + l2End: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UeAuth' + l3End: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UeAuth' + multiPathComm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UeAuth' + nrUePc5Ambr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + pc5QoSPara: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pc5QoSPara' + + AnalyticsSubscription: + description: Analytics subscriptions created in the NWDAF. + type: object + properties: + nwdafId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nwdafSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + nwdafSubscriptionList: + type: array + items: + $ref: '#/components/schemas/NwdafSubscription' + minItems: 1 + required: + - nwdafSubscriptionList + + NwdafSubscription: + description: Individual NWDAF subscription identified by the subscription Id. + type: object + properties: + nwdafEvtSubsServiceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nwdafEventsSubscription: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscription' + required: + - nwdafEvtSubsServiceUri + - nwdafEventsSubscription + + UpdpSubscriptionData: + description: UE policy delivery related N1 message notification subscription data. + type: object + properties: + updpNotifySubscriptionId: + type: string + updpNotifyCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + updpCallbackBinding: + type: string + required: + - updpNotifySubscriptionId + - updpNotifyCallbackUri + + ReleaseSessionInfo: + description: PDU session Id(s) and the cause for triggering the release. + type: object + properties: + releaseSessionList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + minItems: 1 + releaseCause: + $ref: '#/components/schemas/ReleaseCause' + required: + - releaseSessionList + - releaseCause + + AreaOfInterestEventState: + description: Event State of AoI event in old AMF + type: object + required: + - presence + properties: + presence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState' + individualPraIdList: + type: array + items: + type: string + minItems: 1 + + TssInformation: + description: Represents a Tss related N2 information data part + type: object + properties: + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + tssContainer: + $ref: '#/components/schemas/N2InfoContent' + required: + - tssContainer + + RslpInformation: + description: Represents Ranging/SL positioning related N2 information. + type: object + properties: + n2Pc5RslpPol: + $ref: '#/components/schemas/N2InfoContent' + + A2xContext: + description: Represents the A2X services related parameters + type: object + properties: + nrA2xServicesAuth: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NrA2xAuth' + lteA2xServicesAuth: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LteA2xAuth' + nrUeSidelinkAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + lteUeSidelinkAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + pc5QoSPara: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pc5QoSPara' + + A2xInformation: + description: A2X related N2 information + type: object + properties: + n2Pc5Pol: + $ref: '#/components/schemas/N2InfoContent' + + AmPolicyInfoContainer: + description: AM Policy Information Container + type: object + properties: + sliceUsgCtrlInfoSets: + type: object + description: A map(list of key-value pairs) where Snssai serves as key. + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SliceUsageControlInfo' + minProperties: 1 + + LcsUpContext: + description: Represents the LCS UP related parameters + type: object + properties: + upConnectionStatus: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/UpConnectionStatus' + servingLMFIdentification: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LMFIdentification' +# +# SIMPLE DATA TYPES +# + EpsBearerId: + description: EPS Bearer Identifier + type: integer + minimum: 0 + maximum: 15 + Ppi: + description: Paging Policy Indicator + type: integer + minimum: 0 + maximum: 7 + NasCount: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + 5GMmCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + UeSecurityCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + S1UeNetworkCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + DrxParameter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + OmcIdentifier: + description: Represents the OMC Identifier + type: string + MSClassmark2: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + SupportedCodec: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + +# +# ENUMERATIONS +# + StatusChange: + description: Enumeration for AMF status + anyOf: + - type: string + enum: + - AMF_UNAVAILABLE + - AMF_AVAILABLE + - type: string + N2InformationClass: + description: Enumeration for N2 Information Class + anyOf: + - type: string + enum: + - SM + - NRPPa + - PWS + - PWS-BCAL + - PWS-RF + - RAN + - V2X + - PROSE + - TSS + - RSPP + - A2X + - type: string + N1MessageClass: + description: Enumeration for N1 Message Class + anyOf: + - type: string + enum: + - 5GMM + - SM + - LPP + - SMS + - UPDP + - LCS + - type: string + N1N2MessageTransferCause: + description: Enumeration for N1N2Message Transfer Cause + anyOf: + - type: string + enum: + - ATTEMPTING_TO_REACH_UE + - N1_N2_TRANSFER_INITIATED + - WAITING_FOR_ASYNCHRONOUS_TRANSFER + - UE_NOT_RESPONDING + - N1_MSG_NOT_TRANSFERRED + - N2_MSG_NOT_TRANSFERRED + - UE_NOT_REACHABLE_FOR_SESSION + - TEMPORARY_REJECT_REGISTRATION_ONGOING + - TEMPORARY_REJECT_HANDOVER_ONGOING + - REJECTION_DUE_TO_PAGING_RESTRICTION + - AN_NOT_RESPONDING + - FAILURE_CAUSE_UNSPECIFIED + - type: string + UeContextTransferStatus: + description: Describes the status of an individual ueContext resource in UE Context Transfer procedures + anyOf: + - type: string + enum: + - TRANSFERRED + - NOT_TRANSFERRED + - type: string + N2InformationTransferResult: + description: Describes the result of N2 information transfer by AMF to the AN + anyOf: + - type: string + enum: + - N2_INFO_TRANSFER_INITIATED + - type: string + CipheringAlgorithm: + description: Indicates the supported Ciphering Algorithm + anyOf: + - type: string + enum: + - NEA0 + - NEA1 + - NEA2 + - NEA3 + - type: string + IntegrityAlgorithm: + description: Indicates the supported Integrity Algorithm + anyOf: + - type: string + enum: + - NIA0 + - NIA1 + - NIA2 + - NIA3 + - type: string + SmsSupport: + description: Indicates the supported SMS delivery of a UE + anyOf: + - type: string + enum: + - 3GPP + - NON_3GPP + - BOTH + - NONE + - type: string + ScType: + description: Indicates the security context type + anyOf: + - type: string + enum: + - NATIVE + - MAPPED + - type: string + KeyAmfType: + description: Indicates the Kamf type + anyOf: + - type: string + enum: + - KAMF + - KPRIMEAMF + - type: string + TransferReason: + description: Indicates UE Context Transfer Reason + anyOf: + - type: string + enum: + - INIT_REG + - MOBI_REG + - MOBI_REG_UE_VALIDATED + - type: string + PolicyReqTrigger: + description: Policy Request Triggers + anyOf: + - type: string + enum: + - LOCATION_CHANGE + - PRA_CHANGE + - ALLOWED_NSSAI_CHANGE + - NWDAF_DATA_CHANGE + - PLMN_CHANGE + - CON_STATE_CHANGE + - SMF_SELECT_CHANGE + - ACCESS_TYPE_CHANGE + - SAT_BACKHAUL_CHANGE + - type: string + RatSelector: + description: Indicates the RAT type for the transfer of N2 information + anyOf: + - type: string + enum: + - E-UTRA + - NR + - type: string + NgapIeType: + description: Indicates the supported NGAP IE types + anyOf: + - type: string + enum: + - PDU_RES_SETUP_REQ + - PDU_RES_REL_CMD + - PDU_RES_MOD_REQ + - HANDOVER_CMD + - HANDOVER_REQUIRED + - HANDOVER_PREP_FAIL + - SRC_TO_TAR_CONTAINER + - TAR_TO_SRC_CONTAINER + - TAR_TO_SRC_FAIL_CONTAINER + - RAN_STATUS_TRANS_CONTAINER + - SON_CONFIG_TRANSFER + - NRPPA_PDU + - UE_RADIO_CAPABILITY + - RIM_INFO_TRANSFER + - SECONDARY_RAT_USAGE + - PC5_QOS_PARA + - EARLY_STATUS_TRANS_CONTAINER + - UE_RADIO_CAPABILITY_FOR_PAGING + - type: string + N2InfoNotifyReason: + description: N2 Information Notify Reason + anyOf: + - type: string + enum: + - HANDOVER_COMPLETED + - type: string + SmfChangeIndication: + description: Indicates the I-SMF or V-SMF change or removal + anyOf: + - type: string + enum: + - CHANGED + - REMOVED + - type: string + SbiBindingLevel: + description: SBI Binding Level + anyOf: + - type: string + enum: + - NF_INSTANCE_BINDING + - NF_SET_BINDING + - NF_SERVICE_SET_BINDING + - NF_SERVICE_INSTANCE_BINDING + - type: string + + EpsNasCipheringAlgorithm: + description: Indicates the supported EPS NAS Ciphering Algorithm + anyOf: + - type: string + enum: + - EEA0 + - EEA1 + - EEA2 + - EEA3 + - type: string + + EpsNasIntegrityAlgorithm: + description: Indicates the supported EPS NAS Integrity Algorithm + anyOf: + - type: string + enum: + - EIA0 + - EIA1 + - EIA2 + - EIA3 + - type: string + + PeriodicCommunicationIndicator: + description: Indicates the Periodic Communication Indicator + anyOf: + - type: string + enum: + - PIORIODICALLY + - ON_DEMAND + - type: string + + UuaaMmStatus: + description: Indicates the UUAA-MM status + anyOf: + - type: string + enum: + - SUCCESS + - PENDING + - FAILED + - type: string + + ReleaseCause: + description: The cause for triggering the release. + anyOf: + - type: string + enum: + - SNPN_SNPN_MOBILITY + - NO_HR_AGREEMENT + - UNSPECIFIED + - type: string diff --git a/TS29518_Namf_EventExposure.yaml b/TS29518_Namf_EventExposure.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3b773c023b50f92ae15ca26662eb069faaa50749 --- /dev/null +++ b/TS29518_Namf_EventExposure.yaml @@ -0,0 +1,1132 @@ +openapi: 3.0.0 + +info: + version: 1.3.0-alpha.4 + title: Namf_EventExposure + description: | + AMF Event Exposure Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +security: + - {} + - oAuth2ClientCredentials: + - namf-evts + +externalDocs: + description: 3GPP TS 29.518 V18.4.0; 5G System; Access and Mobility Management Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.518/' + +servers: + - url: '{apiRoot}/namf-evts/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + /subscriptions: + post: + summary: Namf_EventExposure Subscribe service Operation + tags: + - Subscriptions collection (Collection) + operationId: CreateSubscription + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfCreateEventSubscription' + required: true + responses: + '201': + description: Subsription Created + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-evts//subscriptions/{subscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/AmfCreatedEventSubscription' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + onEventReport: + '{$request.body#/subscription/eventNotifyUri}': + post: + summary: Event Notificaiton Delivery + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfEventNotification' + required: true + responses: + '204': + description: Successful acknowledgement + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + onSubscriptionIdChangeEvtReport: + '{$request.body#/subscription/subsChangeNotifyUri}': + post: + summary: Event Notificaiton Delivery For Subscription Id Change + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfEventNotification' + required: true + responses: + '204': + description: Successful acknowledgement + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /subscriptions/{subscriptionId}: + patch: + summary: Namf_EventExposure Subscribe Modify service Operation + tags: + - Individual subscription (Document) + operationId: ModifySubscription + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the subscription to be modified + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + oneOf: + - type: array + items: + $ref: '#/components/schemas/AmfUpdateEventSubscriptionItem' + minItems: 1 + - type: array + items: + $ref: '#/components/schemas/AmfUpdateEventOptionItem' + minItems: 1 + maxItems: 1 + required: true + responses: + '200': + description: Subsription modified successfully + content: + application/json: + schema: + $ref: '#/components/schemas/AmfUpdatedEventSubscription' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: Namf_EventExposure Unsubscribe service Operation + tags: + - Individual subscription (Document) + operationId: DeleteSubscription + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the subscription to be deleted + schema: + type: string + responses: + '204': + description: Subsription deleted successfully + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + namf-evts: Access to the Namf_EventExposure API + schemas: + AmfEventSubscription: + description: Represents an individual event subscription resource on AMF + type: object + properties: + eventList: + type: array + items: + $ref: '#/components/schemas/AmfEvent' + minItems: 1 + eventNotifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifyCorrelationId: + type: string + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + subsChangeNotifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + subsChangeNotifyCorrelationId: + type: string + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + excludeSupiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + excludeGpsiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + includeSupiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + includeGpsiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + anyUE: + type: boolean + options: + $ref: '#/components/schemas/AmfEventMode' + sourceNfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + termNotifyInd: + type: boolean + required: + - eventList + - eventNotifyUri + - notifyCorrelationId + - nfId + + AmfEvent: + description: Describes an event to be subscribed + type: object + properties: + type: + $ref: '#/components/schemas/AmfEventType' + immediateFlag: + type: boolean + default: false + areaList: + type: array + items: + $ref: '#/components/schemas/AmfEventArea' + minItems: 1 + locationFilterList: + type: array + items: + $ref: '#/components/schemas/LocationFilter' + minItems: 1 + refId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + trafficDescriptorList: + type: array + items: + $ref: '#/components/schemas/TrafficDescriptor' + minItems: 1 + reportUeReachable: + type: boolean + default: false + reachabilityFilter: + $ref: '#/components/schemas/ReachabilityFilter' + udmDetectInd: + type: boolean + default: false + maxReports: + type: integer + presenceInfoList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + description: A map(list of key-value pairs) where praId serves as key. + maxResponseTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + targetArea: + $ref: '#/components/schemas/TargetArea' + snssaiFilter: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + ueInAreaFilter: + $ref: '#/components/schemas/UeInAreaFilter' + minInterval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + nextReport: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + idleStatusInd: + type: boolean + default: false + dispersionArea: + $ref: '#/components/schemas/DispersionArea' + nextPeriodicReportTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + adjustAoIOnRa: + type: boolean + default: false + ranTimingSynchroStatusChange: + type: boolean + default: false + notifyForSupiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + notifyForSnssaiDnnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SnssaiDnnItem' + minItems: 1 + required: + - type + AmfEventNotification: + description: Data within a AMF Event Notification request + type: object + properties: + notifyCorrelationId: + type: string + subsChangeNotifyCorrelationId: + type: string + reportList: + type: array + items: + $ref: '#/components/schemas/AmfEventReport' + minItems: 1 + eventSubsSyncInfo: + $ref: '#/components/schemas/AmfEventSubsSyncInfo' + AmfEventReport: + description: Represents a report triggered by a subscribed event type + type: object + properties: + type: + $ref: '#/components/schemas/AmfEventType' + state: + $ref: '#/components/schemas/AmfEventState' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + anyUe: + type: boolean + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + areaList: + type: array + items: + $ref: '#/components/schemas/AmfEventArea' + minItems: 1 + refId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + location: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + additionalLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + timezone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + accessTypeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + rmInfoList: + type: array + items: + $ref: '#/components/schemas/RmInfo' + minItems: 1 + cmInfoList: + type: array + items: + $ref: '#/components/schemas/CmInfo' + minItems: 1 + reachability: + $ref: '#/components/schemas/UeReachability' + commFailure: + $ref: '#/components/schemas/CommunicationFailure' + lossOfConnectReason: + $ref: '#/components/schemas/LossOfConnectivityReason' + numberOfUes: + type: integer + 5gsUserStateList: + type: array + items: + $ref: '#/components/schemas/5GsUserStateInfo' + minItems: 1 + typeCode: + type: string + pattern: '^imeitac-[0-9]{8}$' + registrationNumber: + type: integer + maxAvailabilityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueIdExt: + type: array + items: + $ref: '#/components/schemas/UEIdExt' + minItems: 1 + snssaiTaiList: + type: array + items: + $ref: '#/components/schemas/SnssaiTaiMapping' + minItems: 1 + idleStatusIndication: + $ref: '#/components/schemas/IdleStatusIndication' + ueAccessBehaviorTrends: + type: array + items: + $ref: '#/components/schemas/UeAccessBehaviorReportItem' + minItems: 1 + ueLocationTrends: + type: array + items: + $ref: '#/components/schemas/UeLocationTrendsReportItem' + minItems: 1 + mmTransLocationReportList: + type: array + items: + $ref: '#/components/schemas/MmTransactionLocationReportItem' + minItems: 1 + mmTransSliceReportList: + type: array + items: + $ref: '#/components/schemas/MmTransactionSliceReportItem' + minItems: 1 + termReason: + $ref: '#/components/schemas/SubTerminationReason' + unavailabilityPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - type + - state + - timeStamp + AmfEventMode: + description: Describes how the reports shall be generated by a subscribed event + type: object + properties: + trigger: + $ref: '#/components/schemas/AmfEventTrigger' + maxReports: + type: integer + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + sampRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + partitioningCriteria: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PartitioningCriteria' + minItems: 1 + notifFlag: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NotificationFlag' + mutingExcInstructions: + writeOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/MutingExceptionInstructions' + mutingNotSettings: + readOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/MutingNotificationsSettings' + varRepPeriodInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarRepPeriod' + minItems: 1 + required: + - trigger + AmfEventState: + description: Represents the state of a subscribed event + type: object + properties: + active: + type: boolean + remainReports: + type: integer + remainDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - active + RmInfo: + description: Represents the registration state of a UE for an access type + type: object + properties: + rmState: + $ref: '#/components/schemas/RmState' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - rmState + - accessType + CmInfo: + description: Represents the connection management state of a UE for an access type + type: object + properties: + cmState: + $ref: '#/components/schemas/CmState' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - cmState + - accessType + CommunicationFailure: + description: Describes a communication failure detected by AMF + type: object + properties: + nasReleaseCode: + type: string + ranReleaseCode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + AmfCreateEventSubscription: + description: Data within a create AMF event subscription request + type: object + properties: + subscription: + $ref: '#/components/schemas/AmfEventSubscription' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + required: + - subscription + AmfCreatedEventSubscription: + description: Data within a create AMF event subscription response + type: object + properties: + subscription: + $ref: '#/components/schemas/AmfEventSubscription' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + reportList: + type: array + items: + $ref: '#/components/schemas/AmfEventReport' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - subscription + - subscriptionId + AmfUpdateEventSubscriptionItem: + description: Document describing the modification(s) to an AMF Event Subscription + type: object + properties: + op: + type: string + enum: + - add + - remove + - replace + path: + type: string + pattern: '^\/eventList\/-|(\/eventList\/0|\/eventList\/[1-9][0-9]*){1}(\/presenceInfoList\/0|\/presenceInfoList\/[1-9][0-9]* |\/notifyForSupiList|\/notifyForSnssaiDnnList)?|\/excludeSupiList|\/excludeGpsiList|\/includeSupiList|\/includeGpsiList$' + value: + $ref: '#/components/schemas/AmfEvent' + presenceInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + excludeSupiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + excludeGpsiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + includeSupiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + includeGpsiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + notifyForSupiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + notifyForSnssaiDnnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SnssaiDnnItem' + minItems: 1 + required: + - op + - path + AmfUpdateEventOptionItem: + description: Document describing the modifications to AMF event subscription options + type: object + properties: + op: + type: string + enum: + - replace + path: + type: string + pattern: '^(\/options\/expiry|\/options\/notifFlag|\/options\/mutingExcInstructions)$' + value: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + notifFlag: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NotificationFlag' + mutingExcInstructions: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MutingExceptionInstructions' + required: + - op + - path + - value + AmfUpdatedEventSubscription: + description: Represents a successful update on an AMF Event Subscription + type: object + properties: + subscription: + $ref: '#/components/schemas/AmfEventSubscription' + reportList: + type: array + items: + $ref: '#/components/schemas/AmfEventReport' + minItems: 1 + required: + - subscription + AmfEventArea: + description: Represents an area to be monitored by an AMF event + type: object + properties: + presenceInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + ladnInfo: + $ref: '#/components/schemas/LadnInfo' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nsiId: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + LadnInfo: + description: LADN Information + type: object + properties: + ladn: + type: string + presence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState' + required: + - ladn + 5GsUserStateInfo: + description: Represents the 5GS User state of the UE for an access type + type: object + properties: + 5gsUserState: + $ref: '#/components/schemas/5GsUserState' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - 5gsUserState + - accessType + TrafficDescriptor: + description: Represents the Traffic Descriptor + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dddTrafficDescriptorList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + minItems: 1 + UEIdExt: + description: UE Identity + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + + AmfEventSubsSyncInfo: + description: AMF Event Subscriptions Information for synchronization + type: object + properties: + subscriptionList: + type: array + items: + $ref: '#/components/schemas/AmfEventSubscriptionInfo' + minItems: 1 + required: + - subscriptionList + + AmfEventSubscriptionInfo: + description: Individual AMF Event Subscription Information + type: object + properties: + subId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifyCorrelationId: + type: string + refIdList: + type: array + items: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + minItems: 1 + oldSubId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - subId + - refIdList + + TargetArea: + description: TA list or TAI range list or any TA + type: object + properties: + taList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TaiRange' + minItems: 1 + anyTa: + type: boolean + default: false + + SnssaiTaiMapping: + description: List of restricted or unrestricted S-NSSAIs per TAI(s) + type: object + properties: + reportingArea: + $ref: '#/components/schemas/TargetArea' + accessTypeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + supportedSnssaiList: + type: array + items: + $ref: '#/components/schemas/SupportedSnssai' + minItems: 1 + required: + - reportingArea + + UeAccessBehaviorReportItem: + description: Report Item for UE Access Behavior Trends event. + type: object + properties: + stateTransitionType: + $ref: '#/components/schemas/AccessStateTransitionType' + spacing: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + duration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - stateTransitionType + - spacing + - duration + + IdleStatusIndication: + description: Represents the idle status indication. + type: object + properties: + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + activeTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + subsRegTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + edrxCycleLength: + type: integer + suggestedNumOfDlPackets: + type: integer + + UeInAreaFilter: + description: Additional filters for UE in Area Report event + type: object + properties: + ueType: + $ref: '#/components/schemas/UeType' + aerialSrvDnnInd: + type: boolean + default: false + ueIdOmitInd: + type: boolean + default: false + + SupportedSnssai: + description: Supported S-NSSAIs + type: object + properties: + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + restrictionInd: + type: boolean + default: false + required: + - sNssai + + UeLocationTrendsReportItem: + description: Report Item for UE Location Trends event. + type: object + properties: + tai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + n3gaLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/N3gaLocation' + spacing: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + duration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + timestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - spacing + - duration + - timestamp + + DispersionArea: + description: Dispersion Area + type: object + properties: + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + ncgiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + minItems: 1 + ecgiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + minItems: 1 + n3gaInd: + type: boolean + default: false + + MmTransactionLocationReportItem: + description: UE MM Transaction Report Item per Location + type: object + properties: + tai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + n3gaLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/N3gaLocation' + timestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + transactions: + type: integer + required: + - timestamp + - transactions + + MmTransactionSliceReportItem: + description: UE MM Transaction Report Item per Slice + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + timestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + transactions: + type: integer + required: + - timestamp + - transactions + + AmfEventType: + description: Describes the supported event types of Namf_EventExposure Service + anyOf: + - type: string + enum: + - LOCATION_REPORT + - PRESENCE_IN_AOI_REPORT + - TIMEZONE_REPORT + - ACCESS_TYPE_REPORT + - REGISTRATION_STATE_REPORT + - CONNECTIVITY_STATE_REPORT + - REACHABILITY_REPORT + - COMMUNICATION_FAILURE_REPORT + - UES_IN_AREA_REPORT + - SUBSCRIPTION_ID_CHANGE + - SUBSCRIPTION_ID_ADDITION + - SUBSCRIPTION_TERMINATION + - LOSS_OF_CONNECTIVITY + - 5GS_USER_STATE_REPORT + - AVAILABILITY_AFTER_DDN_FAILURE + - TYPE_ALLOCATION_CODE_REPORT + - FREQUENT_MOBILITY_REGISTRATION_REPORT + - SNSSAI_TA_MAPPING_REPORT + - UE_LOCATION_TRENDS + - UE_ACCESS_BEHAVIOR_TRENDS + - UE_MM_TRANSACTION_REPORT + - type: string + AmfEventTrigger: + description: Describes how AMF should generate the report for the event + anyOf: + - type: string + enum: + - ONE_TIME + - CONTINUOUS + - PERIODIC + - type: string + LocationFilter : + description: Describes the supported filters of LOCATION_REPORT event type + anyOf: + - type: string + enum: + - TAI + - CELL_ID + - RAN_NODE + - N3IWF + - UE_IP + - UDP_PORT + - TNAP_ID + - GLI + - TWAP_ID + - type: string + UeReachability: + description: Describes the reachability of the UE + anyOf: + - type: string + enum: + - UNREACHABLE + - REACHABLE + - REGULATORY_ONLY + - type: string + RmState: + description: Describes the registration management state of a UE + anyOf: + - type: string + enum: + - REGISTERED + - DEREGISTERED + - type: string + CmState: + description: Describes the connection management state of a UE + anyOf: + - type: string + enum: + - IDLE + - CONNECTED + - type: string + 5GsUserState: + description: Describes the 5GS User State of a UE + anyOf: + - type: string + enum: + - DEREGISTERED + - CONNECTED_NOT_REACHABLE_FOR_PAGING + - CONNECTED_REACHABLE_FOR_PAGING + - NOT_PROVIDED_FROM_AMF + - type: string + LossOfConnectivityReason: + description: Describes the reason for loss of connectivity + anyOf: + - type: string + enum: + - DEREGISTERED + - MAX_DETECTION_TIME_EXPIRED + - PURGED + - UNAVAILABLE_PERIOD + - type: string + + ReachabilityFilter: + description: Event filter for REACHABILITY_REPORT event type + anyOf: + - type: string + enum: + - UE_REACHABILITY_STATUS_CHANGE + - UE_REACHABLE_DL_TRAFFIC + - type: string + + UeType: + description: Describes the type of UEs + anyOf: + - type: string + enum: + - AERIAL_UE + - type: string + + AccessStateTransitionType: + description: Access State Transition Type. + anyOf: + - type: string + enum: + - ACCESS_TYPE_CHANGE_3GPP + - ACCESS_TYPE_CHANGE_N3GPP + - RM_STATE_CHANGE_DEREGISTERED + - RM_STATE_CHANGE_REGISTERED + - CM_STATE_CHANGE_IDLE + - CM_STATE_CHANGE_CONNECTED + - HANDOVER + - MOBILITY_REGISTRATION_UPDATE + - type: string + + SubTerminationReason: + description: Subscription Termination Reason. + anyOf: + - type: string + enum: + - INVALID_SUBSCRIPTION + - SUBSCRIPTION_NOT_AUTHORIZED + - type: string diff --git a/TS29518_Namf_MBSBroadcast.yaml b/TS29518_Namf_MBSBroadcast.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d5864fc493947609cc54d44584a019720469cd85 --- /dev/null +++ b/TS29518_Namf_MBSBroadcast.yaml @@ -0,0 +1,901 @@ +openapi: 3.0.0 + +info: + version: 1.1.0-alpha.3 + title: Namf_MBSBroadcast + description: | + AMF MBSBroadcast Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.518 V18.4.0; 5G System; Access and Mobility Management Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.518/' + +servers: + - url: '{apiRoot}/namf-mbs-bc/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - namf-mbs-bc + +paths: + /mbs-contexts: + post: + summary: Namf_MBSBroadcast ContextCreate service Operation + tags: + - Broadcast MBS session contexts collection (Collection) + operationId: ContextCreate + requestBody: + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/ContextCreateReqData' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + required: true + callbacks: + contextStatusNotification: + '{$request.body#/notifyUri}': + post: + requestBody: # notification request without binary body part + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ContextStatusNotification' + multipart/related: # notification request with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/ContextStatusNotification' + binaryDataN2Information1: + type: string + format: binary + binaryDataN2Information2: + type: string + format: binary + binaryDataN2Information3: + type: string + format: binary + binaryDataN2Information4: + type: string + format: binary + binaryDataN2Information5: + type: string + format: binary + binaryDataN2Information6: + type: string + format: binary + binaryDataN2Information7: + type: string + format: binary + binaryDataN2Information8: + type: string + format: binary + binaryDataN2Information9: + type: string + format: binary + binaryDataN2Information10: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information2: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information3: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information4: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information5: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information6: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information7: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information8: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information9: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information10: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + responses: + '200': + description: successful notification response with content + content: + multipart/related: # notification response with binary body part(s) + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/ContextStatusNotificationResponse' + binaryDataN2Information1: + type: string + format: binary + binaryDataN2Information2: + type: string + format: binary + binaryDataN2Information3: + type: string + format: binary + binaryDataN2Information4: + type: string + format: binary + binaryDataN2Information5: + type: string + format: binary + binaryDataN2Information6: + type: string + format: binary + binaryDataN2Information7: + type: string + format: binary + binaryDataN2Information8: + type: string + format: binary + binaryDataN2Information9: + type: string + format: binary + binaryDataN2Information10: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information2: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information3: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information4: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information5: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information6: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information7: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information8: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information9: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information10: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '204': + description: successful notification + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + responses: + '201': + description: MBS Broadcast context created successfully + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-mbs-bc//mbs-contexts/{mbsContextRef}' + required: true + schema: + type: string + content: + application/json: # message without binary body part(s) + schema: + $ref: '#/components/schemas/ContextCreateRspData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Response parts + jsonData: + $ref: '#/components/schemas/ContextCreateRspData' + binaryDataN2Information1: + type: string + format: binary + binaryDataN2Information2: + type: string + format: binary + binaryDataN2Information3: + type: string + format: binary + binaryDataN2Information4: + type: string + format: binary + binaryDataN2Information5: + type: string + format: binary + binaryDataN2Information6: + type: string + format: binary + binaryDataN2Information7: + type: string + format: binary + binaryDataN2Information8: + type: string + format: binary + binaryDataN2Information9: + type: string + format: binary + binaryDataN2Information10: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information2: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information3: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information4: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information5: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information6: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information7: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information8: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information9: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information10: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /mbs-contexts/{mbsContextRef}: + delete: + summary: Namf_MBSBroadcast ContextDelete service Operation + tags: + - Individual broadcast MBS session context (Document) + operationId: ContextDelete + parameters: + - name: mbsContextRef + in: path + required: true + description: Unique ID of the broadcast MSB session context to be deleted + schema: + type: string + responses: + '204': + description: successful deletion + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /mbs-contexts/{mbsContextRef}/update: + post: + summary: Namf_MBSBroadcast ContextUpdate service Operation + tags: + - Individual broadcast MBS session context (Document) + operationId: ContextUpdate + parameters: + - name: mbsContextRef + in: path + description: Unique ID of the broadcast MSB session context to be updated + required: true + schema: + type: string + requestBody: + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/ContextUpdateReqData' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + required: true + responses: + '200': + description: MBS Broadcast context updated successfully + content: + application/json: # message without binary body part(s) + schema: + $ref: '#/components/schemas/ContextUpdateRspData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Response parts + jsonData: + $ref: '#/components/schemas/ContextUpdateRspData' + binaryDataN2Information1: + type: string + format: binary + binaryDataN2Information2: + type: string + format: binary + binaryDataN2Information3: + type: string + format: binary + binaryDataN2Information4: + type: string + format: binary + binaryDataN2Information5: + type: string + format: binary + binaryDataN2Information6: + type: string + format: binary + binaryDataN2Information7: + type: string + format: binary + binaryDataN2Information8: + type: string + format: binary + binaryDataN2Information9: + type: string + format: binary + binaryDataN2Information10: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information2: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information3: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information4: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information5: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information6: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information7: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information8: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information9: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2Information10: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '204': + description: MBS Broadcast context updated successfully. No Content. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + namf-mbs-bc: Access to the Namf_MBSBroadcast API + + schemas: + +# +# STRUCTURED DATA TYPES +# + ContextCreateReqData: + description: Data within ContextCreate Request + type: object + properties: + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + mbsServiceAreaInfoList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceAreaInfo' + minItems: 1 + mbsServiceArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceArea' + n2MbsSmInfo: + $ref: '#/components/schemas/N2MbsSmInfo' + notifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + maxResponseTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + mbsmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + mbsmfServiceInstId: + type: string + associatedSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AssociatedSessionId' + required: + - mbsSessionId + - n2MbsSmInfo + - notifyUri + - snssai + oneOf: + - required: [ mbsServiceArea ] + - required: [ mbsServiceAreaInfoList ] + + ContextCreateRspData: + description: Data within ContextCreate Response + type: object + properties: + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + n2MbsSmInfoList: + type: array + items: + $ref: '#/components/schemas/N2MbsSmInfo' + minItems: 1 + maxItems: 10 + operationStatus: + $ref: '#/components/schemas/OperationStatus' + required: + - mbsSessionId + + + ContextUpdateReqData: + description: Data within ContextUpdate Request + type: object + properties: + mbsServiceArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceArea' + mbsServiceAreaInfoList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceAreaInfo' + minItems: 1 + n2MbsSmInfo: + $ref: '#/components/schemas/N2MbsSmInfo' + ranIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + noNgapSignallingInd: + type: boolean + enum: + - true + notifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + maxResponseTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + n2MbsInfoChangeInd: + type: boolean + not: + required: [ mbsServiceArea, mbsServiceAreaInfoList ] + + ContextStatusNotification: + description: Data within ContextStatusNotify Request + type: object + properties: + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + areaSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AreaSessionId' + n2MbsSmInfoList: + type: array + items: + $ref: '#/components/schemas/N2MbsSmInfo' + minItems: 1 + maxItems: 10 + operationEvents: + type: array + items: + $ref: '#/components/schemas/OperationEvent' + minItems: 1 + operationStatus: + $ref: '#/components/schemas/OperationStatus' + releasedInd: + type: boolean + enum: + - true + required: + - mbsSessionId + + ContextStatusNotificationResponse: + description: Data within ContextStatusNotify Response + type: object + properties: + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + areaSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AreaSessionId' + n2MbsSmInfoList: + type: array + items: + $ref: '#/components/schemas/N2MbsSmInfo' + minItems: 1 + maxItems: 10 + required: + - mbsSessionId + + + ContextUpdateRspData: + description: Data within ContextUpdate Response + type: object + properties: + n2MbsSmInfoList: + type: array + items: + $ref: '#/components/schemas/N2MbsSmInfo' + minItems: 1 + maxItems: 10 + operationStatus: + $ref: '#/components/schemas/OperationStatus' + + N2MbsSmInfo: + description: N2 MBS Session Management information + type: object + properties: + ngapIeType: + $ref: '#/components/schemas/NgapIeType' + ngapData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + ranId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + required: + - ngapIeType + - ngapData + + OperationEvent: + description: Operation Event for a Broadcast MBS Session. + type: object + properties: + opEventType: + $ref: '#/components/schemas/OpEventType' + amfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + ngranFailureEventList: + type: array + items: + $ref: '#/components/schemas/NgranFailureEvent' + minItems: 1 + required: + - opEventType + + + NgranFailureEvent: + description: NG-RAN failure event for a NG-RAN + type: object + properties: + ngranId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + ngranFailureIndication: + $ref: '#/components/schemas/NgranFailureIndication' + required: + - ngranId + - ngranFailureIndication + + +# +# SIMPLE DATA TYPES +# + + +# +# ENUMERATIONS +# + + OperationStatus: + description: Status of a Broadcast MBS session start or update operation. + anyOf: + - type: string + enum: + - MBS_SESSION_START_COMPLETE + - MBS_SESSION_START_INCOMPLETE + - MBS_SESSION_UPDATE_COMPLETE + - MBS_SESSION_UPDATE_INCOMPLETE + - type: string + + NgapIeType: + description: NGAP Information Element Type + anyOf: + - type: string + enum: + - MBS_SES_REQ + - MBS_SES_RSP + - MBS_SES_FAIL + - MBS_SES_REL_RSP + - BC_TRA_REQ + - BC_TRA_RSP + - BC_TRA_FAIL + - type: string + + OpEventType: + description: Operation Event Type. + anyOf: + - type: string + enum: + - AMF_CHANGE + - NG_RAN_EVENT + - type: string + + NgranFailureIndication: + description: Indicates a NG-RAN failure event. + anyOf: + - type: string + enum: + - NG_RAN_RESTART_OR_START + - NG_RAN_FAILURE_WITHOUT_RESTART + - NG_RAN_NOT_REACHABLE + - NG_RAN_REQUIRED_RELEASE + - type: string diff --git a/TS29518_Namf_MBSCommunication.yaml b/TS29518_Namf_MBSCommunication.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bf36bfbe03e19f78a9d3a672fcbf81d402d4adec --- /dev/null +++ b/TS29518_Namf_MBSCommunication.yaml @@ -0,0 +1,267 @@ +openapi: 3.0.0 + +info: + version: 1.1.0-alpha.1 + title: Namf_MBSCommunication + description: | + AMF Communication Service for MBS. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.518 V18.0.0; 5G System; Access and Mobility Management Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.518/' + +servers: + - url: '{apiRoot}/namf-mbs-comm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - namf-mbs-comm + +paths: + /n2-messages/transfer: + post: + summary: Namf_MBSCommunication N2 Message Transfer service Operation + tags: + - N2Messages Handler (custom operation) + operationId: N2MessageTransfer + requestBody: + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/MbsN2MessageTransferReqData' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + required: true + callbacks: + notification: + '{$request.body#/notifyUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Notification' + responses: + '204': + description: successful notification + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + responses: + '200': + description: MBS N2 Message Transfer successfully initiated + content: + application/json: + schema: + $ref: '#/components/schemas/MbsN2MessageTransferRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: Not Found + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + namf-mbs-comm: Access to the Namf_MBSCommunication API + + schemas: + +# +# STRUCTURED DATA TYPES +# + + MbsN2MessageTransferReqData: + description: Data within MBS N2 Message Transfer Request + type: object + properties: + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + areaSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AreaSessionId' + n2MbsSmInfo: + $ref: '#/components/schemas/N2MbsSmInfo' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + ranNodeIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + notifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifyCorrelationId: + type: string + required: + - mbsSessionId + - n2MbsSmInfo + + + + MbsN2MessageTransferRspData: + description: Data within MBS N2 Message Transfer Response + type: object + properties: + result: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N2InformationTransferResult' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + failureList: + type: array + items: + $ref: '#/components/schemas/RanFailure' + minItems: 1 + required: + - result + + + + + N2MbsSmInfo: + description: N2 MBS Session Management information + type: object + properties: + ngapIeType: + $ref: '#/components/schemas/MbsNgapIeType' + ngapData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + required: + - ngapIeType + - ngapData + + Notification: + description: Data within Notify Request + type: object + properties: + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + areaSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AreaSessionId' + failureList: + type: array + items: + $ref: '#/components/schemas/RanFailure' + minItems: 1 + notifyCorrelationId: + type: string + required: + - mbsSessionId + - failureList + + RanFailure: + description: Description of an MBS related N2 procedure failure + type: object + properties: + ranId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + ranFailureCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + ranFailureIndication: + $ref: '#/components/schemas/RanFailureIndication' + required: + - ranId + oneOf: + - required: [ ranFailureCause ] + - required: [ ranFailureIndication ] + +# +# SIMPLE DATA TYPES +# + + +# +# ENUMERATIONS +# + + MbsNgapIeType: + description: NGAP Information Element Type + anyOf: + - type: string + enum: + - MBS_SES_ACT_REQ + - MBS_SES_DEACT_REQ + - MBS_SES_UPD_REQ + - type: string + + RanFailureIndication: + description: Indicates a NG-RAN failure event + anyOf: + - type: string + enum: + - NG_RAN_FAILURE_WITHOUT_RESTART + - NG_RAN_NOT_REACHABLE + - type: string diff --git a/TS29518_Namf_MT.yaml b/TS29518_Namf_MT.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c4403c67090ff630443247209080a414b1a342cc --- /dev/null +++ b/TS29518_Namf_MT.yaml @@ -0,0 +1,429 @@ +openapi: 3.0.0 + +info: + version: 1.3.0-alpha.4 + title: Namf_MT + description: | + AMF Mobile Terminated Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +security: + - {} + - oAuth2ClientCredentials: + - namf-mt + +externalDocs: + description: 3GPP TS 29.518 V18.4.0; 5G System; Access and Mobility Management Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.518/' + +servers: + - url: '{apiRoot}/namf-mt/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + '/ue-contexts/{ueContextId}': + get: + summary: Namf_MT Provide Domain Selection Info service Operation + tags: + - ueContext (Document) + operationId: Provide Domain Selection Info + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|.+)$' + - name: info-class + in: query + description: UE Context Information Class + schema: + $ref: '#/components/schemas/UeContextInfoClass' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: old-guami + in: query + description: Old GUAMI + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + responses: + '200': + description: Requested UE Context Information returned + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextInfo' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/ue-reachind: + put: + summary: Namf_MT EnableUEReachability service Operation + tags: + - ueReachInd (Document) + operationId: EnableUeReachability + security: + - {} + - oAuth2ClientCredentials: + - namf-mt + - oAuth2ClientCredentials: + - namf-mt + - namf-mt:ue-reachind + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EnableUeReachabilityReqData' + required: true + responses: + '200': + description: UE has become reachable as desired + content: + application/json: + schema: + $ref: '#/components/schemas/EnableUeReachabilityRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetailsEnableUeReachability' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + description: Gateway Timeout + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetailsEnableUeReachability' + default: + description: Unexpected error + + /ue-contexts/enable-group-reachability: + post: + summary: Namf_MT EnableGroupReachability service Operation + tags: + - ueContexts (collection) + operationId: EnableGroupReachability + security: + - {} + - oAuth2ClientCredentials: + - namf-mt + - oAuth2ClientCredentials: + - namf-mt + - namf-mt:enable-group-reachability + requestBody: + description: list of UEs requested to be made reachable for the related TMGI + content: + application/json: + schema: + $ref: '#/components/schemas/EnableGroupReachabilityReqData' + required: true + responses: + '200': + description: Successful response. + content: + application/json: + schema: + $ref: '#/components/schemas/EnableGroupReachabilityRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + description: Unexpected error + callbacks: + reachabilityNotification: + '{request.body#/reachabilityNotifyUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ReachabilityNotificationData' + responses: + '204': + description: UE reachability notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + namf-mt: Access to the Namf_MT API + namf-mt:ue-reachind: > + Access to the EnableUeReachability service operation + namf-mt:enable-group-reachability: > + Access to the EnableGroupReachability service operation + + schemas: + EnableUeReachabilityReqData: + description: Data within the Enable UE Reachability Request + type: object + properties: + reachability: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/UeReachability' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + extBufSupport: + type: boolean + default: false + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + ppi: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/Ppi' + qfi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + required: + - reachability + EnableUeReachabilityRspData: + description: Data within the Enable UE Reachability Response + type: object + properties: + reachability: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/UeReachability' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - reachability + UeContextInfo: + description: UE Context Information + type: object + properties: + supportVoPS: + type: boolean + supportVoPSn3gpp: + type: boolean + lastActTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + ProblemDetailsEnableUeReachability: + description: Enable UE Reachability Error Detail + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/AdditionInfoEnableUeReachability' + AdditionInfoEnableUeReachability: + description: Additional information to be returned in EnableUeReachability error response + type: object + properties: + maxWaitingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + EnableGroupReachabilityReqData: + description: Data within the Enable Group Reachability Request + type: object + properties: + ueInfoList: + type: array + items: + $ref: '#/components/schemas/UeInfo' + minItems: 1 + tmgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tmgi' + reachabilityNotifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + mbsServiceAreaInfoList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceAreaInfo' + minItems: 1 + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ueInfoList + - tmgi + EnableGroupReachabilityRspData: + description: Data within the Enable Group Reachability Response + type: object + properties: + ueConnectedList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + UeInfo: + description: list of UEs requested to be made reachable for the MBS Session + type: object + properties: + ueList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + required: + - ueList + + ReachabilityNotificationData: + description: Data within the UE Reachability Info Notify + type: object + properties: + reachableUeList: + type: array + items: + $ref: '#/components/schemas/ReachableUeInfo' + minItems: 1 + unreachableUeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + ReachableUeInfo: + description: Contains the reachable UE Information + type: object + properties: + ueList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + userLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + required: + - ueList + + UeContextInfoClass: + description: Indicates the UE Context information class + anyOf: + - type: string + enum: + - TADS + - type: string diff --git a/TS29519_Application_Data.yaml b/TS29519_Application_Data.yaml new file mode 100644 index 0000000000000000000000000000000000000000..785cd43ba4a9fb40191fd74a7bab105a16e13aee --- /dev/null +++ b/TS29519_Application_Data.yaml @@ -0,0 +1,4417 @@ +openapi: 3.0.0 + +info: + version: '-' + title: Unified Data Repository Service API file for Application Data + description: | + The API version is defined in 3GPP TS 29.504 + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.519 V18.4.0; 5G System; Usage of the Unified Data Repository Service for Policy Data, + Application Data and Structured Data for Exposure. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.519/' + +paths: + /application-data/pfds: + get: + summary: Retrieve PFDs for application identifier(s) + operationId: ReadPFDData + tags: + - PFD Data (Store) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:pfds:read + parameters: + - name: appId + in: query + description: > + Contains the information of the application identifier(s) for the querying PFD + Data resource. If none appId is included in the URI, it applies to all application + identifier(s) for the querying PFD Data resource. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: A representation of PFDs for request applications is returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdDataForAppExt' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/pfds/{appId}: + get: + summary: Retrieve the corresponding PFDs of the specified application identifier + operationId: ReadIndividualPFDData + tags: + - Individual PFD Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:pfds:read + parameters: + - name: appId + in: path + description: > + Indicate the application identifier for the request pfd(s). It shall apply the + format of Data type ApplicationId. + required: true + schema: + type: string + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: > + A representation of PFDs for the request application identified by the application + identifier is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdDataForAppExt' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete the corresponding PFDs of the specified application identifier + operationId: DeleteIndividualPFDData + tags: + - Individual PFD Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:pfds:modify + parameters: + - name: appId + in: path + description: > + Indicate the application identifier for the request pfd(s). It shall apply the + format of Data type ApplicationId. + required: true + schema: + type: string + responses: + '204': + description: > + Successful case. The Individual PFD Data resource related to the application + identifier was deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Create or update the corresponding PFDs for the specified application identifier + operationId: CreateOrReplaceIndividualPFDData + tags: + - Individual PFD Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:pfds:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdDataForAppExt' + parameters: + - name: appId + in: path + description: > + Indicate the application identifier for the request pfd(s). It shall apply the format + of Data type ApplicationId. + required: true + schema: + type: string + responses: + '201': + description: > + The creation of an Individual PFD Data resource related to the application-identifier + is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdDataForAppExt' + headers: + Location: + description: > + 'Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nudr-dr//application-data/pfds/{appId}' + required: true + schema: + type: string + '200': + description: > + Successful case. The upgrade of an Individual PFD Data resource related to the + application identifier is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdDataForAppExt' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/influenceData: + get: + summary: Retrieve Traffic Influence Data + operationId: ReadInfluenceData + tags: + - Influence Data (Store) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:influence-data:read + parameters: + - name: influence-Ids + in: query + description: Each element identifies a service. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: dnns + in: query + description: Each element identifies a DNN. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + - name: snssais + in: query + description: Each element identifies a slice. + required: false + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: internal-Group-Ids + in: query + description: Each element identifies a group of users. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + - name: internal-group-ids-Add + in: query + description: Each element identifies an internal Group. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + - name: subscriber-categories + in: query + description: > + Each element identifies a subscriber category. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: supis + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + - name: supp-feat + in: query + required: false + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The Traffic Influence Data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrafficInfluData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/influenceData/{influenceId}: + put: + summary: Create or update an individual Influence Data resource + operationId: CreateOrReplaceIndividualInfluenceData + tags: + - Individual Influence Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:influence-data:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluData' + parameters: + - name: influenceId + in: path + description: > + The Identifier of an Individual Influence Data to be created or updated. + It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '201': + description: > + The creation of an Individual Traffic Influence Data resource is confirmed + and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluData' + headers: + Location: + description: > + 'Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nudr-dr//application-data/influenceData/{influenceId}' + required: true + schema: + type: string + '200': + description: > + The update of an Individual Traffic Influence Data resource is confirmed and a + response body containing Traffic Influence Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify part of the properties of an individual Influence Data resource + operationId: UpdateIndividualInfluenceData + tags: + - Individual Influence Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:influence-data:modify + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/TrafficInfluDataPatch' + parameters: + - name: influenceId + in: path + description: > + The Identifier of an Individual Influence Data to be updated. It shall apply + the format of Data type string. + required: true + schema: + type: string + responses: + '200': + description: > + The update of an Individual Traffic Influence Data resource is confirmed and + a response body containing Traffic Influence Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual Influence Data resource + operationId: DeleteIndividualInfluenceData + tags: + - Individual Influence Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:influence-data:modify + parameters: + - name: influenceId + in: path + description: > + The Identifier of an Individual Influence Data to be deleted. It shall apply + the format of Data type string. + required: true + schema: + type: string + responses: + '204': + description: The Individual Influence Data was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/influenceData/subs-to-notify: + post: + summary: Create a new Individual Influence Data Subscription resource + operationId: CreateIndividualInfluenceDataSubscription + tags: + - Influence Data Subscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:influence-data:subscriptions:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + responses: + '201': + description: The subscription was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + trafficInfluenceDataChangeNotification: + '{$request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TrafficInfluData' + - $ref: '#/components/schemas/TrafficInfluDataNotif' + minItems: 1 + responses: + '204': + description: No Content, Notification was successful + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Read Influence Data Subscriptions + operationId: ReadInfluenceDataSubscriptions + tags: + - Influence Data Subscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:influence-data:subscriptions:read + parameters: + - name: dnn + in: query + description: Identifies a DNN. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: snssai + in: query + description: Identifies a slice. + required: false + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: internal-Group-Id + in: query + description: Identifies a group of users. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + - name: supi + in: query + description: Identifies a user. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: internal-group-ids + in: query + description: > + Each element identifies an internal group. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + - name: subscriber-categories + in: query + description: > + Each element identifies a subscriber category. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: roam-ue-plmn-ids + in: query + description: > + Each element identifies a PLMN. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + responses: + '200': + description: > + The subscription information as request in the request URI query parameter(s) + are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrafficInfluSub' + minItems: 0 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/influenceData/subs-to-notify/{subscriptionId}: + get: + summary: Get an existing individual Influence Data Subscription resource + operationId: ReadIndividualInfluenceDataSubscription + tags: + - Individual Influence Data Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:influence-data:subscriptions:read + parameters: + - name: subscriptionId + in: path + description: > + String identifying a subscription to the Individual Influence Data Subscription + required: true + schema: + type: string + responses: + '200': + description: The subscription information is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Modify an existing individual Influence Data Subscription resource + operationId: ReplaceIndividualInfluenceDataSubscription + tags: + - Individual Influence Data Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:influence-data:subscriptions:modify + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + parameters: + - name: subscriptionId + in: path + description: > + String identifying a subscription to the Individual Influence Data Subscription. + required: true + schema: + type: string + responses: + '200': + description: The subscription was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual Influence Data Subscription resource + operationId: DeleteIndividualInfluenceDataSubscription + tags: + - Individual Influence Data Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:influence-data:subscriptions:modify + parameters: + - name: subscriptionId + in: path + description: > + String identifying a subscription to the Individual Influence Data Subscription. + required: true + schema: + type: string + responses: + '204': + description: The subscription was terminated successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/bdtPolicyData: + get: + summary: Retrieve applied BDT Policy Data + operationId: ReadBdtPolicyData + tags: + - BdtPolicy Data (Store) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:bdt-policy-data:read + parameters: + - name: bdt-policy-ids + in: query + description: Each element identifies a service. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: internal-group-ids + in: query + description: Each element identifies a group of users. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + - name: supis + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + responses: + '200': + description: The applied BDT policy Data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/BdtPolicyData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/bdtPolicyData/{bdtPolicyId}: + put: + summary: Create an individual applied BDT Policy Data resource + operationId: CreateIndividualAppliedBdtPolicyData + tags: + - Individual Applied BDT Policy Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:bdt-policy-data:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicyData' + parameters: + - name: bdtPolicyId + in: path + description: > + The Identifier of an Individual Applied BDT Policy Data to be created or updated. + It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '201': + description: > + The creation of an Individual Applied BDT Policy Data resource is confirmed and a + representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicyData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nudr-dr//application-data/bdtPolicyData/{bdtPolicyId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify part of the properties of an individual Applied BDT Policy Data resource + operationId: UpdateIndividualAppliedBdtPolicyData + tags: + - Individual Applied BDT Policy Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:bdt-policy-data:modify + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/BdtPolicyDataPatch' + parameters: + - name: bdtPolicyId + in: path + description: > + The Identifier of an Individual Applied BDT Policy Data to be updated. It shall + apply the format of Data type string. + required: true + schema: + type: string + responses: + '200': + description: > + The update of an Individual Applied BDT Policy Data resource is confirmed and + a response body containing Applied BDT Policy Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicyData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual Applied BDT Policy Data resource + operationId: DeleteIndividualAppliedBdtPolicyData + tags: + - Individual Applied BDT Policy Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:bdt-policy-data:modify + parameters: + - name: bdtPolicyId + in: path + description: > + The Identifier of an Individual Applied BDT Policy Data to be deleted. + It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '204': + description: The Individual Applied BDT Policy Data was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/iptvConfigData: + get: + summary: Retrieve IPTV configuration Data + operationId: ReadIPTVCongifurationData + tags: + - IPTV Configuration Data (Store) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:iptv-config-data:read + parameters: + - name: config-ids + in: query + description: Each element identifies a configuration. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: dnns + in: query + description: Each element identifies a DNN. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + - name: snssais + in: query + description: Each element identifies a slice. + required: false + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: supis + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + - name: inter-group-ids + in: query + description: Each element identifies a group of users. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + responses: + '200': + description: The IPTV configuration data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IptvConfigData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/iptvConfigData/{configurationId}: + put: + summary: Create or update an individual IPTV configuration resource + operationId: CreateOrReplaceIndividualIPTVConfigurationData + tags: + - Individual IPTV Configuration Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:iptv-config-data:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + parameters: + - name: configurationId + in: path + description: > + The Identifier of an Individual IPTV Configuration Data to be created or updated. + It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '201': + description: > + The creation of an Individual IPTV Configuration Data resource is confirmed and a + representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '200': + description: The update of an Individual IPTV configuration resource. + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Partial update an individual IPTV configuration resource + operationId: PartialReplaceIndividualIPTVConfigurationData + tags: + - Individual IPTV Configuration Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:iptv-config-data:modify + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: 'TS29522_IPTVConfiguration.yaml#/components/schemas/IptvConfigDataPatch' + parameters: + - name: configurationId + in: path + description: > + The Identifier of an Individual IPTV Configuration Data to be updated. + It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '200': + description: The update of an Individual IPTV configuration resource. + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual IPTV configuration resource + operationId: DeleteIndividualIPTVConfigurationData + tags: + - Individual IPTV Configuration Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:iptv-config-data:modify + parameters: + - name: configurationId + in: path + description: > + The Identifier of an Individual IPTV Configuration to be deleted. It shall + apply the format of Data type string. + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/serviceParamData: + get: + summary: Retrieve Service Parameter Data + operationId: ReadServiceParameterData + tags: + - Service Parameter Data (Store) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:service-param-data:read + parameters: + - name: service-param-ids + in: query + description: Each element identifies a service. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: dnns + in: query + description: Each element identifies a DNN. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + - name: snssais + in: query + description: Each element identifies a slice. + required: false + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: internal-group-ids + in: query + description: Each element identifies a group of users. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + - name: supis + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + - name: ue-ipv4s + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + - name: ue-ipv6s + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + - name: ue-macs + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + minItems: 1 + - name: any-ue + in: query + description: Indicates whether the request is for any UE. + required: false + schema: + type: boolean + - name: roam-ue-net-descs + in: query + description: > + Each element identifies oner or more PLMNs for a roaming UE. + required: false + schema: + type: array + items: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/NetworkDescription' + minItems: 1 + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The Service Parameter Data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceParameterData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/serviceParamData/{serviceParamId}: + put: + summary: Create or update an individual Service Parameter Data resource + operationId: CreateOrReplaceServiceParameterData + tags: + - Individual Service Parameter Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:service-param-data:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + parameters: + - name: serviceParamId + in: path + description: > + The Identifier of an Individual Service Parameter Data to be created or updated. + It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '201': + description: > + The creation of an Individual Service Parameter Data resource is confirmed + and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + headers: + Location: + description: > + 'Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nudr-dr//application-data/serviceParamData/{serviceParamId}' + required: true + schema: + type: string + '200': + description: > + The update of an Individual Service Parameter Data resource is confirmed and + a response body containing Service Parameter Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify part of the properties of an individual Service Parameter Data resource + operationId: UpdateIndividualServiceParameterData + tags: + - Individual Service Parameter Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:service-parameter-data:modify + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ServiceParameterDataPatch' + parameters: + - name: serviceParamId + in: path + description: > + The Identifier of an Individual Service Parameter Data to be updated. + It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '200': + description: > + The update of an Individual Service Parameter Data resource is confirmed + and a response body containing Service Parameter Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual Service Parameter Data resource + operationId: DeleteIndividualServiceParameterData + tags: + - Individual Service Parameter Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:service-parameter-data:modify + parameters: + - name: serviceParamId + in: path + description: > + The Identifier of an Individual Service Parameter Data to be deleted. + It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '204': + description: The Individual Service Parameter Data was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/am-influence-data: + get: + summary: Retrieve AM Influence Data + operationId: ReadAmInfluenceData + tags: + - AM Influence Data (Store) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:am-influence-data:read + parameters: + - name: am-influence-ids + in: query + description: Each element identifies a service. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: dnns + in: query + description: Each element identifies a DNN. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + - name: snssais + in: query + description: Each element identifies a slice. + required: false + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: dnn-snssai-infos + in: query + description: Each element identifies a combination of (DNN, S-NSSAI). + required: false + content: + application/json: + schema: + type: array + items: + $ref: 'TS29522_AMInfluence.yaml#/components/schemas/DnnSnssaiInformation' + minItems: 1 + - name: internal-group-ids + in: query + description: Each element identifies a group of users. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + - name: supis + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + - name: any-ue + in: query + description: Indicates whether the request is for any UE. + required: false + schema: + type: boolean + - name: supp-feat + in: query + required: false + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The AM Influence Data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AmInfluData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/am-influence-data/{amInfluenceId}: + put: + summary: Create or update an individual AM Influence Data resource + operationId: CreateOrReplaceIndividualAmInfluenceData + tags: + - Individual AM Influence Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:am-influence-data:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AmInfluData' + parameters: + - name: amInfluenceId + in: path + description: > + The Identifier of an Individual AM Influence Data to be created or updated. + It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '201': + description: > + The creation of an Individual AM Influence Data resource is confirmed and + a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AmInfluData' + headers: + Location: + description: > + 'Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nudr-dr//application-data/am-influence-data/{amInfluenceId}' + required: true + schema: + type: string + '200': + description: > + The update of an Individual AM Influence Data resource is confirmed and a response + body containing AM Influence Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AmInfluData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify part of the properties of an individual AM Influence Data resource + operationId: UpdateIndividualAmInfluenceData + tags: + - Individual AM Influence Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:am-influence-data:modify + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AmInfluDataPatch' + parameters: + - name: amInfluenceId + in: path + description: > + The Identifier of an Individual AM Influence Data to be updated. It shall + apply the format of Data type string. + required: true + schema: + type: string + responses: + '200': + description: > + The update of an Individual AM Influence Data resource is confirmed and a + response body containing AM Influence Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AmInfluData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual AM Influence Data resource + operationId: DeleteIndividualAmInfluenceData + tags: + - Individual AM Influence Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:am-influence-data:modify + parameters: + - name: amInfluenceId + in: path + description: > + The Identifier of an Individual AM Influence Data to be deleted. It shall + apply the format of Data type string. + required: true + schema: + type: string + responses: + '204': + description: The Individual AM Influence Data was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/subs-to-notify: + post: + summary: Create a subscription to receive notification of application data changes + operationId: CreateIndividualApplicationDataSubscription + tags: + - ApplicationDataSubscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:subs-to-notify:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationDataSubs' + responses: + '201': + description: > + Upon success, a response body containing a representation of each + Individual subscription resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationDataSubs' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + applicationDataChangeNotif: + '{$request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ApplicationDataChangeNotif' + minItems: 1 + responses: + '204': + description: No Content, Notification was successful + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Read Application Data change Subscriptions + operationId: ReadApplicationDataChangeSubscriptions + tags: + - ApplicationDataSubscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:subs-to-notify:read + parameters: + - name: data-filter + in: query + description: The data filter for the query. + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/DataFilter' + responses: + '200': + description: > + The subscription information as request in the request URI query parameter(s) + are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ApplicationDataSubs' + minItems: 0 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/af-qos-data-sets: + get: + summary: Retrieve AF Requested QoS Data + operationId: ReadAFReqQoSData + tags: + - AF Requested QoS Data (Store) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:af-qos-data-sets:read + parameters: + - name: dnns + in: query + description: Each element identifies a DNN + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + - name: snssais + in: query + description: Each element identifies a slice. + required: false + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: internal-group-ids + in: query + description: Each element identifies a group of users. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + - name: supis + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + - name: data-set-ids + in: query + description: Each element identifies an Individual AF requested QoS resource. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: supp-feat + in: query + required: false + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The AF requested QoS Data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AfRequestedQosData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/af-qos-data-sets/{afReqQosId}: + put: + summary: Create or update an Individual AF Requested QoS Data resource. + operationId: CreateIndividualAFReqQoSData + tags: + - Individual AF Requested QoS Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:af-qos-data-sets:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AfRequestedQosData' + parameters: + - name: afReqQosId + in: path + description: > + The Identifier of an Individual AF Requested QoS Data to be created or updated. + required: true + schema: + type: string + responses: + '201': + description: > + The creation of an Individual AF Requested QoS Data resource is confirmed and a + representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AfRequestedQosData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nudr-dr//application-data/af-qos-data-sets/{afReqQosId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify part of the properties of an individual AF requested QoS Data resource + operationId: UpdateIndividualAFRequestedQoSData + tags: + - Individual AF requested QoS Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:af-qos-data-sets:modify + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AfRequestedQosDataPatch' + parameters: + - name: afReqQosId + in: path + description: > + The Identifier of an Individual AF Requested QoS Data to be updated. + required: true + schema: + type: string + responses: + '200': + description: > + The update of an Individual AF Requested QoS Data resource is confirmed and + a response body containing AF Requested QoS Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AfRequestedQosData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual AF requested QoS Data resource + operationId: DeleteIndividualAFRequestedQosData + tags: + - Individual AF requested QoS Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:af-qos-data-sets:modify + parameters: + - name: afReqQosId + in: path + description: > + The Identifier of an Individual AF Requested QoS Data to be deleted. + required: true + schema: + type: string + responses: + '204': + description: The Individual AF requested QoS Data was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/subs-to-notify/{subsId}: + parameters: + - name: subsId + in: path + required: true + schema: + type: string + put: + summary: Modify a subscription to receive notification of application data changes + operationId: ReplaceIndividualApplicationDataSubscription + tags: + - IndividualApplicationDataSubscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:subs-to-notify:modify + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationDataSubs' + responses: + '200': + description: The individual subscription resource was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationDataSubs' + '204': + description: > + The individual subscription resource was updated successfully and no + additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete the individual Application Data subscription + operationId: DeleteIndividualApplicationDataSubscription + tags: + - IndividualApplicationDataSubscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:subs-to-notify:modify + responses: + '204': + description: Upon success, an empty response body shall be returned. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Get an existing individual Application Data Subscription resource + operationId: ReadIndividualApplicationDataSubscription + tags: + - IndividualApplicationDataSubscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:subs-to-notify:read + parameters: + - name: subsId + in: path + description: > + String identifying a subscription to the Individual Application Data Subscription + required: true + schema: + type: string + responses: + '200': + description: The subscription information is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationDataSubs' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/eas-deploy-data: + get: + summary: Retrieve EAS Deployment Information Data + operationId: ReadEasDeployData + tags: + - EAS Deployment Data (Store) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:eas-deploy-data:read + parameters: + - name: dnn + in: query + description: Identifies a DNN. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: snssai + in: query + description: Identifies an S-NSSAI. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: internal-group-id + in: query + description: Identifies a group of users. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + - name: appId + in: query + description: Identifies an application. + required: false + schema: + type: string + responses: + '200': + description: The EAS Deployment Data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: 'TS29591_Nnef_EASDeployment.yaml#/components/schemas/EasDeployInfoData' + minItems: 1 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/eas-deploy-data/{easDeployInfoId}: + get: + summary: Retrieve an individual EAS Deployment Data resource + operationId: ReadIndividualEasDeployData + tags: + - Individual EAS Deployment Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:eas-deploy-data:read + parameters: + - name: easDeployInfoId + description: > + String identifying an Individual EAS Deployment Information Data resource. + in: path + required: true + schema: + type: string + responses: + '200': + description: > + The EAS Deployment Data stored in the UDR for an Individual EAS Deployment + Information Data resource is returned. + content: + application/json: + schema: + $ref: 'TS29591_Nnef_EASDeployment.yaml#/components/schemas/EasDeployInfoData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Create or update an individual EAS Deployment Data resource + operationId: CreateOrReplaceIndividualEasDeployData + tags: + - Individual EAS Deployment Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:eas-deploy-data:create + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29591_Nnef_EASDeployment.yaml#/components/schemas/EasDeployInfoData' + parameters: + - name: easDeployInfoId + in: path + description: > + The Identifier of an Individual EAS Deployment Data to be created or updated. + It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '201': + description: > + The creation of an Individual EAS Deployment Data resource is confirmed and a + representation of that resource is returned. + content: + application/json: + schema: + $ref: 'TS29591_Nnef_EASDeployment.yaml#/components/schemas/EasDeployInfoData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nudr-dr//application-data/eas-deploy-data/{easDeployInfoId} + required: true + schema: + type: string + '200': + description: > + The update of an Individual EAS Deployment Data resource is confirmed and a response + body containing EAS Deployment Data shall be returned. + content: + application/json: + schema: + $ref: 'TS29591_Nnef_EASDeployment.yaml#/components/schemas/EasDeployInfoData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual EAS Deployment Data resource + operationId: DeleteIndividualEasDeployData + tags: + - Individual EasDeployment Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:eas-deploy-data:modify + parameters: + - name: easDeployInfoId + in: path + description: > + The Identifier of an Individual EAS Deployment Data to be deleted. + It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '204': + description: The Individual EAS Deployment Data was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/dnai-eas-mappings/{dnai}: + parameters: + - name: dnai + in: path + required: true + schema: + type: string + get: + summary: Retrieves the EAS address information for a DNAI. + operationId: ReadDnaiEasMapping + tags: + - DnaiEasMapping (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:dnai-eas:read + parameters: + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: > + Upon success, a response body containing EAS address information for a DNAI + is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/DnaiEasMapping' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/ecs-address-roaming: + get: + summary: Retrieve ECS Address Roaming Data + operationId: ReadEcsRoamingData + tags: + - ECS Address Roaming Data (Store) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:ecs-address-roaming:read + parameters: + - name: internal-group-id + in: query + description: Identifies a group of users. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + - name: any-ue + in: query + description: > + Indicates that any UE is targetted if included and set to true, otherwise set to false. + Default value is false if omitted. + required: false + schema: + type: boolean + responses: + '200': + description: The ECS Address Roaming Data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EcsAddrData' + minItems: 1 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/ecs-address-roaming/{ecsAddrInfoId}: + get: + summary: Retrieve an individual ECS Address Roaming Data resource + operationId: ReadIndividualEcsAddr + tags: + - Individual ECS Address Roaming Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:ecs-address-roaming:read + parameters: + - name: ecsAddrInfoId + description: > + String identifying an Individual ECS Address Roaming Data resource. + in: path + required: true + schema: + type: string + responses: + '200': + description: > + The ECS Address Roaming Data stored in the UDR for an Individual ECS Address Roaming + Data resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Create or update an individual ECS Address Roaming Data resource + operationId: CreateOrReplaceIndividualEcsAddressData + tags: + - Individual ECS Address Roaming Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:ecs-address-roaming:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrData' + parameters: + - name: ecsAddrInfoId + in: path + description: > + The Identifier of an Individual ECS Address Roaming Data to be created or updated. + required: true + schema: + type: string + responses: + '201': + description: > + The creation of an Individual EECS Address Roaming Data resource is confirmed + and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrData' + headers: + Location: + description: > + Contains the URI of the newly created resource. + required: true + schema: + type: string + '200': + description: > + The update of an Individual ECS Address Roaming Data resource is confirmed + and a response body containing ECS Address Roaming Data is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual ECS Address Roaming Data resource + operationId: DeleteIndividualEcsAddrData + tags: + - Individual ECS Address Roaming Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:application-data + - nudr-dr:application-data:ecs-address-roaming:modify + parameters: + - name: ecsAddrInfoId + in: path + description: > + The Identifier of an Individual ECS Address Roaming Data to be updated. + required: true + schema: + type: string + responses: + '204': + description: The Individual ECS Address Roaming Data was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + schemas: + + TrafficInfluData: + description: Represents the Traffic Influence Data. + type: object + properties: + upPathChgNotifCorreId: + type: string + description: > + Contains the Notification Correlation Id allocated by the NEF for the UP + path change notification. + appReloInd: + type: boolean + description: > + Identifies whether an application can be relocated once a location of the + application has been selected. + afAppId: + type: string + description: Identifies an application. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + ethTrafficFilters: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: > + Identifies Ethernet packet filters. Either "trafficFilters" or + "ethTrafficFilters" shall be included if applicable. + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + interGroupIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 2 + description: > + Identifies a list of Internal Groups. + subscriberCatList: + type: array + items: + type: string + minItems: 1 + description: > + Identifies a list of Subscriber Category(s). + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + trafficFilters: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: > + Identifies IP packet filters. Either "trafficFilters" or "ethTrafficFilters" + shall be included if applicable. + trafficRoutes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + description: Identifies the N6 traffic routing requirement. + sfcIdDl: + type: string + description: Reference to a pre-configured service function chain for DL traffic + sfcIdUl: + type: string + description: Reference to a pre-configured service function chain for UL traffic + metadata: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Metadata' + traffCorreInd: + type: boolean + tfcCorreInfo: + $ref: '#/components/schemas/TrafficCorrelationInfo' + validStartTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + validEndTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tempValidities: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity' + minItems: 1 + description: Identifies the temporal validities for the N6 traffic routing requirement. + nwAreaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + upPathChgNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + headers: + description: Contains the headers provisioned by the NEF. + type: array + items: + type: string + minItems: 1 + subscribedEvents: + type: array + items: + $ref: 'TS29522_TrafficInfluence.yaml#/components/schemas/SubscribedEvent' + minItems: 1 + dnaiChgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType' + afAckInd: + type: boolean + addrPreserInd: + type: boolean + maxAllowedUpLat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + simConnInd: + type: boolean + description: > + Indicates whether simultaneous connectivity should be temporarily + maintained for the source and target PSA. + simConnTerm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + resetIds: + type: array + items: + type: string + minItems: 1 + nscSuppFeats: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + minProperties: 1 + description: > + Identifies a list of Network Function Service Consumer supported per service. The key + used in this map for each entry is the ServiceName value as defined in + 3GPP TS 29.510[24]. + allOf: + - oneOf: + - required: [afAppId] + - required: [trafficFilters] + - required: [ethTrafficFilters] + - oneOf: + - required: [supi] + - required: [interGroupId] + - required: [interGroupIdList] + + TrafficInfluDataPatch: + description: Represents the Traffic Influence Data to be updated in the UDR. + type: object + properties: + upPathChgNotifCorreId: + type: string + description: > + Contains the Notification Correlation Id allocated by the NEF for the + UP path change notification. + appReloInd: + type: boolean + description: > + Identifies whether an application can be relocated once a location of the application + has been selected. + ethTrafficFilters: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: > + Identifies Ethernet packet filters. Either "trafficFilters" or "ethTrafficFilters" + shall be included if applicable. + trafficFilters: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: > + Identifies IP packet filters. Either "trafficFilters" or "ethTrafficFilters" + shall be included if applicable. + trafficRoutes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + description: Identifies the N6 traffic routing requirement. + sfcIdDl: + type: string + description: Reference to a pre-configured service function chain for DL traffic + nullable: true + sfcIdUl: + type: string + description: Reference to a pre-configured service function chain for UL traffic + nullable: true + metadata: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Metadata' + traffCorreInd: + type: boolean + tfcCorreInfo: + $ref: '#/components/schemas/TrafficCorrelationInfo' + validStartTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + validEndTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tempValidities: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity' + minItems: 1 + nullable: true + description: Identifies the temporal validities for the N6 traffic routing requirement. + nwAreaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + upPathChgNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + headers: + description: Contains the headers provisioned by the NEF. + type: array + items: + type: string + minItems: 1 + afAckInd: + type: boolean + addrPreserInd: + type: boolean + maxAllowedUpLat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + simConnInd: + type: boolean + description: > + Indicates whether simultaneous connectivity should be temporarily maintained + for the source and target PSA. + simConnTerm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + + TrafficInfluSub: + description: Represents traffic influence subscription data. + type: object + properties: + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + description: Each element identifies a DNN. + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + description: Each element identifies a slice. + internalGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + description: Each element identifies a group of users. + internalGroupIdsAdd: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + description: > + Each element identifies an internal group. + subscriberCatList: + type: array + items: + type: string + minItems: 1 + description: > + Each element identifies a subscriber category. + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + description: Each element identifies the user. + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resetIds: + type: array + items: + type: string + minItems: 1 + immRep: + type: boolean + description: > + If provided and set to true, it indicates that existing entries that + match this subscription shall be immediately reported in the response. + immReports: + type: array + items: + $ref: '#/components/schemas/TrafficInfluDataNotif' + minItems: 1 + description: Immediate report with existing UDR entries. + required: + - notificationUri + oneOf: + - required: [dnns] + - required: [snssais] + - required: [internalGroupIds] + - required: [internalGroupIdsAdd] + - required: [supis] + + TrafficInfluDataNotif: + description: Represents traffic influence data for notification. + type: object + properties: + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + trafficInfluData: + $ref: '#/components/schemas/TrafficInfluData' + required: + - resUri + + PfdDataForAppExt: + description: Represents the PFDs and related data for the application. + type: object + properties: + applicationId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + pfds: + type: array + items: + $ref: 'TS29551_Nnef_PFDmanagement.yaml#/components/schemas/PfdContent' + minItems: 1 + cachingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resetIds: + type: array + items: + type: string + minItems: 1 + allowedDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - applicationId + - pfds + + BdtPolicyData: + description: Represents applied BDT policy data. + type: object + properties: + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + resetIds: + type: array + items: + type: string + minItems: 1 + required: + - bdtRefId + + BdtPolicyDataPatch: + description: > + Represents modification instructions to be performed on the applied BDT policy data. + type: object + properties: + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + required: + - bdtRefId + + IptvConfigData: + description: Represents IPTV configuration data information. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + interGroupId: + description: Identifies a group of users. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + afAppId: + type: string + multiAccCtrls: + type: object + additionalProperties: + $ref: 'TS29522_IPTVConfiguration.yaml#/components/schemas/MulticastAccessControl' + minProperties: 1 + description: > + Identifies a list of multicast address access control information. Any string + value can be used as a key of the map. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + resetIds: + type: array + items: + type: string + minItems: 1 + required: + - afAppId + - multiAccCtrls + oneOf: + - required: [interGroupId] + - required: [supi] + + ServiceParameterData: + description: Represents the service parameter data. + type: object + properties: + appId: + type: string + description: Identifies an application. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + ueIpv4: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + ueMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + anyUeInd: + type: boolean + description: > + Identifies whether the service parameters applies to any non roaming UE. + roamUeNetDescs: + type: array + items: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/NetworkDescription' + minItems: 1 + description: Each element identifies one or more PLMN IDs of inbound roamers. + paramOverPc5: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParameterOverPc5' + paramOverUu: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParameterOverUu' + a2xParamsPc5: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/A2xParamsPc5' + paramForProSeDd: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParamForProSeDd' + paramForProSeDc: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParamForProSeDc' + paramForProSeU2NRelUe: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParamForProSeU2NRelUe' + paramForProSeRemUe: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParamForProSeRemUe' + paramForProSeU2URelUe: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParamForProSeU2URelUe' + paramForProSeEndUe: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParamForProSeEndUe' + urspGuidance: + type: array + items: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/UrspRuleRequest' + minItems: 1 + description: > + Contains the service parameter used to guide the URSP and/or VPLMN specific URSP. + tnaps: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TnapId' + minItems: 1 + description: Contains the TNAP IDs collocated with the 5G-RG(s) of a specific user. + deliveryEvents: + type: array + items: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/Event' + minItems: 1 + description: Contains the outcome of the UE Policy Delivery. + policDelivNotifCorreId: + type: string + description: > + Contains the Notification Correlation Id allocated by the NEF for the notification + of UE Policy delivery outcome. + policDelivNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + headers: + description: Contains the headers provisioned by the NEF. + type: array + items: + type: string + minItems: 1 + resetIds: + type: array + items: + type: string + minItems: 1 + paramForRangingSlPos: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParamForRangingSlPos' + + ServiceParameterDataPatch: + description: Represents the service parameter data that can be updated. + type: object + properties: + paramOverPc5: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParameterOverPc5Rm' + paramOverUu: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParameterOverUuRm' + a2xParamsPc5: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/A2xParamsPc5Rm' + paramForProSeDd: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParamForProSeDdRm' + paramForProSeDc: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParamForProSeDcRm' + paramForProSeU2NRelUe: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParamForProSeU2NRelUeRm' + paramForProSeRemUe: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParamForProSeRemUeRm' + paramForProSeU2URelUE: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParamForProSeU2URelUeRm' + paramForProSeEndUe: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParamForProSeEndUeRm' + urspInfluence: + type: array + items: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/UrspRuleRequest' + minItems: 1 + deprecated: true + description: Contains the service parameter used to influence the URSP. This attribute is + deprecated by the urspGuidance attribute. + urspGuidance: + type: array + items: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/UrspRuleRequest' + minItems: 1 + nullable: true + description: > + Contains the service parameter used to influence the URSP and/or VPLMN specific URSP. + tnaps: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TnapId' + minItems: 1 + description: Contains the TNAP IDs collocated with the 5G-RG(s) of a specific user. + nullable: true + deliveryEvents: + type: array + items: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/Event' + minItems: 1 + nullable: true + description: Contains the outcome of the UE Policy Delivery. + policDelivNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + headers: + description: Contains the headers provisioned by the NEF. + type: array + items: + type: string + minItems: 1 + paramForRangingSlPos: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParamForRangingSlPosRm' + + AmInfluData: + description: Represents the AM Influence Data. + type: object + properties: + appIds: + type: array + items: + type: string + minItems: 1 + description: Identifies one or more applications. + dnnSnssaiInfos: + type: array + items: + $ref: 'TS29522_AMInfluence.yaml#/components/schemas/DnnSnssaiInformation' + minItems: 1 + description: Identifies one or more DNN, S-NSSAI combinations. + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + anyUeInd: + type: boolean + description: > + When set to true, it indicates whether the data is applicable for any UE. Otherwise set + to "false". Default value is "false" if omitted. + roamUePlmnIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + description: > + Indicates a list of PLMNs representing the home PLMN for the inbound roaming + UEs in LBO roaming scenario. + policyDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + evSubs: + type: array + items: + $ref: 'TS29522_AMInfluence.yaml#/components/schemas/AmInfluEvent' + minItems: 1 + description: List of AM related events for which a subscription is required. + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifCorrId: + type: string + description: Notification correlation identifier. + headers: + type: array + description: Contains the headers provisioned by the NEF. + items: + type: string + minItems: 1 + thruReq: + type: boolean + description: > + When set to true, it indicates whether high throughput is desired for the + indicated UE traffic. Otherwise set to "false". Default value is "false" if omitted. + covReq: + type: array + items: + $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/ServiceAreaCoverageInfo' + minItems: 1 + description: Indicates the service area coverage requirement. + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + resetIds: + type: array + items: + type: string + minItems: 1 + allOf: + - anyOf: + - required: [thruReq] + - required: [covReq] + - oneOf: + - required: [supi] + - required: [interGroupId] + - required: [anyUeInd] + - required: [roamUePlmnIds] + + AmInfluDataPatch: + description: Represents the AM Influence Data that can be updated. + type: object + properties: + appIds: + type: array + items: + type: string + minItems: 1 + description: Identifies one or more applications. + nullable: true + dnnSnssaiInfos: + type: array + items: + $ref: 'TS29522_AMInfluence.yaml#/components/schemas/DnnSnssaiInformation' + minItems: 1 + description: Identifies one or more DNN, S-NSSAI combinations. + nullable: true + evSubs: + type: array + items: + $ref: 'TS29522_AMInfluence.yaml#/components/schemas/AmInfluEvent' + minItems: 1 + description: List of AM related events for which a subscription is required. + nullable: true + headers: + type: array + description: Contains the headers provisioned by the NEF. + items: + type: string + minItems: 1 + thruReq: + type: boolean + description: Indicates whether high throughput is desired for the indicated UE traffic. + nullable: true + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UriRm' + notifCorrId: + type: string + description: Notification correlation identifier. + nullable: true + covReq: + type: array + items: + $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/ServiceAreaCoverageInfo' + minItems: 1 + description: Indicates the service area coverage requirement. + nullable: true + + ApplicationDataSubs: + description: Identifies a subscription to application data change notification. + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + dataFilters: + type: array + items: + $ref: '#/components/schemas/DataFilter' + minItems: 1 + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + immRep: + type: boolean + description: Immediate reporting indication. + amInfluEntries: + type: array + items: + $ref: '#/components/schemas/AmInfluData' + minItems: 1 + description: The AM Influence Data entries stored in the UDR that match a subscription. + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resetIds: + type: array + items: + type: string + minItems: 1 + immReports: + type: array + items: + $ref: '#/components/schemas/ApplicationDataChangeNotif' + minItems: 1 + description: Immediate report with existing UDR entries. + required: + - notificationUri + + ApplicationDataChangeNotif: + description: Contains changed application data for which notification was requested. + type: object + properties: + iptvConfigData: + $ref: '#/components/schemas/IptvConfigData' + pfdData: + $ref: 'TS29551_Nnef_PFDmanagement.yaml#/components/schemas/PfdChangeNotification' + bdtPolicyData: + $ref: '#/components/schemas/BdtPolicyData' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + serParamData: + $ref: '#/components/schemas/ServiceParameterData' + amInfluData: + $ref: '#/components/schemas/AmInfluData' + dnaiEasData: + $ref: '#/components/schemas/DnaiEasMapping' + afReqQosData: + $ref: '#/components/schemas/AfRequestedQosData' + ecsAddrData: + $ref: '#/components/schemas/EcsAddrData' + required: + - resUri + + DataFilter: + description: Identifies a data filter. + type: object + properties: + dataInd: + $ref: '#/components/schemas/DataInd' + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + internalGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + ueIpv4s: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ueIpv6s: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + ueMacs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + minItems: 1 + anyUeInd: + type: boolean + description: Indicates the request is for any UE. + dnnSnssaiInfos: + description: > + Indicates the request is for any DNN and S-NSSAI combination present in the array. + type: array + items: + $ref: 'TS29522_AMInfluence.yaml#/components/schemas/DnnSnssaiInformation' + minItems: 1 + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + required: + - dataInd + + TrafficCorrelationInfo: + description: > + Contains the information for traffic correlation. + type: object + properties: + corrType: + $ref: '#/components/schemas/CorrelationType' + tfcCorrId: + type: string + description: > + Identification of a set of UEs accessing the application identified by the + Application Identifier or traffic filtering information. + comEasIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrRm' + comEasIpv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6AddrRm' + fqdnRange: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/FqdnPatternMatchingRule' + minItems: 1 + nullable: true + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UriRm' + notifCorrId: + type: string + nullable: true + description: Notification correlation identifier. + nullable: true + + AfRequestedQosData: + description: Represents AF Requested QoS data. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + afAppId: + type: string + description: Identifies an AF application. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sliceInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + evSubsc: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EventsSubscReqData' + flowInfos: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + qosReference: + type: string + altSerReqs: + type: array + items: + type: string + minItems: 1 + altSerReqsData: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AlternativeServiceRequirementsData' + minItems: 1 + description: > + Contains alternative service requirements that include individual QoS parameter sets. + disUeNotif: + type: boolean + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + mirBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + mirBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + tempInValidity: + $ref: 'TS29565_Ntsctsf_QoSandTSCAssistance.yaml#/components/schemas/TemporalInValidity' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - suppFeat + oneOf: + - required: [supi] + - required: [interGroupId] + + AfRequestedQosDataPatch: + description: Represents modification of Individual AF Requested QoS data. + type: object + properties: + afAppId: + type: string + description: Identifies an AF application. + nullable: true + evSubsc: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EventsSubscReqDataRm' + flowInfos: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + nullable: true + qosReference: + type: string + nullable: true + altSerReqs: + type: array + items: + type: string + minItems: 1 + nullable: true + altSerReqsData: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AlternativeServiceRequirementsData' + minItems: 1 + description: > + Contains removable alternative service requirements that include individual QoS + parameter sets. + nullable: true + disUeNotif: + type: boolean + nullable: true + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + mirBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + mirBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + tempInValidity: + $ref: 'TS29565_Ntsctsf_QoSandTSCAssistance.yaml#/components/schemas/TemporalInValidity' + + DnaiEasMapping: + description: Contains DNAI to EAS mapping information. + type: object + properties: + dnaiEasInfos: + type: array + items: + $ref: '#/components/schemas/DnaiEasInfo' + minItems: 1 + description: Each element conrtains EAS address information for a DNAI. + required: + - dnaiEasInfos + + DnaiEasInfo: + description: Contains EAS information for a DNAI. + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + easIpAddrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + minItems: 1 + description: Each element contains EAS addresses, address ranges, and/or prefixes. + fqdns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/FqdnPatternMatchingRule' + minItems: 1 + description: Each element conrtains FQDN matching rules for the EAS(s) of a DNAI. + anyOf: + - required: [dnn] + - required: [snssai] + oneOf: + - required: [easIpAddrs] + - required: [fqdns] + EcsAddrData: + description: Represents ECS Address Data. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + ecsServerAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/EcsServerAddr' + spatialValidityCond: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SpatialValidityCond' + anyUeInd: + type: boolean + description: > + If provided and set to true it indicates that all the UEs are targetted, + otherwise set to false. The default value is false if omitted. + internalGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ecsServerAddr + + DataInd: + anyOf: + - type: string + enum: + - PFD + - IPTV + - BDT + - SVC_PARAM + - AM + - DNAI_EAS + - REQ_QOS + - ECS + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Indicates the type of data. + Possible values are + - PFD: PFD data. + - IPTV: IPTV configuration data. + - BDT: BDT data. + - SVC_PARAM: Service parameter data. + - AM: AM influence data. + - DNAI_EAS: DNAI EAS mapping data. + - REQ_QOS: AF Requested QoS data for a UE or group of UE(s) not identified by UE address(es). + - ECS: ECS Address data. + + CorrelationType: + description: Indicates that a common DNAI or common EAS should be selected. + anyOf: + - type: string + enum: + - COMMON_DNAI + - COMMON_EAS + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + diff --git a/TS29519_Exposure_Data.yaml b/TS29519_Exposure_Data.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8e98c1694c73150eff9786747a6c842ea5eddcb2 --- /dev/null +++ b/TS29519_Exposure_Data.yaml @@ -0,0 +1,876 @@ +openapi: 3.0.0 + +info: + version: '-' + title: Unified Data Repository Service API file for structured data for exposure + description: | + The API version is defined in 3GPP TS 29.504 + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.519 V18.1.0; 5G System; Usage of the Unified Data Repository Service for Policy Data, + Application Data and Structured Data for Exposure. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.519/' + +paths: + /exposure-data/{ueId}/access-and-mobility-data: + put: + summary: Creates and updates the access and mobility exposure data for a UE + operationId: CreateOrReplaceAccessAndMobilityData + tags: + - AccessAndMobilityData + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - nudr-dr:exposure-data:access-and-mobility-data:create + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + responses: + '201': + description: > + Successful case. The resource has been successfully created and a response + body containing a representation of the access and mobility data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '200': + description: > + Successful case. The resource has been successfully updated and a response + body containing a representation of the access and mobility data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + '204': + description: > + Successful case. The resource has been successfully updated and no additional content + is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Retrieves the access and mobility exposure data for a UE + operationId: QueryAccessAndMobilityData + tags: + - AccessAndMobilityData + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - nudr-dr:exposure-data:access-and-mobility-data:read + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The response body contains the access and mobility data + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes the access and mobility exposure data for a UE + operationId: DeleteAccessAndMobilityData + tags: + - AccessAndMobilityData + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - nudr-dr:exposure-data:access-and-mobility-data:modify + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Updates the access and mobility exposure data for a UE + operationId: UpdateAccessAndMobilityData + tags: + - AccessAndMobilityData + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - nudr-dr:exposure-data:access-and-mobility-data:modify + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + responses: + '204': + description: > + Successful case. The resource has been successfully updated and no additional + content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /exposure-data/{ueId}/session-management-data/{pduSessionId}: + put: + summary: Creates and updates the session management data for a UE and for an individual PDU session + operationId: CreateOrReplaceSessionManagementData + tags: + - PduSessionManagementData + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - nudr-dr:exposure-data:session-management-data:create + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PduSessionManagementData' + responses: + '201': + description: > + Successful case. The resource has been successfully created and a response + body containing a representation of the session management data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PduSessionManagementData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '200': + description: > + Successful case. The resource has been successfully updated and a response body + containing a representation of the session management data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PduSessionManagementData' + '204': + description: > + Successful case. The resource has been successfully updated and no additional + content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Retrieves the session management data for a UE and for an individual PDU session + operationId: QuerySessionManagementData + tags: + - PduSessionManagementData + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - nudr-dr:exposure-data:session-management-data:read + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + - name: ipv4-addr + in: query + description: IPv4 Address of the UE + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + - name: ipv6-prefix + in: query + description: IPv6 Address Prefix of the UE + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + - name: dnn + in: query + description: DNN of the UE + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The response body contains the session management data + content: + application/json: + schema: + $ref: '#/components/schemas/PduSessionManagementData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes the session management data for a UE and for an individual PDU session + operationId: DeleteSessionManagementData + tags: + - PduSessionManagementData + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - nudr-dr:exposure-data:session-management-data:modify + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /exposure-data/subs-to-notify: + post: + summary: Create a subscription to receive notification of exposure data changes + operationId: CreateIndividualExposureDataSubscription + tags: + - ExposureDataSubscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - nudr-dr:exposure-data:subs-to-notify:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ExposureDataSubscription' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ExposureDataSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + exposureDataChangeNotification: + '{$request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ExposureDataChangeNotification' + minItems: 1 + responses: + '204': + description: No Content, Notification was successful + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /exposure-data/subs-to-notify/{subId}: + put: + summary: updates a subscription to receive notifications of exposure data changes + operationId: ReplaceIndividualExposureDataSubscription + tags: + - IndividualExposureDataSubscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - nudr-dr:exposure-data:subs-to-notify:modify + parameters: + - name: subId + in: path + description: Subscription id + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ExposureDataSubscription' + responses: + '200': + description: > + Resource was successfully modified and a body with the modified subscription + to notifications about exposure data is returned.. + content: + application/json: + schema: + $ref: '#/components/schemas/ExposureDataSubscription' + '204': + description: The individual subscription resource was successfully modified. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes the individual Exposure Data subscription + operationId: DeleteIndividualExposureDataSubscription + tags: + - IndividualExposureDataSubscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:exposure-data + - nudr-dr:exposure-data:subs-to-notify:modify + parameters: + - name: subId + in: path + description: Subscription id + required: true + schema: + type: string + responses: + '204': + description: Resource was successfully deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + schemas: + AccessAndMobilityData: + description: Represents Access and Mobility data for a UE. + type: object + properties: + location: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + locationTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + timeZoneTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + regStates: + type: array + items: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/RmInfo' + regStatesTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + connStates: + type: array + items: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/CmInfo' + connStatesTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + reachabilityStatus: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/UeReachability' + reachabilityStatusTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + smsOverNasStatus: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/SmsSupport' + smsOverNasStatusTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + roamingStatus: + type: boolean + description: > + True The serving PLMN of the UE is different from the HPLMN of the UE; False + The serving PLMN of the UE is the HPLMN of the UE. + roamingStatusTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + currentPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + currentPlmnTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ratType: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + ratTypesTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resetIds: + type: array + items: + type: string + minItems: 1 + + PduSessionManagementData: + description: Represents Session management data for a UE and a PDU session. + type: object + properties: + pduSessionStatus: + $ref: '#/components/schemas/PduSessionStatus' + pduSessionStatusTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + dnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + dnaiTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + n6TrafficRoutingInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + n6TrafficRoutingInfoTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Prefix: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + description: UE IPv6 prefix. + ipv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + pduSessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + ipAddrTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resetIds: + type: array + items: + type: string + minItems: 1 + + ExposureDataSubscription: + description: Represents a Subscription to Notifications about Exposure Data. + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resetIds: + type: array + items: + type: string + minItems: 1 + immRep: + type: boolean + description: > + If provided and set to true, it indicates that existing entries that + match this subscription shall be immediately reported in the response. + immReports: + type: array + items: + $ref: '#/components/schemas/ExposureDataChangeNotification' + minItems: 1 + description: Immediate report with existing UDR entries. + required: + - notificationUri + - monitoredResourceUris + + ExposureDataChangeNotification: + description: Represents changed exposure data for one UE for which Notification was requested. + type: object + properties: + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + accessAndMobilityData: + $ref: '#/components/schemas/AccessAndMobilityData' + pduSessionManagementData: + type: array + items: + $ref: '#/components/schemas/PduSessionManagementData' + minItems: 1 + delResources: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + + PduSessionStatus: + anyOf: + - type: string + enum: + - "ACTIVE" + - "RELEASED" + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the state of the PDU session. + Possible values are + - "ACTIVE": the PDU session is active. + - "RELEASED": the PDU session released. diff --git a/TS29519_Policy_Data.yaml b/TS29519_Policy_Data.yaml new file mode 100644 index 0000000000000000000000000000000000000000..58bd276a1ea641835a73e7f59fd8939516385350 --- /dev/null +++ b/TS29519_Policy_Data.yaml @@ -0,0 +1,3207 @@ +openapi: 3.0.0 + +info: + version: '-' + title: Unified Data Repository Service API file for policy data + description: | + The API version is defined in 3GPP TS 29.504 + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.519 V18.4.0; 5G System; Usage of the Unified Data Repository Service for Policy Data, + Application Data and Structured Data for Exposure. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.519/' + +paths: + /policy-data/ues/{ueId}: + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + get: + summary: Retrieve the policy data for a subscriber + operationId: ReadPolicyData + tags: + - PolicyDataForIndividualUe (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:ues:read + parameters: + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: data-subset-names + in: query + style: form + explode: false + description: List of policy data subset names + required: false + schema: + type: array + items: + $ref: '#/components/schemas/PolicyDataSubset' + minItems: 2 + responses: + '200': + description: Upon success, a response body containing policy data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyDataForIndividualUe' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/ues/{ueId}/am-data: + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + get: + summary: Retrieves the access and mobility policy data for a subscriber + operationId: ReadAccessAndMobilityPolicyData + tags: + - AccessAndMobilityPolicyData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:ues:am-data:read + parameters: + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: > + Upon success, a response body containing access and mobility policies shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AmPolicyData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/ues/{ueId}/ue-policy-set: + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + get: + summary: Retrieves the UE policy set data for a subscriber + operationId: ReadUEPolicySet + tags: + - UEPolicySet (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:ues:ue-policy-set:read + parameters: + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Upon success, a response body containing UE policies shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/UePolicySet' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Create or modify the UE policy set data for a subscriber + operationId: CreateOrReplaceUEPolicySet + tags: + - UEPolicySet (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:ues:ue-policy-set:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UePolicySet' + responses: + '201': + description: > + Successful case. The resource has been successfully created and a response body + containing a representation of the created UEPolicySet resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/UePolicySet' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '200': + description: > + Successful case. The resource has been successfully created and a response body + containing UE policies shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/UePolicySet' + '204': + description: > + Successful case. The resource has been successfully updated and no additional content + is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify the UE policy set data for a subscriber + operationId: UpdateUEPolicySet + tags: + - UEPolicySet (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:ues:ue-policy-set:modify + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/UePolicySetPatch' + responses: + '204': + description: > + Successful case. The resource has been successfully updated and no additional content is + to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/ues/{ueId}/sm-data: + get: + summary: Retrieves the session management policy data for a subscriber + operationId: ReadSessionManagementPolicyData + tags: + - SessionManagementPolicyData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:ues:sm-data:read + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: snssai + in: query + required: false + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: dnn + in: query + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Upon success, a response body containing SmPolicyData shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify the session management policy data for a subscriber + operationId: UpdateSessionManagementPolicyData + tags: + - SessionManagementPolicyData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:ues:sm-data:modify + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/SmPolicyDataPatch' + responses: + '204': + description: > + Successful case. The resource has been successfully updated and no + additional content is to be sent in the response message. + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/ues/{ueId}/sm-data/{usageMonId}: + get: + summary: Retrieve a usage monitoring resource + operationId: ReadUsageMonitoringInformation + tags: + - UsageMonitoringInformation (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:ues:sm-data:read + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: usageMonId + in: path + required: true + schema: + type: string + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Successful case. The usage monitoring data is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/UsageMonData' + '204': + description: The resource was found but no usage monitoring data is available. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Create a usage monitoring resource + operationId: CreateUsageMonitoringResource + tags: + - UsageMonitoringInformation (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:ues:sm-data:create + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: usageMonId + in: path + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UsageMonData' + responses: + '201': + description: > + Successful case. The resource has been successfully created and a response body is + returned containing a representation of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/UsageMonData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete a usage monitoring resource + operationId: DeleteUsageMonitoringInformation + tags: + - UsageMonitoringInformation (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:ues:sm-data:modify + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: usageMonId + in: path + required: true + schema: + type: string + responses: + '204': + description: Successful case. The resource has been successfully deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/sponsor-connectivity-data/{sponsorId}: + parameters: + - name: sponsorId + in: path + required: true + schema: + type: string + get: + summary: Retrieves the sponsored connectivity information for a given sponsorId + operationId: ReadSponsorConnectivityData + tags: + - SponsorConnectivityData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:sponsor-connectivity-data:read + parameters: + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: > + Upon success, a response body containing Sponsor Connectivity Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/SponsorConnectivityData' + '204': + description: The resource was found but no Sponsor Connectivity Data is available. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/bdt-data: + get: + summary: Retrieves the BDT data collection + operationId: ReadBdtData + tags: + - BdtData (Store) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:bdt-data:read + parameters: + - name: bdt-ref-ids + in: query + description: List of the BDT reference identifiers. + required: false + schema: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + minItems: 1 + style: form + explode: false + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Upon success, a response body containing the BDT data shall be returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/BdtData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/bdt-data/{bdtReferenceId}: + parameters: + - name: bdtReferenceId + in: path + required: true + schema: + type: string + get: + summary: Retrieves the BDT data information associated with a BDT reference Id + operationId: ReadIndividualBdtData + tags: + - IndividualBdtData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:bdt-data:read + parameters: + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Upon success, a response body containing the BDT data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Creates an BDT data resource associated with an BDT reference Id + operationId: CreateIndividualBdtData + tags: + - IndividualBdtData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:bdt-data:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BdtData' + responses: + '201': + description: Successful case. The resource has been successfully created. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modifies an BDT data resource associated with an BDT reference Id + operationId: UpdateIndividualBdtData + tags: + - IndividualBdtData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:bdt-data:modify + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/BdtDataPatch' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/BdtData' + '204': + description: > + Successful case. The resource has been successfully updated and no additional content + is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes an BDT data resource associated with an BDT reference Id + operationId: DeleteIndividualBdtData + tags: + - IndividualBdtData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:bdt-data:modify + responses: + '204': + description: Successful case. The resource has been successfully deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/subs-to-notify: + get: + summary: Retrieves the list of Individual Policy Data Subscription resources + operationId: ReadPolicyDataSubscriptions + tags: + - PolicyDataSubscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:subs-to-notify:read + parameters: + - name: mon-resources + in: query + style: form + explode: false + description: List of monitored resources whose subscriptions are requested. + required: false + schema: + type: array + items: + type: string + description: Contains the apiSpecificResourceUriPart of the resource URI. + minItems: 1 + - name: ue-id + in: query + description: Represents the Subscription Identifier SUPI or GPSI. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: > + Upon success, a response body containing a list of Individual Policy Data + Subscription resources shall be returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PolicyDataSubscription' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + post: + summary: Create a subscription to receive notification of policy data changes + operationId: CreateIndividualPolicyDataSubscription + tags: + - PolicyDataSubscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data:subs-to-notify + - nudr-dr:policy-data:subs-to-notify:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyDataSubscription' + responses: + '201': + description: > + Upon success, a response body containing a representation of each Individual + subscription resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyDataSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + policyDataChangeNotification: + '{$request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PolicyDataChangeNotification' + minItems: 1 + responses: + '204': + description: No Content, Notification was successful + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/subs-to-notify/{subsId}: + parameters: + - name: subsId + in: path + required: true + schema: + type: string + get: + summary: Retrieves Individual Policy Subscription data + operationId: ReadIndividualPolicySubscriptionData + tags: + - IndividualPolicySubscriptionData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:subs-to-notify:read + responses: + '200': + description: > + Upon success, a response body containing Policy Data Subscription shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyDataSubscription' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Modify a subscription to receive notification of policy data changes + operationId: ReplaceIndividualPolicyDataSubscription + tags: + - IndividualPolicyDataSubscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:subs-to-notify:modify + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyDataSubscription' + responses: + '200': + description: The individual subscription resource was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyDataSubscription' + '204': + description: > + The individual subscription resource was updated successfully and no + additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete the individual Policy Data subscription + operationId: DeleteIndividualPolicyDataSubscription + tags: + - IndividualPolicyDataSubscription (Document) + responses: + '204': + description: Upon success, an empty response body shall be returned. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/ues/{ueId}/operator-specific-data: + get: + summary: Retrieve the operator specific policy data of an UE + operationId: ReadOperatorSpecificData + tags: + - OperatorSpecificData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:ues:operator-specific-data:read + parameters: + - name: ueId + in: path + description: UE Id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: object + additionalProperties: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify the operator specific policy data of a UE + operationId: UpdateOperatorSpecificData + tags: + - OperatorSpecificData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:ues:operator-specific-data:modify + parameters: + - name: ueId + in: path + description: UE Id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: No content. Response to successful modification. + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Create or modify the operator specific policy data of a UE + operationId: ReplaceOperatorSpecificData + tags: + - OperatorSpecificData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:ues:operator-specific-data:create + parameters: + - name: ueId + in: path + description: UE Id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + required: true + content: + application/json: + schema: + type: object + additionalProperties: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + additionalProperties: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + '201': + description: > + Successful case. When the feature OSDResource_Create_Delete is supported + and the resource has been successfully created, a response body containing a + representation of the created OperatorSpecificData resource shall be returned. + content: + application/json: + schema: + type: object + additionalProperties: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '204': + description: The resource has been successfully updated. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: When the feature OSDResource_Create_Delete is supported, delete OperatorSpecificData resource + operationId: DeleteOperatorSpecificData + tags: + - OperatorSpecificData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:ues:operator-specific-data:modify + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Successful case. The resource has been successfully deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/plmns/{plmnId}/ue-policy-set: + parameters: + - name: plmnId + in: path + required: true + schema: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/VarPlmnId' + get: + summary: Retrieve the UE policy set data for an H-PLMN + operationId: ReadPlmnUePolicySet + tags: + - PlmnUePolicySet (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:plmns:ue-policy-set:read + parameters: + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Upon success, a response body containing UE policies shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/UePolicySet' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '412': + $ref: 'TS29571_CommonData.yaml#/components/responses/412' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/slice-control-data/{snssai}: + parameters: + - name: snssai + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + get: + summary: Retrieves a network Slice specific policy control data resource + operationId: ReadSlicePolicyControlData + tags: + - SlicePolicyControlData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:slice-control-data:read + parameters: + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: > + Successful case. The network slice specific policy control data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/SlicePolicyData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify a network Slice specific policy control data resource + operationId: UpdateSlicePolicyControlData + tags: + - SlicePolicyControlData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:slice-control-data:modify + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/SlicePolicyDataPatch' + responses: + '200': + description: > + The resource has been successfully updated and a response body containing network + slice specific policy control data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/SlicePolicyData' + '204': + description: > + The resource has been successfully updated and no additional content is + to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/mbs-session-pol-data/{polSessionId}: + parameters: + - name: polSessionId + description: > + Represents the identifier of the MBS Session Policy Control Data. + in: path + required: true + schema: + $ref: '#/components/schemas/MbsSessPolDataId' + + get: + summary: Retrieve MBS Session Policy Control Data for an MBS Session. + operationId: GetMBSSessPolCtrlData + tags: + - MBSSessionPolicyControlData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:mbs-session-pol-data:read + responses: + '200': + description: > + OK. The requested MBS Session Policy Control Data is successfully returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsSessPolCtrlData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/pdtq-data: + get: + summary: Retrieves the PDTQ data collection + operationId: ReadPdtqData + tags: + - PdtqData (Store) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:pdtq-data:read + parameters: + - name: pdtq-ref-ids + in: query + description: List of the PDTQ reference identifiers. + required: false + schema: + type: array + items: + $ref: 'TS29543_Npcf_PDTQPolicyControl.yaml#/components/schemas/PdtqReferenceId' + minItems: 1 + style: form + explode: false + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Upon success, a response body containing the PDTQ data shall be returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PdtqData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/pdtq-data/{pdtqReferenceId}: + parameters: + - name: pdtqReferenceId + in: path + required: true + schema: + type: string + get: + summary: Retrieves the PDTQ data information associated with a PDTQ reference Id + operationId: ReadIndividualPdtqData + tags: + - IndividualPdtqData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:pdtq-data:read + parameters: + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Upon success, a response body containing the PDTQ data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PdtqData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Creates a PDTQ data resource associated with a PDTQ reference Id + operationId: CreateIndividualPdtqData + tags: + - IndividualPdtqData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:pdtq-data:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PdtqData' + responses: + '201': + description: Successful case. The resource has been successfully created. + content: + application/json: + schema: + $ref: '#/components/schemas/PdtqData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modifies a PDTQ data resource associated with a PDTQ reference Id + operationId: UpdateIndividualPdtqData + tags: + - IndividualPdtqData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:pdtq-data:modify + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PdtqDataPatch' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/PdtqData' + '204': + description: > + Successful case. The resource has been successfully updated and no additional content + is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes a PDTQ data resource associated with a PDTQ reference Id + operationId: DeleteIndividualPdtqData + tags: + - IndividualPdtqData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:pdtq-data:modify + responses: + '204': + description: Successful case. The resource has been successfully deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/group-control-data/{intGroupId}: + parameters: + - name: intGroupId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + + get: + summary: Retrieves a group specific policy control subscription data resource + operationId: ReadGroupPolCtrlData + tags: + - GroupPolicyControlData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:group-control-data:read + parameters: + - name: supp-feat + in: query + description: Represents the supported features. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: > + Successful case. The requested group specific policy control subscription data shall be + returned. + content: + application/json: + schema: + $ref: '#/components/schemas/GroupPolicyData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify an existing group specific policy control subscription data resource. + operationId: ModifyGroupPolCtrlData + tags: + - GroupPolicyControlData (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:policy-data + - nudr-dr:policy-data:group-control-data:modify + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/GroupPolicyDataPatch' + responses: + '200': + description: > + The resource has been successfully modified and a response body containing the updated + group specific policy control subscription data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/GroupPolicyData' + '204': + description: > + The resource has been successfully modified and no additional content is to be sent in + the response body. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + schemas: + + PolicyDataForIndividualUe: + description: Contains policy data for a given subscriber. + type: object + properties: + uePolicyDataSet: + $ref: '#/components/schemas/UePolicySet' + smPolicyDataSet: + $ref: '#/components/schemas/SmPolicyData' + amPolicyDataSet: + $ref: '#/components/schemas/AmPolicyData' + umData: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonData' + minProperties: 1 + description: > + Contains UM policies. The value of the limit identifier is used as the key of the map. + operatorSpecificDataSet: + type: object + additionalProperties: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + minProperties: 1 + description: > + Contains Operator Specific Data resource data. The key of the map is operator + specific data element name and the value is the operator specific data of the UE. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + AmPolicyData: + description: Contains the AM policy data for a given subscriber. + type: object + properties: + praInfos: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + description: > + Contains Presence reporting area information. The praId attribute within the + PresenceInfo data type is the key of the map. + subscCats: + type: array + items: + type: string + minItems: 1 + chfInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ChargingInformation' + subscSpendingLimits: + type: boolean + description: > + Indicates whether the PCF must enforce Access and Mobility management related + policies based on subscriber spending limits. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + UePolicySet: + description: Contains the UE policy data for a given subscriber. + type: object + properties: + praInfos: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + description: > + Contains Presence reporting area information. The praId attribute within the + PresenceInfo data type is the key of the map. + subscCats: + type: array + items: + type: string + minItems: 1 + uePolicySections: + type: object + additionalProperties: + $ref: '#/components/schemas/UePolicySection' + minProperties: 1 + description: > + Contains the UE Policy Sections. The UE Policy Section Identifier is used as + the key of the map. + upsis: + type: array + items: + type: string + minItems: 1 + allowedRouteSelDescs: + type: object + additionalProperties: + $ref: '#/components/schemas/PlmnRouteSelectionDescriptor' + minProperties: 1 + description: > + Contains allowed route selection descriptors per serving PLMN for a UE. + The serving PLMN identifier is the key of the map. + andspInd: + type: boolean + epsUrspInd: + type: boolean + description: Indication of UE supporting URSP provisioning in EPS. + vpsUrspInd: + type: boolean + description: Indication of UE supporting VPLMN-specific URSP. + urspEnfInd: + type: boolean + description: Indication of UE supporting URSP enforcement report. + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + osIds: + type: array + items: + $ref: '#/components/schemas/OsId' + minItems: 1 + chfInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ChargingInformation' + subscSpendingLimits: + type: boolean + description: > + Indicates whether the PCF must enforce UE policies based on subscriber spending limits. + tracingReq: + type: array + items: + type: string + minItems: 1 + description: > + Tracing requirements as defined in TS 32.421 [26] + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resetIds: + type: array + items: + type: string + minItems: 1 + + UePolicySetPatch: + description: Contains the UE policy set for a given subscriber. + type: object + properties: + uePolicySections: + type: object + additionalProperties: + $ref: '#/components/schemas/UePolicySection' + minProperties: 1 + description: > + Contains the UE Policy Sections. The UE Policy Section Identifier is used + as the key of the map. + upsis: + type: array + items: + type: string + minItems: 1 + andspInd: + type: boolean + epsUrspInd: + type: boolean + description: Indication of UE supporting URSP provisioning in EPS. + vpsUrspInd: + type: boolean + description: Indication of UE supporting VPLMN-specific URSP. + urspEnfInd: + type: boolean + description: Indication of UE supporting URSP enforcement report. + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + osIds: + type: array + items: + $ref: '#/components/schemas/OsId' + minItems: 1 + + UePolicySection: + description: Contains the UE policy section. + type: object + properties: + uePolicySectionInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + upsi: + type: string + required: + - uePolicySectionInfo + - upsi + + SmPolicyData: + description: Contains the SM policy data for a given subscriber. + type: object + properties: + smPolicySnssaiData: + type: object + additionalProperties: + $ref: '#/components/schemas/SmPolicySnssaiData' + minProperties: 1 + description: > + Contains Session Management Policy data per S-NSSAI for all the SNSSAIs + of the subscriber. The key of the map is the S-NSSAI. + umDataLimits: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonDataLimit' + minProperties: 1 + description: > + Contains a list of usage monitoring profiles associated with the subscriber. + The limit identifier is used as the key of the map. + umData: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonData' + minProperties: 1 + description: > + Contains the remaining allowed usage data associated with the subscriber. + The limit identifier is used as the key of the map. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - smPolicySnssaiData + + SmPolicySnssaiData: + description: Contains the SM policy data for a given subscriber and S-NSSAI. + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + smPolicyDnnData: + type: object + additionalProperties: + $ref: '#/components/schemas/SmPolicyDnnData' + minProperties: 1 + description: > + Session Management Policy data per DNN for all the DNNs of the indicated S-NSSAI. + The key of the map is the DNN. + ueSliceMbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SliceMbr' + required: + - snssai + + SmPolicyDnnData: + description: Contains the SM policy data for a given DNN (and S-NSSAI). + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + allowedServices: + type: array + items: + type: string + minItems: 1 + subscCats: + type: array + items: + type: string + minItems: 1 + gbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + gbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + adcSupport: + type: boolean + subscSpendingLimits: + type: boolean + description: > + Indicates whether the PCF must enforce session management related policies based + on subscriber spending limits. + ipv4Index: + $ref: '#/components/schemas/IpIndex' + ipv6Index: + $ref: '#/components/schemas/IpIndex' + offline: + type: boolean + online: + type: boolean + chfInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ChargingInformation' + refUmDataLimitIds: + type: object + additionalProperties: + $ref: '#/components/schemas/LimitIdToMonitoringKey' + minProperties: 1 + description: > + A reference to the UsageMonDataLimit or UsageMonData instances for this DNN and SNSSAI + that may also include the related monitoring key(s). + The key of the map is the limit identifier. + mpsPriority: + type: boolean + mcsPriority: + type: boolean + imsSignallingPrio: + type: boolean + mpsPriorityLevel: + type: integer + mcsPriorityLevel: + type: integer + praInfos: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + description: > + Contains Presence reporting area information. The praId attribute within the + PresenceInfo data type is the key of the map. + bdtRefIds: + type: object + additionalProperties: + $ref: '#/components/schemas/BdtReferenceIdRm' + minProperties: 1 + description: > + Identifies transfer policies of background data transfer. Any string value can + be used as a key of the map. + nullable: true + locRoutNotAllowed: + type: boolean + sfcNotAllowed: + type: boolean + tnaps: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TnapId' + minItems: 1 + description: Contains the TNAP IDs collocated with the 5G-RG(s) of a specific user. + required: + - dnn + + UsageMonDataLimit: + description: Contains usage monitoring control data for a subscriber. + type: object + properties: + limitId: + type: string + scopes: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonDataScope' + minProperties: 1 + description: > + Identifies the SNSSAI and DNN combinations to which the usage monitoring data + limit applies. The S-NSSAI is the key of the map. + umLevel: + $ref: '#/components/schemas/UsageMonLevel' + startDate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endDate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + usageLimit: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + resetPeriod: + $ref: '#/components/schemas/TimePeriod' + required: + - limitId + + UsageMonData: + description: Contains remain allowed usage data for a subscriber. + type: object + properties: + limitId: + type: string + scopes: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonDataScope' + minProperties: 1 + description: > + Identifies the SNSSAI and DNN combinations for remain allowed usage data + for a subscriber. The S-NSSAI is the key of the map. + umLevel: + $ref: '#/components/schemas/UsageMonLevel' + allowedUsage: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + resetTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resetIds: + type: array + items: + type: string + minItems: 1 + required: + - limitId + + LimitIdToMonitoringKey: + description: > + Contains the limit identifier and the corresponding monitoring key for a given + S-NSSAI and DNN. + type: object + properties: + limitId: + type: string + monkey: + type: array + items: + type: string + minItems: 1 + required: + - limitId + nullable: true + + UsageMonDataScope: + description: > + Contains a SNSSAI and DNN combinations to which the UsageMonData instance belongs to. + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + required: + - snssai + + TimePeriod: + description: Contains the periodicity for the defined usage monitoring data limits. + type: object + properties: + period: + $ref: '#/components/schemas/Periodicity' + maxNumPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - period + + SponsorConnectivityData: + description: > + Contains the sponsored data connectivity related information for a sponsor identifier. + type: object + properties: + aspIds: + type: array + items: + type: string + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - aspIds + + BdtData: + description: Contains the background data transfer data. + type: object + properties: + aspId: + type: string + transPolicy: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/TransferPolicy' + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + nwAreaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + numOfUes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + volPerUe: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + trafficDes: + $ref: 'TS29122_ResourceManagementOfBdt.yaml#/components/schemas/TrafficDescriptor' + bdtpStatus: + $ref: '#/components/schemas/BdtPolicyStatus' + warnNotifEnabled: + type: boolean + description: > + Indicates whether the BDT warning notification is enabled (true) or not (false). + Default value is false. + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resetIds: + type: array + items: + type: string + minItems: 1 + required: + - aspId + - transPolicy + + PolicyDataSubscription: + description: Identifies a subscription to policy data change notification. + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifId: + type: string + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + monResItems: + type: array + items: + $ref: '#/components/schemas/ResourceItem' + minItems: 1 + excludedResItems: + type: array + items: + $ref: '#/components/schemas/ResourceItem' + minItems: 1 + immRep: + type: boolean + description: > + If provided and set to true, it indicates that existing entries that + match this subscription shall be immediately reported in the response. + immReports: + type: array + items: + $ref: '#/components/schemas/PolicyDataChangeNotification' + minItems: 1 + description: Immediate report with existing UDR entries. + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resetIds: + type: array + items: + type: string + minItems: 1 + subsId: + type: string + required: + - notificationUri + - monitoredResourceUris + + PolicyDataChangeNotification: + description: Contains changed policy data for which notification was requested. + type: object + properties: + amPolicyData: + $ref: '#/components/schemas/AmPolicyData' + uePolicySet: + $ref: '#/components/schemas/UePolicySet' + plmnUePolicySet: + $ref: '#/components/schemas/UePolicySet' + smPolicyData: + $ref: '#/components/schemas/SmPolicyData' + usageMonData: + $ref: '#/components/schemas/UsageMonData' + SponsorConnectivityData: + $ref: '#/components/schemas/SponsorConnectivityData' + bdtData: + $ref: '#/components/schemas/BdtData' + opSpecData: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + opSpecDataMap: + type: object + additionalProperties: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + minProperties: 1 + description: > + Operator Specific Data resource data, if changed and notification was requested. + The key of the map is operator specific data element name and the value is the + operator specific data of the UE. + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + sponsorId: + type: string + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + usageMonId: + type: string + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + delResources: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + notifId: + type: string + reportedFragments: + type: array + items: + $ref: '#/components/schemas/NotificationItem' + minItems: 1 + slicePolicyData: + $ref: '#/components/schemas/SlicePolicyData' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + pdtqData: + $ref: '#/components/schemas/PdtqData' + pdtqRefId: + $ref: 'TS29543_Npcf_PDTQPolicyControl.yaml#/components/schemas/PdtqReferenceId' + groupPolicyData: + $ref: '#/components/schemas/GroupPolicyData' + intGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + + PlmnRouteSelectionDescriptor: + description: > + Contains the route selection descriptors (combinations of SNSSAI, DNNs, PDU session types, + SSC modes and ATSSS information) allowed by subscription to the UE for a serving PLMN + type: object + properties: + servingPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + snssaiRouteSelDescs: + type: array + items: + $ref: '#/components/schemas/SnssaiRouteSelectionDescriptor' + minItems: 1 + required: + - servingPlmn + + SnssaiRouteSelectionDescriptor: + description: > + Contains the route selector parameters (DNNs, PDU session types, SSC modes and ATSSS + information) per SNSSAI + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnnRouteSelDescs: + type: array + items: + $ref: '#/components/schemas/DnnRouteSelectionDescriptor' + minItems: 1 + required: + - snssai + + DnnRouteSelectionDescriptor: + description: > + Contains the route selector parameters (PDU session types, SSC modes and ATSSS + information) per DNN + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sscModes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode' + minItems: 1 + pduSessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + atsssInfo: + description: > + Indicates whether MA PDU session establishment is allowed for this DNN. + When set to value true MA PDU session establishment is allowed for this DNN. + type: boolean + default: false + lboRoamAllowed: + type: boolean + description: > + Indicates whether LBO for the DNN and S-NSSAI is allowed when roaming. + required: + - dnn + + SmPolicyDataPatch: + description: Contains the SM policy data for a given subscriber. + type: object + properties: + umData: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonData' + minProperties: 1 + description: > + Contains the remaining allowed usage data associated with the subscriber. + The value of the limit identifier is used as the key of the map. + nullable: true + smPolicySnssaiData: + type: object + additionalProperties: + $ref: '#/components/schemas/SmPolicySnssaiDataPatch' + minProperties: 1 + description: > + Modifiable Session Management Policy data per S-NSSAI for all the SNSSAIs + of the subscriber. The key of the map is the S-NSSAI. + + SmPolicySnssaiDataPatch: + description: Contains the SM policy data for a given subscriber and S-NSSAI. + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + smPolicyDnnData: + type: object + additionalProperties: + $ref: '#/components/schemas/SmPolicyDnnDataPatch' + minProperties: 1 + description: > + Modifiable Session Management Policy data per DNN for all the DNNs of the + indicated S-NSSAI. The key of the map is the DNN. + required: + - snssai + SmPolicyDnnDataPatch: + description: Contains the SM policy data for a given DNN (and S-NSSAI). + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + bdtRefIds: + type: object + additionalProperties: + $ref: '#/components/schemas/BdtReferenceIdRm' + minProperties: 1 + description: > + Contains updated transfer policies of background data transfer. + Any string value can be used as a key of the map. + nullable: true + required: + - dnn + + ResourceItem: + description: > + Identifies a subscription to policy data change notification when the change occurs + in a fragment (subset of resource data) of a given resource. + type: object + properties: + monResourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + items: + type: array + items: + $ref: '#/components/schemas/ItemPath' + minItems: 1 + required: + - monResourceUri + - items + + NotificationItem: + description: > + Identifies a data change notification when the change occurs in a fragment + (subset of resource data) of a given resource. + type: object + properties: + resourceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifItems: + type: array + items: + $ref: '#/components/schemas/UpdatedItem' + minItems: 1 + required: + - resourceId + - notifItems + + UpdatedItem: + description: Identifies a fragment of a resource. + type: object + properties: + item: + $ref: '#/components/schemas/ItemPath' + value: {} + required: + - item + - value + + BdtDataPatch: + description: Contains the modified background data transfer data. + type: object + properties: + transPolicy: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/TransferPolicy' + bdtpStatus: + $ref: '#/components/schemas/BdtPolicyStatus' + warnNotifEnabled: + type: boolean + description: > + Indicates whether the BDT warning notification is enabled (true) or not (false). + + SlicePolicyData: + description: Contains the network slice specific policy control information. + type: object + properties: + mbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + mbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + remainMbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + remainMbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + SlicePolicyDataPatch: + description: Contains the modified network slice specific policy control information. + type: object + properties: + remainMbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + remainMbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + oneOf: + - required: [remainMbrUl] + - required: [remainMbrDl] + + MbsSessPolCtrlData: + description: Represents MBS Session Policy Control Data. + type: object + properties: + 5qis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + minItems: 1 + maxMbsArpLevel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ArpPriorityLevel' + maxMbsSessionAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxGbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + MbsSessPolDataId: + description: Represents the identifier used to access the MBS Session Policy Control Data. + type: object + properties: + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + afAppId: + type: string + oneOf: + - required: [mbsSessionId] + - required: [afAppId] + + PdtqData: + description: Contains the planned data transfer data with QoS requirements. + type: object + properties: + aspId: + type: string + pdtqPolicy: + $ref: 'TS29543_Npcf_PDTQPolicyControl.yaml#/components/schemas/PdtqPolicy' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + pdtqRefId: + $ref: 'TS29543_Npcf_PDTQPolicyControl.yaml#/components/schemas/PdtqReferenceId' + nwAreaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + numOfUes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + desTimeInts: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + minItems: 1 + description: Identifies the time interval(s). + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + altQosParamSets: + type: array + items: + $ref: 'TS29543_Npcf_PDTQPolicyControl.yaml#/components/schemas/AltQosParamSet' + minItems: 1 + description: > + Contains the alternative QoS requirements as a list of individual QoS parameter + sets in a prioritized order. + altQosRefs: + type: array + items: + type: string + minItems: 1 + description: > + Contains the alternative QoS requirements as the list of QoS references in a + prioritized order. + qosParamSet: + $ref: 'TS29543_Npcf_PDTQPolicyControl.yaml#/components/schemas/QosParameterSet' + qosReference: + type: string + description: > + Requested QoS requirements expressed as the QoS Reference which represents + a pre-defined QoS information. + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + warnNotifEnabled: + type: boolean + description: > + Indicates whether the PDTQ warning notification is enabled (true) or not (false). + Default value is false. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resetIds: + type: array + items: + type: string + minItems: 1 + required: + - aspId + - pdtqPolicy + + PdtqDataPatch: + description: Contains the modified planned data transfer data with QoS requirements. + type: object + properties: + pdtqPolicy: + $ref: 'TS29543_Npcf_PDTQPolicyControl.yaml#/components/schemas/PdtqPolicy' + + warnNotifEnabled: + type: boolean + description: > + Indicates whether the PDTQ warning notification is enabled (true) or not (false). notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + + GroupPolicyData: + description: Contains the group specific policy control subscription information. + type: object + properties: + remainGroupMbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + remainGroupMbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + GroupPolicyDataPatch: + description: > + Contains the requested modification to the group specific policy control subscription + data. + type: object + properties: + remainGroupMbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + remainGroupMbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + anyOf: + - required: [remainGroupMbrUl] + - required: [remainGroupMbrDl] + +# SIMPLE TYPES: + + IpIndex: + description: > + Represents information that identifies which IP pool or external server + is used to allocate the IP address. + type: integer + + OsId: + description: Represents the Operating System of the served UE. + type: string + format: uuid + + ItemPath: + description: Identifies a fragment (subset of resource data) of a given resource. + type: string + + BdtReferenceIdRm: + type: string + description: > + This data type is defined in the same way as the BdtReferenceId data type defined in + 3GPP TS 29.122, but with the nullable property set to true. + nullable: true + +# ENUMS: + + UsageMonLevel: + description: Represents the usage monitoring level. + anyOf: + - type: string + enum: + - SESSION_LEVEL + - SERVICE_LEVEL + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + + Periodicity: + description: Represents the time period. + anyOf: + - type: string + enum: + - YEARLY + - MONTHLY + - WEEKLY + - DAILY + - HOURLY + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + + BdtPolicyStatus: + description: Indicates the validation status of a negotiated BDT policy. + anyOf: + - type: string + enum: + - INVALID + - VALID + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + + PolicyDataSubset: + description: Indicates a policy data subset. + anyOf: + - type: string + enum: + - AM_POLICY_DATA + - SM_POLICY_DATA + - UE_POLICY_DATA + - UM_DATA + - OPERATOR_SPECIFIC_DATA + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + + diff --git a/TS29520_Nnwdaf_AnalyticsInfo.yaml b/TS29520_Nnwdaf_AnalyticsInfo.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9858123a886a31e1197c1becd154f267e7dfb784 --- /dev/null +++ b/TS29520_Nnwdaf_AnalyticsInfo.yaml @@ -0,0 +1,900 @@ +openapi: 3.0.0 + +info: + version: 1.3.0-alpha.5 + title: Nnwdaf_AnalyticsInfo + description: | + Nnwdaf_AnalyticsInfo Service API. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.520 V18.4.0; 5G System; Network Data Analytics Services. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.520/' + +security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-analyticsinfo + +servers: + - url: '{apiRoot}/nnwdaf-analyticsinfo/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +paths: + /analytics: + get: + summary: Read a NWDAF Analytics + operationId: GetNWDAFAnalytics + tags: + - NWDAF Analytics (Document) + parameters: + - name: event-id + in: query + description: Identify the analytics. + required: true + schema: + $ref: '#/components/schemas/EventId' + - name: ana-req + in: query + description: Identifies the analytics reporting requirement information. + required: false + content: + application/json: + schema: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventReportingRequirement' + - name: event-filter + in: query + description: Identify the analytics. + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/EventFilter' + - name: supported-features + in: query + description: To filter irrelevant responses related to unsupported features. + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: tgt-ue + in: query + description: Identify the target UE information. + required: false + content: + application/json: + schema: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/TargetUeInformation' + responses: + '200': + description: > + Containing the analytics with parameters as relevant for the requesting NF service + consumer. + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsData' + '204': + description: No Content. The requested NWDAF Analytics data does not exist. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: Indicates that the NWDAF Analytics resource does not exist. + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: > + The request is rejected by the NWDAF and more details (not only the ProblemDetails) are + returned. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetailsAnalyticsInfoRequest' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /context: + get: + summary: Get context information related to analytics subscriptions. + operationId: GetNwdafContext + tags: + - NWDAF Context (Document) + security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-analyticsinfo + - oAuth2ClientCredentials: + - nnwdaf-analyticsinfo + - nnwdaf-analyticsinfo:contexttransfer + parameters: + - name: context-ids + in: query + description: Identifies specific context information related to analytics subscriptions. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ContextIdList' + - name: req-context + in: query + description: > + Identfies the type(s) of the analytics context information the consumer wishes + to receive. + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/RequestedContext' + responses: + '200': + description: > + Contains context information related to analytics subscriptions corresponding with + one or more context identifiers. + content: + application/json: + schema: + $ref: '#/components/schemas/ContextData' + '204': + description: > + No Content. No context information could be retrieved for the requested context + Identifiers. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnwdaf-analyticsinfo: Access to the Nnwdaf_AnalyticsInfo API + nnwdaf-analyticsinfo:contexttransfer: > + Access to service operations applying to NWDAF context transfer related service + operations, i.e. ContextTransfer. + + schemas: + + AnalyticsData: + description: > + Represents the description of analytics with parameters as relevant for the requesting NF + service consumer. + type: object + properties: + start: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeStampGen: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + anaMetaInfo: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnalyticsMetadataInfo' + sliceLoadLevelInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/SliceLoadLevelInformation' + minItems: 1 + description: The slices and their load level information. + nsiLoadLevelInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NsiLoadLevelInfo' + minItems: 1 + nfLoadLevelInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NfLoadLevelInformation' + minItems: 1 + nwPerfs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfInfo' + minItems: 1 + svcExps: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ServiceExperienceInfo' + minItems: 1 + qosSustainInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/QosSustainabilityInfo' + minItems: 1 + ueMobs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeMobility' + minItems: 1 + ueComms: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeCommunication' + minItems: 1 + userDataCongInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UserDataCongestionInfo' + minItems: 1 + abnorBehavrs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AbnormalBehaviour' + minItems: 1 + smccExps: + type: array + items: + $ref: '#/components/schemas/SmcceInfo' + minItems: 1 + disperInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DispersionInfo' + minItems: 1 + redTransInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RedundantTransmissionExpInfo' + minItems: 1 + wlanInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/WlanPerformanceInfo' + minItems: 1 + dnPerfInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DnPerfInfo' + minItems: 1 + pfdDetermInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/PfdDeterminationInfo' + minItems: 1 + pduSesTrafInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/PduSesTrafficInfo' + minItems: 1 + dataVlTrnsTmInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/E2eDataVolTransTimeInfo' + minItems: 1 + locAccInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/LocAccuracyInfo' + minItems: 1 + accuInfo: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AccuracyInfo' + cancelAccuInd: + type: boolean + description: > + Indicates cancelled request of the analytics accuracy information. + Set to "true" indicates the NWDAF cancelled request of analytics accuracy + information as the NWDAF does not support the accuracy checking capability. + Otherwise set to "false". Default value is "false" if omitted. + movBehavInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/MovBehavInfo' + minItems: 1 + relProxInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RelProxInfo' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + + EventFilter: + description: Represents the event filters used to identify the requested analytics. + type: object + properties: + anySlice: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnySlice' + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + description: Identification(s) of network slice. + roamingInfo: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RoamingInfo' + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + ladnDnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + description: Identification(s) of LADN DNN to indicate the LADN service area as the AOI. + location: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/GeoLocation' + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + temporalGranSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + spatialGranSizeTa: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + spatialGranSizeCell: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + fineGranAreas: + type: array + items: + $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea' + minItems: 1 + description: Indicates the fine granularity areas to which the request applies. + visitedAreas: + type: array + items: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + minItems: 1 + maxTopAppUlNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + maxTopAppDlNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + nfInstanceIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + nfSetIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + nfTypes: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + minItems: 1 + nsiIdInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NsiIdInfo' + minItems: 1 + qosRequ: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/QosRequirement' + nwPerfReqs: + type: array + items: + $ref: '#/components/schemas/NetworkPerfReq' + minItems: 1 + nwPerfTypes: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfType' + minItems: 1 + addNwPerfReqs: + type: array + items: + $ref: '#/components/schemas/ResourceUsageRequPerNwPerfType' + minItems: 1 + userDataConReqs: + type: array + items: + $ref: '#/components/schemas/UserDataCongestReq' + minItems: 1 + bwRequs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/BwRequirement' + minItems: 1 + excepIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExceptionId' + minItems: 1 + exptAnaType: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExpectedAnalyticsType' + exptUeBehav: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData' + ratFreqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RatFreqInformation' + minItems: 1 + disperReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DispersionRequirement' + minItems: 1 + redTransReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RedundantTransmissionExpReq' + minItems: 1 + wlanReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/WlanPerformanceReq' + minItems: 1 + listOfAnaSubsets: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnalyticsSubset' + minItems: 1 + upfInfo: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/UpfInformation' + appServerAddrs: + type: array + items: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AddrFqdn' + minItems: 1 + dnPerfReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DnPerformanceReq' + minItems: 1 + ueMobilityReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeMobilityReq' + minItems: 1 + ueCommReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeCommReq' + minItems: 1 + pduSesInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/PduSessionInfo' + minItems: 1 + pduSesTrafReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/PduSesTrafficReq' + minItems: 1 + locAccReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/LocAccuracyReq' + minItems: 1 + locGranularity: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/LocInfoGranularity' + locOrientation: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/LocationOrientation' + useCaseCxt: + type: string + description: > + Indicates the context of usage of the analytics. The value and format of this parameter + are not standardized. + dataVlTrnsTmRqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/E2eDataVolTransTimeReq' + minItems: 1 + accuReq: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AccuracyReq' + movBehavReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/MovBehavReq' + minItems: 1 + relProxReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RelProxReq' + minItems: 1 + not: + required: [anySlice, snssais] + + ProblemDetailsAnalyticsInfoRequest: + description: > + Extends ProblemDetails to indicate more details why the analytics request is rejected. + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/AdditionInfoAnalyticsInfoRequest' + + AdditionInfoAnalyticsInfoRequest: + description: Indicates additional information why the analytics request is rejected. + type: object + properties: + rvWaitTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + ContextData: + description: > + Contains context information related to analytics subscriptions corresponding with one or + more context identifiers. + type: object + properties: + contextElems: + type: array + items: + $ref: '#/components/schemas/ContextElement' + minItems: 1 + description: > + List of items that contain context information corresponding with a context identifier. + required: + - contextElems + + ContextElement: + description: Contains context information corresponding with a specific context identifier. + type: object + properties: + contextId: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnalyticsContextIdentifier' + pendAnalytics: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventNotification' + minItems: 1 + description: > + Output analytics for the analytics subscription which have not yet been sent to the + analytics consumer. + histAnalytics: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventNotification' + minItems: 1 + description: Historical output analytics. + lastOutputTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + aggrSubs: + type: array + items: + $ref: '#/components/schemas/SpecificAnalyticsSubscription' + minItems: 1 + description: > + Information about analytics subscriptions that the NWDAF has with other NWDAFs to + perform aggregation. + histData: + type: array + items: + $ref: '#/components/schemas/HistoricalData' + minItems: 1 + description: Historical data related to the analytics subscription. + adrfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + adrfDataTypes: + type: array + items: + $ref: '#/components/schemas/AdrfDataType' + minItems: 1 + description: Type(s) of data stored in the ADRF by the NWDAF. + aggrNwdafIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + description: > + NWDAF identifiers of NWDAF instances used by the NWDAF service consumer when aggregating + multiple analytics subscriptions. + modelInfo: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ModelInfo' + minItems: 1 + description: > + Contains information identifying the ML model(s) that the consumer NWDAF is currently + subscribing for the analytics. + required: + - contextId + + ContextIdList: + description: > + Contains a list of context identifiers of context information of analytics + subscriptions. + type: object + properties: + contextIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnalyticsContextIdentifier' + minItems: 1 + required: + - contextIds + + HistoricalData: + description: Contains historical data related to an analytics subscription. + type: object + properties: + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + subsWithSources: + type: array + items: + $ref: '#/components/schemas/SpecificDataSubscription' + minItems: 1 + description: Information about subscriptions with the data sources. + data: + type: array + items: + $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataNotification' + minItems: 1 + description: Historical data related to the analytics. + required: + - data + + NetworkPerfReq: + description: Represents a network performance requirement. + type: object + properties: + orderCriterion: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfOrderCriterion' + orderDirection: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/MatchingDirection' + + + SpecificAnalyticsSubscription: + description: > + Represents an existing subscription for a specific type of analytics to a specific NWDAF. + type: object + properties: + subscriptionId: + type: string + producerId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + producerSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + nwdafEvSub: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscription' + allOf: + - oneOf: + - required: [producerId] + - required: [producerSetId] + - required: [subscriptionId] + - required: [nwdafEvSub] + + RequestedContext: + description: Contains types of analytics context information. + type: object + properties: + contexts: + type: array + items: + $ref: '#/components/schemas/ContextType' + minItems: 1 + description: List of analytics context types. + required: + - contexts + + SmcceInfo: + description: Represents the Session Management congestion control experience information. + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + smcceUeList: + $ref: '#/components/schemas/SmcceUeList' + required: + - smcceUeList + + SmcceUeList: + description: > + Represents the List of UEs classified based on experience level of Session Management + congestion control. + type: object + properties: + highLevel: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + mediumLevel: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + lowLevel: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + anyOf: + - required: [highLevel] + - required: [mediumLevel] + - required: [lowLevel] + + SpecificDataSubscription: + description: > + Represents an existing subscription for data collection to a specific data source NF. + type: object + properties: + subscriptionId: + type: string + producerId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + producerSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + dataSub: + $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataSubscription' + allOf: + - oneOf: + - required: [producerId] + - required: [producerSetId] + - required: [subscriptionId] + - required: [dataSub] + + UserDataCongestReq: + description: > + Represents a user data congesion requirement. + type: object + properties: + orderCriterion: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UserDataConOrderCrit' + orderDirection: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/MatchingDirection' + + ResourceUsageRequPerNwPerfType: + description: More requirement for each network performance type. + type: object + properties: + nwPerfType: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfType' + rscUsgReq: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ResourceUsageRequirement' + required: + - nwPerfType + +# +# ENUMERATIONS DATA TYPES +# + EventId: + anyOf: + - type: string + enum: + - LOAD_LEVEL_INFORMATION + - NETWORK_PERFORMANCE + - NF_LOAD + - SERVICE_EXPERIENCE + - UE_MOBILITY + - UE_COMMUNICATION + - QOS_SUSTAINABILITY + - ABNORMAL_BEHAVIOUR + - USER_DATA_CONGESTION + - NSI_LOAD_LEVEL + - SM_CONGESTION + - DISPERSION + - RED_TRANS_EXP + - WLAN_PERFORMANCE + - DN_PERFORMANCE + - PFD_DETERMINATION + - PDU_SESSION_TRAFFIC + - E2E_DATA_VOL_TRANS_TIME + - MOVEMENT_BEHAVIOUR + - LOC_ACCURACY + - RELATIVE_PROXIMITY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the analytics type. + Possible values are: + - LOAD_LEVEL_INFORMATION: Represent the analytics of load level information of corresponding + network slice. + - NETWORK_PERFORMANCE: Represent the analytics of network performance information. + - NF_LOAD: Indicates that the event subscribed is NF Load. + - SERVICE_EXPERIENCE: Represent the analytics of service experience information of the + specific applications. + - UE_MOBILITY: Represent the analytics of UE mobility. + - UE_COMMUNICATION: Represent the analytics of UE communication. + - QOS_SUSTAINABILITY: Represent the analytics of QoS sustainability information in the + certain area. + - ABNORMAL_BEHAVIOUR: Indicates that the event subscribed is abnormal behaviour information. + - USER_DATA_CONGESTION: Represent the analytics of the user data congestion in the certain + area. + - NSI_LOAD_LEVEL: Represent the analytics of Network Slice and the optionally associated + Network Slice Instance. + - SM_CONGESTION: Represent the analytics of Session Management congestion control experience + information for specific DNN and/or S-NSSAI. + - DISPERSION: Represents the analytics of dispersion. + - RED_TRANS_EXP: Represents the analytics of Redundant Transmission Experience. + - WLAN_PERFORMANCE: Represents the analytics of WLAN performance. + - DN_PERFORMANCE: Represents the analytics of DN performance. + - PFD_DETERMINATION: Represents the analytics of PFD Determination information for known application identifier(s). + - PDU_SESSION_TRAFFIC: Represents the analytics of PDU Session traffic. + - E2E_DATA_VOL_TRANS_TIME: Represents the analytics of E2E data volume transfer time. + - MOVEMENT_BEHAVIOUR: Represents the analytics of the Movement Behaviour information. + - LOC_ACCURACY: Represents the analytics of location accuracy. + - RELATIVE_PROXIMITY: Represents the analytics of Relative Proximity information. + + + ContextType: + anyOf: + - type: string + enum: + - PENDING_ANALYTICS + - HISTORICAL_ANALYTICS + - AGGR_SUBS + - DATA + - AGGR_INFO + - ML_MODELS + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the analytics context information type. + Possible values are: + - PENDING_ANALYTICS: Represents context information that relates to pending output + analytics. + - HISTORICAL_ANALYTICS: Represents context information that relates to historical output + analytics. + - AGGR_SUBS: Represents context information about the analytics subscriptions that an NWDAF + has with other NWDAFs that collectively serve an analytics subscription. + - DATA: Represents context information about historical data that is available. + - AGGR_INFO: Represents context information that is related to aggregation of analytics + from multiple NWDAF subscriptions. + - ML_MODELS: Represents context information about used ML models. + + AdrfDataType: + anyOf: + - type: string + enum: + - HISTORICAL_ANALYTICS + - HISTORICAL_DATA + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents a type of data that is stored in the ADRF. + Possible values are: + - HISTORICAL_ANALYTICS: Indicates that historical analytics are stored in the ADRF. + - HISTORICAL_DATA: Indicates that historical data are stored in the ADRF. diff --git a/TS29520_Nnwdaf_DataManagement.yaml b/TS29520_Nnwdaf_DataManagement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..67139d84d96bb5a03c8f1e2fac49fd472c21bfbe --- /dev/null +++ b/TS29520_Nnwdaf_DataManagement.yaml @@ -0,0 +1,399 @@ +openapi: 3.0.0 +info: + title: Nnwdaf_DataManagement + version: 1.1.0-alpha.4 + description: | + Nnwdaf_DataManagement API Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.520 V18.4.0; 5G System; Network Data Analytics Services. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.520/' +servers: + - url: '{apiRoot}/nnwdaf-datamanagement/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-datamanagement +paths: + /subscriptions: + post: + summary: subscribe to notifications + operationId: CreateIndividualSubcription + tags: + - Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafDataManagementSubsc' + responses: + '201': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafDataManagementSubsc' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nnwdaf-datamanagement//subscriptions/{subId}. + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + myNotification: + '{$request.body#/notificURI}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafDataManagementNotif' + responses: + '200': + description: The notification is acknowledged and a planned action is provided. + content: + application/json: + schema: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/NotifResponse' + '204': + description: No Content, Notification was succesfull + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + Fetch: + '{request.body#/fetchInstruct/fetchUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: string + minItems: 1 + description: Indicate the fetch correlation identifier. + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafDataManagementNotif' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /subscriptions/{subscriptionId}: + put: + summary: Update an existing Individual NWDAF Data Subscription. + operationId: UpdateNWDAFDataSubscription + tags: + - Individual NWDAF Data Management Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafDataManagementSubsc' + parameters: + - name: subscriptionId + in: path + description: Event Subscription ID + required: true + schema: + type: string + responses: + '200': + description: OK. Resource was succesfully modified and representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafDataManagementSubsc' + '204': + description: No Content. Resource was succesfully modified + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: unsubscribe from notifications + operationId: DeleteNWDAFDataSubscription + tags: + - Individual NWDAF Data Management Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Event Subscription ID + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was succesfully deleted + '200': + description: > + Resource was succesfully deleted and including the stored unsent events in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/NwdafDataManagementNotif' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnwdaf-datamanagement: Access to the Nnwdaf_DataManagement API + schemas: + NnwdafDataManagementSubsc: + description: Represents an Individual NWDAF Data Management Subscription resource. + type: object + properties: + adrfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + adrfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + anaSub: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscription' + dataCollectPurposes: + type: array + items: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/DataCollectionPurpose' + minItems: 1 + description: > + The purposes of data collection. This attribute may only be provided if user consent + is reqiured depending on local policy and regulations and the consumer has + not checked user consent. + checkedConsentInd: + type: boolean + description: Indication that the NF service consumer has already checked the user consent. + dataSub: + $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataSubscription' + formatInstruct: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/FormattingInstruction' + notifCorrId: + type: string + description: Notification correlation identifier. + notificURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifEndpoints: + type: array + items: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/NotifyEndpoint' + minItems: 1 + description: The information of notification endpoints. + procInstruct: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/ProcessingInstruction' + multiProcInstructs: + type: array + items: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/ProcessingInstruction' + minItems: 1 + description: Processing instructions to be used for sending event notifications. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + targetNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + targetNfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + timePeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + immReport: + $ref: '#/components/schemas/NnwdafDataManagementNotif' + storeHandl: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/StorageHandlingInformation' + required: + - notifCorrId + - notificURI + oneOf: + - required: [anaSub] + - required: [dataSub] + NnwdafDataManagementNotif: + description: Represents an Individual Notification. + type: object + properties: + dataNotification: + $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataNotification' + dataReports: + type: array + items: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/NotifSummaryReport' + minItems: 1 + description: List of summary reports of processed notifications. + delAlert: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/DeletionAlert' + notifCorrId: + type: string + description: Notification correlation identifier. + terminationReq: + type: string + description: > + It indicates that the termination of the data management subscription + is requested by the NWDAF. + fetchInstruct: + $ref: 'TS29576_Nmfaf_3caDataManagement.yaml#/components/schemas/FetchInstruction' + notifTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + pendNotifCause: + $ref: '#/components/schemas/PendingNotificationCause' + required: + - notifCorrId + - notifTimestamp + oneOf: + - required: [dataNotification] + - required: [dataReports] + - required: [fetchInstruct] + +# +# ENUMERATIONS DATA TYPES +# + PendingNotificationCause: + anyOf: + - type: string + enum: + - UE_OUT_OF_NF_SERVING_AREA + - OTHER + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the Pending Notification Cause for the stored unsent data. + Possible values are: + - UE_OUT_OF_NF_SERVING_AREA: The UE moved out of the NF serving area. + - OTHER: Other cause. + diff --git a/TS29520_Nnwdaf_EventsSubscription.yaml b/TS29520_Nnwdaf_EventsSubscription.yaml new file mode 100644 index 0000000000000000000000000000000000000000..20f146691bef13bc4055e9dbcc66e5ec87a8d9d9 --- /dev/null +++ b/TS29520_Nnwdaf_EventsSubscription.yaml @@ -0,0 +1,4039 @@ +openapi: 3.0.0 + +info: + version: 1.3.0-alpha.5 + title: Nnwdaf_EventsSubscription + description: | + Nnwdaf_EventsSubscription Service API. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.520 V18.4.0; 5G System; Network Data Analytics Services. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.520/' + +security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-eventssubscription + +servers: + - url: '{apiRoot}/nnwdaf-eventssubscription/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +paths: + /subscriptions: + post: + summary: Create a new Individual NWDAF Events Subscription + operationId: CreateNWDAFEventsSubscription + tags: + - NWDAF Events Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafEventsSubscription' + responses: + '201': + description: Create a new Individual NWDAF Event Subscription resource. + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nnwdaf-eventssubscription//subscriptions/{subscriptionId} + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafEventsSubscription' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + myNotification: + '{$request.body#/notificationURI}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NnwdafEventsSubscriptionNotification' + minItems: 1 + responses: + '204': + description: The receipt of the Notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}: + delete: + summary: Delete an existing Individual NWDAF Events Subscription + operationId: DeleteNWDAFEventsSubscription + tags: + - Individual NWDAF Events Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_EventsSubscription Service + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual NWDAF Event Subscription resource matching the subscriptionId + was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Update an existing Individual NWDAF Events Subscription + operationId: UpdateNWDAFEventsSubscription + tags: + - Individual NWDAF Events Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafEventsSubscription' + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_EventsSubscription Service. + required: true + schema: + type: string + responses: + '200': + description: > + The Individual NWDAF Event Subscription resource was modified successfully and a + representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafEventsSubscription' + '204': + description: The Individual NWDAF Event Subscription resource was modified successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /transfers: + post: + summary: Provide information about requested analytics subscriptions transfer and potentially create a new Individual NWDAF Event Subscription Transfer resource. + operationId: CreateNWDAFEventSubscriptionTransfer + tags: + - NWDAF Event Subscription Transfers (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-eventssubscription + - oAuth2ClientCredentials: + - nnwdaf-eventssubscription + - nnwdaf-eventssubscription:transfer + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsSubscriptionsTransfer' + responses: + '201': + description: Create a new Individual NWDAF Event Subscription Transfer resource. + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nnwdaf-eventssubscription//transfers/{transferId} + required: true + schema: + type: string + '204': + description: > + No Content. The receipt of the information about analytics subscription(s) that are + requested to be transferred and the ability to handle this information (e.g. execute the + steps required to transfer an analytics subscription directly) is confirmed. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /transfers/{transferId}: + delete: + summary: Delete an existing Individual NWDAF Event Subscription Transfer + operationId: DeleteNWDAFEventSubscriptionTransfer + tags: + - Individual NWDAF Event Subscription Transfer (Document) + security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-eventssubscription + - oAuth2ClientCredentials: + - nnwdaf-eventssubscription + - nnwdaf-eventssubscription:transfer + parameters: + - name: transferId + in: path + description: > + String identifying a request for an analytics subscription transfer to the + Nnwdaf_EventsSubscription Service. + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual NWDAF Event Subscription Transfer resource matching the + transferId was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Update an existing Individual NWDAF Event Subscription Transfer + operationId: UpdateNWDAFEventSubscriptionTransfer + tags: + - Individual NWDAF Event Subscription Transfer (Document) + security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-eventssubscription + - oAuth2ClientCredentials: + - nnwdaf-eventssubscription + - nnwdaf-eventssubscription:transfer + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsSubscriptionsTransfer' + parameters: + - name: transferId + in: path + description: > + String identifying a request for an analytics subscription transfer to the + Nnwdaf_EventsSubscription Service + required: true + schema: + type: string + responses: + '204': + description: > + The Individual NWDAF Event Subscription Transfer resource was modified successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnwdaf-eventssubscription: Access to the Nnwdaf_EventsSubscription API + nnwdaf-eventssubscription:transfer: > + Access to service operations applying to NWDAF event subscription transfer. + + schemas: + + NnwdafEventsSubscription: + description: Represents an Individual NWDAF Event Subscription resource. + type: object + properties: + eventSubscriptions: + type: array + items: + $ref: '#/components/schemas/EventSubscription' + minItems: 1 + description: Subscribed events + evtReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notificationURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifCorrId: + type: string + description: Notification correlation identifier. + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + eventNotifications: + type: array + items: + $ref: '#/components/schemas/EventNotification' + minItems: 1 + failEventReports: + type: array + items: + $ref: '#/components/schemas/FailureEventInfo' + minItems: 1 + prevSub: + $ref: '#/components/schemas/PrevSubInfo' + consNfInfo: + $ref: '#/components/schemas/ConsumerNfInformation' + required: + - eventSubscriptions + + EventSubscription: + description: Represents a subscription to a single event. + type: object + properties: + anySlice: + $ref: '#/components/schemas/AnySlice' + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + description: Identification(s) of application to which the subscription applies. + deviations: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + description: Identification(s) of DNN to which the subscription applies. + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + event: + $ref: '#/components/schemas/NwdafEvent' + extraReportReq: + $ref: '#/components/schemas/EventReportingRequirement' + ladnDnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + description: Identification(s) of LADN DNN to indicate the LADN service area as the AOI. + loadLevelThreshold: + type: integer + description: > + Indicates that the NWDAF shall report the corresponding network slice load level to the + NF service consumer where the load level of the network slice identified by snssais is + reached. + notificationMethod: + $ref: '#/components/schemas/NotificationMethod' + matchingDir: + $ref: '#/components/schemas/MatchingDirection' + nfLoadLvlThds: + type: array + items: + $ref: '#/components/schemas/ThresholdLevel' + minItems: 1 + description: > + Shall be supplied in order to start reporting when an average load level is reached. + nfInstanceIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + nfSetIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + nfTypes: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + minItems: 1 + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + location: + $ref: '#/components/schemas/GeoLocation' + temporalGranSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + spatialGranSizeTa: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + spatialGranSizeCell: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + fineGranAreas: + type: array + items: + $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea' + minItems: 1 + description: Indicates the fine granularity areas to which the subscription applies. + visitedAreas: + type: array + items: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + minItems: 1 + maxTopAppUlNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + maxTopAppDlNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + nsiIdInfos: + type: array + items: + $ref: '#/components/schemas/NsiIdInfo' + minItems: 1 + nsiLevelThrds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + qosRequ: + $ref: '#/components/schemas/QosRequirement' + qosFlowRetThds: + type: array + items: + $ref: '#/components/schemas/RetainabilityThreshold' + minItems: 1 + ranUeThrouThds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + minItems: 1 + repetitionPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + snssaia: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + description: > + Identification(s) of network slice to which the subscription applies. It corresponds to + snssais in the data model definition of 3GPP TS 29.520. + tgtUe: + $ref: '#/components/schemas/TargetUeInformation' + roamingInfo: + $ref: '#/components/schemas/RoamingInfo' + congThresholds: + type: array + items: + $ref: '#/components/schemas/ThresholdLevel' + minItems: 1 + nwPerfRequs: + type: array + items: + $ref: '#/components/schemas/NetworkPerfRequirement' + minItems: 1 + ueCommReqs: + type: array + items: + $ref: '#/components/schemas/UeCommReq' + minItems: 1 + ueMobilityReqs: + type: array + items: + $ref: '#/components/schemas/UeMobilityReq' + minItems: 1 + userDataConOrderCri: + $ref: '#/components/schemas/UserDataConOrderCrit' + bwRequs: + type: array + items: + $ref: '#/components/schemas/BwRequirement' + minItems: 1 + excepRequs: + type: array + items: + $ref: '#/components/schemas/Exception' + minItems: 1 + exptAnaType: + $ref: '#/components/schemas/ExpectedAnalyticsType' + exptUeBehav: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData' + ratFreqs: + type: array + items: + $ref: '#/components/schemas/RatFreqInformation' + minItems: 1 + listOfAnaSubsets: + type: array + items: + $ref: '#/components/schemas/AnalyticsSubset' + minItems: 1 + disperReqs: + type: array + items: + $ref: '#/components/schemas/DispersionRequirement' + minItems: 1 + redTransReqs: + type: array + items: + $ref: '#/components/schemas/RedundantTransmissionExpReq' + minItems: 1 + wlanReqs: + type: array + items: + $ref: '#/components/schemas/WlanPerformanceReq' + minItems: 1 + upfInfo: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/UpfInformation' + appServerAddrs: + type: array + items: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AddrFqdn' + minItems: 1 + dnPerfReqs: + type: array + items: + $ref: '#/components/schemas/DnPerformanceReq' + minItems: 1 + pduSesInfos: + type: array + items: + $ref: '#/components/schemas/PduSessionInfo' + minItems: 1 + useCaseCxt: + type: string + description: > + Indicates the context of usage of the analytics. The value and format of this parameter + are not standardized. + pduSesTrafReqs: + type: array + items: + $ref: '#/components/schemas/PduSesTrafficReq' + minItems: 1 + locAccReqs: + type: array + items: + $ref: '#/components/schemas/LocAccuracyReq' + minItems: 1 + locGranularity: + $ref: '#/components/schemas/LocInfoGranularity' + locOrientation: + $ref: '#/components/schemas/LocationOrientation' + dataVlTrnsTmRqs: + type: array + items: + $ref: '#/components/schemas/E2eDataVolTransTimeReq' + minItems: 1 + accuReq: + $ref: '#/components/schemas/AccuracyReq' + pauseFlg: + type: boolean + description: > + Pause analytics consumption flag. Set to "true" to indicate the NWDAF to stop sending + the notifications of analytics. Default value is "false" if omitted. + resumeFlg: + type: boolean + description: > + Resume analytics consumption flag. Set to "true" to indicate the NWDAF to resume sending + the notifications of analytics. Default value is "false" if omitted. + movBehavReqs: + type: array + items: + $ref: '#/components/schemas/MovBehavReq' + minItems: 1 + relProxReqs: + type: array + items: + $ref: '#/components/schemas/RelProxReq' + minItems: 1 + feedback: + $ref: '#/components/schemas/AnalyticsFeedbackInfo' + required: + - event + not: + required: [excepRequs, exptAnaType] + + NnwdafEventsSubscriptionNotification: + description: Represents an Individual NWDAF Event Subscription Notification resource. + type: object + properties: + eventNotifications: + type: array + items: + $ref: '#/components/schemas/EventNotification' + minItems: 1 + description: Notifications about Individual Events + subscriptionId: + type: string + description: String identifying a subscription to the Nnwdaf_EventsSubscription Service + notifCorrId: + type: string + description: Notification correlation identifier. + oldSubscriptionId: + type: string + description: > + Subscription ID which was allocated by the source NWDAF. This parameter shall be present + if the notification is for informing the assignment of a new Subscription Id by the + target NWDAF. + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + termCause: + $ref: '#/components/schemas/TermCause' + transEvents: + type: array + items: + $ref: '#/components/schemas/NwdafEvent' + minItems: 1 + required: + - subscriptionId + oneOf: + - required: [eventNotifications] + - allOf: + - required: [resourceUri] + - required: [oldSubscriptionId] + + EventNotification: + description: Represents a notification on events that occurred. + type: object + properties: + event: + $ref: '#/components/schemas/NwdafEvent' + start: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeStampGen: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + failNotifyCode: + $ref: '#/components/schemas/NwdafFailureCode' + rvWaitTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + anaMetaInfo: + $ref: '#/components/schemas/AnalyticsMetadataInfo' + nfLoadLevelInfos: + type: array + items: + $ref: '#/components/schemas/NfLoadLevelInformation' + minItems: 1 + nsiLoadLevelInfos: + type: array + items: + $ref: '#/components/schemas/NsiLoadLevelInfo' + minItems: 1 + pfdDetermInfos: + type: array + items: + $ref: '#/components/schemas/PfdDeterminationInfo' + minItems: 1 + sliceLoadLevelInfo: + $ref: '#/components/schemas/SliceLoadLevelInformation' + svcExps: + type: array + items: + $ref: '#/components/schemas/ServiceExperienceInfo' + minItems: 1 + qosSustainInfos: + type: array + items: + $ref: '#/components/schemas/QosSustainabilityInfo' + minItems: 1 + ueComms: + type: array + items: + $ref: '#/components/schemas/UeCommunication' + minItems: 1 + ueMobs: + type: array + items: + $ref: '#/components/schemas/UeMobility' + minItems: 1 + userDataCongInfos: + type: array + items: + $ref: '#/components/schemas/UserDataCongestionInfo' + minItems: 1 + abnorBehavrs: + type: array + items: + $ref: '#/components/schemas/AbnormalBehaviour' + minItems: 1 + nwPerfs: + type: array + items: + $ref: '#/components/schemas/NetworkPerfInfo' + minItems: 1 + dnPerfInfos: + type: array + items: + $ref: '#/components/schemas/DnPerfInfo' + minItems: 1 + disperInfos: + type: array + items: + $ref: '#/components/schemas/DispersionInfo' + minItems: 1 + redTransInfos: + type: array + items: + $ref: '#/components/schemas/RedundantTransmissionExpInfo' + minItems: 1 + wlanInfos: + type: array + items: + $ref: '#/components/schemas/WlanPerformanceInfo' + minItems: 1 + smccExps: + type: array + items: + $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/SmcceInfo' + minItems: 1 + pduSesTrafInfos: + type: array + items: + $ref: '#/components/schemas/PduSesTrafficInfo' + minItems: 1 + dataVlTrnsTmInfos: + type: array + items: + $ref: '#/components/schemas/E2eDataVolTransTimeInfo' + minItems: 1 + accuInfo: + $ref: '#/components/schemas/AccuracyInfo' + cancelAccuInd: + type: boolean + description: > + Indicates cancelled subscription of the analytics accuracy information. + Set to "true" indicates the NWDAF cancelled subscription of analytics accuracy + information as the NWDAF does not support the accuracy checking capability. + Otherwise set to "false". Default value is "false" if omitted. + pauseInd: + type: boolean + description: > + Pause analytics consumption indication. Set to "true" to indicate the consumer to stop + the consumption of the analytics. Default value is "false" if omitted. + resumeInd: + type: boolean + description: > + Resume analytics consumption indication. Set to "true" to indicate the consumer to + resume the consumption of the analytics. Default value is "false" if omitted. + movBehavInfos: + type: array + items: + $ref: '#/components/schemas/MovBehavInfo' + minItems: 1 + locAccInfos: + type: array + items: + $ref: '#/components/schemas/LocAccuracyInfo' + minItems: 1 + relProxInfos: + type: array + items: + $ref: '#/components/schemas/RelProxInfo' + minItems: 1 + required: + - event + + ServiceExperienceInfo: + description: Represents service experience information. + type: object + properties: + svcExprc: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/SvcExperience' + svcExprcVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + srvExpcType: + $ref: '#/components/schemas/ServiceExperienceType' + ueLocs: + type: array + items: + $ref: '#/components/schemas/LocationInfo' + minItems: 1 + upfInfo: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/UpfInformation' + dnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + appServerInst: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AddrFqdn' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + nsiId: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + ratFreq: + $ref: '#/components/schemas/RatFreqInformation' + pduSesInfo: + $ref: '#/components/schemas/PduSessionInfo' + required: + - svcExprc + + BwRequirement: + description: Represents bandwidth requirements. + type: object + properties: + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + mirBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + mirBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + required: + - appId + + SliceLoadLevelInformation: + description: Contains load level information applicable for one or several slices. + type: object + properties: + loadLevelInformation: + $ref: '#/components/schemas/LoadLevelInformation' + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + description: Identification(s) of network slice to which the subscription applies. + required: + - loadLevelInformation + - snssais + + NsiLoadLevelInfo: + description: > + Represents the network slice and optionally the associated network slice instance and the + load level information. + type: object + properties: + loadLevelInformation: + $ref: '#/components/schemas/LoadLevelInformation' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nsiId: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + resUsage: + $ref: '#/components/schemas/ResourceUsage' + numOfExceedLoadLevelThr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + exceedLoadLevelThrInd: + type: boolean + description: > + Indicates whether the Load Level Threshold is met or exceeded by the statistics value. + Set to "true" if the Load Level Threshold is met or exceeded, otherwise set to "false". + Shall be present if one of the element in the "listOfAnaSubsets" attribute was set to + EXCEED_LOAD_LEVEL_THR_IND. + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + timePeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + resUsgThrCrossTimePeriod: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + minItems: 1 + description: > + Each element indicates the time elapsed between times each threshold is met or exceeded + or crossed. The start time and end time are the exact time stamps of the resource usage + threshold is reached or exceeded. May be present if the "listOfAnaSubsets" attribute is + provided and the maximum number of instances shall not exceed the value provided in the + "numOfExceedLoadLevelThr" attribute. + numOfUes: + $ref: '#/components/schemas/NumberAverage' + numOfPduSess: + $ref: '#/components/schemas/NumberAverage' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - loadLevelInformation + - snssai + + NsiIdInfo: + description: Represents the S-NSSAI and the optionally associated Network Slice Instance(s). + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nsiIds: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + minItems: 1 + required: + - snssai + + EventReportingRequirement: + description: Represents the type of reporting that the subscription requires. + type: object + properties: + accuracy: + $ref: '#/components/schemas/Accuracy' + accPerSubset: + type: array + items: + $ref: '#/components/schemas/Accuracy' + minItems: 1 + description: > + Each element indicates the preferred accuracy level per analytics subset. It may be + present if the "listOfAnaSubsets" attribute is present in the subscription request. + startTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + offsetPeriod: + type: integer + description: > + Offset period in units of seconds to the reporting time, if the value is negative means + statistics in the past offset period, otherwise a positive value means prediction in the + future offset period. May be present if the "repPeriod" attribute is included within the + "evtReq" attribute or the "repetitionPeriod" attribute is included within the + EventSubscription type. + sampRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + maxObjectNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + maxSupiNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + timeAnaNeeded: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + anaMeta: + type: array + items: + $ref: '#/components/schemas/AnalyticsMetadata' + minItems: 1 + anaMetaInd: + $ref: '#/components/schemas/AnalyticsMetadataIndication' + histAnaTimePeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + + TargetUeInformation: + description: Identifies the target UE information. + type: object + properties: + anyUe: + type: boolean + description: > + Identifies any UE when setting to "true". Default value is "false" if omitted. + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + intGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + + UeMobility: + description: Represents UE mobility information. + type: object + properties: + ts: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + recurringTime: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/ScheduledCommunicationTime' + duration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + durationVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + locInfos: + type: array + items: + $ref: '#/components/schemas/LocationInfo' + minItems: 1 + directionInfos: + type: array + items: + $ref: '#/components/schemas/DirectionInfo' + minItems: 1 + allOf: + - required: [duration] + - required: [locInfos] + - oneOf: + - required: [ts] + - required: [recurringTime] + + LocationInfo: + description: Represents UE location information. + type: object + properties: + loc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + geoLoc: + $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + geoDistrInfos: + type: array + items: + $ref: '#/components/schemas/GeoDistributionInfo' + minItems: 1 + distThreshold: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - loc + + DirectionInfo: + description: Represents the UE direction information. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + numOfUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + avrSpeed: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + direction: + $ref: '#/components/schemas/Direction' + required: + - direction + oneOf: + - required: [supi] + - required: [gpsi] + + GeoDistributionInfo: + description: Represents the geographical distribution of the UEs. + type: object + properties: + loc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + required: + - loc + oneOf: + - required: [supis] + - required: [gpsis] + + UeCommunication: + description: Represents UE communication information. + type: object + properties: + commDur: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + commDurVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + perioTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + perioTimeVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + ts: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tsVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + recurringTime: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/ScheduledCommunicationTime' + trafChar: + $ref: '#/components/schemas/TrafficCharacterization' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + perioCommInd: + type: boolean + description: > + This attribute indicates whether the UE communicates periodically or not. Set to "true" + to indicate the UE communicates periodically, otherwise set to "false" or omitted. + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + anaOfAppList: + $ref: '#/components/schemas/AppListForUeComm' + sessInactTimer: + $ref: '#/components/schemas/SessInactTimerForUeComm' + allOf: + - required: [commDur] + - required: [trafChar] + - oneOf: + - required: [ts] + - required: [recurringTime] + TrafficCharacterization: + description: Identifies the detailed traffic characterization. + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + fDescs: + type: array + items: + $ref: '#/components/schemas/IpEthFlowDescription' + minItems: 1 + maxItems: 2 + ulVol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + ulVolVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + dlVol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + dlVolVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + anyOf: + - required: [ulVol] + - required: [dlVol] + + UserDataCongestionInfo: + description: Represents the user data congestion information. + type: object + properties: + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + congestionInfo: + $ref: '#/components/schemas/CongestionInfo' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + required: + - networkArea + - congestionInfo + + CongestionInfo: + description: Represents the congestion information. + type: object + properties: + congType: + $ref: '#/components/schemas/CongestionType' + timeIntev: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + nsi: + $ref: '#/components/schemas/ThresholdLevel' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + topAppListUl: + type: array + items: + $ref: '#/components/schemas/TopApplication' + minItems: 1 + topAppListDl: + type: array + items: + $ref: '#/components/schemas/TopApplication' + minItems: 1 + required: + - congType + - timeIntev + - nsi + + TopApplication: + description: Top application that contributes the most to the traffic. + type: object + properties: + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + ipTrafficFilter: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + oneOf: + - required: [appId] + - required: [ipTrafficFilter] + + QosSustainabilityInfo: + description: Represents the QoS Sustainability information. + type: object + properties: + areaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + fineAreaInfos: + type: array + items: + $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea' + minItems: 1 + description: > + This attribute contains the geographical locations in a fine granularity. startTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + qosFlowRetThd: + $ref: '#/components/schemas/RetainabilityThreshold' + ranUeThrouThd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + oneOf: + - required: [qosFlowRetThd] + - required: [ranUeThrouThd] + + QosRequirement: + description: Represents the QoS requirements. + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + gfbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + gfbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + resType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/QosResourceType' + pdb: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + per: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate' + deviceSpeed: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityEstimate' + deviceType: + $ref: '#/components/schemas/DeviceType' + oneOf: + - required: [5qi] + - required: [resType] + + ThresholdLevel: + description: Represents a threshold level. + type: object + properties: + congLevel: + type: integer + nfLoadLevel: + type: integer + nfCpuUsage: + type: integer + nfMemoryUsage: + type: integer + nfStorageUsage: + type: integer + avgTrafficRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxTrafficRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + minTrafficRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + aggTrafficRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + varTrafficRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + avgPacketDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + maxPacketDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + varPacketDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + avgPacketLossRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + maxPacketLossRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + varPacketLossRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + svcExpLevel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + speed: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + + NfLoadLevelInformation: + description: Represents load level information of a given NF instance. + type: object + properties: + nfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + nfStatus: + $ref: '#/components/schemas/NfStatus' + nfCpuUsage: + type: integer + nfMemoryUsage: + type: integer + nfStorageUsage: + type: integer + nfLoadLevelAverage: + type: integer + nfLoadLevelpeak: + type: integer + nfLoadAvgInAoi: + type: integer + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + allOf: + - required: [nfType] + - required: [nfInstanceId] + - anyOf: + - required: [nfStatus] + - required: [nfCpuUsage] + - required: [nfMemoryUsage] + - required: [nfStorageUsage] + - required: [nfLoadLevelAverage] + - required: [nfLoadLevelPeak] + + NfStatus: + description: Contains the percentage of time spent on various NF states. + type: object + properties: + statusRegistered: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + statusUnregistered: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + statusUndiscoverable: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + anyOf: + - required: [statusRegistered] + - required: [statusUnregistered] + - required: [statusUndiscoverable] + + AnySlice: + type: boolean + description: > + "false" represents not applicable for all slices. "true" represents applicable for all slices. + + LoadLevelInformation: + type: integer + description: > + Load level information of the network slice and the optionally associated network slice + instance. + + AbnormalBehaviour: + description: Represents the abnormal behaviour information. + type: object + properties: + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + excep: + $ref: '#/components/schemas/Exception' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + addtMeasInfo: + $ref: '#/components/schemas/AdditionalMeasurement' + required: + - excep + + Exception: + description: Represents the Exception information. + type: object + properties: + excepId: + $ref: '#/components/schemas/ExceptionId' + excepLevel: + type: integer + excepTrend: + $ref: '#/components/schemas/ExceptionTrend' + required: + - excepId + + AdditionalMeasurement: + description: Represents additional measurement information. + type: object + properties: + unexpLoc: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + unexpFlowTeps: + type: array + items: + $ref: '#/components/schemas/IpEthFlowDescription' + minItems: 1 + unexpWakes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minItems: 1 + ddosAttack: + $ref: '#/components/schemas/AddressList' + wrgDest: + $ref: '#/components/schemas/AddressList' + circums: + type: array + items: + $ref: '#/components/schemas/CircumstanceDescription' + minItems: 1 + + IpEthFlowDescription: + description: Contains the description of an Uplink and/or Downlink Ethernet flow. + type: object + properties: + ipTrafficFilter: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowDescription' + ethTrafficFilter: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + oneOf: + - required: [ipTrafficFilter] + - required: [ethTrafficFilter] + + AddressList: + description: Represents a list of IPv4 and/or IPv6 addresses. + type: object + properties: + ipv4Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + + CircumstanceDescription: + description: Contains the description of a circumstance. + type: object + properties: + freq: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + tm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + locArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + vol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + + RetainabilityThreshold: + description: Represents a QoS flow retainability threshold. + type: object + properties: + relFlowNum: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + relTimeUnit: + $ref: '#/components/schemas/TimeUnit' + relFlowRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + oneOf: + - allOf: + - required: [relFlowNum] + - required: [relTimeUnit] + - required: [relFlowRatio] + + NetworkPerfRequirement: + description: Represents a network performance requirement. + type: object + properties: + nwPerfType: + $ref: '#/components/schemas/NetworkPerfType' + relativeRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + absoluteNum: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + orderCriterion: + $ref: '#/components/schemas/NetworkPerfOrderCriterion' + rscUsgReq: + $ref: '#/components/schemas/ResourceUsageRequirement' + required: + - nwPerfType + not: + required: [relativeRatio, absoluteNum] + + NetworkPerfInfo: + description: Represents the network performance information. + type: object + properties: + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + nwPerfType: + $ref: '#/components/schemas/NetworkPerfType' + anaPeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + relativeRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + absoluteNum: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + rscUsgReq: + $ref: '#/components/schemas/ResourceUsageRequirement' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + allOf: + - required: [networkArea] + - required: [nwPerfType] + - oneOf: + - required: [relativeRatio] + - required: [absoluteNum] + + FailureEventInfo: + description: Contains information on the event for which the subscription is not successful. + type: object + properties: + event: + $ref: '#/components/schemas/NwdafEvent' + failureCode: + $ref: '#/components/schemas/NwdafFailureCode' + required: + - event + - failureCode + + AnalyticsMetadataIndication: + description: > + Contains analytics metadata information requested to be used during analytics generation. + type: object + properties: + dataWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + dataStatProps: + type: array + items: + $ref: '#/components/schemas/DatasetStatisticalProperty' + minItems: 1 + strategy: + $ref: '#/components/schemas/OutputStrategy' + aggrNwdafIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + + AnalyticsMetadataInfo: + description: Contains analytics metadata information required for analytics aggregation. + type: object + properties: + numSamples: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + dataWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + dataStatProps: + type: array + items: + $ref: '#/components/schemas/DatasetStatisticalProperty' + minItems: 1 + strategy: + $ref: '#/components/schemas/OutputStrategy' + accuracy: + $ref: '#/components/schemas/Accuracy' + NumberAverage: + description: Represents average and variance information. + type: object + properties: + number: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + variance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + skewness: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + required: + - number + - variance + + AnalyticsSubscriptionsTransfer: + description: Contains information about a request to transfer analytics subscriptions. + type: object + properties: + subsTransInfos: + type: array + items: + $ref: '#/components/schemas/SubscriptionTransferInfo' + minItems: 1 + failTransEventReports: + type: array + items: + $ref: '#/components/schemas/NwdafEvent' + minItems: 1 + required: + - subsTransInfos + + SubscriptionTransferInfo: + description: Contains information about subscriptions that are requested to be transferred. + type: object + properties: + transReqType: + $ref: '#/components/schemas/TransferRequestType' + nwdafEvSub: + $ref: '#/components/schemas/NnwdafEventsSubscription' + consumerId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + contextId: + $ref: '#/components/schemas/AnalyticsContextIdentifier' + sourceNfIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + sourceSetIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + modelInfo: + type: array + items: + $ref: '#/components/schemas/ModelInfo' + minItems: 1 + required: + - transReqType + - nwdafEvSub + - consumerId + + ModelInfo: + description: Contains information about an ML model. + type: object + properties: + analyticsId: + $ref: '#/components/schemas/NwdafEvent' + mlModelInfos: + type: array + items: + $ref: '#/components/schemas/MLModelInfo' + minItems: 1 + required: + - analyticsId + - mlModelInfos + MLModelInfo: + description: Contains information about an ML models. + type: object + properties: + mlFileAddrs: + type: array + items: + $ref: 'TS29520_Nnwdaf_MLModelProvision.yaml#/components/schemas/MLModelAddr' + minItems: 1 + modelProvId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + modelProvSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + oneOf: + - required: [modelProvId] + - required: [modelProvSetId] + + AnalyticsContextIdentifier: + description: Contains information about available analytics contexts. + type: object + properties: + subscriptionId: + type: string + description: The identifier of a subscription. + nfAnaCtxts: + type: array + items: + $ref: '#/components/schemas/NwdafEvent' + minItems: 1 + description: > + List of analytics types for which NF related analytics contexts can be retrieved. + ueAnaCtxts: + type: array + items: + $ref: '#/components/schemas/UeAnalyticsContextDescriptor' + minItems: 1 + description: > + List of objects that indicate for which SUPI and analytics types combinations analytics + context can be retrieved. + allOf: + - anyOf: + - required: [nfAnaCtxts] + - required: [ueAnaCtxts] + - required: [subscriptionId] + + UeAnalyticsContextDescriptor: + description: Contains information about available UE related analytics contexts. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + anaTypes: + type: array + items: + $ref: '#/components/schemas/NwdafEvent' + minItems: 1 + description: > + List of analytics types for which UE related analytics contexts can be retrieved. + required: + - supi + - anaTypes + + DnPerfInfo: + description: Represents DN performance information. + type: object + properties: + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnPerf: + type: array + items: + $ref: '#/components/schemas/DnPerf' + minItems: 1 + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - dnPerf + + DnPerf: + description: Represents DN performance for the application. + type: object + properties: + appServerInsAddr: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AddrFqdn' + upfInfo: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/UpfInformation' + dnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + perfData: + $ref: '#/components/schemas/PerfData' + spatialValidCon: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + temporalValidCon: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + required: + - perfData + + PerfData: + description: Represents DN performance data. + type: object + properties: + avgTrafficRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxTrafficRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + minTrafficRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + aggTrafficRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + varTrafficRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + trafRateUeIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + avePacketDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + maxPacketDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + varPacketDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + packDelayUeIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + avgPacketLossRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + maxPacketLossRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + varPacketLossRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + packLossUeIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + numOfUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + + DispersionRequirement: + description: Represents the dispersion analytics requirements. + type: object + properties: + disperType: + $ref: '#/components/schemas/DispersionType' + classCriters: + type: array + items: + $ref: '#/components/schemas/ClassCriterion' + minItems: 1 + rankCriters: + type: array + items: + $ref: '#/components/schemas/RankingCriterion' + minItems: 1 + dispOrderCriter: + $ref: '#/components/schemas/DispersionOrderingCriterion' + order: + $ref: '#/components/schemas/MatchingDirection' + required: + - disperType + + ClassCriterion: + description: > + Indicates the dispersion class criterion for fixed, camper and/or traveller UE, and/or the + top-heavy UE dispersion class criterion. + type: object + properties: + disperClass: + $ref: '#/components/schemas/DispersionClass' + classThreshold: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + thresMatch: + $ref: '#/components/schemas/MatchingDirection' + required: + - disperClass + - classThreshold + - thresMatch + + RankingCriterion: + description: Indicates the usage ranking criterion between the high, medium and low usage UE. + type: object + properties: + highBase: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + lowBase: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + required: + - highBase + - lowBase + + DispersionInfo: + description: > + Represents the Dispersion information. When subscribed event is "DISPERSION", the + "disperInfos" attribute shall be included. + type: object + properties: + tsStart: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tsDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + disperCollects: + type: array + items: + $ref: '#/components/schemas/DispersionCollection' + minItems: 1 + disperType: + $ref: '#/components/schemas/DispersionType' + required: + - tsStart + - tsDuration + - disperCollects + - disperType + + DispersionCollection: + description: Dispersion collection per UE location or per slice. + type: object + properties: + ueLoc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + appVolumes: + type: array + items: + $ref: '#/components/schemas/ApplicationVolume' + minItems: 1 + disperAmount: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + disperClass: + $ref: '#/components/schemas/DispersionClass' + usageRank: + type: integer + description: Integer where the allowed values correspond to 1, 2, 3 only. + minimum: 1 + maximum: 3 + percentileRank: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + ueRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + allOf: + - oneOf: + - required: [ueLoc] + - required: [snssai] + - anyOf: + - required: [disperAmount] + - required: [disperClass] + - required: [usageRank] + - required: [percentileRank] + + ApplicationVolume: + description: Application data volume per Application Id. + type: object + properties: + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + appVolume: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + required: + - appId + - appVolume + + RedundantTransmissionExpReq: + description: Represents other redundant transmission experience analytics requirements. + type: object + properties: + redTOrderCriter: + $ref: '#/components/schemas/RedTransExpOrderingCriterion' + order: + $ref: '#/components/schemas/MatchingDirection' + + RedundantTransmissionExpInfo: + description: > + The redundant transmission experience related information. When subscribed event is + "RED_TRANS_EXP", the "redTransInfos" attribute shall be included. + type: object + properties: + spatialValidCon: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + redTransExps: + type: array + items: + $ref: '#/components/schemas/RedundantTransmissionExpPerTS' + minItems: 1 + required: + - redTransExps + + RedundantTransmissionExpPerTS: + description: The redundant transmission experience per Time Slot. + type: object + properties: + tsStart: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tsDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + obsvRedTransExp: + $ref: '#/components/schemas/ObservedRedundantTransExp' + redTransStatus: + type: boolean + description: > + Redundant Transmission Status. Set to "true" if redundant transmission was activated, + otherwise set to "false". Default value is "false" if omitted. + ueRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - tsStart + - tsDuration + - obsvRedTransExp + ObservedRedundantTransExp: + description: Represents the observed redundant transmission experience related information. + type: object + properties: + avgPktDropRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + varPktDropRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + avgPktDropRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + varPktDropRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + avgPktDelayUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + varPktDelayUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + avgPktDelayDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + varPktDelayDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + avgE2ePktDelayUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + varE2ePktDelayUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + avgE2ePktDelayDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + varE2ePktDelayDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + avgE2ePktLossRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + varE2ePktLossRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + avgE2ePktLossRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + varE2ePktLossRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + + WlanPerformanceReq: + description: Represents other WLAN performance analytics requirements. + type: object + properties: + ssIds: + type: array + items: + type: string + minItems: 1 + bssIds: + type: array + items: + type: string + minItems: 1 + wlanOrderCriter: + $ref: '#/components/schemas/WlanOrderingCriterion' + order: + $ref: '#/components/schemas/MatchingDirection' + + WlanPerformanceInfo: + description: The WLAN performance related information. + type: object + properties: + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + wlanPerSsidInfos: + type: array + items: + $ref: '#/components/schemas/WlanPerSsIdPerformanceInfo' + minItems: 1 + wlanPerUeIdInfos: + type: array + items: + $ref: '#/components/schemas/WlanPerUeIdPerformanceInfo' + minItems: 1 + description: > + WLAN performance information for UE Id(s) of WLAN access points deployed in the Area + of Interest. + required: + - wlanPerSsidInfos + + WlanPerSsIdPerformanceInfo: + description: The WLAN performance per SSID. + type: object + properties: + ssId: + type: string + wlanPerTsInfos: + type: array + items: + $ref: '#/components/schemas/WlanPerTsPerformanceInfo' + minItems: 1 + required: + - ssId + - wlanPerTsInfos + + WlanPerUeIdPerformanceInfo: + description: The WLAN performance per UE ID. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + wlanPerTsInfos: + type: array + items: + $ref: '#/components/schemas/WlanPerTsPerformanceInfo' + minItems: 1 + description: > + WLAN performance information per Time Slot during the analytics target period. + required: + - supi + - wlanPerTsInfos + + WlanPerTsPerformanceInfo: + description: WLAN performance information per Time Slot during the analytics target period. + type: object + properties: + tsStart: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tsDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + rssi: + type: integer + rtt: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + trafficInfo: + $ref: '#/components/schemas/TrafficInformation' + numberOfUes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - tsStart + - tsDuration + anyOf: + - required: [rssi] + - required: [rtt] + - required: [trafficInfo] + - required: [numberOfUes] + + TrafficInformation: + description: Traffic information including UL/DL data rate and/or Traffic volume. + type: object + properties: + uplinkRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + downlinkRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + uplinkVolume: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + downlinkVolume: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + totalVolume: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + anyOf: + - required: [uplinkRate] + - required: [downlinkRate] + - required: [uplinkVolume] + - required: [downlinkVolume] + - required: [totalVolume] + + AppListForUeComm: + description: Represents the analytics of the application list used by UE. + type: object + properties: + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + appDur: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + occurRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + spatialValidity: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + required: + - appId + + SessInactTimerForUeComm: + description: Represents the N4 Session inactivity timer. + type: object + properties: + n4SessId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + sessInactiveTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - n4SessId + - sessInactiveTimer + + DnPerformanceReq: + description: Represents other DN performance analytics requirements. + type: object + properties: + dnPerfOrderCriter: + $ref: '#/components/schemas/DnPerfOrderingCriterion' + order: + $ref: '#/components/schemas/MatchingDirection' + reportThresholds: + type: array + items: + $ref: '#/components/schemas/ThresholdLevel' + minItems: 1 + + RatFreqInformation: + description: Represents the RAT type and/or Frequency information. + type: object + properties: + allFreq: + type: boolean + description: > + Set to "true" to indicate to handle all the frequencies the NWDAF received, otherwise + set to "false" or omit. The "allFreq" attribute and the "freq" attribute are mutually + exclusive. + allRat: + type: boolean + description: > + Set to "true" to indicate to handle all the RAT Types the NWDAF received, otherwise + set to "false" or omit. The "allRat" attribute and the "ratType" attribute are mutually + exclusive. + freq: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ArfcnValueNR' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + svcExpThreshold: + $ref: '#/components/schemas/ThresholdLevel' + matchingDir: + $ref: '#/components/schemas/MatchingDirection' + + PrevSubInfo: + description: Information of the previous subscription. + type: object + properties: + producerId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + producerSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + subscriptionId: + type: string + description: The identifier of a subscription. + nfAnaEvents: + type: array + items: + $ref: '#/components/schemas/NwdafEvent' + minItems: 1 + ueAnaEvents: + type: array + items: + $ref: '#/components/schemas/UeAnalyticsContextDescriptor' + minItems: 1 + required: + - subscriptionId + oneOf: + - required: [producerId] + - required: [producerSetId] + + ResourceUsage: + description: > + The current usage of the virtual resources assigned to the NF instances belonging to a + particular network slice instance. + type: object + properties: + cpuUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + memoryUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + storageUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + + ConsumerNfInformation: + description: Represents the analytics consumer NF Information. + type: object + properties: + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + oneOf: + - oneOf: + - required: [nfId] + - required: [nfSetId] + - required: [taiList] + + UeCommReq: + description: UE communication analytics requirement. + type: object + properties: + orderCriterion: + $ref: '#/components/schemas/UeCommOrderCriterion' + orderDirection: + $ref: '#/components/schemas/MatchingDirection' + UeMobilityReq: + description: UE mobility analytics requirement. + type: object + properties: + orderCriterion: + $ref: '#/components/schemas/UeMobilityOrderCriterion' + orderDirection: + $ref: '#/components/schemas/MatchingDirection' + ueLocOrderInd: + type: boolean + description: > + UE Location order indication. Set to "true" to indicate the NWDAF to provide UE + locations in the UE Mobility analytics in time order, otherwise set to "false" or + omitted. + distThresholds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + description: Indicates the linear distance threshold. + + PduSessionInfo: + description: Represents combination of PDU Session parameter(s) information. + type: object + properties: + pduSessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + sscMode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode' + accessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + + PfdDeterminationInfo: + description: Represents the PFD Determination information for a known application identifier. + type: object + properties: + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + flowDescriptions: + type: array + items: + type: string + minItems: 1 + description: > + Represents a 3-tuple with protocol, server ip and server port for UL/DL + application traffic. The content of the string has the same encoding as the IPFilterRule + AVP value as defined in IETF RFC 6733. + urls: + type: array + items: + type: string + minItems: 1 + description: Represents the significant parts of the URL to be matched, e.g. host name. + domainNames: + type: array + items: + type: string + minItems: 1 + description: Represents Domain name matching criteria. + dnProtocol: + $ref: 'TS29122_PfdManagement.yaml#/components/schemas/DomainNameProtocol' + pfdConfidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - appId + + PduSesTrafficInfo: + description: Represents the PDU Set traffic analytics information. + type: object + properties: + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + tdMatchTrafs: + type: array + items: + $ref: '#/components/schemas/TdTraffic' + minItems: 1 + tdUnmatchTrafs: + type: array + items: + $ref: '#/components/schemas/TdTraffic' + minItems: 1 + allOf: + - anyOf: + - required: [dnn] + - required: [snssai] + - anyOf: + - required: [tdMatchTrafs] + - required: [tdUnmatchTrafs] + + TdTraffic: + description: Represents traffic that matches or unmatches Traffic Descriptor of URSP rule. + type: object + properties: + pduSesTrafReqs: + type: array + items: + $ref: '#/components/schemas/PduSesTrafficReq' + minItems: 1 + ulVol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + dlVol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + allVol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + ulNumOfPkt: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + dlNumOfPkt: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + allNumOfPkt: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + + PduSesTrafficReq: + description: Represents the PDU Session traffic analytics requirements. + type: object + properties: + flowDescs: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowDescription' + minItems: 1 + description: > + Indicates traffic flow filtering description(s) for IP flow(s). + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + domainDescs: + type: array + items: + type: string + minItems: 1 + description: > + FQDN(s) or a regular expression which are used as a domain name matching criteria. + oneOf: + - required: [flowDescs] + - required: [appId] + - required: [domainDescs] + + ResourceUsageRequirement: + description: resource usage requirement. + type: object + properties: + tfcDirc: + $ref: '#/components/schemas/TrafficDirection' + valExp: + $ref: '#/components/schemas/ValueExpression' + + E2eDataVolTransTimeReq: + description: Represents other E2E data volume transfer time analytics requirements. + type: object + properties: + criterion: + $ref: '#/components/schemas/E2eDataVolTransTimeCriterion' + order: + $ref: '#/components/schemas/MatchingDirection' + highTransTmThr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + lowTransTmThr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + repeatDataTrans: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + tsIntervalDataTrans: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + dataVolume: + $ref: '#/components/schemas/DataVolume' + maxNumberUes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + oneOf: + - required: [repeatDataTrans] + - required: [tsIntervalDataTrans] + + DataVolume: + description: Data Volume including UL/DL. + type: object + properties: + uplinkVolume: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + downlinkVolume: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + anyOf: + - required: [uplinkVolume] + - required: [downlinkVolume] + + E2eDataVolTransTimeInfo: + description: > + Represents the E2E data volume transfer time analytics information when subscribed event is + "E2E_DATA_VOL_TRANS_TIME", the "dataVlTrnsTmInfos" attribute shall be included. + type: object + properties: + e2eDataVolTransTimes: + type: array + items: + $ref: '#/components/schemas/E2eDataVolTransTimePerTS' + minItems: 1 + e2eDataVolTransTimeUeLists: + type: array + items: + $ref: '#/components/schemas/E2eDataVolTransTimeUeList' + minItems: 1 + geoDistrInfos: + type: array + items: + $ref: '#/components/schemas/GeoDistributionInfo' + minItems: 1 + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - e2eDataVolTransTimes + + E2eDataVolTransTimePerTS: + description: Represents the E2E data volume transfer time analytics per Time Slot. + type: object + properties: + tsStart: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tsDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + e2eDataVolTransTimePerUe: + type: array + items: + $ref: '#/components/schemas/E2eDataVolTransTimePerUe' + minItems: 1 + required: + - tsStart + - tsDuration + - e2eDataVolTransTimePerUe + + E2eDataVolTransTimePerUe: + description: Represents the E2E data volume transfer time per UE. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + ueLoc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + dnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + spatialValidity: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + validityPeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + dataVolTransTime: + $ref: '#/components/schemas/DataVolumeTransferTime' + oneOf: + - required: [ueLoc] + - required: [snssai] + + E2eDataVolTransTimeUeList: + description: > + Contains the list of UEs classified based on experience level of E2E Data Volume Transfer + Time + properties: + highLevel: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + mediumLevel: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + lowLevel: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + lowRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + mediumRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + highRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + spatialValidity: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + validityPeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + anyOf: + - required: [highLevel] + - required: [mediumLevel] + - required: [lowLevel] + + DataVolumeTransferTime: + description: > + Indicates the E2E data volume transfer time and the data volume used to derive the transfer + time. + properties: + uplinkVolume: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + avgTransTimeUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + varTransTimeUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + downlinkVolume: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + avgTransTimeDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + varTransTimeDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + + GeoLocation: + description: > + Represents a horizontal and optionally vertical location using either geographic + or local coordinates. + type: object + properties: + point: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Point' + pointAlt: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/PointAltitude' + refPoint: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LocalOrigin' + localCoords: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/RelativeCartesianLocation' + anyOf: + - required: [point] + - required: [pointAlt] + - allOf: + - required: [refPoint] + - required: [localCoords] + + LocAccuracyReq: + description: > + Contains location accuracy analytics requirements. + type: object + properties: + accThres: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + accThresMatchDir: + $ref: '#/components/schemas/MatchingDirection' + inOutThres: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + inOutThresMatchDir: + $ref: '#/components/schemas/MatchingDirection' + posMethod: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/PositioningMethod' + + LocAccuracyInfo: + description: > + Contains location accuracy analytics. + type: object + properties: + locAccPerMeths: + type: array + items: + $ref: '#/components/schemas/LocAccuracyPerMethod' + minItems: 1 + description: Location accuracy information per positioning method. + inOutUePct: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + inOutInd: + type: boolean + description: Indicates if the target location is indoors or outdoors. + required: + - locAccPerMeths + not: + required: [inOutUePct, inOutInd] + + LocAccuracyPerMethod: + description: > + Contains location accuracy analytics per positioning method. + type: object + properties: + posMethod: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/PositioningMethod' + locAcc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + losNlosPercent: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - posMethod + - locAcc + AccuracyReq: + description: Represents the analytics accuracy requirement information. + type: object + properties: + accuTimeWin: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + accuPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + accuDevThr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minNum: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + updatedAnaFlg: + type: boolean + description: > + Indicates the updated Analytics flag. Set to "true" indicates that the NWDAF can provide + the updated analytics if the analytics can be generated within the analytics accuracy + information time window, which is specified by "accuTimeWin" attribute. + Otherwise set to “false”. Default value is “false” if omitted. + correctionInterval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + AccuracyInfo: + description: The analytics accuracy information. + type: object + properties: + accuracyVal: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + accuSampleNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + + anaAccuInd: + $ref: '#/components/schemas/AnalyticsAccuracyIndication' + + MovBehavReq: + description: Represents the Movement Behaviour analytics requirements. + properties: + locationGranReq: + $ref: '#/components/schemas/LocInfoGranularity' + reportThresholds: + $ref: '#/components/schemas/ThresholdLevel' + + MovBehavInfo: + description: Represents the Movement Behaviour information. + properties: + geoLoc: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicalCoordinates' + movBehavs: + type: array + items: + $ref: '#/components/schemas/MovBehav' + minItems: 1 + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + + MovBehav: + description: Represents the Movement Behaviour information per time slot. + properties: + tsStart: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tsDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + numOfUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + avrSpeed: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + speedThresdInfos: + type: array + items: + $ref: '#/components/schemas/SpeedThresholdInfo' + minItems: 1 + directionUeInfos: + type: array + items: + $ref: '#/components/schemas/DirectionInfo' + minItems: 1 + required: + - tsStart + - tsDuration + + SpeedThresholdInfo: + description: UEs information whose speed is faster than the speed threshold. + properties: + numOfUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + + RelProxReq: + description: Represents the Relative Proximity analytics requirements. + properties: + direction: + type: array + items: + $ref: '#/components/schemas/Direction' + minItems: 1 + numOfUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + proximityCrits: + type: array + items: + $ref: '#/components/schemas/ProximityCriterion' + minItems: 1 + + RelProxInfo: + description: Represents the Relative Proximity information. + properties: + tsStart: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tsDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + ueProximities: + type: array + items: + $ref: '#/components/schemas/UeProximity' + minItems: 1 + ttcInfo: + $ref: '#/components/schemas/TimeToCollisionInfo' + required: + - tsStart + - tsDuration + - ueProximities + + UeProximity: + description: Represents the Observed or Predicted proximity information. + properties: + ueDistance: + type: integer + ueVelocity: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityEstimate' + avrSpeed: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + locOrientation: + $ref: '#/components/schemas/LocationOrientation' + ueTrajectories: + type: array + items: + $ref: '#/components/schemas/UeTrajectory' + minItems: 1 + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + + UeTrajectory: + description: Represents timestamped UE positions. + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + timestampedLocs: + type: array + items: + $ref: '#/components/schemas/TimestampedLocation' + minItems: 1 + required: + - timestampedLocs + oneOf: + - required: [supi] + - required: [gpsi] + + TimestampedLocation: + description: The timestamped locations of the trajectory of the UE. + properties: + ts: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + locInfo: + items: + $ref: '#/components/schemas/LocationInfo' + required: + - ts + - locInfo + + TimeToCollisionInfo: + description: Represents Time To Collision (TTC) information. + properties: + ttc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + accuracy: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + + AnalyticsFeedbackInfo: + description: Analytics feedback information. + properties: + actionTimes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minItems: 1 + description: The times at which an action was taken. + usedAnaTypes: + type: array + items: + $ref: '#/components/schemas/NwdafEvent' + minItems: 1 + description: The analytics types that were used to take the action. + impactInd: + type: boolean + description: Indication about the impact of an action on the ground truth data. + required: + - actionTimes + + RoamingInfo: + description: Information related to roaming analytics. + type: object + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + aois: + type: array + items: + $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea' + minItems: 1 + description: Areas of Interest in the HPLMN or the VPLMN. + servingNfIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + description: NF ID(s) of the NF(s) serving the roaming UE(s) in the VPLMN. + servingNfSetIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + description: NF Set ID(s) of the NF Set(s) serving the roaming UE(s) in the VPLMN. + +# +# ENUMERATIONS DATA TYPES +# + NotificationMethod: + anyOf: + - type: string + enum: + - PERIODIC + - THRESHOLD + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the notification methods for the subscribed events. + Possible values are: + - PERIODIC: The notification of the subscribed NWDAF Event is periodical. The period + between the notifications is identified by repetitionPeriod and represents time in + seconds. + - THRESHOLD: The subscribe of NWDAF Event is upon threshold exceeded. + + NwdafEvent: + anyOf: + - type: string + enum: + - SLICE_LOAD_LEVEL + - NETWORK_PERFORMANCE + - NF_LOAD + - SERVICE_EXPERIENCE + - UE_MOBILITY + - UE_COMMUNICATION + - QOS_SUSTAINABILITY + - ABNORMAL_BEHAVIOUR + - USER_DATA_CONGESTION + - NSI_LOAD_LEVEL + - DN_PERFORMANCE + - DISPERSION + - RED_TRANS_EXP + - WLAN_PERFORMANCE + - SM_CONGESTION + - PFD_DETERMINATION + - PDU_SESSION_TRAFFIC + - E2E_DATA_VOL_TRANS_TIME + - MOVEMENT_BEHAVIOUR + - NUM_OF_UE + - MOV_UE_RATIO + - AVR_SPEED + - SPEED_THRESHOLD + - MOV_UE_DIRECTION + - LOC_ACCURACY + - RELATIVE_PROXIMITY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Describes the NWDAF Events. + Possible values are: + - SLICE_LOAD_LEVEL: Indicates that the event subscribed is load level information of Network + Slice. + - NETWORK_PERFORMANCE: Indicates that the event subscribed is network performance + information. + - NF_LOAD: Indicates that the event subscribed is load level and status of one or several + Network Functions. + - SERVICE_EXPERIENCE: Indicates that the event subscribed is service experience. + - UE_MOBILITY: Indicates that the event subscribed is UE mobility information. + - UE_COMMUNICATION: Indicates that the event subscribed is UE communication information. + - QOS_SUSTAINABILITY: Indicates that the event subscribed is QoS sustainability. + - ABNORMAL_BEHAVIOUR: Indicates that the event subscribed is abnormal behaviour. + - USER_DATA_CONGESTION: Indicates that the event subscribed is user data congestion + information. + - NSI_LOAD_LEVEL: Indicates that the event subscribed is load level information of Network + Slice and the optionally associated Network Slice Instance. + - DN_PERFORMANCE: Indicates that the event subscribed is DN performance information. + - DISPERSION: Indicates that the event subscribed is dispersion information. + - RED_TRANS_EXP: Indicates that the event subscribed is redundant transmission experience. + - WLAN_PERFORMANCE: Indicates that the event subscribed is WLAN performance. + - SM_CONGESTION: Indicates the Session Management Congestion Control Experience information + for specific DNN and/or S-NSSAI. + - PFD_DETERMINATION: Indicates that the event subscribed is the PFD Determination nformation + for known application identifier(s). + - PDU_SESSION_TRAFFIC: Indicates that the event subscribed is the PDU Session traffic + information. + - E2E_DATA_VOL_TRANS_TIME: Indicates that the event subscribed is of E2E data volume + transfer time. + - MOVEMENT_BEHAVIOUR: Indicates that the event subscribed is the Movement Behaviour + information. + - LOC_ACCURACY: Indicates that the event subscribed is of location accuracy. + - RELATIVE_PROXIMITY: Indicates that the event subscribed is the Relative Proximity + information. + + + Accuracy: + anyOf: + - type: string + enum: + - LOW + - MEDIUM + - HIGH + - HIGHEST + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the preferred level of accuracy of the analytics. + Possible values are: + - LOW: Low accuracy. + - MEDIUM: Medium accuracy. + - HIGH: High accuracy. + - HIGHEST: Highest accuracy. + + CongestionType: + anyOf: + - type: string + enum: + - USER_PLANE + - CONTROL_PLANE + - USER_AND_CONTROL_PLANE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Indicates the congestion analytics type. + Possible values are: + - USER_PLANE: The congestion analytics type is User Plane. + - CONTROL_PLANE: The congestion analytics type is Control Plane. + - USER_AND_CONTROL_PLANE: The congestion analytics type is User Plane and Control Plane. + + ExceptionId: + anyOf: + - type: string + enum: + - UNEXPECTED_UE_LOCATION + - UNEXPECTED_LONG_LIVE_FLOW + - UNEXPECTED_LARGE_RATE_FLOW + - UNEXPECTED_WAKEUP + - SUSPICION_OF_DDOS_ATTACK + - WRONG_DESTINATION_ADDRESS + - TOO_FREQUENT_SERVICE_ACCESS + - UNEXPECTED_RADIO_LINK_FAILURES + - PING_PONG_ACROSS_CELLS + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Describes the Exception Id. + Possible values are: + - UNEXPECTED_UE_LOCATION: Unexpected UE location. + - UNEXPECTED_LONG_LIVE_FLOW: Unexpected long-live rate flows. + - UNEXPECTED_LARGE_RATE_FLOW: Unexpected large rate flows. + - UNEXPECTED_WAKEUP: Unexpected wakeup. + - SUSPICION_OF_DDOS_ATTACK: Suspicion of DDoS attack. + - WRONG_DESTINATION_ADDRESS: Wrong destination address. + - TOO_FREQUENT_SERVICE_ACCESS: Too frequent Service Access. + - UNEXPECTED_RADIO_LINK_FAILURES: Unexpected radio link failures. + - PING_PONG_ACROSS_CELLS: Ping-ponging across neighbouring cells. + + ExceptionTrend: + anyOf: + - type: string + enum: + - UP + - DOWN + - UNKNOW + - STABLE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the Exception Trend. + Possible values are: + - UP: Up trend of the exception level. + - DOWN: Down trend of the exception level. + - UNKNOW: Unknown trend of the exception level. + - STABLE: Stable trend of the exception level. + + TimeUnit: + anyOf: + - type: string + enum: + - MINUTE + - HOUR + - DAY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the unit for the session active time. + Possible values are: + - MINUTE: Time unit is per minute. + - HOUR: Time unit is per hour. + - DAY: Time unit is per day. + + NetworkPerfType: + anyOf: + - type: string + enum: + - GNB_ACTIVE_RATIO + - GNB_COMPUTING_USAGE + - GNB_MEMORY_USAGE + - GNB_DISK_USAGE + - GNB_RSC_USAGE_OVERALL_TRAFFIC + - GNB_RSC_USAGE_GBR_TRAFFIC + - GNB_RSC_USAGE_DELAY_CRIT_GBR_TRAFFIC + - NUM_OF_UE + - SESS_SUCC_RATIO + - HO_SUCC_RATIO + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the network performance types. + Possible values are: + - GNB_ACTIVE_RATIO: Indicates that the network performance requirement is gNodeB active + (i.e. up and running) rate. Indicates the ratio of gNB active (i.e. up and running) number + to the total number of gNB. + - GNB_COMPUTING_USAGE: Indicates gNodeB computing resource usage. + - GNB_MEMORY_USAGE: Indicates gNodeB memory usage. + - GNB_DISK_USAGE: Indicates gNodeB disk usage. + - GNB_RSC_USAGE_OVERALL_TRAFFIC: The gNB resource usage. + - GNB_RSC_USAGE_GBR_TRAFFIC: The gNB resource usage for GBR traffic. + - GNB_RSC_USAGE_DELAY_CRIT_GBR_TRAFFIC: The gNB resource usage for Delay-critical GBR + traffic. + - NUM_OF_UE: Indicates number of UEs. + - SESS_SUCC_RATIO: Indicates ratio of successful setup of PDU sessions to total PDU + session setup attempts. + - HO_SUCC_RATIO: Indicates Ratio of successful handovers to the total handover attempts. + + ExpectedAnalyticsType: + anyOf: + - type: string + enum: + - MOBILITY + - COMMUN + - MOBILITY_AND_COMMUN + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the expected UE analytics type. + Possible values are: + - MOBILITY: Mobility related abnormal behaviour analytics is expected by the consumer. + - COMMUN: Communication related abnormal behaviour analytics is expected by the consumer. + - MOBILITY_AND_COMMUN: Both mobility and communication related abnormal behaviour analytics + is expected by the consumer. + + MatchingDirection: + anyOf: + - type: string + enum: + - ASCENDING + - DESCENDING + - CROSSED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the matching direction when crossing a threshold. + Possible values are: + - ASCENDING: Threshold is crossed in ascending direction. + - DESCENDING: Threshold is crossed in descending direction. + - CROSSED: Threshold is crossed either in ascending or descending direction. + + NwdafFailureCode: + anyOf: + - type: string + enum: + - UNAVAILABLE_DATA + - BOTH_STAT_PRED_NOT_ALLOWED + - PREDICTION_NOT_ALLOWED + - UNSATISFIED_REQUESTED_ANALYTICS_TIME + - OTHER + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the failure reason. + Possible values are: + - UNAVAILABLE_DATA: Indicates the requested statistics information for the event is rejected + since necessary data to perform the service is unavailable. + - BOTH_STAT_PRED_NOT_ALLOWED: Indicates the requested analysis information for the event is + rejected since the start time is in the past and the end time is in the future, which + means the NF service consumer requested both statistics and prediction for the analytics. + - PREDICTION_NOT_ALLOWED: Indicates that the request for the prediction of the analytics + event is not allowed. + - UNSATISFIED_REQUESTED_ANALYTICS_TIME: Indicates that the requested event is rejected since + the analytics information is not ready when the time indicated by the "timeAnaNeeded" + attribute (as provided during the creation or modification of subscription) is reached. + - OTHER: Indicates the requested analysis information for the event is rejected due to other + reasons. + + AnalyticsMetadata: + anyOf: + - type: string + enum: + - NUM_OF_SAMPLES + - DATA_WINDOW + - DATA_STAT_PROPS + - STRATEGY + - ACCURACY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the types of analytics metadata information that can be requested. + Possible values are: + - NUM_OF_SAMPLES: Number of data samples used for the generation of the output analytics. + - DATA_WINDOW: Data time window of the data samples. + - DATA_STAT_PROPS: Dataset statistical properties of the data used to generate the + analytics. + - STRATEGY: Output strategy used for the reporting of the analytics. + - ACCURACY: Level of accuracy reached for the analytics. + + DatasetStatisticalProperty: + anyOf: + - type: string + enum: + - UNIFORM_DIST_DATA + - NO_OUTLIERS + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the dataset statistical properties. + Possible values are: + - UNIFORM_DIST_DATA: Indicates the use of data samples that are uniformly distributed + according to the different aspects of the requested analytics. + - NO_OUTLIERS: Indicates that the data samples shall disregard data samples that are at + the extreme boundaries of the value range. + + OutputStrategy: + anyOf: + - type: string + enum: + - BINARY + - GRADIENT + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the output strategy used for the analytics reporting. + Possible values are: + - BINARY: Indicates that the analytics shall only be reported when the requested level + of accuracy is reached within a cycle of periodic notification. + - GRADIENT: Indicates that the analytics shall be reported according with the periodicity + irrespective of whether the requested level of accuracy has been reached or not. + + TransferRequestType: + anyOf: + - type: string + enum: + - PREPARE + - TRANSFER + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the request type for the analytics subscription transfer. + Possible values are: + - PREPARE: Indicates that the request is for analytics subscription transfer preparation. + - TRANSFER: Indicates that the request is for analytics subscription transfer execution. + + AnalyticsSubset: + anyOf: + - type: string + enum: + - NUM_OF_UE_REG + - NUM_OF_PDU_SESS_ESTBL + - RES_USAGE + - NUM_OF_EXCEED_RES_USAGE_LOAD_LEVEL_THR + - PERIOD_OF_EXCEED_RES_USAGE_LOAD_LEVEL_THR + - EXCEED_LOAD_LEVEL_THR_IND + - LIST_OF_TOP_APP_UL + - LIST_OF_TOP_APP_DL + - NF_STATUS + - NF_RESOURCE_USAGE + - NF_LOAD + - NF_PEAK_LOAD + - NF_LOAD_AVG_IN_AOI + - DISPER_AMOUNT + - DISPER_CLASS + - RANKING + - PERCENTILE_RANKING + - RSSI + - RTT + - TRAFFIC_INFO + - NUMBER_OF_UES + - APP_LIST_FOR_UE_COMM + - N4_SESS_INACT_TIMER_FOR_UE_COMM + - AVG_TRAFFIC_RATE + - MAX_TRAFFIC_RATE + - AGG_TRAFFIC_RATE + - VAR_TRAFFIC_RATE + - AVG_PACKET_DELAY + - MAX_PACKET_DELAY + - VAR_PACKET_DELAY + - AVG_PACKET_LOSS_RATE + - MAX_PACKET_LOSS_RATE + - VAR_PACKET_LOSS_RATE + - UE_LOCATION + - LIST_OF_HIGH_EXP_UE + - LIST_OF_MEDIUM_EXP_UE + - LIST_OF_LOW_EXP_UE + - AVG_UL_PKT_DROP_RATE + - VAR_UL_PKT_DROP_RATE + - AVG_DL_PKT_DROP_RATE + - VAR_DL_PKT_DROP_RATE + - AVG_UL_PKT_DELAY + - VAR_UL_PKT_DELAY + - AVG_DL_PKT_DELAY + - VAR_DL_PKT_DELAY + - TRAFFIC_MATCH_TD + - TRAFFIC_UNMATCH_TD + - NUMBER_OF_UE + - UE_GEOG_DIST + - UE_DIRECTION + - AVG_E2E_UL_PKT_DELAY + - VAR_E2E_UL_PKT_DELAY + - AVG_E2E_DL_PKT_DELAY + - VAR_E2E_DL_PKT_DELAY + - AVG_E2E_UL_PKT_LOSS_RATE + - VAR_E2E_UL_PKT_LOSS_RATE + - AVG_E2E_DL_PKT_LOSS_RATE + - VAR_E2E_DL_PKT_LOSS_RATE + - E2E_DATA_VOL_TRANS_TIME_FOR_UE_LIST + - IN_OUT_PERCENT + - TIME_TO_COLLISION + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the analytics subset. + Possible values are: + - NUM_OF_UE_REG: The number of UE registered. This value is only applicable to + NSI_LOAD_LEVEL event. + - NUM_OF_PDU_SESS_ESTBL: The number of PDU sessions established. This value is only + applicable to NSI_LOAD_LEVEL event. + - RES_USAGE: The current usage of the virtual resources assigned to the NF instances + belonging to a particular network slice instance. This value is only applicable to + NSI_LOAD_LEVEL event. + - NUM_OF_EXCEED_RES_USAGE_LOAD_LEVEL_THR: The number of times the resource usage threshold + of the network slice instance is reached or exceeded if a threshold value is provided by + the consumer. This value is only applicable to NSI_LOAD_LEVEL event. + - PERIOD_OF_EXCEED_RES_USAGE_LOAD_LEVEL_THR: The time interval between each time the + threshold being met or exceeded on the network slice (instance). This value is only + applicable to NSI_LOAD_LEVEL event. + - EXCEED_LOAD_LEVEL_THR_IND: Whether the Load Level Threshold is met or exceeded by the + statistics value. This value is only applicable to NSI_LOAD_LEVEL event. + - LIST_OF_TOP_APP_UL: The list of applications that contribute the most to the traffic in + the UL direction. This value is only applicable to USER_DATA_CONGESTION event. + - LIST_OF_TOP_APP_DL: The list of applications that contribute the most to the traffic in + the DL direction. This value is only applicable to USER_DATA_CONGESTION event. + - NF_STATUS: The availability status of the NF on the Analytics target period, expressed + as a percentage of time per status value (registered, suspended, undiscoverable). This + value is only applicable to NF_LOAD event. + - NF_RESOURCE_USAGE: The average usage of assigned resources (CPU, memory, storage). This + value is only applicable to NF_LOAD event. + - NF_LOAD: The average load of the NF instance over the Analytics target period. This value + is only applicable to NF_LOAD event. + - NF_PEAK_LOAD: The maximum load of the NF instance over the Analytics target period. This + value is only applicable to NF_LOAD event. + - NF_LOAD_AVG_IN_AOI: The average load of the NF instances over the area of interest. This + value is only applicable to NF_LOAD event. + - DISPER_AMOUNT: Indicates the dispersion amount of the reported data volume or transaction + dispersion type. This value is only applicable to DISPERSION event. + - DISPER_CLASS: Indicates the dispersion mobility class: fixed, camper, traveller upon set + its usage threshold, and/or the top-heavy class upon set its percentile rating threshold. + This value is only applicable to DISPERSION event. + - RANKING: Data/transaction usage ranking high (i.e.value 1), medium (2) or low (3). This + value is only applicable to DISPERSION event. + - PERCENTILE_RANKING: Percentile ranking of the target UE in the Cumulative Distribution + Function of data usage for the population of all UEs. This value is only applicable to + DISPERSION event. + - RSSI: Indicated the RSSI in the unit of dBm. This value is only applicable to + WLAN_PERFORMANCE event. + - RTT: Indicates the RTT in the unit of millisecond. This value is only applicable to + WLAN_PERFORMANCE event. + - TRAFFIC_INFO: Traffic information including UL/DL data rate and/or Traffic volume. This + value is only applicable to WLAN_PERFORMANCE event. + - NUMBER_OF_UES: Number of UEs observed for the SSID. This value is only applicable to + WLAN_PERFORMANCE event. + - APP_LIST_FOR_UE_COMM: The analytics of the application list used by UE. This value is only + applicable to UE_COMM event. + - N4_SESS_INACT_TIMER_FOR_UE_COMM: The N4 Session inactivity timer. This value is only + applicable to UE_COMM event. + - AVG_TRAFFIC_RATE: Indicates average traffic rate. This value is only applicable to + DN_PERFORMANCE event. + - MAX_TRAFFIC_RATE: Indicates maximum traffic rate. This value is only applicable to + DN_PERFORMANCE event. + - AGG_TRAFFIC_RATE: Indicates aggregated traffic rate. This value is only applicable to + DN_PERFORMANCE event. + - VAR_TRAFFIC_RATE: Indicates variance traffic rate. This value is only applicable to + DN_PERFORMANCE event. + - AVG_PACKET_DELAY: Indicates average Packet Delay. This value is only applicable to + DN_PERFORMANCE event. + - MAX_PACKET_DELAY: Indicates maximum Packet Delay. This value is only applicable to + DN_PERFORMANCE event. + - VAR_PACKET_DELAY: Indicates variance Packet Delay. This value is only applicable to + DN_PERFORMANCE event. + - AVG_PACKET_LOSS_RATE: Indicates average Loss Rate. This value is only applicable to + DN_PERFORMANCE event. + - MAX_PACKET_LOSS_RATE: Indicates maximum Packet Loss Rate. This value is only applicable to + DN_PERFORMANCE event. + - VAR_PACKET_LOSS_RATE: Indicates variance Packet Loss Rate. This value is only applicable + to DN_PERFORMANCE event. + - UE_LOCATION: Indicates UE location information. This value is only applicable to + SERVICE_EXPERIENCE event. + - LIST_OF_HIGH_EXP_UE: Indicates list of high experienced UE. This value is only applicable + to SM_CONGESTION event. + - LIST_OF_MEDIUM_EXP_UE: Indicates list of medium experienced UE. This value is only + applicable to SM_CONGESTION event. + - LIST_OF_LOW_EXP_UE: Indicates list of low experienced UE. This value is only applicable to + SM_CONGESTION event. + - AVG_UL_PKT_DROP_RATE: Indicates average uplink packet drop rate on GTP-U path on N3. This + value is only applicable to RED_TRANS_EXP event. + - VAR_UL_PKT_DROP_RATE: Indicates variance of uplink packet drop rate on GTP-U path on N3. + This value is only applicable to RED_TRANS_EXP event. + - AVG_DL_PKT_DROP_RATE: Indicates average downlink packet drop rate on GTP-U path on N3. + This value is only applicable to RED_TRANS_EXP event. + - VAR_DL_PKT_DROP_RATE: Indicates variance of downlink packet drop rate on GTP-U path on N3. + This value is only applicable to RED_TRANS_EXP event. + - AVG_UL_PKT_DELAY: Indicates average uplink packet delay round trip on GTP-U path on N3. + This value is only applicable to RED_TRANS_EXP event. + - VAR_UL_PKT_DELAY: Indicates variance uplink packet delay round trip on GTP-U path on N3. + This value is only applicable to RED_TRANS_EXP event. + - AVG_DL_PKT_DELAY: Indicates average downlink packet delay round trip on GTP-U path on N3. + This value is only applicable to RED_TRANS_EXP event. + - VAR_DL_PKT_DELAY: Indicates variance downlink packet delay round trip on GTP-U path on N3. + This value is only applicable to RED_TRANS_EXP event. + - TRAFFIC_MATCH_TD: Identifies traffic that matches Traffic Descriptor provided by + the consumer. + - TRAFFIC_UNMATCH_TD: Identifies traffic that does not match Traffic Descriptor + provided by the consumer. + - NUMBER_OF_UE: Indicates the number of UEs. This value is only applicable to + DN_PERFORMANCE event. + - UE_GEOG_DIST: Indicates the geographical distribution of the UEs that can be selected by + the AF for application service. This value is only applicable to UE_MOBILITY event. + - UE_DIRECTION: Indicates the direction of the UEs. This value is only applicable to + UE_MOBILITY event. + - AVG_E2E_UL_PKT_DELAY: Indicates average End-to-End (between UE and UPF) uplink packet + delay. This value is only applicable to RED_TRANS_EXP event. + - VAR_E2E_UL_PKT_DELAY: Indicates the variance of End-to-End (between UE and UPF) uplink + packet delay. This value is only applicable to RED_TRANS_EXP event. + - AVG_E2E_DL_PKT_DELAY: Indicates average End-to-End (between UE and UPF) downlink packet + delay. This value is only applicable to RED_TRANS_EXP event. + - VAR_E2E_DL_PKT_DELAY: Indicates the variance of End-to-End (between UE and UPF) downlink + packet delay. This value is only applicable to RED_TRANS_EXP event. + - AVG_E2E_UL_PKT_LOSS_RATE: Indicates average End-to-End (between UE and UPF) uplink packet + loss rate. This value is only applicable to RED_TRANS_EXP event. + - VAR_E2E_UL_PKT_LOSS_RATE: Indicates the variance of End-to-End (between UE and UPF) uplink + packet loss rate. This value is only applicable to RED_TRANS_EXP event. + - AVG_E2E_DL_PKT_LOSS_RATE: Indicates average End-to-End (between UE and UPF) downlink + packet loss rate. This value is only applicable to RED_TRANS_EXP event. + - VAR_E2E_DL_PKT_LOSS_RATE: Indicates the variance of End-to-End (between UE and UPF) + downlink packet loss rate. This value is only applicable to RED_TRANS_EXP event. + - E2E_DATA_VOL_TRANS_TIME_FOR_UE_LIST: Indicates the classified E2E data volume transfer + time statistics or predictions for multiple UEs with respect to one or more reporting + thresholds. + - NUM_OF_UE: Indicates the total number of users in the area of interest. This + value is only applicable to MOVEMENT_BEHAVIOUR event. + - MOV_UE_RATIO: Indicates the Ratio of moving UEs in the area of interest. This value + is only applicable to MOVEMENT_BEHAVIOUR event. + - AVR_SPEED: Indicates the average speed of all UEs in the area of interest. This value + is only applicable to MOVEMENT_BEHAVIOUR event. + - SPEED_THRESHOLD: Indicates the information on UEs in the area of interest whose speed + is faster than the speed threshold. This value is only applicable to MOVEMENT_BEHAVIOUR + event. + - MOV_UE_DIRECTION: Indicates the heading directions of the UE flow in the target area. + This value is only applicable to MOVEMENT_BEHAVIOUR event. + - IN_OUT_PERCENT: Indicates the percentage of indoor/outdoor UEs at a location. + The value is only applicable to the LOC_ACCURACY event. + - TIME_TO_COLLISION: Indicates the time until for a collision with another UE happens. + This value is only applicable to RELATIVE_PROXIMITY event prediction. + + DispersionType: + oneOf: + - type: string + enum: + - DVDA + - TDA + - DVDA_AND_TDA + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the dispersion type. + Possible values are: + - DVDA: Data Volume Dispersion Analytics. + - TDA: Transactions Dispersion Analytics. + - DVDA_AND_TDA: Data Volume Dispersion Analytics and Transactions Dispersion Analytics. + + DispersionClass: + oneOf: + - type: string + enum: + - FIXED + - CAMPER + - TRAVELLER + - TOP_HEAVY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the dispersion class. + Possible values are: + - FIXED: Dispersion class as fixed UE its data or transaction usage at a location or + a slice, is higher than its class threshold set for its all data or transaction usage. + - CAMPER: Dispersion class as camper UE, its data or transaction usage at a location or + a slice, is higher than its class threshold and lower than the fixed class threshold set + for its all data or transaction usage. + - TRAVELLER: Dispersion class as traveller UE, its data or transaction usage at a location + or a slice, is lower than the camper class threshold set for its all data or transaction + usage. + - TOP_HEAVY: Dispersion class as Top_Heavy UE, who's dispersion percentile rating at a + location or a slice, is higher than its class threshold. + + + DispersionOrderingCriterion: + anyOf: + - type: string + enum: + - TIME_SLOT_START + - DISPERSION + - CLASSIFICATION + - RANKING + - PERCENTILE_RANKING + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the order criterion for the list of dispersion. + Possible values are: + - TIME_SLOT_START: Indicates the order of time slot start. + - DISPERSION: Indicates the order of data/transaction dispersion. + - CLASSIFICATION: Indicates the order of data/transaction classification. + - RANKING: Indicates the order of data/transaction ranking. + - PERCENTILE_RANKING: Indicates the order of data/transaction percentile ranking. + + DeviceType: + anyOf: + - type: string + enum: + - MOBILE_PHONE + - SMART_PHONE + - TABLET + - DONGLE + - MODEM + - WLAN_ROUTER + - IOT_DEVICE + - WEARABLE + - MOBILE_TEST_PLATFORM + - UNDEFINED + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the device type. + Possible values are: + - MOBILE_PHONE: Mobile Phone. + - SMART_PHONE: Smartphone. + - TABLET: Tablet. + - DONGLE: Dongle. + - MODEM: Modem. + - WLAN_ROUTER: WLAN Router. + - IOT_DEVICE: IoT Device. + - WEARABLE: Wearable. + - MOBILE_TEST_PLATFORM: Mobile Test Platform. + - UNDEFINED: Undefined. + + RedTransExpOrderingCriterion: + anyOf: + - type: string + enum: + - TIME_SLOT_START + - RED_TRANS_EXP + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the order criterion for the list of Redundant Transmission Experience. + Possible values are: + - TIME_SLOT_START: Indicates the order of time slot start. + - RED_TRANS_EXP: Indicates the order of Redundant Transmission Experience. + + WlanOrderingCriterion: + anyOf: + - type: string + enum: + - TIME_SLOT_START + - NUMBER_OF_UES + - RSSI + - RTT + - TRAFFIC_INFO + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the order criterion for the list of WLAN performance information. + Possible values are: + - TIME_SLOT_START: Indicates the order of time slot start. + - NUMBER_OF_UES: Indicates the order of number of UEs. + - RSSI: Indicates the order of RSSI. + - RTT: Indicates the order of RTT. + - TRAFFIC_INFO: Indicates the order of Traffic information. + + ServiceExperienceType: + anyOf: + - type: string + enum: + - VOICE + - VIDEO + - OTHER + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + but is not used to encode content defined in the present version of this API. + description: | + Represents the type of the service experience analytics. + Possible values are: + - VOICE: Indicates that the service experience analytics is for voice service. + - VIDEO: Indicates that the service experience analytics is for video service. + - OTHER: Indicates that the service experience analytics is for other service. + + DnPerfOrderingCriterion: + anyOf: + - type: string + enum: + - AVERAGE_TRAFFIC_RATE + - MAXIMUM_TRAFFIC_RATE + - AVERAGE_PACKET_DELAY + - MAXIMUM_PACKET_DELAY + - AVERAGE_PACKET_LOSS_RATE + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the order criterion for the list of DN performance analytics. + Possible values are: + - AVERAGE_TRAFFIC_RATE: Indicates the average traffic rate. + - MAXIMUM_TRAFFIC_RATE: Indicates the maximum traffic rate. + - AVERAGE_PACKET_DELAY: Indicates the average packet delay. + - MAXIMUM_PACKET_DELAY: Indicates the maximum packet delay. + - AVERAGE_PACKET_LOSS_RATE: Indicates the average packet loss rate. + + TermCause: + anyOf: + - type: string + enum: + - USER_CONSENT_REVOKED + - NWDAF_OVERLOAD + - UE_LEFT_AREA + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the cause for the analytics subscription termination request. + Possible values are: + - USER_CONSENT_REVOKED: The user consent has been revoked. + - NWDAF_OVERLOAD: The NWDAF is overloaded. + - UE_LEFT_AREA: The UE has moved out of the NWDAF serving area. + UserDataConOrderCrit: + anyOf: + - type: string + enum: + - APPLICABLE_TIME_WINDOW + - NETWORK_STATUS_INDICATION + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the cause for requesting to terminate an analytics subscription. + Possible values are: + - APPLICABLE_TIME_WINDOW: The ordering criterion is the Applicable Time Window. + - NETWORK_STATUS_INDICATION: The ordering criterion is the network status indication. + + UeMobilityOrderCriterion: + anyOf: + - type: string + enum: + - TIME_SLOT + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the ordering criterion for the list of UE mobility analytics. + Possible values are: + - TIME_SLOT: The ordering criterion is the time slot. + + UeCommOrderCriterion: + anyOf: + - type: string + enum: + - START_TIME + - DURATION + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the ordering criterion for the list of UE communication analytics. + Possible values are: + - START_TIME: The ordering criterion of the analytics is the start time. + - DURATION: The ordering criterion of the analytics is the duration of the communication. + + NetworkPerfOrderCriterion: + anyOf: + - type: string + enum: + - NUMBER_OF_UES + - COMMUNICATION_PERF + - MOBILITY_PERF + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the ordering criterion for the list of network performance analytics. + Possible values are: + - NUMBER_OF_UES: The ordering criterion of the analytics is the number of UEs. + - COMMUNICATION_PERF: The ordering criterion of the analytics is the communication performance. + - MOBILITY_PERF: The ordering criterion of the analytics is themobility performance. + + LocInfoGranularity: + anyOf: + - type: string + enum: + - TA_LEVEL + - CELL_LEVEL + - LON_AND_LAT_LEVEL + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the preferred granularity of location information. + Possible values are: + - TA_LEVEL: Indicates location granularity of TA level. + - CELL_LEVEL: Indicates location granularity of Cell level. + - LON_AND_LAT_LEVEL: Indicates location granularity of longitude and latitude level. + + TrafficDirection: + anyOf: + - type: string + enum: + - UL_AND_DL + - UL + - DL + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the traffic direction for the resource usage information. + Possible values are: + - UL_AND_DL: Uplink and downlink traffic. + - UL: Uplink traffic. + - DL: Downlink traffic. + + ValueExpression: + anyOf: + - type: string + enum: + - AVERAGE + - PEAK + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the average or peak value of the resource usage for the network performance type. + Possible values are: + - AVERAGE: Resource usage information in average value. + - PEAK: Resource usage information in peak value. + + E2eDataVolTransTimeCriterion: + anyOf: + - type: string + enum: + - TIME_SLOT_START + - E2E_DATA_VOL_TRANS_TIME + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the ordering criterion for the list of E2E data volume transfer time. + Possible values are: + - TIME_SLOT_START: Indicates the order of time slot start. + - E2E_DATA_VOL_TRANS_TIME: The ordering criterion is the E2E data volume transfer time. + + + + AnalyticsAccuracyIndication: + anyOf: + - type: string + enum: + - MEET + - NOT_MEET + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the notification methods for the subscribed events. + Possible values are: + - MEET: Indicates meet the analytics accuracy requirement. + - NOT_MEET: Indicates not meet the analytics accuracy requirement. + + LocationOrientation: + anyOf: + - type: string + enum: + - HORIZONTAL + - VERTICAL + - HOR_AND_VER + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Possible values are: + - HORIZONTAL: Indicates horizontal orientation. + - VERTICAL: Indicates vertical orientation. + - HOR_AND_VER: Indicates both horizontal and vertical orientation. + + Direction: + anyOf: + - type: string + enum: + - NORTH + - SOUTH + - EAST + - WEST + - NORTHWEST + - NORTHEAST + - SOUTHWEST + - SOUTHEAST + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Possible values are: + - NORTH: North direction. + - SOUTH: South direction. + - EAST: EAST direction. + - WEST: WEST direction. + - NORTHWEST: Northwest direction. + - NORTHEAST: Northeast direction. + - SOUTHWEST: Southwest direction. + - SOUTHEAST: Southeast direction. + + ProximityCriterion: + anyOf: + - type: string + enum: + - VELOCITY + - AVG_SPD + - ORIENTATION + - TRAJECTORY + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Possible values are: + - VELOCITY: Velocity. + - AVG_SPD: Average speed. + - ORIENTATION: Orientation. + - TRAJECTORY: Mobility trajectory. + diff --git a/TS29520_Nnwdaf_MLModelMonitor.yaml b/TS29520_Nnwdaf_MLModelMonitor.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b03a8178fc2b5f0b4f05112a272e2844fd0b7b65 --- /dev/null +++ b/TS29520_Nnwdaf_MLModelMonitor.yaml @@ -0,0 +1,462 @@ +openapi: 3.0.0 + +info: + title: Nnwdaf_MLModelMonitor + version: 1.0.0-alpha.1 + description: | + Nnwdaf_MLModelMonitor API Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.520 V18.4.0; 5G System; Network Data Analytics Services. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.520/ + +servers: + - url: '{apiRoot}/nnwdaf-mlmodelmonitor/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-mlmodelmonitor + +paths: + /registrations: + post: + summary: Create a new Individual NWDAF ML Model monitoring registration resource. + operationId: CreateNWDAFMLModelMonitoringRegistration + tags: + - registrations (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MLModelMonitorReg' + responses: + '201': + description: Create a new Individual NWDAF ML Model monitoring registration resource. + content: + application/json: + schema: + $ref: '#/components/schemas/MLModelMonitorReg' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nnwdaf-mlmodelmonitor//registrations/{registrationId}. + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /registrations/{registrationId}: + delete: + summary: Delete an existing Individual NWDAF ML model monitoring registration. + operationId: DeleteNWDAFMLModelMonitoringRegistration + tags: + - Individual NWDAF ML model monitoring registration (Document) + parameters: + - name: registrationId + in: path + description: String identifying a registration to the Nnwdaf_MLModelMonitor Service. + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual NWDAF ML Model monitoring registration matching the + registrationId was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions: + post: + summary: Create a new Individual NWDAF ML model monitoring Subscription. + operationId: CreateNWDAFMLModelMonitoringSubscription + tags: + - NWDAF ML model monitoring Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MLModelMonitorSub' + responses: + '201': + description: Create a new Individual NWDAF ML model monitoring Subscription resource. + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nnwdaf-mlmodelmonitor//subscriptions/{subscriptionId} + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/MLModelMonitorSub' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + myNotification: + '{$request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MLModelMonitorNotify' + minItems: 1 + responses: + '204': + description: The receipt of the Notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}: + put: + summary: Update an existing Individual NWDAF ML model monitoring Subscription resource. + operationId: UpdateNWDAFMLModelMonitoringSubscription + tags: + - Individual NWDAF ML model monitoring Subscription resource (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MLModelMonitorSub' + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_MLModelMonitor Service. + required: true + schema: + type: string + responses: + '200': + description: > + The Individual NWDAF ML model monitoring Subscription resource was modified successfully + and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MLModelMonitorSub' + '204': + description: > + The Individual NWDAF ML model monitoring Subscription resource was modified + successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an existing Individual NWDAF ML model monitoring Subscription. + operationId: DeleteNWDAFMLModelMonitoringSubscription + tags: + - Individual NWDAF ML model monitoring Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_MLModelMonitor Service + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual NWDAF ML model monitoring Subscription resource matching the + subscriptionId was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnwdaf-mlmodelmonitor: Access to the Nnwdaf_MLModelMonitor API + + schemas: + MLModelMonitorReg: + description: Represents a ML Model monitoring registration. + type: object + properties: + consumerId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + consumerSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + modelId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + modelAccuInd: + type: boolean + description: > + Indicates the ML Model accuracy transfer indication. Set to "true" to indicate that the + monitoring of the accuracy of the ML model is supported, otherwise set to "false". + Default value is "false" if omitted. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - modelId + oneOf: + - required: [consumerId] + - required: [consumerSetId] + + MLModelMonitorSub: + description: > + Represents parameters to request the modification of a ML Model monitoring registration. + type: object + properties: + modelIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + description: Represents the ML Model IDs. + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifCorrId: + type: string + description: Notification correlation identifier. + modelMetric: + $ref: 'TS29520_Nnwdaf_MLModelProvision.yaml#/components/schemas/MLModelMetric' + accuThreshold: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + eventReportReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + immReports: + $ref: '#/components/schemas/MLModelMonitorNotify' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - modelIds + - notificationUri + - notifCorrId + + MLModelMonitorNotify: + description: Represents notifications on events that occurred. + type: object + properties: + notifCorrId: + type: string + description: Notification correlation identifier. + modelAccuInfos: + type: array + items: + $ref: '#/components/schemas/MLModelAccuracyInfo' + minItems: 1 + description: The accuracy related information of the ML model. + anaFeedbacks: + type: array + items: + $ref: '#/components/schemas/AnalyticsFeedback' + minItems: 1 + description: The analytics feedback information. + validPeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + required: + - notifCorrId + anyOf: + - required: [modelAccuInfos] + - required: [anaFeedbacks] + + MLModelAccuracyInfo: + description: Represents the ML Model accuracy information. + type: object + properties: + modelId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + deviation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + inferenceNum: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + adrfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + adrfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + dataSetTag: + $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataSetTag' + modelMetric: + $ref: 'TS29520_Nnwdaf_MLModelProvision.yaml#/components/schemas/MLModelMetric' + required: + - modelId + + AnalyticsFeedback: + description: Represents the analytics feedback. + type: object + properties: + events: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + minItems: 1 + description: Indicates the Analytics IDs that were used to take this action. + modelIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + description: Indicates the ML Model identifier that were used to take this action. + groundDataImpactInd: + type: boolean + description: > + Indication whether the action will affect on ground truth data. Set to "true" to + indicate that the action will affect on ground truth data. Otherwise set to "false", + default value is "false" if omitted. + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - events + - modelIds + diff --git a/TS29520_Nnwdaf_MLModelProvision.yaml b/TS29520_Nnwdaf_MLModelProvision.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c2326e1822471dcfa6e90482e0edde4eb88ac28a --- /dev/null +++ b/TS29520_Nnwdaf_MLModelProvision.yaml @@ -0,0 +1,569 @@ +openapi: 3.0.0 + +info: + title: Nnwdaf_MLModelProvision + version: 1.1.0-alpha.5 + description: | + Nnwdaf_MLModelProvision API Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.520 V18.4.0; 5G System; Network Data Analytics Services. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.520/ + +servers: + - url: '{apiRoot}/nnwdaf-mlmodelprovision/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-mlmodelprovision + +paths: + /subscriptions: + post: + summary: Create a new Individual NWDAF ML Model Provision Subscription resource. + operationId: CreateNWDAFMLModelProvisionSubcription + tags: + - Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NwdafMLModelProvSubsc' + responses: + '201': + description: Create a new Individual NWDAF ML Model Provision Subscription resource. + content: + application/json: + schema: + $ref: '#/components/schemas/NwdafMLModelProvSubsc' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nnwdaf-mlmodelprovision/v1/subscriptions/{subscriptionId}. + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + myNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NwdafMLModelProvNotif' + minItems: 1 + responses: + '204': + description: No Content, Notification was succesfull + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /subscriptions/{subscriptionId}: + put: + summary: update an existing Individual NWDAF ML Model Provision Subscription + operationId: UpdateNWDAFMLModelProvisionSubcription + tags: + - Individual NWDAF ML Model Provision Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NwdafMLModelProvSubsc' + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_MLModelProvision Service. + required: true + schema: + type: string + responses: + '200': + description: > + The Individual NWDAF ML Model Provision Subscription resource was modified successfully + and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/NwdafMLModelProvSubsc' + '204': + description: > + The Individual NWDAF ML Model Provision Subscription resource was modified successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an existing Individual NWDAF ML Model Provision Subscription. + operationId: DeleteNWDAFMLModelProvisionSubcription + tags: + - Individual NWDAF ML Model Provision Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_MLModelProvision Service. + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual NWDAF ML Model Provision Subscription matching the + subscriptionId was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnwdaf-mlmodelprovision: Access to the Nnwdaf_MLModelProvision API + + schemas: + NwdafMLModelProvSubsc: + description: Represents NWDAF Event Subscription resources. + type: object + properties: + mLEventSubscs: + type: array + items: + $ref: '#/components/schemas/MLEventSubscription' + minItems: 1 + description: Subscribed events + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + mLEventNotifs: + type: array + items: + $ref: '#/components/schemas/MLEventNotif' + minItems: 1 + description: > + Notifications about Individual Events.Shall only be present if the immediate reporting + indication in the "immRep" attribute within the "eventReq" attribute sets to true in the + event subscription, and the reports are available. + suppFeats: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + notifCorreId: + type: string + eventReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + failEventReports: + type: array + items: + $ref: '#/components/schemas/FailureEventInfoForMLModel' + minItems: 1 + description: > + Supplied by the NWDAF containing MTLF when available, shall contain the event(s) that + the subscription is not successful including the failure reason(s). + required: + - mLEventSubscs + - notifUri + + ModelProvisionParamsExt: + description: > + Extended parameters for ML model provisioning which can optionally be set by a service + consuumer NF. + type: object + properties: + reqRepRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + inferInpDataInfos: + type: array + items: + $ref: '#/components/schemas/InputDataInfo' + minItems: 1 + description: > + Inference information that is used by NWDAF containing AnLF during inference. + multModelsInd: + type: boolean + description: Indicates if the NF service consumer supports multiple models. + numModels: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + accuLevels: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/Accuracy' + minItems: 1 + description: > + Provided accuracy levels of interest for ML models. + + InputDataInfo: + description: Contains information about inference that is used by NWDAF containing AnLF. + type: object + properties: + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + maxNumSamples: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + maxTimeInterval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + inpEvent: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/DccfEvent' + nfInstanceIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + nfSetIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + required: + - inpEvent + + + MLEventSubscription: + description: Represents a subscription to a single event. + type: object + properties: + mLEvent: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + mLEventFilter: + $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/EventFilter' + tgtUe: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/TargetUeInformation' + mLTargetPeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + expiryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeModelNeeded: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mlEvRepCon: + $ref: '#/components/schemas/MLRepEventCondition' + modelInterInfo: + type: string + description: String representing the ML Model Interoperability Information. + nfConsumerInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorId' + modelProvExt: + $ref: '#/components/schemas/ModelProvisionParamsExt' + description: > + Extended ML model parameters that a service consumer optionally sets when subscribing to + an ML model to be provisioned. + useCaseCxt: + type: string + description: > + Indicates the context of usage of the analytics. The value and format of this parameter + are not standardized. + inferDataForModel: + $ref: '#/components/schemas/InferenceDataForModelTrain' + required: + - mLEvent + - mLEventFilter + + NwdafMLModelProvNotif: + description: Represents notifications on events that occurred. + type: object + properties: + eventNotifs: + type: array + items: + $ref: '#/components/schemas/MLEventNotif' + minItems: 1 + description: Notifications about Individual Events. + subscriptionId: + type: string + description: String identifying a subscription to the Nnwdaf_MLModelProvision Service. + required: + - eventNotifs + - subscriptionId + + MLEventNotif: + description: Represents a notification related to a single event that occurred. + type: object + properties: + event: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + notifCorreId: + type: string + description: > + Contains notification correlation ID used to identify the subscription to which the + notification relates. It shall be set to the same value as the "notifCorreId" attribute + of NwdafMLModelProvSubsc data type. + mlFile: + type: string + description: Contains the ML model file. + mLFileAddr: + $ref: '#/components/schemas/MLModelAddr' + mLModelAdrf: + $ref: '#/components/schemas/MLModelAdrf' + validityPeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + spatialValidity: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + addModelInfo: + type: array + items: + $ref: '#/components/schemas/AdditionalMLModelInformation' + minItems: 1 + description: Contains the additional ML Model Information besides the ML Model Address + allOf: + - required: [event] + - oneOf: + - required: [mLFileAddr] + - required: [mLModelAdrf] + + FailureEventInfoForMLModel: + description: > + Represents the event(s) that the subscription is not successful including the failure + reason(s). + type: object + properties: + event: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + failureCode: + $ref: '#/components/schemas/FailureCode' + required: + - event + - failureCode + + MLModelAddr: + description: Addresses of ML model files. + type: object + properties: + mLModelUrl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + mlFileFqdn: + type: string + description: The FQDN of the ML Model file. + oneOf: + - required: [mLModelUrl] + - required: [mlFileFqdn] + + + MLRepEventCondition: + description: Indicates the ML event reporting condition. + type: object + properties: + mlTrainRound: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + mlTrainRepTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + mlAccuracyThreshold: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + modelMetric: + $ref: '#/components/schemas/MLModelMetric' + + AdditionalMLModelInformation: + description: Represents the additional ML Model Information. + type: object + properties: + mLFileAddr: + $ref: '#/components/schemas/MLModelAddr' + mLModelAdrf: + $ref: '#/components/schemas/MLModelAdrf' + validityPeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + spatialValidity: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + modelUniqueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + description: Unique identifier for an ML model. + modelRepRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + description: > + Minimum percentage of UEs whose data is used for training an ML model. + mlDegradInd: + type: boolean + description: > + Set to "true" to indicate support degration of an ML model. Set to "false" to indicate + not support degration of an ML model. Default value is "false" if omitted. + trainInpInfos: + type: array + items: + $ref: '#/components/schemas/TrainInputDataInfo' + minItems: 1 + description: > + Training information that is used by NWDAF containing MTLF during training. + modelMetric: + $ref: '#/components/schemas/MLModelMetric' + accMLModel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + + + MLModelAdrf: + description: ADRF (Set) information of the ML Model. + type: object + properties: + adrfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + adrfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + storTransId: + type: string + description: String identifying a Storage Transaction ID. + oneOf: + - required: [adrfId] + - required: [adrfSetId] + + TrainInputDataInfo: + description: Contains Training input data information that is used by NWDAF containing MTLF. + type: object + properties: + dataInfo: + $ref: '#/components/schemas/InputDataInfo' + time: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + dataStatisticsInfos: + type: string + + InferenceDataForModelTrain: + description: > + Indicates the inference data stored in ADRF which can be used by MTLF to retrain or + reprovision of the ML model. + type: object + properties: + adrfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + adrfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + dataSetTag: + $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataSetTag' + modelId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + oneOf: + - required: [adrfId] + - required: [adrfSetId] + +# +# ENUMERATIONS DATA TYPES +# + FailureCode: + anyOf: + - type: string + enum: + - UNAVAILABLE_ML_MODEL + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the failure code. + Possible values are: + - UNAVAILABLE_ML_MODEL: Indicates the requested ML model for the event is unavailable. + + MLModelMetric: + anyOf: + - type: string + enum: + - ACCURACY + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the metric of the ML model. + Possible values are: + - ACCURACY: ML Model Accuracy metric. + diff --git a/TS29520_Nnwdaf_MLModelTraining.yaml b/TS29520_Nnwdaf_MLModelTraining.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9de557d7fc0f7ee1c23ac87b3bce2fa01aa70233 --- /dev/null +++ b/TS29520_Nnwdaf_MLModelTraining.yaml @@ -0,0 +1,611 @@ +openapi: 3.0.0 + +info: + title: Nnwdaf_MLModelTraining + version: 1.0.0-alpha.3 + description: | + Nnwdaf_MLModelTraining API Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.520 V18.4.0; 5G System; Network Data Analytics Services. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.520/ + +servers: + - url: '{apiRoot}/nnwdaf-mlmodeltraining/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-mlmodeltraining + +paths: + /subscriptions: + post: + summary: Create a new Individual NWDAF ML Model Training Subscription resource. + operationId: CreateNWDAFMLModelTrainingSubcription + tags: + - Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NwdafMLModelTrainSubsc' + responses: + '201': + description: Create a new Individual NWDAF ML Model Training Subscription resource. + content: + application/json: + schema: + $ref: '#/components/schemas/NwdafMLModelTrainSubsc' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nnwdaf-mlmodeltraining/v1/subscriptions/{subscriptionId}. + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + myNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NwdafMLModelTrainNotif' + minItems: 1 + responses: + '204': + description: No Content, Notification was succesfull + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /subscriptions/{subscriptionId}: + put: + summary: update an existing Individual NWDAF ML Model Training Subscription + operationId: UpdateNWDAFMLModelTrainingSubcription + tags: + - Individual NWDAF ML Model Training Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NwdafMLModelTrainSubsc' + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_MLModelTraining Service. + required: true + schema: + type: string + responses: + '200': + description: > + The Individual NWDAF ML Model Training Subscription resource was modified successfully + and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/NwdafMLModelTrainSubsc' + '204': + description: > + The Individual NWDAF ML Model Training Subscription resource was modified successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: partial update an existing Individual NWDAF ML Model Training Subscription + operationId: PartialUpdateNWDAFMLModelTrainingSubcription + tags: + - Individual NWDAF ML Model Training Subscription (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/NwdafMLModelTrainSubscPatch' + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_MLModelTraining Service. + required: true + schema: + type: string + responses: + '200': + description: > + The Individual NWDAF ML Model Training Subscription resource was partial modified + successfully and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/NwdafMLModelTrainSubsc' + '204': + description: > + The Individual NWDAF ML Model Training Subscription resource was partial modified + successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an existing Individual NWDAF ML Model Training Subscription. + operationId: DeleteNWDAFMLModelTrainingSubcription + tags: + - Individual NWDAF ML Model Training Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_MLModelTraining Service. + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual NWDAF ML Model Training Subscription matching the + subscriptionId was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnwdaf-mlmodeltraining: Access to the Nnwdaf_MLModelTraining API + + schemas: + NwdafMLModelTrainSubsc: + description: Represents a ML Model Training subscription. + type: object + properties: + mLEventSubscs: + type: array + items: + $ref: 'TS29520_Nnwdaf_MLModelProvision.yaml#/components/schemas/MLEventSubscription' + minItems: 1 + description: Subscribed events + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + suppFeats: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + eventReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + failEventReports: + type: array + items: + $ref: '#/components/schemas/FailureEventInfoForMLModelTrain' + minItems: 1 + description: > + Supplied by the NWDAF containing MTLF when available, shall contain the event(s) that + the subscription is not successful including the failure reason(s). + mlCorreId: + type: string + description: String identifying the subscription is for a Federated Learning procedure. + mLModelInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_MLModelProvision.yaml#/components/schemas/MLEventNotif' + minItems: 1 + description: Represents the ML Model information. + immReports: + type: array + items: + $ref: '#/components/schemas/NwdafMLModelTrainNotif' + minItems: 1 + description: Immediately reported ML Model Training notifications. + mLModelTrainInfos: + type: array + items: + $ref: '#/components/schemas/MLModelTrainInfo' + minItems: 1 + description: Represents the ML Model training information. + mLPreFlag: + type: boolean + description: > + Indicates whether the subscription is for preparation of ML Model training. Set to + "true" if it is for ML training preparation, otherwise set to "false". + mLAccChkFlg: + type: boolean + description: > + Indicates whether request using the local training data as the testing dataset to + calculate the Model Accuracy of the global ML model provided by the consumer. Set to + "true" if it is requested, otherwise set to "false". + mLTrainRepInfo: + $ref: '#/components/schemas/MLTrainReportInfo' + notifCorreId: + type: string + description: > + String identifying the Notification Correlation ID in the corresponding notification. + roundInd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + tgtRepUe: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/TargetUeInformation' + uCaseCont: + type: string + description: > + String identifying the use case context of the ML model. The value and format of this + parameter is not standardized. + required: + - mLEventSubscs + - notifUri + - notifCorreId + + NwdafMLModelTrainSubscPatch: + description: > + Represents parameters to request the modification of a ML Model Training subscription. + type: object + properties: + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + eventReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + mLModelInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_MLModelProvision.yaml#/components/schemas/MLEventNotif' + minItems: 1 + description: Represents the ML Model information. + mLModelTrainInfos: + type: array + items: + $ref: '#/components/schemas/MLModelTrainInfo' + minItems: 1 + description: Represents the ML Model training information. + mLPreFlag: + type: boolean + description: > + Indicates whether the subscription is for preparation of ML Model training. Set to + "true" if it is for ML training preparation, otherwise set to "false". + mLAccChkFlg: + type: boolean + description: > + Indicates whether request using the local training data as the testing dataset to + Calculate the Model Accuracy of the global ML model provided by the consumer. Set to + "true" if it is requested, otherwise set to "false". + mLTrainRepInfo: + $ref: '#/components/schemas/MLTrainReportInfo' + roundInd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + tgtRepUe: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/TargetUeInformation' + uCaseCont: + type: string + description: > + String identifying the use case context of the ML model. The value and format of this + parameter are not standardized. + + NwdafMLModelTrainNotif: + description: Represents notifications on events that occurred. + type: object + properties: + delayEventNotif: + $ref: '#/components/schemas/DelayEventNotif' + mlCorreId: + type: string + description: String identifying the subscription is for a Federated Learning procedure. + mLModelInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_MLModelProvision.yaml#/components/schemas/MLEventNotif' + minItems: 1 + description: Represents the ML Model information. + notifCorreId: + type: string + description: > + String identifying the Notification Correlation ID in the corresponding notification. + roundInd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + statusReport: + $ref: '#/components/schemas/StatusReportInfo' + termTrainReq: + $ref: '#/components/schemas/TermTrainCause' + uCaseCont: + type: string + description: > + String identifying the context of use of ML model. The value and format of this + parameter are not standardized. + required: + - notifCorreId + oneOf: + - required: [delayEventNotif] + - required: [mLModelInfos] + - required: [termTrainReq] + - required: [mLModelInfos, termTrainReq] + + MLModelTrainInfo: + description: > + Represents the ML Model training information, include requirement on data availability and + time availability, training filter information. + type: object + properties: + dataAvReq: + $ref: '#/components/schemas/DataAvReq' + timeAvReq: + type: string + description: > + String representing the requirement on available time for the ML model training. + + MLTrainReportInfo: + description: Represents the ML Model training reporting information. + type: object + properties: + maxResTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + FailureEventInfoForMLModelTrain: + description: Represents the failure event information for a ML Model Training subscription. + type: object + properties: + mLTrainEvent: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + failureCodeTrain: + $ref: '#/components/schemas/FailureCodeTrain' + required: + - mLTrainEvent + - failureCodeTrain + + DataAvReq: + description: Represents the requirement on available data for the ML model training. + type: object + properties: + dataStatProps: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DatasetStatisticalProperty' + minItems: 1 + inpEvents: + type: array + items: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/DccfEvent' + minItems: 1 + minNumSamples: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + timeWindows: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + minItems: 1 + required: + - inpEvents + + DelayEventNotif: + description: > + Indicating that the NWDAF containing MTLF is not able to complete the training of ML model + within the maximum response time, the cause code, and the expected time complete the + training. + type: object + properties: + delayEventInd: + type: boolean + description: > + Indicates that the NWDAF containing MTLF is not able to complete the training of ML + model within the maximum response time. Set to "true" if not able to complete the ML + model training on time, otherwise set to "false". + delayCause: + $ref: '#/components/schemas/DelayCause' + expCompTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - delayEventInd + + StatusReportInfo: + description: > + Indicating status information generated by the NWDAF containing MTLF during ML model + training. + type: object + properties: + mlModelAcc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + trainInDataInfo: + $ref: '#/components/schemas/TrainDataInfo' + + TrainDataInfo: + description: Represents the training input data information. + type: object + properties: + areaDataSet: + type: string + description: Indicates the areas covered by the data set. + maxValues: + type: array + items: + type: string + minItems: 1 + description: Represents the maximum value of one dimension of data. + minValues: + type: array + items: + type: string + minItems: 1 + description: Represents the minimum value of one dimension of data. + samplRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + +# +# ENUMERATIONS DATA TYPES +# + FailureCodeTrain: + anyOf: + - type: string + enum: + - UNAVAILABLE_ML_MODEL_TRAIN + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the failure reason. + Possible values are: + - UNAVAILABLE_ML_MODEL_TRAIN: The ML model training is unavailable. + + TermTrainCause: + anyOf: + - type: string + enum: + - NWDAF_OVERLOAD + - NOT_AVAILABLE_ML_TRAIN + - OTHERS + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the reasons that ML Model Training to be terminated. + Possible values are: + - NWDAF_OVERLOAD: The NWDAF is overloaded for the ML model training. + - NOT_AVAILABLE_ML_TRAIN: The ML model training process is not available. + - OTHERS: Other cause. + + DelayCause: + anyOf: + - type: string + enum: + - ML_MODEL_TRAIN_FAILURE + - NEED_MORE_TIME + - OTHERS + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the reasons for ML Model training delay. + Possible values are: + - ML_MODEL_TRAIN_FAILURE: The ML model training is failure. + - NEED_MORE_TIME: The ML model training needs more time. + - OTHERS: Other cause. + diff --git a/TS29520_Nnwdaf_RoamingAnalytics.yaml b/TS29520_Nnwdaf_RoamingAnalytics.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c6ac221a8a0136d39378951be2ebf817207ab773 --- /dev/null +++ b/TS29520_Nnwdaf_RoamingAnalytics.yaml @@ -0,0 +1,294 @@ +openapi: 3.0.0 + +info: + title: Nnwdaf_RoamingAnalytics + version: 1.0.0-alpha.1 + description: | + Nnwdaf_RoamingAnalytics API Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.520 V18.4.0; 5G System; Network Data Analytics Services. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.520/ + +servers: + - url: '{apiRoot}/nnwdaf-roaminganalytics/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-roaminganalytics + +paths: + /subscriptions: + post: + summary: Create a new Individual NWDAF Roaming Analytics Subscription + operationId: CreateNwdafRoamingAnalyticsSubscription + tags: + - NWDAF Roaming Analytics Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RoamingAnalyticsSubscription' + responses: + '201': + description: Create a new Individual Roaming Analytics Subscription resource. + headers: + Location: + description: > + Contains the URI of the newly created resource. + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/RoamingAnalyticsSubscription' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + myNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RoamingAnalyticsNotification' + minItems: 1 + responses: + '204': + description: The receipt of the Notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}: + put: + summary: Update an existing Individual Roaming Analytics Subscription resource. + operationId: UpdateNwdafRoamingAnalyticsSubscription + tags: + - Individual NWDAF Roaming Analytics Subscription resource (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RoamingAnalyticsSubscription' + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_RoamingAnalytics service. + required: true + schema: + type: string + responses: + '200': + description: > + The Individual NWDAF Roaming Analytics Subscription resource was modified successfully + and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/RoamingAnalyticsSubscription' + '204': + description: > + The Individual NWDAF Roaming Analytics Subscription resource was modified + successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an existing Individual NWDAF Roaming Analytics Subscription. + operationId: DeleteNwdafRoamingAnalyticsSubscription + tags: + - Individual NWDAF Roaming Analytics Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_RoamingAnalytics service + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual NWDAF Roaming Analytics Subscription resource matching the + subscriptionId was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnwdaf-roaminganalytics: Access to the Nnwdaf_RoamingAnalytics API + + schemas: + RoamingAnalyticsSubscription: + description: Represents a Roaming Analytics subscription. + type: object + properties: + roamEventSubs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventSubscription' + minItems: 1 + description: Represents Roaming Analytics subscription for a specific event. + evtReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifCorrId: + type: string + description: Notification correlation identifier. + consPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + roamEventNotifs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventNotification' + minItems: 1 + description: Contains immediate reports for Roaming Analytics. + failEventReports: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/FailureEventInfo' + minItems: 1 + description: Contains information about failed events. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - roamEventSubs + - notifUri + - notifCorrId + - consPlmnId + + RoamingAnalyticsNotification: + description: Represents a Roaming Analytics notification. + type: object + properties: + roamEventNotifs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventNotification' + minItems: 1 + description: Contains Roaming Analytics notification for a specific event. + notifCorrId: + type: string + description: Notification correlation identifier. + termCause: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/TermCause' + required: + - roamEventNotifs + - notifCorrId diff --git a/TS29520_Nnwdaf_RoamingData.yaml b/TS29520_Nnwdaf_RoamingData.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4946a3e836d1907b9db1f8a1f73df5cbadecde2b --- /dev/null +++ b/TS29520_Nnwdaf_RoamingData.yaml @@ -0,0 +1,278 @@ +openapi: 3.0.0 + +info: + title: Nnwdaf_RoamingData + version: 1.0.0-alpha.1 + description: | + Nnwdaf_RoamingData API Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.520 V18.3.0; 5G System; Network Data Analytics Services. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.520/ + +servers: + - url: '{apiRoot}/nnwdaf-roamingdata/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-roamingdata + +paths: + /subscriptions: + post: + summary: Create a new Individual NWDAF Roaming Data Subscription + operationId: CreateNWDAFRoamingDataSubscription + tags: + - NWDAF Roaming Data Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RoamingDataSub' + responses: + '201': + description: Create a new Individual NWDAF Roaming Data Subscription resource. + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nnwdaf-roamingdata//subscriptions/{subscriptionId} + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/RoamingDataSub' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + myNotification: + '{$request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: 'TS29520_Nnwdaf_DataManagement.yaml#/components/schemas/NnwdafDataManagementNotif' + minItems: 1 + responses: + '204': + description: The receipt of the Notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}: + put: + summary: Update an existing Individual NWDAF Roaming Data Subscription resource. + operationId: UpdateNWDAFRoamingDataSubscription + tags: + - Individual NWDAF Roaming Data Subscription resource (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RoamingDataSub' + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_RoamingData Service. + required: true + schema: + type: string + responses: + '200': + description: > + The Individual NWDAF Roaming Data Subscription resource was modified successfully + and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/RoamingDataSub' + '204': + description: > + The Individual NWDAF Roaming Data Subscription resource was modified successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an existing Individual NWDAF Roaming Data Subscription. + operationId: DeleteNWDAFRoamingDataSubscription + tags: + - Individual NWDAF Roaming Data Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_RoamingData Service + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual NWDAF Roaming Data Subscription resource matching the + subscriptionId was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnwdaf-roamingdata: Access to the Nnwdaf_RoamingData API + + schemas: + RoamingDataSub: + description: > + Represents roaming data subscription information. + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifCorrId: + type: string + description: Notification correlation identifier. + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + dataSub: + $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataSubscription' + anaSub: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscription' + formatInstruct: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/FormattingInstruction' + procInstructs: + type: array + items: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/ProcessingInstruction' + minItems: 1 + description: Processing instructions to be used for sending event notifications. + timePeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + targetNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + targetNfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + immReport: + $ref: 'TS29520_Nnwdaf_DataManagement.yaml#/components/schemas/NnwdafDataManagementNotif' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notificationUri + - notifCorrId + - plmnId + oneOf: + - required: [anaSub] + - required: [dataSub] diff --git a/TS29521_Nbsf_Management.yaml b/TS29521_Nbsf_Management.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0f8c4d59692c82aa620c3fd2192d3b56b7360eed --- /dev/null +++ b/TS29521_Nbsf_Management.yaml @@ -0,0 +1,1364 @@ +openapi: 3.0.0 + +info: + version: 1.4.0-alpha.3 + title: Nbsf_Management + description: | + Binding Support Management Service API. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.521 V18.2.0; 5G System; Binding Support Management Service. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.521/' + +servers: + - url: '{apiRoot}/nbsf-management/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - nbsf-management + +paths: + /pcfBindings: + post: + summary: Create a new Individual PCF for a PDU Session binding information + operationId: CreatePCFBinding + tags: + - PCF Bindings (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcfBinding' + responses: + '201': + description: The creation of an individual PCF for a PDU Session binding. + content: + application/json: + schema: + $ref: '#/components/schemas/PcfBinding' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nbsf-management//pcf-mbs-bindings/{bindingId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: > + The existing PCF binding information stored in the BSF for the indicated combination is + returned. + + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Read PCF for a PDU Session Bindings information + operationId: GetPCFBindings + tags: + - PCF Bindings (Collection) + parameters: + - name: ipv4Addr + in: query + description: The IPv4 Address of the served UE. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + - name: ipv6Prefix + in: query + description: > + The IPv6 Address of the served UE. The NF service consumer shall append '/128' to the + IPv6 address in the attribute value. E.g. '2001:db8:85a3::8a2e:370:7334/128'. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + - name: macAddr48 + in: query + description: The MAC Address of the served UE. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + - name: dnn + in: query + description: DNN. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: supi + in: query + description: Subscription Permanent Identifier. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: gpsi + in: query + description: Generic Public Subscription Identifier + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + - name: snssai + in: query + description: The identification of slice. + required: false + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: ipDomain + in: query + description: The IPv4 address domain identifier. + required: false + schema: + type: string + - name: supp-feat + in: query + description: To filter irrelevant responses related to unsupported features. + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: > + The individual PCF for a PDU Session binding session binding information resource + matching the query parameter(s) is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PcfBinding' + '204': + description: > + There is no PCF for a PDU Session binding information matching the query parameter(s). + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pcfBindings/{bindingId}: + delete: + summary: Delete an existing Individual PCF for a PDU Session Binding information + operationId: DeleteIndPCFBinding + tags: + - Individual PCF Binding (Document) + parameters: + - name: bindingId + in: path + description: Represents the individual PCF for a PDU Session Binding. + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual PCF for a PDU Session Binding information resource is + deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Update an existing Individual PCF for a PDU Session Binding information + operationId: UpdateIndPCFBinding + tags: + - Individual PCF for a PDU Session Binding (Document) + parameters: + - name: bindingId + in: path + description: Represents the individual PCF for a PDU Session Binding. + required: true + schema: + type: string + requestBody: + description: Parameters to update the existing PCF for a PDU Session binding. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PcfBindingPatch' + responses: + '200': + description: OK (Successful update of the PCF for a PDU Session binding). + content: + application/json: + schema: + $ref: '#/components/schemas/PcfBinding' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions: + post: + operationId: CreateIndividualSubcription + summary: Create an individual subscription for event notifications from the BSF + tags: + - Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BsfSubscription' + responses: + '201': + description: Created. + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nsmf-management//subscriptions/{subId} + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/BsfSubscriptionResp' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + myNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BsfNotification' + responses: + '204': + description: No Content. Notification was successful. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subId}: + put: + operationId: ReplaceIndividualSubcription + summary: Replace an individual subscription for event notifications from the BSF + tags: + - IndividualSubscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BsfSubscription' + parameters: + - name: subId + in: path + description: Subscription correlation ID + required: true + schema: + type: string + responses: + '200': + description: OK. Resource was successfully modified and representation is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/BsfSubscriptionResp' + '204': + description: No Content. Resource was successfully modified. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + operationId: DeleteIndividualSubcription + summary: Delete an individual subscription for event notifications from the BSF + tags: + - IndividualSubscription (Document) + parameters: + - name: subId + in: path + description: Subscription correlation ID + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was successfully deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pcf-ue-bindings: + post: + summary: Create a new Individual PCF for a UE binding information + operationId: CreatePCFforUEBinding + tags: + - PCF for a UE Bindings (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcfForUeBinding' + responses: + '201': + description: The creation of an individual PCF for a UE binding. + content: + application/json: + schema: + $ref: '#/components/schemas/PcfForUeBinding' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nbsf-management//pcf-ue-bindings/{bindingId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Read PCF for a UE Bindings information + operationId: GetPCFForUeBindings + tags: + - PCF for a UE Bindings (Collection) + parameters: + - name: supi + in: query + description: Subscription Permanent Identifier. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: gpsi + in: query + description: Generic Public Subscription Identifier + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + - name: supp-feat + in: query + description: To filter irrelevant responses related to unsupported features. + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: > + The individual PCF for a UE binding session binding information resource matching the + query parameter(s) is returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PcfForUeBinding' + minItems: 0 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pcf-ue-bindings/{bindingId}: + delete: + summary: Delete an existing Individual PCF for a UE Binding information + operationId: DeleteIndPCFforUEBinding + tags: + - Individual PCF for a UE Binding (Document) + parameters: + - name: bindingId + in: path + description: Represents the individual PCF for a UE Binding. + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual PCF for a UE binding information resource is deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Update an existing Individual PCF for a UE Binding information + operationId: UpdateIndPCFforUEBinding + tags: + - Individual PCF for a UE Binding (Document) + parameters: + - name: bindingId + in: path + description: Represents the individual PCF for a UE Binding. + required: true + schema: + type: string + requestBody: + description: Parameters to update the existing PCF for a UE binding. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PcfForUeBindingPatch' + responses: + '200': + description: OK. Successful update of the PCF for a PDU Session binding. + content: + application/json: + schema: + $ref: '#/components/schemas/PcfForUeBinding' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pcf-mbs-bindings: + post: + summary: Create a new Individual PCF for an MBS Session binding. + operationId: CreatePCFMbsBinding + tags: + - PCF for an MBS Session Bindings (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcfMbsBinding' + responses: + '201': + description: > + Created. A new Individual PCF for an MBS Session Binding resource is created + and the corresponding URI is returned in an HTTP Location header. + content: + application/json: + schema: + $ref: '#/components/schemas/PcfMbsBinding' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nbsf-management/v1/pcf-mbs-bindings/{bindingId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + + description: > + The existing PCF binding information stored in the BSF for the MBS session is + returned. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/MbsExtProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve an existing PCF for an MBS Session binding. + operationId: GetPCFMbsBinding + tags: + - PCF for an MBS Session Bindings (Collection) + parameters: + - name: mbs-session-id + in: query + description: > + Contains the identifier of the MBS Session to which the requested MBS Session + binding is related. + required: true + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + - name: supp-feat + in: query + description: > + Contains the list of features supported by the NF service consumer and used to + filter irrelevant responses related to unsupported features. + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: > + OK. The Individual PCF for an MBS Session Binding resource(s) matching the provided + query parameter(s) are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PcfMbsBinding' + minItems: 0 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pcf-mbs-bindings/{bindingId}: + parameters: + - name: bindingId + in: path + description: > + Represents the identifier of the Individual PCF for an MBS Session Binding resource. + required: true + schema: + type: string + + patch: + summary: Request the modification of an existing Individual PCF for an MBS Session Binding resource. + operationId: ModifyIndPCFMbsBinding + tags: + - Individual PCF for an MBS Session Binding (Document) + requestBody: + description: Parameters to request the modification of the PCF for an MBS Session Binding. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PcfMbsBindingPatch' + responses: + '200': + description: > + OK. The Individual PCF for an MBS Session Binding resource is successfully modified and + a representation of the updated resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/PcfMbsBinding' + '204': + description: > + No Content. The Individual PCF for an MBS Session Binding resource is successfully + modified and no content is returned in the response body. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Request the deletion of an existing Individual PCF for an MBS Session Binding. + operationId: DeleteIndPCFMbsBinding + tags: + - Individual PCF for an MBS Session Binding (Document) + responses: + '204': + description: > + No Content. The Individual PCF for an MBS Session Binding resource is successfully + Deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nbsf-management: Access to the Nbsf_Management API + + schemas: + + PcfBinding: + description: Identifies an Individual PCF for a PDU Session binding. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + addIpv6Prefixes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + description: The additional IPv6 Address Prefixes of the served UE. + ipDomain: + type: string + macAddr48: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + addMacAddrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + minItems: 1 + description: The additional MAC Addresses of the served UE. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + pcfFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + pcfIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_PolicyAuthorization service + pcfDiamHost: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + pcfDiamRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + pcfSmFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + pcfSmIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_SMPolicyControl service. + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + paraCom: + $ref: '#/components/schemas/ParameterCombination' + bindLevel: + $ref: '#/components/schemas/BindingLevel' + ipv4FrameRouteList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrMask' + minItems: 1 + ipv6FrameRouteList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + required: + - dnn + - snssai + + PcfBindingPatch: + description: Identifies an Individual PCF binding used in an HTTP Patch method. + type: object + properties: + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrRm' + ipDomain: + type: string + nullable: true + ipv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6PrefixRm' + addIpv6Prefixes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + description: The additional IPv6 Address Prefixes of the served UE. + nullable: true + macAddr48: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48Rm' + addMacAddrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + minItems: 1 + description: The additional MAC Addresses of the served UE. + nullable: true + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + pcfIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_PolicyAuthorization service. + pcfDiamHost: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + pcfDiamRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + ParameterCombination: + description: > + Represents the combination used by the BSF to check whether there is an existing PCF binding + information. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + ExtProblemDetails: + description: > + Contains the FQDN or IP endpoints of the existing PCF and the cause value if there is an + existing PCF binding information for the indicated combination. + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/BindingResp' + + MbsExtProblemDetails: + description: > + Contains the FQDN or IP endpoints of the existing PCF and the cause value if there is an + existing PCF binding information for the MBS session. + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/MbsBindingResp' + + BindingResp: + description: Contains the binding information for a PCF for a PDU Session. + type: object + properties: + pcfSmFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + pcfSmIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_SMPolicyControl service. + + MbsBindingResp: + description: Contains the binding information for a PCF for an MBS Session. + type: object + properties: + pcfFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + pcfIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF handling the MBS Session. + anyOf: + - required: [pcfFqdn] + - required: [pcfIpEndPoints] + + BsfSubscription: + description: Contains the event subscription data. + type: object + properties: + events: + type: array + items: + $ref: '#/components/schemas/BsfEvent' + minItems: 1 + description: Contain te subscribed events. + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifCorreId: + type: string + description: Notification Correlation ID assigned by the NF service consumer. + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + snssaiDnnPairs: + $ref: '#/components/schemas/SnssaiDnnPair' + addSnssaiDnnPairs: + type: array + items: + $ref: '#/components/schemas/SnssaiDnnPair' + minItems: 1 + description: > + Represents the additional S-NSSAI and DNN pair(s) for which the binding event report(s) + shall apply. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - events + - notifUri + - notifCorreId + - supi + + BsfNotification: + description: Contains the event notifications. + type: object + properties: + notifCorreId: + type: string + description: Notification Correlation ID assigned by the NF service consumer. + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + bindLevel: + $ref: '#/components/schemas/BindingLevel' + eventNotifs: + type: array + items: + $ref: '#/components/schemas/BsfEventNotification' + minItems: 1 + description: Notifications about Individual Events. + required: + - notifCorreId + - eventNotifs + + BsfEventNotification: + description: Contains an event notification. + type: object + properties: + event: + $ref: '#/components/schemas/BsfEvent' + pcfForUeInfo: + $ref: '#/components/schemas/PcfForUeInfo' + pcfForPduSessInfos: + type: array + items: + $ref: '#/components/schemas/PcfForPduSessionInfo' + minItems: 1 + description: The information of the PCF for a PDU session. + matchSnssaiDnns: + type: array + items: + $ref: '#/components/schemas/SnssaiDnnPair' + minItems: 1 + description: Matching S-NSSAI and DNN pairs. + required: + - event + + PcfForUeInfo: + description: Contains the information of the PCF for a UE. + type: object + properties: + pcfFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + pcfIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_AmPolicyAuthorization service. + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + bindLevel: + $ref: '#/components/schemas/BindingLevel' + + PcfForPduSessionInfo: + description: Contains the informaiton of the PCF for a PDU session. + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + pcfFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + pcfIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_AmPolicyAuthorization service. + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrRm' + ipDomain: + type: string + ipv6Prefixes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + description: The IPv6 Address Prefixes of the served UE. + macAddrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + minItems: 1 + description: The MAC Addresses of the served UE. + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + bindLevel: + $ref: '#/components/schemas/BindingLevel' + required: + - snssai + - dnn + + PcfForUeBinding: + description: Identifies an Individual PCF for a UE binding. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + pcfForUeFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + pcfForUeIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_AmPolicyAuthorization service. + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + bindLevel: + $ref: '#/components/schemas/BindingLevel' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supi + anyOf: + - required: [pcfForUeFqdn] + - required: [pcfForUeIpEndPoints] + + + PcfForUeBindingPatch: + description: Identifies the updates of an Individual PCF for a UE binding. + type: object + properties: + pcfForUeFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + pcfForUeIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_AmPolicyAuthorization service. + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + SnssaiDnnPair: + description: Contains a S-NSSAI and DNN combination. + type: object + required: + - snssai + - dnn + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + PcfMbsBinding: + description: Represents an Individual PCF for an MBS Session binding. + type: object + properties: + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + pcfFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + pcfIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + bindLevel: + $ref: '#/components/schemas/BindingLevel' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - mbsSessionId + anyOf: + - required: [pcfFqdn] + - required: [pcfIpEndPoints] + + PcfMbsBindingPatch: + description: > + Represents the requested modification to an Individual PCF for an MBS Session binding. + type: object + properties: + pcfFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + pcfIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + BindingLevel: + anyOf: + - type: string + enum: + - NF_SET + - NF_INSTANCE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the binding level. + Possible values are: + - NF_SET: Indicates the NF set level of binding. + - NF_INSTANCE: Indicates the NF instance level of binding. + BsfEvent: + description: Represents an event to be notified by the BSF. + anyOf: + - type: string + enum: + - PCF_PDU_SESSION_BINDING_REGISTRATION + - PCF_PDU_SESSION_BINDING_DEREGISTRATION + - PCF_UE_BINDING_REGISTRATION + - PCF_UE_BINDING_DEREGISTRATION + - SNSSAI_DNN_BINDING_REGISTRATION + - SNSSAI_DNN_BINDING_DEREGISTRATION + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + + BsfSubscriptionResp: + description: > + It represents a response to a modification or creation request of an Individual Binding + Subscription resource. It may contain the notification of the already met events. + anyOf: + - $ref: '#/components/schemas/BsfSubscription' + - $ref: '#/components/schemas/BsfNotification' diff --git a/TS29522_5GLANParameterProvision.yaml b/TS29522_5GLANParameterProvision.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a508695c91e56003d4690205fcadc9bacc303f0b --- /dev/null +++ b/TS29522_5GLANParameterProvision.yaml @@ -0,0 +1,704 @@ +openapi: 3.0.0 + +info: + title: 3gpp-5glan-pp + version: 1.2.0-alpha.4 + description: | + API for 5G LAN Parameter Provision. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.3.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-5glan-pp/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /{afId}/subscriptions: + get: + summary: read all of the active subscriptions for the AF + operationId: RealAllSubscriptions + tags: + - 5GLAN Parameters Provision Subscriptions + 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 subscriptions for the AF) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/5GLanParametersProvision' + 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 + operationId: CreateAnSubscription + tags: + - 5GLAN Parameters Provision Subscriptions + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new subscription creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/5GLanParametersProvision' + responses: + '201': + description: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/5GLanParametersProvision' + 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: + 5GLANParamProvNotif: + '{request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/5GLanParamProvNotif' + responses: + '204': + description: No Content. Successful reception 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' + + /{afId}/subscriptions/{subscriptionId}: + get: + summary: read an active subscription for the AF and the subscription Id + operationId: ReadAnSubscription + tags: + - Individual 5GLAN Parameters Provision Subscription + 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 + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/5GLanParametersProvision' + '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: Fully updates/replaces an existing subscription resource + operationId: FullyUpdateAnSubscription + tags: + - Individual 5GLAN Parameters Provision Subscription + 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 + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/5GLanParametersProvision' + responses: + '200': + description: OK (Successful deletion of the existing subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/5GLanParametersProvision' + '204': + description: > + Successful case. The resource has been successfully updated and no additional + content is to be sent in the response message. + '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: Partial updates an existing subscription resource + operationId: PartialUpdateAnSubscription + tags: + - Individual 5GLAN Parameters Provision Subscription + 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 + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/5GLanParametersProvisionPatch' + responses: + '200': + description: OK. The subscription was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/5GLanParametersProvision' + '204': + description: > + Successful case. The resource has been successfully updated and no additional + content is to be sent in the response message. + '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 + operationId: DeleteAnSubscription + tags: + - Individual 5GLAN Parameters Provision Subscription + 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 + 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: + 5GLanParametersProvision: + description: Represents an individual 5G LAN parameters provision subscription resource. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + 5gLanParams: + $ref: '#/components/schemas/5GLanParameters' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - 5gLanParams + - suppFeat + + 5GLanParametersProvisionPatch: + description: > + Represents the 5G LAN parameters to request the modification of a subscription + to provision parameters. + type: object + properties: + 5gLanParamsPatch: + $ref: '#/components/schemas/5GLanParametersPatch' + + 5GLanParameters: + description: Represents 5G LAN service related parameters that need to be provisioned. + type: object + properties: + exterGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + gpsis: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minProperties: 1 + description: > + Contains the list of 5G VN Group members, each member is identified by GPSI. + Any string value can be used as a key of the map. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + aaaIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + aaaIpv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + aaaUsgs: + type: array + items: + $ref: '#/components/schemas/AaaUsage' + minItems: 1 + description: > + This attribute shall contain at most 2 array elements. It is however kept + defined as it is (i.e. with a cardinality of "1..N") for backward + compatibility considerations. + mtcProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + sessionType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + sessionTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + description: Further allowed PDU Session types. + appDesps: + type: object + additionalProperties: + $ref: '#/components/schemas/AppDescriptor' + minProperties: 1 + description: > + Describes the operation systems and the corresponding applications for each + operation systems. The key of map is osId. + vnGroupCommInd: + type: boolean + description: > + Indicates whether the 5G VN group is associated with 5G VN group communication when + When set to "true", it indicates that the 5G VN group is associated with 5G VN group + communication. When set to "false", it indicates that the 5G VN group is not + associated with 5G VN group communication. The default value when omitted is "false". + maxGrpDataRateInfo: + $ref: '#/components/schemas/MaxGrpDataRateInfo' + cpParams: + $ref: '#/components/schemas/CpParams' + npConfigParams: + $ref: '#/components/schemas/NpConfigParams' + lpiParams: + $ref: '#/components/schemas/LpiParams' + acsParams: + $ref: '#/components/schemas/AcsParams' + ecsAddrParams: + $ref: '#/components/schemas/ECSAddrParams' + dnnSnssaiParams: + $ref: '#/components/schemas/DnnSnssaiParams' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: > + Set to true to request 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' + required: + - exterGroupId + - gpsis + - dnn + - snssai + - sessionType + - appDesps + + 5GLanParametersPatch: + description: Represents 5G LAN service related parameters that need to be modified. + type: object + properties: + gpsis: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GpsiRm' + minProperties: 1 + description: > + Contains the list of 5G VN Group members, each member is identified by GPSI. + Any string value can be used as a key of the map. + appDesps: + type: object + additionalProperties: + $ref: '#/components/schemas/AppDescriptorRm' + minProperties: 1 + description: > + Describes the operation systems and the corresponding applications for + each operation systems. The key of map is osId. + cpParams: + $ref: '#/components/schemas/CpParams' + npConfigParams: + $ref: '#/components/schemas/NpConfigParams' + lpiParams: + $ref: '#/components/schemas/LpiParams' + acsParams: + $ref: '#/components/schemas/AcsParams' + ecsAddrParams: + $ref: '#/components/schemas/ECSAddrParams' + dnnSnssaiParams: + $ref: '#/components/schemas/DnnSnssaiParams' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + + AppDescriptor: + description: Represents an operation system and the corresponding applications. + type: object + properties: + osId: + $ref: 'TS29519_Policy_Data.yaml#/components/schemas/OsId' + appIds: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minProperties: 1 + description: > + Identifies applications that are running on the UE's operating system. + Any string value can be used as a key of the map. + required: + - osId + - appIds + + AppDescriptorRm: + description: > + Represents the same as the AppDescriptor data type but with the nullable:true + property. + type: object + properties: + appIds: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationIdRm' + minProperties: 1 + description: > + Identifies applications that are running on the UE's operating system. + Any string value can be used as a key of the map. + + MaxGrpDataRateInfo: + description: > + Represents the Maximum Group Data Rate related information. + type: object + properties: + maxGrpDataRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxGrpDataRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + anyOf: + - required: [maxGrpDataRateUl] + - required: [maxGrpDataRateDl] + + CpParams: + description: Represents Communication Pattern parameters. + type: object + properties: + cpParameterSets: + type: object + additionalProperties: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/CpParameterSet' + minProperties: 1 + description: > + Contains one or more set(s) of CP parameters information for the 5G VN group. + Any string value may be used as a key of the map. + cpReports: + type: object + additionalProperties: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/CpReport' + minProperties: 1 + description: > + Contains the identifier(s) of the set(s) of CP parameters for which the provided CP + parameters are not added or modified successfully with the corresponding failure reason. + Each element provides the related information for one or more CP set identifier(s). + The key of the map is a string representing the failure identifier. + readOnly: true + required: + - cpParameterSets + + NpConfigParams: + description: Represents Network Parameters Configuration information. + type: object + properties: + maximumLatency: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + maximumResponseTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + suggestedNumberOfDlPackets: + type: integer + minimum: 0 + description: > + Contains the number of packets that the serving gateway shall buffer in case the UE is + not reachable. + groupReportingGuardTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + validityTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + + LpiParams: + description: Represents Location Privacy Indication parameters. + type: object + properties: + lpi: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/Lpi' + required: + - lpi + + AcsParams: + description: Represents ACS configuration parameters. + type: object + properties: + acsInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AcsInfo' + required: + - acsInfo + + ECSAddrParams: + description: Represents ECS address configuration parameters. + type: object + properties: + ecsServerAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/EcsServerAddr' + spatialValidityCond: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SpatialValidityCond' + required: + - ecsServerAddr + + DnnSnssaiParams: + description: Represents DNN and S-NSSAI specific Group Parameters. + type: object + properties: + defQos: + $ref: 'TS29522_GroupParametersProvisioning.yaml#/components/schemas/AfReqDefaultQoS' + ladnServArea: + $ref: 'TS29522_GroupParametersProvisioning.yaml#/components/schemas/LadnServArea' + anyOf: + - required: [ defQos ] + - required: [ ladnServArea ] + + 5GLanParamProvNotif: + description: Represents a 5G LAN Parameter Provisioning Event Notification. + type: object + properties: + npConfigNotif: + $ref: '#/components/schemas/NpConfigNotif' + + NpConfigNotif: + description: Represents a Network Parameters Configuration related notification. + type: object + properties: + configResults: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ConfigResult' + minItems: 1 + appliedParam: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/AppliedParameterConfiguration' + + AaaUsage: + anyOf: + - type: string + enum: + - AUTH + - IP_ALLOC + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the usage of the DN-AAA server. + Possible values are: + - AUTH: secondary authentication/authorization needed from DN-AAA server + - IP_ALLOC: UE IP address allocation needed from DN-AAA server diff --git a/TS29522_ACSParameterProvision.yaml b/TS29522_ACSParameterProvision.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f03285323ca974765db0216a489b5f8223955d71 --- /dev/null +++ b/TS29522_ACSParameterProvision.yaml @@ -0,0 +1,379 @@ +openapi: 3.0.0 +info: + title: 3gpp-acs-pp + version: 1.1.2 + description: | + API for 5G ACS Parameter Provision. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 29.522 V17.8.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-acs-pp/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. +paths: + /{afId}/subscriptions: + get: + summary: read all of the active subscriptions for the AF + operationId: ReadAllSubscriptions + tags: + - ACS Configuration Subscriptions + 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 subscriptions for the AF) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AcsConfigurationData' + 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 + operationId: CreateAnSubscription + tags: + - ACS Configuration Subscriptions + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new subscription creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AcsConfigurationData' + responses: + '201': + description: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/AcsConfigurationData' + 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}: + get: + summary: read an active subscription for the AF and the subscription Id + operationId: ReadAnSubscription + tags: + - Individual ACS Configuration Subscription + 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 + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AcsConfigurationData' + '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: Fully updates/replaces an existing subscription resource + operationId: FullyUpdateAnSubscription + tags: + - Individual ACS Configuration Subscription + 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 + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AcsConfigurationData' + responses: + '200': + description: OK (Successful update of the existing subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AcsConfigurationData' + '204': + description: > + Successful case. The resource has been successfully updated and no additional + content is to be sent in the response message. + '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: Partial modifies an existing subscription resource. + operationId: PartialUpdateAnSubscription + tags: + - Individual ACS Configuration Subscription + 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 + requestBody: + description: Parameters to modify the existing subscription. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AcsConfigurationDataPatch' + responses: + '200': + description: > + OK. The subscription resource was successfully modified and a representation of the + updated resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AcsConfigurationData' + '204': + description: > + No Content. The resource has been successfully modified and no additional content is to + be sent in the response message. + '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 + operationId: DeleteAnSubscription + tags: + - Individual ACS Configuration Subscription + 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 + 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: + AcsConfigurationData: + description: Represents an individual ACS Configuration subscription resource. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + exterGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + acsInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AcsInfo' + mtcProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - acsInfo + - suppFeat + AcsConfigurationDataPatch: + description: > + Represents the parameters to request to modify an existing Individual ACS Configuration + subscription resource. + type: object + properties: + acsInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AcsInfo' + mtcProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' diff --git a/TS29522_AKMA.yaml b/TS29522_AKMA.yaml new file mode 100644 index 0000000000000000000000000000000000000000..74bb17217b6068a1467f555c3c11518fd9c400ac --- /dev/null +++ b/TS29522_AKMA.yaml @@ -0,0 +1,123 @@ +openapi: 3.0.0 +info: + title: 3gpp-akma + version: 1.1.0-alpha.1 + description: | + API for AKMA. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 29.522 V18.3.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-akma/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. +paths: + /retrieve: + post: + summary: Retrieve AKMA Application Key Information. + operationId: RetrieveAKMAAppKey + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AkmaAfKeyRequest' + responses: + '200': + description: The requested information was returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/AkmaAfKeyData' + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: + nnef-akma:gpsi-access: > + Return GPSI in the AKMA Application Key information for the UE. + + schemas: + AkmaAfKeyRequest: + description: > + Represents the parameters to request the retrieval of AKMA Application Key information. + type: object + properties: + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + afId: + $ref: '#/components/schemas/AfId' + aKId: + $ref: '#/components/schemas/AKId' + anonInd: + type: boolean + description: > + Indicates whether an anonymous user access. Set to "true" if an anonymous user access is + requested; otherwise set to "false". Default value is "false" if omitted. + default: false + required: + - afId + - aKId + AkmaAfKeyData: + description: Represents AKMA Application Key information data. + type: object + properties: + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + expiry: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + kaf: + type: string + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + required: + - kaf + - expiry + AfId: + description: Represents an AF identifier. + type: string + AKId: + description: Represents an AKMA Key Identifier. + type: string diff --git a/TS29522_AMInfluence.yaml b/TS29522_AMInfluence.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9a3f6e0e6b9d98bd48e71c0b6534a18684a89d0f --- /dev/null +++ b/TS29522_AMInfluence.yaml @@ -0,0 +1,481 @@ +openapi: 3.0.0 +info: + title: AMInfluence + version: 1.1.0-alpha.1 + description: | + AMInfluence API Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 29.522 V18.2.0; 5G System; Network Exposure Function Northbound APIs. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/ +servers: + - url: '{apiRoot}/3gpp-am-influence/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: [] +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: + - AM Influence Subscription + responses: + '200': + description: OK (Successful get all of the active subscriptions for the AF). + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AmInfluSub' + '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 subscription to AM influence. + operationId: CreateAMInfluenceSubcription + tags: + - AM Influence Subscription + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AmInfluSub' + responses: + '201': + description: Create a new Individual AM Influence Subscription resource. + content: + application/json: + schema: + $ref: '#/components/schemas/AmInfluSub' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/3gpp-am-influence/v1/{afId}/subscriptions/{subscriptionId}. + 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: + notificationDestination: + '{$request.body#/notificationDestination}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AmInfluEventNotif' + minItems: 1 + 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}/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 subscription identified by the subscriptionId. + tags: + - Individual AM Influence Subscription + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AmInfluSub' + '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: Update/Replace an existing subscription resource. + tags: + - Individual AM Influence Subscription + requestBody: + description: Parameters to update/replace the existing subscription. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AmInfluSub' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AmInfluSub' + '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' + patch: + summary: Update/Replace an existing subscription resource. + tags: + - Individual AM Influence Subscription + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AmInfluSubPatch' + responses: + '200': + description: OK. The subscription was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/AmInfluSub' + '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: Delete an existing subscription. + tags: + - Individual AM Influence 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: '{nrfApiRoot}/oauth2/token' + scopes: {} + schemas: + AmInfluSub: + description: Represents an AM influence subscription. + type: object + properties: + afTransId: + type: string + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + anyUeInd: + type: boolean + description: > + Identifies whether the AF request applies to any UE. This attribute shall + set to "true" if applicable for any UE, otherwise, set to "false". + roamUePlmnIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + description: > + Indicates a list of PLMNs representing the home PLMN for the inbound roaming + UEs. + dnnSnssaiInfos: + type: array + items: + $ref: '#/components/schemas/DnnSnssaiInformation' + minItems: 1 + description: Each of the element identifies a (DNN, S-NSSAI) combination. + afAppIds: + type: array + items: + type: string + minItems: 1 + description: Each of the element identifies an application. + highThruInd: + type: boolean + geoAreas: + type: array + items: + $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea' + minItems: 1 + description: Identifies geographic areas of the user where the request is applicable. + policyDuration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + subscribedEvents: + type: array + items: + $ref: '#/components/schemas/AmInfluEvent' + minItems: 1 + description: Indicates one or more AM influence related events. + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: > + Set to true by the AF to request the NEF to send a test notification + as defined in clause 5.2.5.3 of 3GPP TS 29.122. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - afTransId + anyOf: + - required: [highThruInd] + - required: [geoAreas] + oneOf: + - required: [gpsi] + - required: [externalGroupId] + - required: [anyUeInd] + - required: [roamUePlmnIds] + AmInfluSubPatch: + description: > + Represents parameters to request the modification of an AM influence subscription resource. + type: object + properties: + highThruInd: + type: boolean + nullable: true + geoAreas: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + description: Identifies geographic areas of the user where the request is applicable. + nullable: true + policyDuration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRm' + dnnSnssaiInfos: + type: array + items: + $ref: '#/components/schemas/DnnSnssaiInformation' + minItems: 1 + nullable: true + description: Each of the element identifies a (DNN, S-NSSAI) combination. + afAppIds: + type: array + items: + type: string + minItems: 1 + nullable: true + description: Each of the element identifies an application. + subscribedEvents: + type: array + items: + $ref: '#/components/schemas/AmInfluEvent' + minItems: 1 + nullable: true + description: Indicates one or more AM influence related events. + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LinkRm' + AmInfluEventNotif: + description: Represents an AM influence event notification. + type: object + properties: + afTransId: + type: string + event: + $ref: '#/components/schemas/AmInfluEvent' + geoAreas: + type: array + items: + $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea' + minItems: 1 + description: Identifies geographic areas of the user where the request is applicable. + required: + - event + - afTransId + DnnSnssaiInformation: + description: Represents a (DNN, SNSSAI) combination. + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + +# ENUMERATIONS DATA TYPES +# + AmInfluEvent: + description: Represents the service area coverage outcome event. + anyOf: + - type: string + enum: + - SERVICE_AREA_COVRG_OUTCOME + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. diff --git a/TS29522_AMPolicyAuthorization.yaml b/TS29522_AMPolicyAuthorization.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1408a8023a6c1bf9f4186321deea94af0e0ac570 --- /dev/null +++ b/TS29522_AMPolicyAuthorization.yaml @@ -0,0 +1,526 @@ +openapi: 3.0.0 +info: + title: 3gpp-am-policyauthorization + version: 1.0.2 + description: | + API for AM policy authorization. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 29.522 V17.8.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-am-policyauthorization/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. +paths: + /{afId}/app-am-contexts: + post: + summary: Creates a new Individual application AM Context resource + operationId: PostAppAmContexts + tags: + - Application AM Contexts + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new resource creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AppAmContextExpData' + responses: + '201': + description: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/AppAmContextExpRespData' + 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: + amEventNotification: + '{$request.body#/evSubscs/eventNotifUri}': + post: + requestBody: + description: Notification of an event occurrence. + required: true + content: + application/json: + schema: + $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsNotification' + responses: + '204': + description: The receipt of the notification is acknowledged + '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}/app-am-contexts/{appAmContextId}: + get: + summary: read an existing Individual application AM context + operationId: GetAppAmContext + tags: + - Individual Application AM Context + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: appAmContextId + in: path + description: Identifier of the Individual application AM context + required: true + schema: + type: string + responses: + '200': + description: OK (A representation of the resource is successfully returned) + content: + application/json: + schema: + $ref: '#/components/schemas/AppAmContextExpData' + '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: partial modifies an existing Individual application AM context + operationId: ModAppAmContext + tags: + - Individual Application AM Context + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: appAmContextId + in: path + description: Identifier of the application AM context resource + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AppAmContextExpUpdateData' + responses: + '200': + description: > + successful modification of the resource and a representation of that + resource is returned. If a subscribed event is matched, the event + notification is also included in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/AppAmContextExpRespData' + '204': + description: The successful modification + '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 existing Individual Application AM Context + operationId: DeleteAppAmContext + tags: + - Individual Application AM Context + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: appAmContextId + in: path + description: string identifying the Individual aaplication AM context resource + required: true + schema: + type: string + responses: + '204': + description: The deletion is confirmed without returning additional data. + '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}/app-am-contexts/{appAmContextId}/events-subscription: + put: + summary: creates or modifies an AM Policy Events Subscription sub-resource. + operationId: UpdateAmEventsSubsc + tags: + - AM Policy Events Subscription + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: appAmContextId + in: path + description: string identifying the AM Policy Events Subscription subresource + required: true + schema: + type: string + requestBody: + description: > + Creation or modification of an application AM Policy Events Subscription sub-resource. + required: true + content: + application/json: + schema: + $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsSubscData' + responses: + '201': + description: > + The creation of the application AM Policy Events Subscription sub-resource + is confirmed and its representation is returned. If an AM Event is matched, + the response also includes the notification. + content: + application/json: + schema: + $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsSubscRespData' + headers: + Location: + description: > + Contains the URI of the created AM Policy Events Subscription + subresource, according to the structure + {apiRoot}/3gpp-am-policyauthorization/v1/{afId}/app-am- + contexts/{appAmContextId}/events-subscription} + required: true + schema: + type: string + '200': + description: > + The modification of the AM Policy Events Subscription subresource is confirmed + and its representation is returned. If an AM Event is matched, the response also + includes the notification. + content: + application/json: + schema: + $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsSubscRespData' + '204': + description: > + The modification of the AM Policy Events Subscription subresource is confirmed + without returning additional data. + '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' + callbacks: + amEventNotification: + '{$request.body#/evSubscs/eventNotifUri}': + post: + requestBody: + description: Contains the information for the notification of an event occurrence. + required: true + content: + application/json: + schema: + $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsNotification' + responses: + '204': + description: The receipt of the notification is acknowledged. + '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 the AM Policy Events Subscription sub-resource + operationId: DeleteAmEventsSubsc + tags: + - AM Policy Events Subscription + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: appAmContextId + in: path + description: string identifying the Individual Application AM Context resource. + required: true + schema: + type: string + responses: + '204': + description: > + The deletion of the of the AM Policy Events Subscription subresource + is confirmed without returning additional data. + '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: + AppAmContextExpData: + description: Represents an Individual application AM context exposure resource. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + evSubscs: + $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsSubscData' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + highThruInd: + type: boolean + covReqs: + type: array + items: + $ref: '#/components/schemas/GeographicalArea' + minItems: 1 + nullable: true + policyDuration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRm' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestTestNotification: + type: boolean + description: > + Set to true by the AF to request the NEF to send a test notification + as defined in clause 5.2.5.3 of 3GPP TS 29.122. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + required: + - gpsi + anyOf: + - required: [highThruInd] + - required: [covReqs] + + AppAmContextExpUpdateData: + description: > + Contains the modification(s) to be applied to the Individual application + AM context exposure resource. + type: object + properties: + evSubscs: + $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsSubscDataRm' + highThruInd: + type: boolean + covReqs: + type: array + items: + $ref: '#/components/schemas/GeographicalArea' + minItems: 1 + policyDuration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + + GeographicalArea: + description: Contains geographical area information (e.g.a civic address or shapes). + type: object + properties: + civicAddress: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + shapes: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + + AppAmContextExpRespData: + description: > + It represents a response to a modification or creation request of an Individual + Application AM resource. It may contain the notification of the already met events + anyOf: + - $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AppAmContextData' + - $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsNotification' diff --git a/TS29522_ASTI.yaml b/TS29522_ASTI.yaml new file mode 100644 index 0000000000000000000000000000000000000000..28b2bce9688cdecbdbea1dad2a7fa9c392229a35 --- /dev/null +++ b/TS29522_ASTI.yaml @@ -0,0 +1,450 @@ +openapi: 3.0.0 + +info: + title: 3gpp-asti + version: 1.1.0-alpha.2 + description: | + API for ASTI. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.4.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 subclause 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: 'TS29565_Ntsctsf_ASTI.yaml#/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/AsTimeDistributionParam' + coverageArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SpatialValidityCond' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + astiNotifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + required: + - asTimeDisParam + oneOf: + - required: [gpsis] + - required: [interGrpId] + + 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' diff --git a/TS29522_AnalyticsExposure.yaml b/TS29522_AnalyticsExposure.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f7e4d58aa92e2b31d1bc0d075edfdd28ab805269 --- /dev/null +++ b/TS29522_AnalyticsExposure.yaml @@ -0,0 +1,1295 @@ +openapi: 3.0.0 + +info: + title: 3gpp-analyticsexposure + version: 1.2.0-alpha.5 + description: | + API for Analytics Exposure. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.4.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-analyticsexposure/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /{afId}/subscriptions: + get: + summary: read all of the active subscriptions for the AF + operationId: ReadAllSubscriptions + tags: + - Analytics Exposure Subscriptions + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: supp-feat + in: query + description: Features supported by the NF service consumer + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: OK (Successful get all of the active subscriptions for the AF) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AnalyticsExposureSubsc' + 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 + operationId: CreateNewSubscription + tags: + - Analytics Exposure Subscriptions + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new subscription creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsExposureSubsc' + callbacks: + notification: + '{request.body#/notifUri}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsEventNotification' + responses: + '204': + description: No Content (successful 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: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsExposureSubsc' + headers: + Location: + description: Contains the URI of the newly created resource. + required: true + schema: + type: string + '204': + description: > + Successful case. The resource has been successfully created and no additional + content is to be sent in the response message. + '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}: + get: + summary: read an active subscription for the AF and the subscription Id + operationId: ReadAnSubscription + tags: + - Individual Analytics Exposure Subscription + 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 + - name: supp-feat + in: query + description: Features supported by the NF service consumer + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsExposureSubsc' + '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: Fully updates/replaces an existing subscription resource + operationId: FullyUpdateAnSubscription + tags: + - Individual Analytics Exposure Subscription + 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 + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsExposureSubsc' + responses: + '200': + description: OK (Successful deletion of the existing subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsExposureSubsc' + '204': + description: > + Successful case. The resource has been successfully updated and no additional + content is to be sent in the response message. + '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 + operationId: DeleteAnSubscription + tags: + - Individual Analytics Exposure Subscription + 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 + 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' + + /{afId}/fetch: + post: + summary: Fetch analytics information + operationId: FetchAnalyticsInfo + tags: + - AnalyticsExposure API Fetch analytics information + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsRequest' + responses: + '200': + description: The requested information was returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsData' + '204': + description: No Content (The requested Analytics data does not exist) + '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': + description: > + The request is rejected by the NEF and more details (not only the ProblemDetails) + are returned. + content: + application/problem+json: + schema: + $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/ProblemDetailsAnalyticsInfoRequest' + '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: + AnalyticsExposureSubsc: + description: Represents an analytics exposure subscription. + type: object + properties: + analyEventsSubs: + type: array + items: + $ref: '#/components/schemas/AnalyticsEventSubsc' + minItems: 1 + analyRepInfo: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + notifId: + type: string + eventNotifis: + type: array + items: + $ref: '#/components/schemas/AnalyticsEventNotif' + minItems: 1 + failEventReports: + type: array + items: + $ref: '#/components/schemas/AnalyticsFailureEventInfo' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: > + Set to true by the AF to request the NEF to send a test notification + as defined in clause 5.2.5.3 of 3GPP TS 29.122. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + required: + - analyEventsSubs + - notifUri + - notifId + + AnalyticsEventNotification: + description: Represents an analytics event(s) notification. + type: object + properties: + notifId: + type: string + analyEventNotifs: + type: array + items: + $ref: '#/components/schemas/AnalyticsEventNotif' + minItems: 1 + termCause: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/TermCause' + required: + - notifId + - analyEventNotifs + + AnalyticsEventNotif: + description: Represents an analytics event to be reported. + type: object + properties: + analyEvent: + $ref: '#/components/schemas/AnalyticsEvent' + expiry: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + timeStamp: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + failNotifyCode: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafFailureCode' + rvWaitTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + ueMobilityInfos: + type: array + items: + $ref: '#/components/schemas/UeMobilityExposure' + minItems: 1 + ueCommInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeCommunication' + minItems: 1 + abnormalInfos: + type: array + items: + $ref: '#/components/schemas/AbnormalExposure' + minItems: 1 + congestInfos: + type: array + items: + $ref: '#/components/schemas/CongestInfo' + minItems: 1 + dataVlTrnsTmIfs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/E2eDataVolTransTimeInfo' + minItems: 1 + nwPerfInfos: + type: array + items: + $ref: '#/components/schemas/NetworkPerfExposure' + minItems: 1 + qosSustainInfos: + type: array + items: + $ref: '#/components/schemas/QosSustainabilityExposure' + minItems: 1 + disperInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DispersionInfo' + minItems: 1 + dnPerfInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DnPerfInfo' + minItems: 1 + svcExps: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ServiceExperienceInfo' + minItems: 1 + movBehavInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/MovBehavInfo' + minItems: 1 + wlanInfos: + type: array + items: + $ref: '#/components/schemas/WlanPerformInfo' + minItems: 1 + relProxInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RelProxInfo' + minItems: 1 + start: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + timeStampGen: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + pauseInd: + type: boolean + description: > + Pause analytics consumption indication. Set to "true" to indicate the consumer to stop + the consumption of the analytics. Default value is "false" if omitted. + resumeInd: + type: boolean + description: > + Resume analytics consumption indication. Set to "true" to indicate the consumer to + resume the consumption of the analytics. Default value is "false" if omitted. + accuInfo: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AccuracyInfo' + required: + - analyEvent + - timeStamp + + AnalyticsEventSubsc: + description: Represents a subscribed analytics event. + type: object + properties: + analyEvent: + $ref: '#/components/schemas/AnalyticsEvent' + analyEventFilter: + $ref: '#/components/schemas/AnalyticsEventFilterSubsc' + tgtUe: + $ref: '#/components/schemas/TargetUeId' + required: + - analyEvent + + AnalyticsEventFilterSubsc: + description: Represents an analytics event filter. + type: object + properties: + nwPerfReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfRequirement' + minItems: 1 + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + fineGranAreas: + type: array + items: + $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea' + minItems: 1 + description: Indicates the fine granularity areas to which the subscription applies. + temporalGranSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + spatialGranSizeTa: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + spatialGranSizeCell: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + dataVlTrnsTmRqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/E2eDataVolTransTimeReq' + minItems: 1 + excepRequs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/Exception' + minItems: 1 + exptAnaType: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExpectedAnalyticsType' + exptUeBehav: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData' + matchingDir: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/MatchingDirection' + reptThlds: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ThresholdLevel' + minItems: 1 + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + nsiIdInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NsiIdInfo' + minItems: 1 + qosReq: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/QosRequirement' + qosFlowRetThds: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RetainabilityThreshold' + minItems: 1 + ranUeThrouThds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + minItems: 1 + disperReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DispersionRequirement' + minItems: 1 + listOfAnaSubsets: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnalyticsSubset' + minItems: 1 + dnPerfReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DnPerformanceReq' + minItems: 1 + dataVlTrnsTmReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/E2eDataVolTransTimeReq' + minItems: 1 + bwRequs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/BwRequirement' + minItems: 1 + ratFreqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RatFreqInformation' + minItems: 1 + appServerAddrs: + type: array + items: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AddrFqdn' + minItems: 1 + wlanReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/WlanPerformanceReq' + minItems: 1 + extraReportReq: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventReportingRequirement' + maxNumOfTopAppUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + maxNumOfTopAppDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + visitedLocAreas: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + minItems: 1 + pduSesInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/PduSessionInfo' + minItems: 1 + ueCommReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeCommReq' + minItems: 1 + userDataConOrderCri: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UserDataConOrderCrit' + locGranularity: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/LocInfoGranularity' + locOrientation: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/LocationOrientation' + ueMobilityReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeMobilityReq' + minItems: 1 + movBehavReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/MovBehavReq' + minItems: 1 + relProxReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RelProxReq' + minItems: 1 + useCaseCxt: + type: string + description: > + Indicates the context of usage of the analytics. The value and format of this parameter + are not standardized. + pauseFlg: + type: boolean + description: > + Pause analytics consumption flag. Set to "true" to indicate the NWDAF to stop sending + the notifications of analytics. Default value is "false" if omitted. + resumeFlg: + type: boolean + description: > + Resume analytics consumption flag. Set to "true" to indicate the NWDAF to resume sending + the notifications of analytics. Default value is "false" if omitted. + accuReq: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AccuracyReq' + feedback: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnalyticsFeedbackInfo' + + TargetUeId: + description: Represents the target UE(s) information. + type: object + properties: + anyUeInd: + type: boolean + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + exterGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + + UeMobilityExposure: + description: Represents a UE mobility information. + type: object + properties: + ts: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + recurringTime: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/ScheduledCommunicationTime' + duration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + durationVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + locInfo: + type: array + items: + $ref: '#/components/schemas/UeLocationInfo' + minItems: 1 + directionInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DirectionInfo' + minItems: 1 + required: + - duration + - locInfo + + UeLocationInfo: + description: Represents a UE location information. + type: object + properties: + loc: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + geoLoc: + $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + geoDistrInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/GeoDistributionInfo' + minItems: 1 + required: + - loc + + AnalyticsRequest: + description: Represents the parameters to request to retrieve analytics information. + type: object + properties: + analyEvent: + $ref: '#/components/schemas/AnalyticsEvent' + analyEventFilter: + $ref: '#/components/schemas/AnalyticsEventFilter' + analyRep: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventReportingRequirement' + tgtUe: + $ref: '#/components/schemas/TargetUeId' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - analyEvent + - suppFeat + + AnalyticsEventFilter: + description: Represents analytics event filter information. + type: object + properties: + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + fineGranAreas: + type: array + items: + $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea' + minItems: 1 + description: Indicates the fine granularity areas to which the request applies. + temporalGranSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + spatialGranSizeTa: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + spatialGranSizeCell: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + nwPerfTypes: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfType' + minItems: 1 + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + excepIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExceptionId' + minItems: 1 + exptAnaType: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExpectedAnalyticsType' + exptUeBehav: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + nsiIdInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NsiIdInfo' + minItems: 1 + qosReq: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/QosRequirement' + listOfAnaSubsets: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnalyticsSubset' + minItems: 1 + dnPerfReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DnPerformanceReq' + minItems: 1 + bwRequs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/BwRequirement' + minItems: 1 + ratFreqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RatFreqInformation' + minItems: 1 + appServerAddrs: + type: array + items: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AddrFqdn' + minItems: 1 + wlanReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/WlanPerformanceReq' + minItems: 1 + maxNumOfTopAppUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + maxNumOfTopAppDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + visitedLocAreas: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + minItems: 1 + pduSesInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/PduSessionInfo' + minItems: 1 + ueCommReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeCommReq' + minItems: 1 + userDataConReq: + $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/UserDataCongestReq' + locGranularity: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/LocInfoGranularity' + locOrientation: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/LocationOrientation' + ueMobilityReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeMobilityReq' + minItems: 1 + movBehavReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/MovBehavReq' + minItems: 1 + useCaseCxt: + type: string + description: > + Indicates the context of usage of the analytics. The value and format of this parameter + are not standardized. + accuReq: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AccuracyReq' + + AnalyticsData: + description: Represents analytics data. + type: object + properties: + start: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + expiry: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + timeStampGen: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + ueMobilityInfos: + type: array + items: + $ref: '#/components/schemas/UeMobilityExposure' + minItems: 1 + ueCommInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeCommunication' + minItems: 1 + nwPerfInfos: + type: array + items: + $ref: '#/components/schemas/NetworkPerfExposure' + minItems: 1 + abnormalInfos: + type: array + items: + $ref: '#/components/schemas/AbnormalExposure' + minItems: 1 + congestInfos: + type: array + items: + $ref: '#/components/schemas/CongestInfo' + minItems: 1 + dataVlTrnsTmInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/E2eDataVolTransTimeInfo' + minItems: 1 + qosSustainInfos: + type: array + items: + $ref: '#/components/schemas/QosSustainabilityExposure' + minItems: 1 + disperInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DispersionInfo' + minItems: 1 + dnPerfInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DnPerfInfo' + minItems: 1 + svcExps: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ServiceExperienceInfo' + minItems: 1 + disperReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DispersionRequirement' + minItems: 1 + movBehavInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/MovBehavInfo' + minItems: 1 + wlanInfos: + type: array + items: + $ref: '#/components/schemas/WlanPerformInfo' + minItems: 1 + accuInfo: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AccuracyInfo' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - suppFeat + + NetworkPerfExposure: + description: Represents network performance information. + type: object + properties: + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + anaPeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + nwPerfType: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfType' + relativeRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + absoluteNum: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + rscUsgReq: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ResourceUsageRequirement' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - locArea + - nwPerfType + + AbnormalExposure: + description: Represents a user's abnormal behavior information. + type: object + properties: + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + excep: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/Exception' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + addtMeasInfo: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AdditionalMeasurement' + required: + - excep + + CongestInfo: + description: Represents a UE's user data congestion information. + type: object + properties: + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + cngAnas: + type: array + items: + $ref: '#/components/schemas/CongestionAnalytics' + minItems: 1 + required: + - locArea + - cngAnas + + CongestionAnalytics: + description: > + Represents data congestion analytics for transfer over the user plane, + control plane or both. + type: object + properties: + cngType: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/CongestionType' + tmWdw: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + nsi: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ThresholdLevel' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + topAppListUl: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/TopApplication' + minItems: 1 + topAppListDl: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/TopApplication' + minItems: 1 + required: + - cngType + - tmWdw + - nsi + + QosSustainabilityExposure: + description: Represents a QoS sustainability information. + type: object + properties: + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + fineAreaInfos: + type: array + items: + $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea' + minItems: 1 + description: This attribute contains the geographical locations in a fine granularity. + startTs: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + endTs: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + qosFlowRetThd: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RetainabilityThreshold' + ranUeThrouThd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - locArea + - startTs + - endTs + + WlanPerformInfo: + description: The WLAN performance related information. + type: object + properties: + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + wlanPerSsidInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/WlanPerSsIdPerformanceInfo' + minItems: 1 + wlanPerUeIdInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/WlanPerUeIdPerformanceInfo' + minItems: 1 + description: > + WLAN performance information for UE Id(s) of WLAN access points deployed in the Area + of Interest. + required: + - wlanPerSsidInfos + + AnalyticsFailureEventInfo: + description: > + Represents an event for which the subscription request was not successful + and including the associated failure reason. + type: object + properties: + event: + $ref: '#/components/schemas/AnalyticsEvent' + failureCode: + $ref: '#/components/schemas/AnalyticsFailureCode' + required: + - event + - failureCode + + AnalyticsEvent: + anyOf: + - type: string + enum: + - UE_MOBILITY + - UE_COMM + - ABNORMAL_BEHAVIOR + - CONGESTION + - NETWORK_PERFORMANCE + - QOS_SUSTAINABILITY + - DISPERSION + - DN_PERFORMANCE + - SERVICE_EXPERIENCE + - E2E_DATA_VOL_TRANS_TIME + - MOVEMENT_BEHAVIOUR + - RELATIVE_PROXIMITY + - WLAN_PERFORMANCE + - NSI_LOAD_LEVEL + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the analytics event that is subscribed or notified. + Possible values are: + - UE_MOBILITY: The AF requests to be notified about analytics information of UE mobility. + - UE_COMM: The AF requests to be notified about analytics information of UE communication. + - ABNORMAL_BEHAVIOR: The AF requests to be notified about analytics information of UE's + abnormal behavior. + - CONGESTION: The AF requests to be notified about analytics information of user data + congestion information. + - NETWORK_PERFORMANCE: The AF requests to be notified about analytics information + of network performance. + - QOS_SUSTAINABILITY: The AF requests to be notified about analytics information + of QoS sustainability. + - DISPERSION: The AF requests to be notified about analytics information of Dispersion + analytics. + - DN_PERFORMANCE: The AF requests to be notified about analytics information of DN + performance. + - SERVICE_EXPERIENCE: The AF requests to be notified about analytics information of service + experience. + - E2E_DATA_VOL_TRANS_TIME: The AF requests to be notified about analytics information of + E2E data volume transfer time. + - MOVEMENT_BEHAVIOUR: The AF requests to be notified about analytics information of + Movement Behaviour. + - RELATIVE_PROXIMITY: The AF requests to be notified about analytics information of + Relative Proximity. + - WLAN_PERFORMANCE: Indicates that the event subscribed is the Wlan Performance + information. + - NSI_LOAD_LEVEL: Indicates that the event subscribed is load level information of Network + Slice and the optionally associated Network Slice Instance. + + AnalyticsFailureCode: + anyOf: + - type: string + enum: + - UNAVAILABLE_DATA + - BOTH_STAT_PRED_NOT_ALLOWED + - UNSATISFIED_REQUESTED_ANALYTICS_TIME + - OTHER + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Identifies the failure reason. + Possible values are: + - UNAVAILABLE_DATA: The event is rejected since necessary data to perform the service + is unavailable. + - BOTH_STAT_PRED_NOT_ALLOWED: The event is rejected since the start time is in the past + and the end time is in the future, which means the NF service consumer requested both + statistics and prediction for the analytics. + - UNSATISFIED_REQUESTED_ANALYTICS_TIME: Indicates that the requested event is rejected + since the analytics information is not ready when the time indicated by the timeAnaNeeded + attribute (as provided during the creation or modification of subscription) is reached. + - OTHER: The event is rejected due to other reasons. diff --git a/TS29522_ApplyingBdtPolicy.yaml b/TS29522_ApplyingBdtPolicy.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c9f92b2f2e8dcfdbe9fdf834a5bfbb0e5cec7236 --- /dev/null +++ b/TS29522_ApplyingBdtPolicy.yaml @@ -0,0 +1,280 @@ +openapi: 3.0.0 +info: + title: 3gpp-applying-bdt-policy + version: 1.1.1 + description: | + API for applying BDT policy + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 29.522 V17.7.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-applying-bdt-policy/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 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 + operationId: ReadAllSubscriptions + 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 + operationId: CreateNewSubscription + 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 + operationId: ReadAnSubscription + 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: Partial updates/replaces an existing subscription resource + operationId: PartialUpdateAnSubscription + 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 + operationId: DeleteAnSubscription + 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: + description: Represents an applied BDT policy. + 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: + description: > + Represents the parameters to request the modification of a subscription to + applied BDT policy. + type: object + properties: + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + required: + - bdtRefId diff --git a/TS29522_DNAIMapping.yaml b/TS29522_DNAIMapping.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d86d4a25065378060b7af77dd5dde8deeb1201d4 --- /dev/null +++ b/TS29522_DNAIMapping.yaml @@ -0,0 +1,329 @@ +openapi: 3.0.0 + +info: + title: 3gpp-dnaimapping + version: 1.0.0-alpha.3 + description: | + API for DNAI Mapping. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.4.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-dnai-mapping/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /{afId}/subscriptions: + get: + summary: read all of the active subscriptions for the AF + operationId: ReadAllSubscriptions + tags: + - DNAI Mapping Subscriptions + 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 subscriptions for the AF) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DnaiMapSub' + 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 + operationId: CreateNewSubscription + tags: + - DNAI Mapping Subscriptions + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new subscription creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DnaiMapSub' + callbacks: + notification: + '{request.body#/notifUri}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DnaiMapUpdateNotif' + responses: + '204': + description: No Content (successful 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: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/DnaiMapSub' + 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}: + get: + summary: read an active subscription for the AF and the subscription Id + operationId: ReadAnSubscription + tags: + - Individual DNAI Mapping Subscription + 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 + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/DnaiMapSub' + '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' + + delete: + summary: Deletes an already existing subscription + operationId: DeleteAnSubscription + tags: + - Individual Dnai Mapping Subscription + 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 + 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: + DnaiMapSub: + description: Represents a DNAI Mapping subscription. + type: object + properties: + easIpAddrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + minItems: 1 + description: > + IP address(es) of the EASs in the Local part of the DN or the IP address ranges(IPv4 + subnetwork(s) and/or IPv6 prefix(es) of the Local part of the DN where the EAS is + deployed. + fqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + eventReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + immReport: + $ref: '#/components/schemas/DnaiMapUpdateNotif' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + notifCorrId: + type: string + description: Notification correlation identifier. + requestTestNotification: + type: boolean + description: > + Set to true by the AF to request the NEF to send a test notification + as defined in clause 5.2.5.3 of 3GPP TS 29.122. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oneOf: + - required: [easIpAddrs] + - required: [fqdn] + required: + - notifUri + - notifCorrId + + DnaiMapUpdateNotif: + description: Represents an updated DNAI Mapping notification. + type: object + properties: + dnaiEasAddrMap: + type: array + items: + $ref: 'TS29519_Application_Data.yaml#/components/schemas/DnaiEasInfo' + minItems: 1 + description: > + Contains the mapping information between DNAI(s) and EAS address(es). + notifCorrId: + type: string + description: Notification correlation identifier. + required: + - dnaiEasAddrMap + - notifCorrId diff --git a/TS29522_DataReporting.yaml b/TS29522_DataReporting.yaml new file mode 100644 index 0000000000000000000000000000000000000000..55f33610edd248d91efddb1fc6ee11b12c08e817 --- /dev/null +++ b/TS29522_DataReporting.yaml @@ -0,0 +1,270 @@ +openapi: 3.0.0 +info: + title: 3gpp-data-reporting + version: 1.0.0 + description: | + API for 3GPP Data Reporting. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V17.6.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-data-reporting/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. + +paths: + /sessions: + post: + summary: Create a new Data Reporting Session. + operationId: CreateDataRepSession + tags: + - Data Reporting Sessions + requestBody: + description: > + Representation of the Data Reporting Session to be created in the NEF. + required: true + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReporting.yaml#/components/schemas/DataReportingSession' + responses: + '201': + description: Created. Successful creation of a new Data Reporting Session. + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReporting.yaml#/components/schemas/DataReportingSession' + headers: + Location: + required: true + schema: + type: string + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/3gpp-data-reporting/v1/sessions/{sessionId} + '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' + + /sessions/{sessionId}: + parameters: + - name: sessionId + in: path + description: Identifier of the Data Reporting Session. + required: true + schema: + type: string + get: + summary: Request the retrieval of an existing Individual Data Reporting Session resource. + operationId: GetIndDataRepSession + tags: + - Individual Data Reporting Session + responses: + '200': + description: > + OK. The requested Individual Data Reporting Session resource is + Successfully returned. + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReporting.yaml#/components/schemas/DataReportingSession' + '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' + + put: + summary: Request the update of an existing Individual Data Reporting Session resource. + operationId: UpdateIndDataRepSession + tags: + - Individual Data Reporting Session + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReporting.yaml#/components/schemas/DataReportingSession' + responses: + '200': + description: > + OK. The Individual Data Reporting Session resource was successfully + updated. + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReporting.yaml#/components/schemas/DataReportingSession' + '204': + description: > + No Content. The Individual Data Reporting Session resource was 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' + + delete: + summary: Deletes an already existing Data Reporting Session resource. + operationId: DeleteIndDataRepSession + tags: + - Individual Data Reporting Session + responses: + '204': + description: > + No Content. The concerned Individual Data Reporting Session resource was + 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' + + /sessions/{sessionId}/report: + parameters: + - name: sessionId + in: path + description: Identifier of the Data Reporting Session. + required: true + schema: + type: string + post: + summary: Report collected UE data. + operationId: ReportUEData + tags: + - Individual Data Reporting Session + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReporting.yaml#/components/schemas/DataReport' + responses: + '200': + description: OK. The UE data report was successfully received. + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReporting.yaml#/components/schemas/DataReportingSession' + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} diff --git a/TS29522_DataReportingProvisioning.yaml b/TS29522_DataReportingProvisioning.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bb6259e93974619d8b508cd6645d5021db9a413e --- /dev/null +++ b/TS29522_DataReportingProvisioning.yaml @@ -0,0 +1,411 @@ +openapi: 3.0.0 +info: + title: 3gpp-data-reporting-provisioning + version: 1.0.1 + description: | + API for 3GPP Data Reporting and Provisioning. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V17.7.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-data-reporting-provisioning/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. + +paths: + /sessions: + post: + summary: Create a new Data Reporting Provisioning Session. + operationId: CreateDataRepProvSession + tags: + - Data Reporting Provisioning Sessions + requestBody: + description: > + Representation of the Data Reporting Provisioning Session to be created in the NEF. + required: true + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReportingProvisioning.yaml#/components/schemas/DataReportingProvisioningSession' + responses: + '201': + description: Created. Successful creation of a new Data Reporting Provisioning Session. + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReportingProvisioning.yaml#/components/schemas/DataReportingProvisioningSession' + headers: + Location: + required: true + schema: + type: string + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/3gpp-data-reporting-provisioning/v1/sessions/{sessionId} + '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' + + /sessions/{sessionId}: + parameters: + - name: sessionId + in: path + description: Identifier of the Data Reporting Provisioning Session. + required: true + schema: + type: string + get: + summary: Request the retrieval of an existing Individual Data Reporting Provisioning Session resource. + operationId: GetIndDataRepProvSession + tags: + - Individual Data Reporting Provisioning Session + responses: + '200': + description: > + OK. The requested Individual Data Reporting Provisioning Session resource is + Successfully returned. + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReportingProvisioning.yaml#/components/schemas/DataReportingProvisioningSession' + '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 Individual Data Reporting Provisioning Session resource. + operationId: DeleteIndDataRepProvSession + tags: + - Individual Data Reporting Provisioning Session + responses: + '204': + description: > + No Content. The concerned Individual Data Reporting Provisioning Session resource was + 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' + + /sessions/{sessionId}/configurations: + parameters: + - name: sessionId + in: path + description: Identifier of the Data Reporting Provisioning Session. + required: true + schema: + type: string + post: + summary: Create a new Data Reporting Configuration resource. + operationId: CreateDataRepConfig + tags: + - Data Reporting Configurations + requestBody: + description: > + Representation of the Data Reporting Configuration to be created in the NEF. + required: true + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReportingProvisioning.yaml#/components/schemas/DataReportingConfiguration' + responses: + '201': + description: Created. Successful creation of a new Data Reporting Configuration. + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReportingProvisioning.yaml#/components/schemas/DataReportingConfiguration' + headers: + Location: + required: true + schema: + type: string + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/3gpp-data-reporting-provisioning/v1/sessions/{sessionId}/configurations/{configurationId} + '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' + + /sessions/{sessionId}/configurations/{configurationId}: + parameters: + - name: sessionId + in: path + description: Identifier of the Data Reporting Provisioning Session. + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the Data Reporting Configuration. + required: true + schema: + type: string + get: + summary: Request the retrieval of an existing Individual Data Reporting Configuration resource. + operationId: GetIndDataRepConfig + tags: + - Individual Data Reporting Configuration + responses: + '200': + description: > + OK. The requested Individual Data Reporting Configuration resource is successfully + returned. + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReportingProvisioning.yaml#/components/schemas/DataReportingConfiguration' + '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' + + put: + summary: Request to update an existing Individual Data Reporting Configuration resource. + operationId: UpdateIndDataRepConfig + tags: + - Individual Data Reporting Configuration + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReportingProvisioning.yaml#/components/schemas/DataReportingConfiguration' + responses: + '200': + description: > + OK. The Individual Data Reporting Configuration resource was successfully updated. + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReportingProvisioning.yaml#/components/schemas/DataReportingConfiguration' + '204': + description: > + No Content. The Individual Data Reporting Configuration resource was 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 to modify an existing Individual Data Reporting Configuration resource. + operationId: ModifyIndDataRepConfig + tags: + - Individual Data Reporting Configuration + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReportingProvisioning.yaml#/components/schemas/DataReportingConfigurationPatch' + responses: + '200': + description: > + OK. The Individual Data Reporting Configuration resource was successfully modified. + content: + application/json: + schema: + $ref: 'TS26532_Ndcaf_DataReportingProvisioning.yaml#/components/schemas/DataReportingConfiguration' + '204': + description: > + No Content. The Individual Data Reporting Configuration resource was 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: Deletes an already existing Data Reporting Configuration resource. + operationId: DeleteIndDataRepConfig + tags: + - Individual Data Reporting Configuration + responses: + '204': + description: > + No Content. The concerned Individual Data Reporting Configuration resource was + 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: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} diff --git a/TS29522_EASDeployment.yaml b/TS29522_EASDeployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..61061f81e2919197567c9e4dfc39abce0ba8c26e --- /dev/null +++ b/TS29522_EASDeployment.yaml @@ -0,0 +1,418 @@ +openapi: 3.0.0 + +info: + title: 3gpp-eas-deployment + version: 1.1.0-alpha.3 + description: | + API for AF provisioned EAS Deployment. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.4.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-eas-deployment/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /{afId}/eas-deployment-info: + get: + summary: Read all EAS Deployment information for a given AF + operationId: ReadAllDeployment + tags: + - EAS Deployment Information (Collection) + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get all of the EAS Deployment information for the AF) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EasDeployInfo' + 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: Create a new Individual EAS Deployment information resource. + operationId: CreateAnDeployment + tags: + - EAS Deployment Information (Collection) + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new resource creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EasDeployInfo' + responses: + '201': + description: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/EasDeployInfo' + 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}/eas-deployment-info/{easDeployInfoId}: + get: + summary: Read an active Individual EAS Deployment Information resource for the AF + operationId: ReadAnDeployment + tags: + - Individual EAS Deployment Information + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: easDeployInfoId + in: path + description: Identifier of an EAS Deployment Information. + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active resource) + content: + application/json: + schema: + $ref: '#/components/schemas/EasDeployInfo' + '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: Fully updates/replaces an existing resource + operationId: FullyUpdateAnDeployment + tags: + - Individual EAS Deployment Information + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: easDeployInfoId + in: path + description: Identifier of the EAS Deployment information resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EasDeployInfo' + responses: + '200': + description: OK (Successful update of the existing resource) + content: + application/json: + schema: + $ref: '#/components/schemas/EasDeployInfo' + '204': + description: > + Successful case. The resource has been successfully updated and no additional content is + sent in the response message. + '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 EAS Deployment information resource + operationId: DeleteAnDeployment + tags: + - Individual EAS Deployment Information + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: easDeployInfoId + in: path + description: Identifier of the EAS Deployment information resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing resource) + '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' + + /remove-edis: + post: + summary: Remove EAS Deployment Information based on given criteria. + operationId: DeleteEDIs + tags: + - EAS Deployment Information removal + requestBody: + description: Criteria to be used for deleting EAS Deployment Information that match them. + content: + application/json: + schema: + $ref: '#/components/schemas/EdiDeleteCriteria' + required: true + responses: + '204': + description: > + No Content. The EDIs matching the provided criteria have been successfully deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + EasDeployInfo: + description: Represents EAS Deployment Information. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + afServiceId: + type: string + fqdnPatternList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/FqdnPatternMatchingRule' + minItems: 1 + appId: + type: string + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + dnaiInfos: + type: object + additionalProperties: + $ref: '#/components/schemas/DnaiInformation' + minProperties: 1 + description: > + list of DNS server identifier (consisting of IP address and port) and/or IP address(s) + of the EAS in the local DN for each DNAI. The key of map is the DNAI. + targetAfId: + type: string + description: > + Identifier of the AF that is responsible for the EAS associated with this EAS + deployment information. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - fqdnPatternList + + DnaiInformation: + description: Represents DNAI information. + type: object + properties: + dnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + dnsServIds: + type: array + items: + $ref: '#/components/schemas/DnsServerIdentifier' + minItems: 1 + easIpAddrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + minItems: 1 + required: + - dnai + anyOf: + - required: [dnsServIds] + - required: [easIpAddrs] + + DnsServerIdentifier: + description: Represents DNS server identifier (consisting of IP address and port). + type: object + properties: + dnsServIpAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + portNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - dnsServIpAddr + - portNumber + + EdiDeleteCriteria: + description: > + Contains criteria to be used for deleting EAS Deployment Information entries that match + them. + type: object + properties: + afId: + $ref: 'TS29522_AKMA.yaml#/components/schemas/AfId' + dnnSnssai: + $ref: 'TS29522_AMInfluence.yaml#/components/schemas/DnnSnssaiInformation' + anyOf: + - required: [afId] + - required: [dnnSnssai] diff --git a/TS29522_ECSAddress.yaml b/TS29522_ECSAddress.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f3cf76b6b482d874c34f18abbe8e3af24f1e4bc6 --- /dev/null +++ b/TS29522_ECSAddress.yaml @@ -0,0 +1,369 @@ +openapi: 3.0.0 + +info: + title: 3gpp-ecs-address + version: 1.0.0-alpha.1 + description: | + API for AF provisioned ECS Address Configuration Information. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.4.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-ecs-address/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /{afId}/ecs-address-info: + get: + summary: Read all ECS Address Configuration Information for a given AF + operationId: ReadAllEACIs + tags: + - ECS Address Configuration Information (Collection) + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + responses: + '200': + description: OK (Successful retrieval of the ECS Address Configuration Information) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EcsAddrInfo' + 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: Create a new Individual ECS Address Configuration Information resource. + operationId: CreateEACI + tags: + - ECS Address Configuration Information (Collection) + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new resource creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrInfo' + responses: + '201': + description: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrInfo' + 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}/ecs-address-info/{ecsAddrInfoId}: + get: + summary: Read an active Individual ECS Address Configuration Information resource for the AF + operationId: ReadEACI + tags: + - Individual ECS Address Configuration Information + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: ecsAddrInfoId + in: path + description: Identifier of ECS Address Configuration Information. + required: true + schema: + type: string + responses: + '200': + description: OK (Successful retrieval of the active resource) + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrInfo' + '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: Fully updates/replaces an existing resource + operationId: UpdateEACI + tags: + - Individual ECS Address Configuration Information + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: ecsAddrInfoId + in: path + description: Identifier of the ECS Address Configuration Information resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrInfo' + responses: + '200': + description: OK (Successful update of the existing resource) + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrInfo' + '204': + description: > + Successful case. The resource has been successfully updated and no additional content is + sent in the response message. + '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 existing ECS Address Configuration Information resource + operationId: DeleteEACI + tags: + - Individual ECS Address Configuration Information + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: ecsAddrInfoId + in: path + description: Identifier of the ECS Address Configuration Information resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing resource) + '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' + + /remove-ecsaddr: + post: + summary: Remove ECS Address Configuration Information based on given criteria. + operationId: DeleteEACIs + tags: + - ECS Address Configuration Information removal + requestBody: + description: Criteria to be used for deleting ECS Address Configuration Information. + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrDeleteCriteria' + required: true + responses: + '204': + description: > + No Content. The entries matching the provided criteria have been 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' + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + EcsAddrInfo: + description: Represents ECS Address Configuration Information. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + ecsServerAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/EcsServerAddr' + spatialValidityCond: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SpatialValidityCond' + tgtUe: + $ref: 'TS29522_AnalyticsExposure.yaml#/components/schemas/TargetUeId' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ecsServerAddr + + EcsAddrDeleteCriteria: + description: > + Contains criteria to be used for deleting ECS Address Configuration Information. + type: object + properties: + afIds: + type: array + items: + $ref: 'TS29522_AKMA.yaml#/components/schemas/AfId' + minItems: 1 + description: AF identifiers to be used as deletion criterion. + ecsAddrInfo: + $ref: '#/components/schemas/EcsAddrInfo' + anyOf: + - required: [afIds] + - required: [ecsAddrInfo] diff --git a/TS29522_EcsAddressProvision.yaml b/TS29522_EcsAddressProvision.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f126fbe5fcc8c8f52f490b7a64b72d7d85270636 --- /dev/null +++ b/TS29522_EcsAddressProvision.yaml @@ -0,0 +1,311 @@ +openapi: 3.0.0 + +info: + title: 3gpp-ecs-address-provision + version: 1.1.0-alpha.2 + description: | + API for ECS Address Provisioning. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.4.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-ecs-address-provision/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 active configurations for a given AF + operationId: ReadAllConfigurations + tags: + - ECS Address Provision Configurations (Collection) + 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 resources for the AF) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EcsAddressProvision' + 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: + - ECS Address Provision Configurations (Collection) + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new resource creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddressProvision' + responses: + '201': + description: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddressProvision' + 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}/configurations/{configurationId}: + get: + summary: Read an active resource for the AF and the configuration Id + operationId: ReadAnConfiguration + tags: + - Individual ECS Address Provision Configuration + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active resource) + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddressProvision' + '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: Fully updates/replaces an existing resource + operationId: FullyUpdateAnConfiguration + tags: + - Individual ECS Address Provision Configuration + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddressProvision' + responses: + '200': + description: OK (Successful update of the existing resource) + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddressProvision' + '204': + description: > + Successful case. The resource has been successfully updated and no additional + content is sent in the response message. + '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 resource + operationId: DeleteAnConfiguration + tags: + - Individual ECS Address Provision Configuration + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing resource) + '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: + EcsAddressProvision: + description: Represents ECS address provision configuration. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + ecsServerAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/EcsServerAddr' + spatialValidityCond: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SpatialValidityCond' + tgtUe: + $ref: 'TS29522_AnalyticsExposure.yaml#/components/schemas/TargetUeId' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ecsServerAddr + - suppFeat diff --git a/TS29522_GroupParametersProvisioning.yaml b/TS29522_GroupParametersProvisioning.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b3606aa61d945b99d83397bbba24a341ebc39c51 --- /dev/null +++ b/TS29522_GroupParametersProvisioning.yaml @@ -0,0 +1,407 @@ +openapi: 3.0.0 + +info: + title: 3gpp-grp-pp + version: 1.0.0-alpha.1 + description: | + API for Group Parameters Provisioning. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.3.0; 5G System; Network Exposure Function Northbound APIs. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' + +servers: + - url: '{apiRoot}/3gpp-grp-pp/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /pp: + get: + summary: Request to retrieve all the active Group Parameters Provisioning resources at the NEF. + operationId: GetGrpParamsProvisionings + tags: + - Group Parameters Provisionings (Collection) + responses: + '200': + description: > + OK. All the active Group Parameters Provisioning resources managed by the NEF are + returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/GrpPpData' + 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: Request the creation of a new Group Parameters Provisioning. + tags: + - Group Parameters Provisioning (Collection) + operationId: CreateGrpParamsProvisioning + requestBody: + description: > + Representation of the new Group Parameters Provisioning to be created at the NEF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GrpPpData' + responses: + '201': + description: > + Created. Successful creation of a new Individual Group Parameters Provisioning resource. + content: + application/json: + schema: + $ref: '#/components/schemas/GrpPpData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/3gpp-grp-pp/v1/pp/{ppId} + 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' + + /pp/{ppId}: + parameters: + - name: ppId + in: path + description: > + Represents the identifier of the Individual Group Parameters Provisioning resource. + required: true + schema: + type: string + + get: + summary: Request to retrieve an existing Individual Group Parameters Provisioning resource. + operationId: GetIndGrpParamsProvisioning + tags: + - Individual Group Parameters Provisioning (Document) + responses: + '200': + description: > + OK. Successful retrieval of the requested Individual Group Parameters Provisioning. + resource. + content: + application/json: + schema: + $ref: '#/components/schemas/GrpPpData' + '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 Group Parameters Provisioning resource. + tags: + - Individual Group Parameters Provisioning (Document) + operationId: UpdateIndGrpParamsProvisioning + requestBody: + description: > + Represents the updated Individual Group Parameters Provisioning resource representation. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GrpPpData' + responses: + '200': + description: > + OK. The Individual Group Parameters Provisioning resource is successfully updated and a + representation of the updated resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/GrpPpData' + '204': + description: > + No Content. The Individual Group Parameters Provisioning 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 the modification of an existing Individual Group Parameters Provisioning resource. + tags: + - Individual Group Parameters Provisioning (Document) + operationId: ModifyIndGrpParamsProvisioning + requestBody: + description: > + Contains the parameters to request the modification of the Individual Group Parameters + Provisioning resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/GrpPpDataPatch' + responses: + '200': + description: > + OK. The Individual Group Parameters Provisioning resource is successfully modified and a + representation of the updated resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/GrpPpData' + '204': + description: > + No Content. The Individual Group Parameters Provisioning 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 the deletion of an existing Individual Group Parameters Provisioning resource. + tags: + - Individual Group Parameters Provisioning (Document) + operationId: DeleteIndGrpParamsProvisioning + responses: + '204': + description: > + No Content. The Individual Group Parameters Provisioning 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: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: +# +# STRUCTURED DATA TYPES +# + GrpPpData: + description: Represents the Group Parameters Provisioning data. + type: object + properties: + afId: + type: string + dnnSnssaiGrpData: + $ref: '#/components/schemas/DnnSnssaiGrpData' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - afId + + GrpPpDataPatch: + description: > + Represents the requested modification to the existing Group Parameters Provisioning data + instance. + type: object + properties: + dnnSnssaiGrpData: + $ref: '#/components/schemas/DnnSnssaiGrpData' + + DnnSnssaiGrpData: + description: Represents DNN and S-NSSAI specific Group Parameters data. + type: object + properties: + extGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + defQos: + $ref: '#/components/schemas/AfReqDefaultQoS' + ladnServArea: + $ref: '#/components/schemas/LadnServArea' + required: + - extGroupId + - dnn + - snssai + anyOf: + - required: [ defQos ] + - required: [ ladnServArea ] + + AfReqDefaultQoS: + description: Represents the AF requested default QoS. + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + priorityLevel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5QiPriorityLevelRm' + required: + - 5qi + - arp + + LadnServArea: + description: Represents an LADN Service Area. + type: object + properties: + geographicAreas: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + civicAddresses: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + minItems: 1 + tais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + oneOf: + - required: [ geographicAreas ] + - required: [ civicAddresses ] + - required: [ tais ] + +# +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# diff --git a/TS29522_IPTVConfiguration.yaml b/TS29522_IPTVConfiguration.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f3c984681d27ee9b3103566659a195b5663640ca --- /dev/null +++ b/TS29522_IPTVConfiguration.yaml @@ -0,0 +1,435 @@ +openapi: 3.0.0 + +info: + title: 3gpp-iptvconfiguration + version: 1.2.0-alpha.1 + description: | + API for IPTV configuration. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.1.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-iptvconfiguration/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 for the AF + operationId: ReadAllSubscriptions + tags: + - IPTV 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/IptvConfigData' + 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: CreateNewSubscription + tags: + - IPTV 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/IptvConfigData' + responses: + '201': + description: Created (Successful creation of configuration) + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + 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}/configurations/{configurationId}: + get: + summary: read an active configuration for the AF and the configuration Id + operationId: ReadAnSubscription + tags: + - Individual IPTV Configuration + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: configurationId + 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/IptvConfigData' + '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: Fully updates/replaces an existing configuration resource + operationId: FullyUpdateAnSubscription + tags: + - Individual IPTV Configuration + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: configurationId + 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/IptvConfigData' + responses: + '200': + description: OK (Successful deletion of the existing configuration) + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + '204': + description: > + Successful case. The resource has been successfully updated and no additional + content is to be sent in the response message. + '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: Partial updates an existing configuration resource + operationId: PartialUpdateAnSubscription + tags: + - Individual IPTV Configuration + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/IptvConfigDataPatch' + responses: + '200': + description: OK. The configuration was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + '204': + description: > + Successful case. The resource has been successfully updated and no additional + content is to be sent in the response message. + '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: DeleteAnSubscription + tags: + - Individual IPTV Configuration + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: configurationId + 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: + IptvConfigData: + description: Represents an individual IPTV Configuration resource. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + exterGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + afAppId: + type: string + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + multiAccCtrls: + type: object + additionalProperties: + $ref: '#/components/schemas/MulticastAccessControl' + minProperties: 1 + description: > + Identifies a list of multicast address access control information. + Any string value can be used as a key of the map. + mtcProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - afAppId + - multiAccCtrls + - suppFeat + + IptvConfigDataPatch: + description: > + Represents the parameters to request the modification of an IPTV Configuration resource. + type: object + properties: + multiAccCtrls: + type: object + additionalProperties: + $ref: '#/components/schemas/MulticastAccessControl' + minProperties: 1 + description: > + Identifies a list of multicast address access control information. + Any string value can be used as a key of the map. + + MulticastAccessControl: + description: Represents multicast address access control information. + type: object + properties: + srcIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + srcIpv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + multicastV4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + multicastV6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + accStatus: + $ref: '#/components/schemas/AccessRightStatus' + required: + - accStatus + + AccessRightStatus: + anyOf: + - type: string + enum: + - FULLY_ALLOWED + - PREVIEW_ALLOWED + - NO_ALLOWED + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the access right status for parameter provision. + Possible values are: + - FULLY_ALLOWED: The User is fully allowed to access to the channel. + - PREVIEW_ALLOWED: The User is preview allowed to access to the channel. + - NO_ALLOWED: The User is not allowed to access to the channel. diff --git a/TS29522_LpiParameterProvision.yaml b/TS29522_LpiParameterProvision.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e92ca3602112cef124c9f64e8222f4ec039ce884 --- /dev/null +++ b/TS29522_LpiParameterProvision.yaml @@ -0,0 +1,389 @@ +openapi: 3.0.0 + +info: + title: 3gpp-lpi-pp + version: 1.2.0-alpha.1 + description: | + API for Location Privacy Indication Parameters Provisioning. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.1.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-lpi-pp/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /{afId}/provisionedLpis: + get: + summary: read all of the active LPI Parameters Provisioning resources for the AF + operationId: ReadAllResources + tags: + - LPI Parameters Provisionings + 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 resources for the AF) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/LpiParametersProvision' + '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 LPI Parameters Provisioning resource + operationId: CreateNewResource + tags: + - LPI Parameters Provisionings + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new resource creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LpiParametersProvision' + responses: + '201': + description: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/LpiParametersProvision' + 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}/provisionedLpis/{provisionedLpiId}: + get: + summary: read an active LPI Parameters Provisioning resource for the AF and the provisioned LPI Id + operationId: ReadAnResource + tags: + - Individual LPI Parameters Provisioning + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: provisionedLpiId + in: path + description: Identifier of the provisioned LPI parameter resource + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active resource) + content: + application/json: + schema: + $ref: '#/components/schemas/LpiParametersProvision' + '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: Fully updates/replaces an existing LPI Parameters Provisioning resource + operationId: FullyUpdateAnResource + tags: + - Individual LPI Parameters Provisioning + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: provisionedLpiId + in: path + description: Identifier of the provisioned LPI parameter resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LpiParametersProvision' + responses: + '200': + description: > + OK. The resource has been successfully updated and a representation of the updated + resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/LpiParametersProvision' + '204': + description: > + Successful case. The resource has been successfully updated and no additional + content is sent in the response message. + '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: Partially modifies an existing LPI Parameters Provisioning resource. + operationId: PartialUpdateAnResource + tags: + - Individual LPI Parameters Provisioning + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: provisionedLpiId + in: path + description: Identifier of the provisioned LPI parameter resource + required: true + schema: + type: string + requestBody: + description: Parameters to modify the existing resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LpiParametersProvisionPatch' + responses: + '200': + description: > + OK. The resource has been successfully modified and a representation of the + updated resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/LpiParametersProvision' + '204': + description: > + Successful case. The resource has been successfully modified and no additional content + is sent in the response message. + '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 LPI Parameters Provisioning resource + operationId: DeleteAnResource + tags: + - Individual LPI Parameters Provisioning + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: provisionedLpiId + in: path + description: Identifier of the provisioned LPI parameter resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing resource) + '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: + LpiParametersProvision: + description: Represents an individual LPI Parameters Provisionings resource. + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + exterGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + lpi: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/Lpi' + mtcProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - lpi + - suppFeat + + LpiParametersProvisionPatch: + description: > + Represents the parameters to modify an existing Individual LPI Parameters + Provisionings resource. + type: object + properties: + lpi: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/Lpi' + mtcProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' diff --git a/TS29522_MBSGroupMsgDelivery.yaml b/TS29522_MBSGroupMsgDelivery.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1d269c7e91f214c560c7366aa77b69cb98511d18 --- /dev/null +++ b/TS29522_MBSGroupMsgDelivery.yaml @@ -0,0 +1,379 @@ +openapi: 3.0.0 + +info: + title: 3gpp-mbs-group-msg + version: 1.0.0-alpha.4 + description: | + API for MBS Group Message Delivery. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.4.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-mbs-group-msg/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /deliveries: + get: + summary: Retrieve all the active MBS Group Message Deliveries. + operationId: GetMbsGroupMsgDeliveries + tags: + - MBS Group Message Deliveries (Collection) + responses: + '200': + description: > + OK. All the active MBS Group Message Deliveries managed by the NEF are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MbsGroupMsgDel' + '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: Request the creation of an MBS Group Message Delivery. + operationId: CreateMbsGroupMsgDelivery + tags: + - MBS Group Message Deliveries (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MbsGroupMsgDel' + responses: + '201': + description: > + Created. Successful case. The requested MBS Group Message Delivery is successfully + created. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsGroupMsgDel' + 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: + MbsGroupMsgDelStatusNotif: + '{$request.body#/notifUri}': + post: + requestBody: + description: > + Represents the notification on the status of MBS Group Message Delivery. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MbsGroupMsgDelStatusNotif' + responses: + '204': + description: > + No content. The MBS Group Message Delivery Status notification is successfully + received. + '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' + + + /deliveries/{delRef}: + parameters: + - name: delRef + in: path + description: > + Contains the identifier of the Individual MBS Group Message Delivery resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing MBS Group Message Delivery. + operationId: GetMbsGroupMsgDelivery + tags: + - Individual MBS Group Message Delivery (Document) + responses: + '200': + description: > + OK. All the requested MBS Group Message Delivery is successfully returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsGroupMsgDel' + '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: Request the modification of an existing MBS Group Message Delivery. + operationId: ModifyMbsGroupMsgDelivery + tags: + - Individual MBS Group Message Delivery (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/MbsGroupMsgDelPatch' + responses: + '200': + description: > + OK. Successful case. The MBS Group Message Delivery is successfully modified and a + representation of the updated resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsGroupMsgDel' + '204': + description: > + No Content. Successful case. The MBS Group Message Delivery 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 the deletion of an existing Individual MBS Group Message Delivery resource. + operationId: DeleteMbsGroupMsgDelivery + tags: + - Individual MBS Group Message Delivery (Document) + responses: + '204': + description: > + No Content. The targeted MBS Group Message Delivery 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: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + +# STRUCTURED DATA TYPES + + MbsGroupMsgDel: + description: Represents the MBS Group Message Delivery. + type: object + properties: + afId: + type: string + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + groupMsgDelPayload: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + mbsServArea: + $ref: '#/components/schemas/MbsServArea' + startTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + stopTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + delStatus: + type: boolean + description: > + Indicates the status of Group Message Delivery. + true indicates a successful delivery. + false indicates a failed delivery. + The default value if omitted is true. + mbsUserServiceAnmt: + $ref: 'TS26517_MBSUserServiceAnnouncement.yaml#/components/schemas/UserServiceDescription' + servAreaWithoutMbs: + $ref: '#/components/schemas/MbsServArea' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - externalGroupId + - mbsServArea + - startTime + - stopTime + - notifUri + + MbsGroupMsgDelPatch: + description: Represents the requested modifications to an existing MBS Group Message Delivery. + type: object + properties: + groupMsgDelPayload: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + mbsServArea: + $ref: '#/components/schemas/MbsServArea' + startTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + stopTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + + MbsGroupMsgDelStatusNotif: + description: Represents the status notification information for an MBS group message delivery. + type: object + properties: + delStatus: + type: boolean + description: > + Indicates the status of Group Message Delivery. + true indicates a successful delivery. + false indicates a failed delivery. + required: + - delStatus + +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS + +# +# Data types describing alternative data types or combinations of data types + + MbsServArea: + description: Represents an MBS Service Area. + oneOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceArea' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalMbsServiceArea' diff --git a/TS29522_MBSSession.yaml b/TS29522_MBSSession.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1435f2b2f991f68cd24ccfcefbcf93288c87f039 --- /dev/null +++ b/TS29522_MBSSession.yaml @@ -0,0 +1,804 @@ +openapi: 3.0.0 + +info: + title: 3gpp-mbs-session + version: 1.2.0-alpha.2 + description: | + API for MBS Session Management. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.4.0; 5G System; Network Exposure Function Northbound APIs. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' + +servers: + - url: '{apiRoot}/3gpp-mbs-session/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /mbs-sessions: + post: + summary: Request the creation of a new MBS Session. + tags: + - MBS Sessions collection + operationId: CreateMBSSession + requestBody: + description: Representation of the new MBS session to be created at the NEF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MbsSessionCreateReq' + responses: + '201': + description: > + Created. Successful creation of a new Individual MBS session resource. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsSessionCreateRsp' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/3gpp-mbs-session/v1/mbs-sessions/{mbsSessionRef} + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + description: > + The request is rejected by the NEF and more details (along with ProblemDetails) may be + returned. + content: + application/problem+json: + schema: + $ref: 'TS29522_MBSTMGI.yaml#/components/schemas/ProblemDetailsTmgiAlloc' + '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' + + /mbs-sessions/{mbsSessionRef}: + parameters: + - name: mbsSessionRef + in: path + description: Identifier of the Individual MBS Session resource. + required: true + schema: + type: string + + patch: + summary: Request the modification of an existing Individual MBS Session resource. + operationId: ModifyIndMBSSession + tags: + - Individual MBS Session + requestBody: + required: true + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + responses: + '200': + description: > + OK. The Individual MBS Session was successfully updated and MBS Session update related + information shall be returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsSessionUpdateResp' + '204': + description: > + No Content. The concerned Individual MBS Session resource was successfully modified. + '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 the Deletion of an existing Individual MBS Session resource. + operationId: DeleteIndMBSSession + tags: + - Individual MBS Session + responses: + '204': + description: > + No Content. Successful deletion of the concerned Individual MBS Session resource. + '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' + + + /mbs-sessions/subscriptions: + get: + summary: Retrieve all the active MBS Sessions subscriptions. + operationId: ReadMBSSessionsSubscs + tags: + - MBS Session Subscriptions + responses: + '200': + description: > + OK. All the active MBS Session Subscriptions resources managed by the NEF are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MbsSessionSubsc' + '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: Request the creation of a new Individual MBS Session subscription resource. + operationId: CreateMBSSessionsSubsc + tags: + - MBS Session Subscriptions + requestBody: + description: Request the creation of a new MBS Session subscription resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MbsSessionSubsc' + responses: + '201': + description: > + Created. Successful creation of a new Individual MBS Session subscription. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsSessionSubsc' + headers: + Location: + description: Contains the URI of the newly created resource, according to the + structure + {apiRoot}/3gpp-mbs-session/v1/mbs-sessions/subscriptions/{subscriptionId} + 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: + MBSSessionStatusNotification: + '{request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MbsSessionStatusNotif' + responses: + '204': + description: No Content. Successful reception 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' + + /mbs-sessions/subscriptions/{subscriptionId}: + parameters: + - name: subscriptionId + in: path + description: Identifier of the Individual MBS Session Subscription resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual MBS Session Subscription resource. + operationId: ReadIndMBSSessionsSubsc + tags: + - Individual MBS Session subscription + responses: + '200': + description: > + OK. Successful retrieval of the targeted Individual MBS Session subscription resource. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsSessionSubsc' + '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' + + delete: + summary: Request the deletion of an existing Individual MBS Session subscription resource. + operationId: DeleteIndMBSSessionsSubsc + tags: + - Individual MBS Session Subscription + responses: + '204': + description: > + No Content. Successful deletion of the existing Individual MBS Session subscription + resource. + '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' + + /mbs-pp: + get: + summary: Request to retrieve all the active MBS Parameters Provisioning resources at the NEF. + operationId: GetMBSParamsProvisionings + tags: + - MBS Parameters Provisionings + responses: + '200': + description: > + OK. All the active MBS Parameters Provisioning resources managed by the NEF are + returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MbsPpData' + minItems: 1 + '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: Request the creation of a new MBS Parameters Provisioning. + tags: + - MBS Parameters Provisioning + operationId: CreateMBSParamsProvisioning + requestBody: + description: Representation of the new MBS Parameters Provisioning to be created at the NEF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MbsPpData' + responses: + '201': + description: > + Created. Successful creation of a new Individual MBS Parameters Provisioning resource. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsPpData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/3gpp-mbs-session/v1/mbs-pp/{mbsPpId} + 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' + + /mbs-pp/{mbsPpId}: + parameters: + - name: mbsPpId + in: path + description: > + Represents the identifier of the Individual MBS Parameters Provisioning resource. + required: true + schema: + type: string + + get: + summary: Request to retrieve an existing Individual MBS Parameters Provisioning resource. + operationId: GetIndMBSParamsProvisioning + tags: + - Individual MBS Parameters Provisioning + responses: + '200': + description: > + OK. Successful retrieval of the requested Individual MBS Parameters Provisioning. + resource. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsPpData' + '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 MBS Parameters Provisioning resource. + tags: + - Individual MBS Parameters Provisioning + operationId: UpdateIndMBSParamsProvisioning + requestBody: + description: > + Represents the updated Individual MBS Parameters Provisioning resource representation. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MbsPpData' + responses: + '200': + description: > + OK. The Individual MBS Parameters Provisioning resource is successfully updated and a + representation of the updated resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsPpData' + '204': + description: > + No Content. The Individual MBS Parameters Provisioning resource is successfully updated. + '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 the modification of an existing Individual MBS Parameters Provisioning resource. + tags: + - Individual MBS Parameters Provisioning + operationId: ModifyIndMBSParamsProvisioning + requestBody: + description: > + Contains the parameters to request the modification of the Individual Parameters + Provisioning resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/MbsPpDataPatch' + responses: + '200': + description: > + OK. The Individual MBS Parameters Provisioning resource is successfully modified and a + representation of the updated resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsPpData' + '204': + description: > + No Content. The Individual MBS Parameters Provisioning resource is successfully + modified. + '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 the deletion of an existing Individual MBS Parameters Provisioning resource. + tags: + - Individual MBS Parameters Provisioning + operationId: DeleteIndMBSParamsProvisioning + responses: + '204': + description: > + No Content. The Individual MBS Parameters Provisioning 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: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: +# +# STRUCTURED DATA TYPES +# + MbsSessionCreateReq: + description: Represents the parameters to request MBS Session creation. + type: object + properties: + afId: + type: string + mbsSession: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSession' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - afId + - mbsSession + + MbsSessionCreateRsp: + description: Represents the parameters to be returned in an MBS Session creation response.. + type: object + properties: + mbsSession: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSession' + eventList: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionEventReportList' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - mbsSession + + MbsSessionSubsc: + description: Represents an MBS Session Subscription. + type: object + properties: + afId: + type: string + subscription: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionSubscription' + subscriptionId: + type: string + required: + - afId + - subscription + + MbsSessionStatusNotif: + description: Represents an MBS Session Status notification. + type: object + properties: + eventList: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionEventReportList' + required: + - eventList + + MbsPpData: + description: Represents MBS Parameters Provisioning data. + type: object + properties: + afId: + type: string + mbsSessAuthData: + $ref: '#/components/schemas/MbsSessAuthData' + mbsSessAssistInfo: + $ref: '#/components/schemas/MbsSessAssistInfo' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - afId + + MbsSessAuthData: + description: Represents the MBS Session Authorization data. + type: object + properties: + extGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + gpsisList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minProperties: 1 + description: > + Represents the list of the GPSI(s) of the member UE(s) constituting the multicast MBS + group. Any + value of type can be used as a key of the map. + mbsSessionIdList: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5MbsAuthorizationInfo' + required: + - extGroupId + - mbsSessionIdList + + MbsPpDataPatch: + description: > + Represents the requested modification to existing MBS Parameters Provisioning data. + type: object + properties: + mbsSessAuthData: + $ref: '#/components/schemas/MbsSessAuthData' + mbsSessAssistInfo: + $ref: '#/components/schemas/MbsSessAssistInfo' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + MbsSessAssistInfo: + description: > + Represents the MBS Session Assistance information. + type: object + properties: + mbsSessAssistData: + type: array + items: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/MbsAssistanceInfo' + minItems: 1 + required: + - mbsSessAssistData + + MbsSessionUpdateResp: + description: > + Represents the parameters to be returned in an MBS Session update response during + partial success. + type: object + properties: + reducedMbsServArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceArea' + reducedExtMbsServArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalMbsServiceArea' + not: + required: [reducedMbsServArea, reducedExtMbsServArea] + +# +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + diff --git a/TS29522_MBSTMGI.yaml b/TS29522_MBSTMGI.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d8f2f9cfb2b2a12af0891b7378809fc0e6311487 --- /dev/null +++ b/TS29522_MBSTMGI.yaml @@ -0,0 +1,264 @@ +openapi: 3.0.0 + +info: + title: 3gpp-mbs-tmgi + version: 1.1.0-alpha.3 + description: | + API for the allocation, deallocation and management of TMGI(s) for MBS. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.4.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-mbs-tmgi/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /allocate: + post: + summary: Request the allocation of TMGI(s) for new MBS session(s) or the refresh of the expiry time of already allocated TMGI(s). + operationId: AllocateTmgi + tags: + - TMGI Allocation or Timer Expiry Refresh + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TmgiAllocRequest' + responses: + '200': + description: > + OK. Successful case. The allocated TMGI(s) or a refreshed expiry time for the concerned + already allocated TMGI(s) is/are returned to the requesting AF. + content: + application/json: + schema: + $ref: '#/components/schemas/TmgiAllocResponse' + '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': + description: > + The request is rejected by the NEF and more details (along with ProblemDetails) may be + returned. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetailsTmgiAlloc' + '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: + TmgiTimerExpiryNotification: + '{$request.body#/notificationUri}': + post: + requestBody: + description: > + Represents the MBS TMGI(s) timer expiry notification information (e.g. list of + TMGI(s) for which the timer has expired). + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ExpiryNotif' + responses: + '204': + description: No content. The notification is successfully received. + '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' + + /deallocate: + post: + summary: Request the deallocation of MBS TMGI(s). + operationId: DeallocateTmgi + tags: + - MBS TMGI Deallocation + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TmgiDeallocRequest' + responses: + '204': + description: No Content. Successful case, the TMGI(s) are deallocated. + '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' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + TmgiAllocRequest: + description: > + Represents the full set of parameters to initiate an MBS TMGI(s) allocation request + or the refresh of the expiry time of already allocated TMGI(s). + type: object + properties: + afId: + type: string + tmgiParams: + $ref: 'TS29532_Nmbsmf_TMGI.yaml#/components/schemas/TmgiAllocate' + notificationUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + mbsServiceArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceArea' + extMbsServiceArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalMbsServiceArea' + requestTestNotification: + type: boolean + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - afId + - tmgiParams + not: + required: [mbsServiceArea, extMbsServiceArea] + + TmgiAllocResponse: + description: > + Represents MBS TMGI(s) allocation information or the refreshed expiry time for + already allocated TMGI(s) + type: object + properties: + tmgiInfo: + $ref: 'TS29532_Nmbsmf_TMGI.yaml#/components/schemas/TmgiAllocated' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - tmgiInfo + + TmgiDeallocRequest: + description: Represents information to request the deallocation of MBS TMGI(s). + type: object + properties: + afId: + type: string + tmgis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tmgi' + minItems: 1 + required: + - afId + - tmgis + + ExpiryNotif: + description: Represents MBS TMGI(s) timer expiry notification information. + type: object + properties: + tmgis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tmgi' + minItems: 1 + required: + - tmgis + + ReducedMbsServArea: + description: > + Represents the reduced MBS Service Area information. + type: object + properties: + reducedMbsServArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceArea' + reducedExtMbsServArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalMbsServiceArea' + oneOf: + - required: [reducedMbsServArea] + - required: [reducedExtMbsServArea] + + ProblemDetailsTmgiAlloc: + description: > + Represents an extension to the ProblemDetails data structure with additional error + information related to TMGI Allocation. + allOf: + - $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/ReducedMbsServArea' diff --git a/TS29522_MBSUserDataIngestSession.yaml b/TS29522_MBSUserDataIngestSession.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b2b334cf2a6dc38dab9f6bc17f1a20aa603cf52e --- /dev/null +++ b/TS29522_MBSUserDataIngestSession.yaml @@ -0,0 +1,649 @@ +openapi: 3.0.0 + +info: + title: 3gpp-mbs-ud-ingest + version: 1.1.0-alpha.2 + description: | + API for MBS User Data Ingest Session. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.3.0; 5G System; Network Exposure Function Northbound APIs. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' + +servers: + - url: '{apiRoot}/3gpp-mbs-ud-ingest/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /sessions: + get: + summary: Retrieve all the active MBS User Data Ingest Sessions managed by the NEF. + tags: + - MBS User Data Ingest Sessions (Collection) + operationId: RetrieveMBSUserDataIngestSessions + responses: + '200': + description: > + OK. All the active MBS User Data Ingest Sessions managed by the NEF are returned. + content: + application/json: + schema: + type: array + items: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngSession' + 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: Request the creation of a new Individual MBS User Data Ingest Session resource. + tags: + - MBS User Data Ingest Sessions (Collection) + operationId: CreateMBSUserDataIngestSession + requestBody: + description: > + Contains the parameters to request the creation of a new MBS User Data Ingest Session + at the NEF. + required: true + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngSession' + responses: + '201': + description: > + Created. A new MBS User Data Ingest Session is successfully created and a representation + of the created Individual MBS User Data Ingest Session resource is returned. + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngSession' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/3gpp-mbs-ud-ingest/v1/sessions/{sessionId} + 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' + + + /sessions/{sessionId}: + parameters: + - name: sessionId + in: path + description: Identifier of the Individual MBS User Data Ingest Session resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual MBS User Data Ingest Session resource. + tags: + - Individual MBS User Data Ingest Session (Document) + operationId: RetrieveIndivMBSUserDataIngestSession + responses: + '200': + description: > + OK. The requested Individual MBS User Data Ingest Session resource is successfully + returned. + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngSession' + '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 MBS User Data Ingest Session resource. + tags: + - Individual MBS User Data Ingest Session (Document) + operationId: UpdateIndivMBSUserDataIngestSession + requestBody: + description: > + Contains the updated representation of the Individual MBS User Data Ingest Session + resource. + required: true + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngSession' + responses: + '200': + description: > + OK. The concerned Individual MBS User Data Ingest Session resource is successfully + updated and a representation of the updated resource is returned. + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngSession' + '204': + description: > + No Content. The concerned Individual MBS User Data Ingest Session resource is + successfully updated. + '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 the modification of an existing Individual MBS User Data Ingest Session resource. + tags: + - Individual MBS User Data Ingest Session (Document) + operationId: ModifyIndivMBSUserDataIngestSession + requestBody: + description: > + Contains the parameters to request the modification of the Individual MBS User Data Ingest + Session resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngSessionPatch' + responses: + '200': + description: > + OK. The concerned Individual MBS User Data Ingest Session resource is successfully + modified and a representation of the updated resource is returned. + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngSession' + '204': + description: > + No Content. The concerned Individual MBS User Data Ingest Session resource is + successfully modified. + '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 existing Individual MBS User Data Ingest Session resource. + tags: + - Individual MBS User Data Ingest Session (Document) + operationId: DeleteIndivMBSUserDataIngestSession + responses: + '204': + description: > + No Content. The Individual MBS User Data Ingest Session 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' + + + /status-subscriptions: + get: + summary: Retrieve all the active MBS User Data Ingest Session Status Subscriptions resources managed by the NEF. + tags: + - MBS User Data Ingest Session Status Subscriptions (Collection) + operationId: RetrieveMBSUserDataIngStatSubscs + responses: + '200': + description: > + OK. All the active MBS User Data Ingest Session Status Subscriptions managed by the NEF + are returned. + content: + application/json: + schema: + type: array + items: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngStatSubsc' + 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 Individual MBS User Data Ingest Session Status Subscription resource. + tags: + - MBS User Data Ingest Session Status Subscriptions (Collection) + operationId: CreateMBSUserDataIngStatSubsc + requestBody: + description: > + Contains the parameters to request the creation of a new MBS User Data Ingest Session + Status Subscription resource. + required: true + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngStatSubsc' + responses: + '201': + description: > + Created. Successful creation of a new Individual MBS User Data Ingest Session + Status Subscription resource. + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngStatSubsc' + 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: + mbsUserDataIngestSessionStatusNotif: + '{request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngStatNotif' + responses: + '204': + description: No Content. Successful reception 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' + + + /status-subscriptions/{subscriptionId}: + parameters: + - name: subscriptionId + in: path + description: > + Identifier of the Individual MBS User Data Ingest Session Status Subscription resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual MBS User Data Ingest Session Status Subscription resource. + tags: + - Individual MBS User Data Ingest Session Status Subscription (Document) + operationId: RetrieveIndMBSUserDataIngStatSubsc + responses: + '200': + description: > + OK. Successful retrieval of the requested Individual MBS User Data Ingest Session + Status Subscription resource. + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngStatSubsc' + '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 MBS User Data Ingest Session Status Subscription resource. + tags: + - Individual MBS User Data Ingest Session Status Subscription (Document) + operationId: UpdateIndMBSUserDataIngStatSubsc + requestBody: + description: > + Contains the updated representation of the Individual MBS User Data Ingest Session Status + Subscription resource. + required: true + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngStatSubsc' + responses: + '200': + description: > + OK. The concerned Individual MBS User Data Ingest Session Status Subscription resource + is successfully updated and a representation of the updated resource is returned in the + response body. + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngStatSubsc' + '204': + description: > + No Content. The concerned Individual MBS User Data Ingest Session Status 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 the modification of an existing Individual MBS User Data Ingest Session Status Subscription resource. + tags: + - Individual MBS User Data Ingest Session Status Subscription (Document) + operationId: ModifyIndMBSUserDataIngStatSubsc + requestBody: + description: > + Contains the parameters to request the modification of the Individual MBS User Data Ingest + Session Status Subscription resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngStatSubscPatch' + responses: + '200': + description: > + OK. The concerned Individual MBS User Data Ingest Session Status Subscription resource + is successfully modified and a representation of the updated resource is returned in the + response body. + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/MBSUserDataIngStatSubsc' + '204': + description: > + No Content. The concerned Individual MBS User Data Ingest Session Status 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: Deletes an existing Individual MBS User Data Ingest Session Status Subscription resource. + tags: + - Individual MBS User Data Ingest Session Status Subscription (Document) + operationId: DeleteIndMBSUserDataIngStatSubsc + responses: + '204': + description: > + No Content. Successful deletion of the existing Individual MBS User Data Ingest Session + Status Subscription resource. + '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: {} + +# +# STRUCTURED DATA TYPES +# + +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# diff --git a/TS29522_MBSUserService.yaml b/TS29522_MBSUserService.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6f4229cc762a5b702385141846ff9430dd492a57 --- /dev/null +++ b/TS29522_MBSUserService.yaml @@ -0,0 +1,321 @@ +openapi: 3.0.0 + +info: + title: 3gpp-mbs-us + version: 1.1.0-alpha.1 + description: | + API for MBS User Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.1.0; 5G System; Network Exposure Function Northbound APIs. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' + +servers: + - url: '{apiRoot}/3gpp-mbs-us/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /mbs-user-services: + get: + summary: Retrieve all the active MBS User Service resources managed by the NEF. + tags: + - MBS User Services + operationId: RetrieveMBSUserServices + responses: + '200': + description: > + OK. All the active MBS User Services managed by the NEF are returned. + content: + application/json: + schema: + type: array + items: + $ref: 'TS29580_Nmbsf_MBSUserService.yaml#/components/schemas/MBSUserService' + 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: Request the creation of a new Individual MBS User Service resource. + tags: + - MBS User Services + operationId: CreateMBSUserService + requestBody: + description: > + Contains the parameters to request the creation of a new MBS User Service at the NEF. + required: true + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserService.yaml#/components/schemas/MBSUserService' + responses: + '201': + description: > + Created. A new MBS User Service is successfully created and a representation of the + created Individual MBS User Service resource is returned. + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserService.yaml#/components/schemas/MBSUserService' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/3gpp-mbs-us/v1/mbs-user-services/{mbsUserServId} + 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' + + + /mbs-user-services/{mbsUserServId}: + parameters: + - name: mbsUserServId + in: path + description: Identifier of the Individual MBS User Service resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual MBS User Service resource. + tags: + - Individual MBS User Service + operationId: RetrieveIndivMBSUserService + responses: + '200': + description: > + OK. The requested Individual MBS User Service resource is successfully returned. + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserService.yaml#/components/schemas/MBSUserService' + '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 MBS User Service resource. + tags: + - Individual MBS User Service + operationId: UpdateIndivMBSUserService + requestBody: + description: > + Contains the updated representation of the Individual MBS User Service resource. + required: true + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserService.yaml#/components/schemas/MBSUserService' + responses: + '200': + description: > + OK. The concerned Individual MBS User Service resource is successfully updated and a + representation of the updated resource is returned. + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserService.yaml#/components/schemas/MBSUserService' + '204': + description: > + No Content. The concerned Individual MBS User Service resource is successfully updated. + '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 the modification of an existing Individual MBS User Service resource. + tags: + - Individual MBS User Service + operationId: ModifyIndivMBSUserService + requestBody: + description: > + Contains the parameters to request the modification of the Individual MBS User + Service resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserService.yaml#/components/schemas/MBSUserServicePatch' + responses: + '200': + description: > + OK. The concerned Individual MBS User Service resource is successfully modified and a + representation of the updated resource is returned. + content: + application/json: + schema: + $ref: 'TS29580_Nmbsf_MBSUserService.yaml#/components/schemas/MBSUserService' + '204': + description: > + No Content. The concerned Individual MBS User Service resource is successfully modified. + '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 existing Individual MBS User Service resource. + tags: + - Individual MBS User Service + operationId: DeleteIndivMBSUserService + responses: + '204': + description: > + No Content. The Individual MBS User Service 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: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + +# +# STRUCTURED DATA TYPES +# + +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# diff --git a/TS29522_MSEventExposure.yaml b/TS29522_MSEventExposure.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d947a065eb7ecd9e91eb3c2b0616d6aced784937 --- /dev/null +++ b/TS29522_MSEventExposure.yaml @@ -0,0 +1,314 @@ +openapi: 3.0.0 + +info: + title: 3gpp-ms-event-exposure + version: 1.1.0-alpha.1 + description: | + API for Media Streaming Event Exposure. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.1.0; 5G System; Network Exposure Function Northbound APIs. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' + +servers: + - url: '{apiRoot}/3gpp-ms-event-exposure/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /subscriptions: + get: + summary: Retrieve all the active Media Streaming Event Exposure Subscription resources managed by the NEF. + tags: + - Media Streaming Event Exposure Subscriptions (Collection) + operationId: RetrieveMSEventExposureSubscs + responses: + '200': + description: > + OK. All the active Media Streaming Event Exposure Subscriptions managed by the NEF are + returned. + content: + application/json: + schema: + type: array + items: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEventExposureSubsc' + 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: Request the creation of a new Individual Media Streaming Event Exposure Subscription resource. + tags: + - Media Streaming Event Exposure Subscriptions (Collection) + operationId: CreateMSEventExposureSubsc + requestBody: + description: > + Contains the parameters to request the creation of a new Media Streaming Event Exposure + Subscriptionat the NEF. + required: true + content: + application/json: + schema: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEventExposureSubsc' + responses: + '201': + description: > + Created. Successful creation of a new Individual Media Streaming Event Exposure + Subscription resource. + content: + application/json: + schema: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEventExposureSubsc' + 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: + msEventExposureNotif: + '{request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEventExposureNotif' + responses: + '204': + description: No Content. Successful reception 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' + + + /subscriptions/{subscriptionId}: + parameters: + - name: subscriptionId + in: path + description: > + Identifier of the Individual Media Streaming Event Exposure Subscription resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual Media Streaming Event Exposure Subscription resource. + tags: + - Individual Media Streaming Event Exposure Subscription (Document) + operationId: RetrieveIndivMSEventExposureSubsc + responses: + '200': + description: > + OK. The requested Individual Media Streaming Event Exposure Subscription resource is + successfully returned. + content: + application/json: + schema: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEventExposureSubsc' + '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 Media Streaming Event Exposure Subscription resource. + tags: + - Individual Media Streaming Event Exposure Subscription (Document) + operationId: UpdateIndivMSEventExposureSubsc + requestBody: + description: > + Contains the updated representation of the Individual Media Streaming Event Exposure + Subscription resource. + resource. + required: true + content: + application/json: + schema: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEventExposureSubsc' + responses: + '200': + description: > + OK. The concerned Individual Media Streaming Event Exposure Subscription resource is + successfully updated and a representation of the updated resource is returned in the + response body. + content: + application/json: + schema: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEventExposureSubsc' + '204': + description: > + No Content. The concerned Individual Media Streaming Event Exposure Subscription + resource was 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' + + delete: + summary: Request the deletion of an existing Individual Media Streaming Event Exposure Subscription resource. + tags: + - Individual Media Streaming Event Exposure Subscription (Document) + operationId: DeleteIndivMSEventExposureSubsc + responses: + '204': + description: > + No Content. The Individual Media Streaming Event Exposure 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: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + +# +# STRUCTURED DATA TYPES +# + +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# diff --git a/TS29522_MemberUESelectionAssistance.yaml b/TS29522_MemberUESelectionAssistance.yaml new file mode 100644 index 0000000000000000000000000000000000000000..343ae5a7d31e2fd19c9660b3111f50d26905693e --- /dev/null +++ b/TS29522_MemberUESelectionAssistance.yaml @@ -0,0 +1,608 @@ +openapi: 3.0.0 + +info: + title: 3gpp-musa + version: 1.0.0-alpha.2 + description: | + API for Member UE Selection Assistance. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.4.0; 5G System; Network Exposure Function Northbound APIs. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' + +servers: + - url: '{apiRoot}/3gpp-musa/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: [] + +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 + operationId: ReadAllSubscriptions + tags: + - Member UE Selection Assistance Subscription + responses: + '200': + description: OK. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MemUeSelectAssistSubsc' + '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 subscription to Member UE Selection Assistance. + operationId: CreateMemberUESelectionAssistanceSubcription + tags: + - Member UE Selection Assistance Subscription + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MemUeSelectAssistSubsc' + responses: + '201': + description: Create a new Individual Member UE Selection Assistance Subscription resource. + content: + application/json: + schema: + $ref: '#/components/schemas/MemUeSelectAssistSubsc' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/3gpp-musa/v1/{afId}/subscriptions/{subscriptionId}. + 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: + notificationDestination: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MemUeSeletAssistNotif' + minItems: 1 + 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}/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 subscription identified by the subscriptionId. + tags: + - Individual Member UE Selection Assistance Subscription + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/MemUeSelectAssistSubsc' + '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: Update/Replace an existing subscription resource. + tags: + - Individual Member UE Selection Assistance Subscription + requestBody: + description: Parameters to replace the existing subscription. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MemUeSelectAssistSubsc' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/MemUeSelectAssistSubsc' + '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: Delete an existing subscription. + tags: + - Individual Member UE Selection Assistance 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: '{nrfApiRoot}/oauth2/token' + scopes: {} + schemas: + MemUeSelectAssistSubsc: + description: Represents an Member UE Selection Assistance Subscription. + type: object + properties: + tgtUes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + description: Identifies the list of UEs for Member Selection Assistance Reporting. + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + notifId: + type: string + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + qosFilters: + type: array + items: + $ref: '#/components/schemas/QoSFilterCriteria' + minItems: 1 + description: The QoS filtering criteria for Member UE selection. + accRatTypeFilters: + type: array + items: + $ref: '#/components/schemas/AccessRatTypeFilterCriteria' + minItems: 1 + description: The Access types and Rat types filtering criteria for Member UE selection. + e2eTransTimeFilters: + type: array + items: + $ref: '#/components/schemas/E2ETransTimeFilterCriteria' + minItems: 1 + description: > + The End-to-end data volume transfer time filtering criteria for Member UE selection. + ueLocFilters: + type: array + items: + $ref: '#/components/schemas/UeLocFilterCriteria' + minItems: 1 + description: The UE location filtering criteria for Member UE selection. + ueHisLocFilters: + type: array + items: + $ref: '#/components/schemas/UeHisLocFilterCriteria' + minItems: 1 + description: The UE historical location filtering criteria for Member UE selection. + ueDirFilters: + type: array + items: + $ref: '#/components/schemas/UeDirectionFilterCriteria' + minItems: 1 + description: The UE direction filtering criteria for Member UE selection. + ueDistanceFilters: + type: array + items: + $ref: '#/components/schemas/UeDistanceFilterCriteria' + minItems: 1 + description: The UE distance filtering criteria for Member UE selection. + serviceExpFilters: + type: array + items: + $ref: '#/components/schemas/ServiceExpFilterCriteria' + minItems: 1 + description: The Service Experience filtering criteria for Member UE selection. + dnnFilters: + type: array + items: + $ref: '#/components/schemas/DnnFilterCriteria' + minItems: 1 + description: The DNN filtering criteria for Member UE selection. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - tgtUes + - notifUri + - notifId + anyOf: + - required: [qosFilters] + - required: [accRatTypeFilters] + - required: [e2eTransTimeFilters] + - required: [ueLocFilters] + - required: [ueHisLocFilters] + - required: [ueDirFilters] + - required: [ueDistanceFilters] + - required: [serviceExpFilters] + - required: [dnnFilters] + + QoSFilterCriteria: + description: The QoS filtering criteria for Member UE selection. + type: object + properties: + event: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/SmfEvent' + appId: + type: string + description: Identifies an application. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + ulDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + dlDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + rtDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + + AccessRatTypeFilterCriteria: + description: The Access types and Rat types filtering criteria for Member UE selection. + type: object + properties: + events: + type: array + items: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/SmfEvent' + minItems: 1 + description: > + Indicates the SMF event(s) which may be used to retrieve the Access Type and/or RAT Type + of the selected UE. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + accTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + description: Indicates the Access Types of the selected UE. + ratTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + description: Indicate the RAT Types of the selected UE. + + E2ETransTimeFilterCriteria: + description: > + The End-to-end data volume transfer time filtering criteria for Member UE selection. + type: object + properties: + event: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + appId: + type: string + description: Identifies an application. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dataVolTransTime: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DataVolumeTransferTime' + locationArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + timeWin: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + + UeLocFilterCriteria: + description: The UE location filtering criteria for Member UE selection. + type: object + properties: + event: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/AmfEventType' + loc: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + + UeHisLocFilterCriteria: + description: The UE historical location filtering criteria for Member UE selection. + type: object + properties: + event: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + loc: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + startTs: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + endTs: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + + UeDirectionFilterCriteria: + description: The UE direction filtering criteria for Member UE selection. + type: object + properties: + event: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + directions: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/Direction' + minItems: 1 + description: Indicates the moving directions of the UEs. + + UeDistanceFilterCriteria: + description: The UE distance filtering criteria for Member UE selection. + type: object + properties: + event: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + distance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + + ServiceExpFilterCriteria: + description: The Service Experience filtering criteria for Member UE selection. + type: object + properties: + event: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + appId: + type: string + description: Identifies an application. + dnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + loc: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + contribWeightThr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + timeWin: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + expTypes: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ServiceExperienceType' + minItems: 1 + description: Indicates the Service Experience Types. + + DnnFilterCriteria: + description: The DNN filtering criteria for Member UE selection. + type: object + properties: + event: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/SmfEvent' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + + MemUeSeletAssistNotif: + description: Represents a Member UE Selection Assistance notification. + type: object + properties: + notifId: + type: string + candiUeInfos: + type: array + items: + $ref: '#/components/schemas/CandiUeInfo' + minItems: 1 + description: > + Identifies the lists of candidate UEs information for Member Selection Assistance + Reporting. + memUeSelectRpts: + type: array + items: + $ref: '#/components/schemas/MemUeSeletReport' + minItems: 1 + description: Identifies the list of UEs for Member Selection Assistance Reporting. + required: + - notifId + - candiUeInfos + + MemUeSeletReport: + description: Indicates the Member UE selection report. + type: object + properties: + criterionType: + $ref: '#/components/schemas/FilterCriterionType' + numForCriterion: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - criterionType + - numForCriterion + + CandiUeInfo: + description: Identifies the list of candidate UEs information. + type: object + properties: + candiUes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + remdTimeWin: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + required: + - candiUes + + FilterCriterionType: + anyOf: + - type: string + enum: + - QOS + - ACCESS_RAT_TYPE + - E2E_DATA_VOLUME_TRANSFER_TIME + - UE_LOCATION + - UE_HISTORICAL_LOCATION + - UE_DIRECTION + - UE_DISTANCE + - SERVICE_EXPERIENCE + - DNN + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration and + is not used to encode content defined in the present version of this API. + description: | + Represents the filter criterion event + Possible values are: + - QOS: Indicates QoS criterion. + - ACCESS_RAT_TYPE: Indicates Access and Rat types criterion. + - E2E_DATA_VOLUME_TRANSFER_TIME: Indicates End-to-end data volume transfer time criterion. + - UE_LOCATION: Indicates UE location criterion. + - UE_HISTORICAL_LOCATION: Indicates UE historical location criterion. + - UE_DIRECTION: Indicates UE direction criterion. + - UE_DISTANCE: Indicates UE distance criterion. + - SERVICE_EXPERIENCE: Indicates the Service Experience criterion. + - DNN: Indicates the DNN criterion. diff --git a/TS29522_MoLcsNotify.yaml b/TS29522_MoLcsNotify.yaml new file mode 100644 index 0000000000000000000000000000000000000000..06f4a1a38c91856f2447051c916f875aa859b3b9 --- /dev/null +++ b/TS29522_MoLcsNotify.yaml @@ -0,0 +1,108 @@ +openapi: 3.0.0 +info: + title: 3gpp-mo-lcs-notify + version: 1.2.0-alpha.1 + description: | + API for UE updated location information notification. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 29.522 V18.3.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-mo-lcs-notify/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. +paths: + /: + post: + summary: UE location information update notification + operationId: UELocationNotify + tags: + - AF level UE location update notification operation + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LocUpdateData' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/LocUpdateDataReply' + '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' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + LocUpdateData: + description: Represents a UE updated location information. + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + locInfo: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + lcsQosClass: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LcsQosClass' + svcId: + $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/ServiceIdentity' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + additionalLocInfo: + type: array + items: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + minItems: 1 + required: + - gpsi + - lcsQosClass + - locInfo + - suppFeat + LocUpdateDataReply: + description: Represents a reply to a MO LCS notification. + type: object + properties: + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - suppFeat diff --git a/TS29522_NIDDConfigurationTrigger.yaml b/TS29522_NIDDConfigurationTrigger.yaml new file mode 100644 index 0000000000000000000000000000000000000000..27aaa2ff9a8dc30d3c83be56566b47501bdee1bd --- /dev/null +++ b/TS29522_NIDDConfigurationTrigger.yaml @@ -0,0 +1,101 @@ +openapi: 3.0.0 +info: + title: 3gpp-nidd-configuration-trigger + version: 1.1.1 + description: | + API for NIDD Configuration Trigger. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 29.522 V17.7.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}' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. +paths: + /: + post: + operationId: NiddConfigurationTrigger + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NiddConfigurationTrigger' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/NiddConfigurationTriggerReply' + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + NiddConfigurationTrigger: + description: Represents a NIDD configuration trigger. + type: object + properties: + afId: + type: string + description: Identifies the trigger receiving entity. + nefId: + type: string + description: Identifies the trigger sending entity. + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - afId + - nefId + - gpsi + - suppFeat + NiddConfigurationTriggerReply: + description: Represents a reply to a NIDD configuration trigger. + type: object + properties: + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - suppFeat diff --git a/TS29522_PDTQPolicyNegotiation.yaml b/TS29522_PDTQPolicyNegotiation.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8aae8993a4ad790a699fa48bbe2d763f9ffa3809 --- /dev/null +++ b/TS29522_PDTQPolicyNegotiation.yaml @@ -0,0 +1,413 @@ +openapi: 3.0.0 + +info: + title: 3gpp-pdtq-policy-negotiation + version: 1.0.0-alpha.3 + description: | + API for PDTQ policy negotiation. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.4.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-pdtq-policy-negotiation/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + + /{afId}/subscriptions: + parameters: + - name: afId + description: String identifying the AF. + in: path + required: true + schema: + type: string + + get: + summary: Fetches all active PDTQ policy subscription resources for a given AF. + operationId: FetchAllActivePDTQSubscriptions + tags: + - PDTQ Policy Subscriptions + responses: + '200': + description: OK, all active PDTQ policy subscriptions resources returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Pdtq' + minItems: 1 + description: Contains individual PDTQ policy subscriptions. + '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 PDTQ policy subscription resource. + operationId: CreatePDTQSubscription + tags: + - PDTQ Policy Subscriptions + requestBody: + description: Contains the data to create a PDTQ Policy Subscription. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Pdtq' + responses: + '201': + description: > + An Individual PDTQ Policy Subscription resource is created and a representation + of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/Pdtq' + 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: + PDTQWarningNotification: + '{$request.body#/notificationDestination}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Notification' + responses: + '204': + description: No Content, (successful 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' + + /{afId}/subscriptions/{subscriptionId}: + parameters: + - name: afId + description: String identifying the AF. + in: path + required: true + schema: + type: string + - name: subscriptionId + description: String identifying the individual PDTQ policy resource in the NEF. + in: path + required: true + schema: + type: string + + get: + summary: Read a PDTQ subscription resource. + operationId: FetchIndPDTQSubscription + tags: + - Individual PDTQ Policy Subscription + responses: + '200': + description: > + OK, a representation of an Individual Policy Subscription resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/Pdtq' + '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: Modifies an existing PDTQ policy subscription resource. + operationId: ModifyIndPDTQSubscription + tags: + - Individual PDTQ Policy Subscription + requestBody: + description: Contains modifications to be performed on the Pdtq data structure. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PdtqPatch' + responses: + '200': + description: > + The Individual PDTQ Policy Subscription resource is modified and a representation + of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/Pdtq' + '204': + description: The Individual PDTQ Policy Subscription resource is modified. + '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: Delete a PDTQ policy subscription resource. + operationId: DeleteIndPDTQSubscription + tags: + - Individual PDTQ Policy Subscription + responses: + '204': + description: The Individual PDTQ Policy Subscription resource is 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: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + + Pdtq: + description: Represents a PDTQ Policy Subscription. + type: object + properties: + altQosParamSets: + type: array + items: + $ref: 'TS29543_Npcf_PDTQPolicyControl.yaml#/components/schemas/AltQosParamSet' + minItems: 1 + description: > + Contains the alternative QoS requirements as a list of individual QoS parameter + sets in a prioritized order. + altQosRefs: + type: array + items: + type: string + minItems: 1 + description: > + Contains the alternative QoS requirements as the list of QoS references in a + prioritized order. + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + aspId: + description: Contains an identity of an application service provider. + type: string + desTimeInts: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + minItems: 1 + description: Identifies the time interval(s). + locationArea5G: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + numberOfUEs: + type: integer + description: Identifies the number of UEs. + pdtqPolicies: + type: array + items: + $ref: 'TS29543_Npcf_PDTQPolicyControl.yaml#/components/schemas/PdtqPolicy' + minItems: 1 + description: Contains the PDTQ policies. + qosParamSet: + $ref: 'TS29543_Npcf_PDTQPolicyControl.yaml#/components/schemas/QosParameterSet' + qosReference: + type: string + description: > + Requested QoS requirements expressed as the QoS Reference which represents + a pre-defined QoS information. + referenceId: + $ref: 'TS29543_Npcf_PDTQPolicyControl.yaml#/components/schemas/PdtqReferenceId' + selectedPolicy: + type: integer + description: > + Identity of the selected PDTQ policy. Shall not be present in initial message + exchange, can be provided by NF service consumer in a subsequent message exchange. + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + warnNotifEnabled: + type: boolean + description: > + Indicates whether the PDTQ warning notification is enabled (true) or not (false). + Default value is false. + required: + - aspId + - desTimeInts + - numberOfUEs + oneOf: + - required: [qosReference] + - required: [qosParamSet] + + PdtqPatch: + description: Represents the modification of an individual PDTQ policy subscription. + type: object + properties: + selectedPolicy: + type: integer + description: Identity of the selected PDTQ policy. + warnNotifEnabled: + type: boolean + description: > + Indicates whether the PDTQ warning notification is enabled (true) or not (false). + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + + Notification: + description: Represents a PDTQ notification. + type: object + properties: + pdtqRefId: + $ref: 'TS29543_Npcf_PDTQPolicyControl.yaml#/components/schemas/PdtqReferenceId' + candPolicies: + type: array + items: + $ref: 'TS29543_Npcf_PDTQPolicyControl.yaml#/components/schemas/PdtqPolicy' + minItems: 1 + description: > + This IE indicates a list of the candidate PDTQ policies from which the AF may select + a new PDTQ policy due to network performance or DN performance degradation. + required: + - pdtqRefId + - candPolicies diff --git a/TS29522_ServiceParameter.yaml b/TS29522_ServiceParameter.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d5f44693d9365f6bf9dec1e58a5ea151f6e42555 --- /dev/null +++ b/TS29522_ServiceParameter.yaml @@ -0,0 +1,904 @@ +openapi: 3.0.0 + +info: + title: 3gpp-service-parameter + version: 1.2.0-alpha.5 + description: | + API for AF service paramter + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.4.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-service-parameter/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 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 + operationId: ReadAllSubscriptions + tags: + - Service Parameter Subscriptions + parameters: + - name: gpsis + in: query + description: The GPSI of the requested UE(s). + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + - name: ip-addrs + in: query + description: The IP address(es) of the requested UE(s). + required: false + 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. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceParameterData' + 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 + operationId: CreateAnSubscription + tags: + - Service Parameter Subscriptions + requestBody: + description: Request to create a new subscription resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + responses: + '201': + description: Created (Successful creation of subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + 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: + notificationDestination: + '{$request.body#/notificationDestination}': + post: + requestBody: + description: > + Notifications upon AF Service Parameter Authorization Update, + and/or AF subscribed event notification of the outcome related + to the invocation of service parameters provisioning. + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AfNotification' + minItems: 1 + responses: + '204': + description: Expected response to a successful callback processing without a 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' + + /{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 + operationId: ReadAnSubscription + tags: + - Individual Service Parameter Subscription + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + '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: Fully updates/replaces an existing subscription resource + operationId: FullyUpdateAnSubscription + tags: + - Individual Service Parameter Subscription + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + '204': + description: OK (Successful update of the 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' + '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: Partial updates/replaces an existing subscription resource + operationId: PartialUpdateAnSubscription + tags: + - Individual Service Parameter Subscription + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ServiceParameterDataPatch' + responses: + '200': + description: OK. The subscription was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + '204': + description: OK. 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 + operationId: DeleteAnSubscription + tags: + - Individual Service Parameter 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: + ServiceParameterData: + description: Represents an individual Service Parameter subscription resource. + type: object + properties: + afServiceId: + type: string + description: Identifies a service on behalf of which the AF is issuing the request. + appId: + type: string + description: Identifies an application. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + anyUeInd: + type: boolean + description: > + Identifies whether the AF request applies to any non-roaming UE. This attribute, + when provided, shall set to "true" if applicable for any UE, otherwise, set to "false". + roamUeNetDescs: + type: array + items: + $ref: '#/components/schemas/NetworkDescription' + minItems: 1 + description: Each element identifies one or more PLMN IDs of inbound roamers. + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ueIpv4: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + ueMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + subNotifEvents: + type: array + items: + $ref: '#/components/schemas/Event' + minItems: 1 + description: > + Identifies the AF subscribed event(s) notifications related to AF provisioned + service parameters. + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + requestTestNotification: + type: boolean + description: > + Set to true by the AF to request the NEF to send a test notification + as defined in clause 5.2.5.3 of 3GPP TS 29.122. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + paramOverPc5: + $ref: '#/components/schemas/ParameterOverPc5' + paramOverUu: + $ref: '#/components/schemas/ParameterOverUu' + paramForProSeDd: + $ref: '#/components/schemas/ParamForProSeDd' + paramForProSeDc: + $ref: '#/components/schemas/ParamForProSeDc' + paramForProSeU2NRelUe: + $ref: '#/components/schemas/ParamForProSeU2NRelUe' + paramForProSeRemUe: + $ref: '#/components/schemas/ParamForProSeRemUe' + paramForProSeU2URelUe: + $ref: '#/components/schemas/ParamForProSeU2URelUe' + paramForProSeEndUe: + $ref: '#/components/schemas/ParamForProSeEndUe' + paramForRangingSlPos: + $ref: '#/components/schemas/ParamForRangingSlPos' + urspGuidance: + type: array + items: + $ref: '#/components/schemas/UrspRuleRequest' + minItems: 1 + description: Contains the service parameter used to guide the URSP. + a2xParamsPc5: + $ref: '#/components/schemas/A2xParamsPc5' + tnaps: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TnapId' + minItems: 1 + description: Contains the TNAP IDs collocated with the 5G-RG(s) of a specific user. + mtcProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + ServiceParameterDataPatch: + description: > + Represents the parameters to request the modification of a service parameter + subscription resource. + type: object + properties: + paramOverPc5: + $ref: '#/components/schemas/ParameterOverPc5Rm' + paramOverUu: + $ref: '#/components/schemas/ParameterOverUuRm' + paramForProSeDd: + $ref: '#/components/schemas/ParamForProSeDdRm' + paramForProSeDc: + $ref: '#/components/schemas/ParamForProSeDcRm' + paramForProSeU2NRelUe: + $ref: '#/components/schemas/ParamForProSeU2NRelUeRm' + paramForProSeRemUe: + $ref: '#/components/schemas/ParamForProSeRemUeRm' + paramForProSeU2URelUe: + $ref: '#/components/schemas/ParamForProSeU2URelUeRm' + paramForProSeEndUe: + $ref: '#/components/schemas/ParamForProSeEndUeRm' + paramForRangingSlPos: + $ref: '#/components/schemas/ParamForRangingSlPosRm' + urspGuidance: + type: array + items: + $ref: '#/components/schemas/UrspRuleRequest' + minItems: 1 + description: Contains the service parameter used to guide the URSP. + a2xParamsPc5: + $ref: '#/components/schemas/A2xParamsPc5Rm' + tnaps: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TnapId' + minItems: 1 + description: Contains the TNAP IDs collocated with the 5G-RG(s) of a specific user. + nullable: true + subNotifEvents: + type: array + items: + $ref: '#/components/schemas/Event' + minItems: 1 + nullable: true + description: > + Identifies the AF subscribed event(s) notifications related to AF provisioned + service parameters. + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + + ParameterOverPc5: + description: > + Represents configuration parameters for V2X communications over PC5 reference point. + type: string + + ParameterOverPc5Rm: + description: > + Represents the same as the ParameterOverPc5 data type but with the nullable:true property. + type: string + nullable: true + + ParameterOverUu: + description: > + Represents configuration parameters for V2X communications over Uu reference point. + type: string + + ParameterOverUuRm: + description: > + Represents the same as the ParameterOverUu data type but with the nullable:true property. + type: string + nullable: true + + ParamForProSeDd: + description: Represents the service parameters for 5G ProSe direct discovery. + type: string + + ParamForProSeDdRm: + description: > + This data type is defined in the same way as the ParamForProSeDd data type, + but with the OpenAPI nullable property set to true. + type: string + nullable: true + + ParamForProSeDc: + description: Represents the service parameters for 5G ProSe direct communications. + type: string + + ParamForProSeDcRm: + description: > + This data type is defined in the same way as the ParamForProSeDc data type, + but with the OpenAPI nullable property set to true. + type: string + nullable: true + + ParamForProSeU2NRelUe: + description: Represents the service parameters for 5G ProSe UE-to-network relay UE. + type: string + + ParamForProSeU2NRelUeRm: + description: > + This data type is defined in the same way as the ParamForProSeU2NRelay data type, + but with the OpenAPI nullable property set to true. + type: string + nullable: true + + ParamForProSeRemUe: + description: Represents the service parameters for 5G ProSe Remote UE. + type: string + + ParamForProSeRemUeRm: + description: > + This data type is defined in the same way as the ParamForProSeRemUe data type, + but with the OpenAPI nullable property set to true. + type: string + nullable: true + + ParamForProSeU2URelUe: + description: Represents the service parameters for 5G ProSe UE-to-UE relay UE. + type: string + + ParamForProSeU2URelUeRm: + description: > + This data type is defined in the same way as the ParamForProSeU2URelay data type, + but with the OpenAPI nullable property set to true. + type: string + nullable: true + + ParamForProSeEndUe: + description: Represents the service parameters for 5G ProSe End UE. + type: string + + ParamForProSeEndUeRm: + description: > + This data type is defined in the same way as the ParamForProSeEndUe data type, + but with the OpenAPI nullable property set to true. + type: string + nullable: true + + ParamForRangingSlPos: + description: Represents the service parameters for ranging and sidelink positioning. + type: string + + ParamForRangingSlPosRm: + description: > + This data type is defined in the same way as the ParamForRangingslpos data type, + but with the OpenAPI nullable property set to true. + type: string + nullable: true + + A2xParamsPc5: + description: > + Represents configuration parameters for A2X communications over PC5 reference point. + type: string + + A2xParamsPc5Rm: + description: > + Represents the same as the A2xParamsPc5 data type but with the nullable:true property. + type: string + nullable: true + + UrspRuleRequest: + description: Contains parameters that can be used to guide the URSP. + type: object + properties: + trafficDesc: + $ref: '#/components/schemas/TrafficDescriptorComponents' + relatPrecedence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + visitedNetDescs: + type: array + items: + $ref: '#/components/schemas/NetworkDescription' + minItems: 1 + description: > + Each element identifies one or more PLMN IDs where AF guidance for VPLMN-specific + URSP rule applies. + routeSelParamSets: + type: array + items: + $ref: '#/components/schemas/RouteSelectionParameterSet' + minItems: 1 + description: > + Sets of parameters that may be used to guide the Route Selection Descriptors of the + URSP. + + RouteSelectionParameterSet: + description: > + Contains parameters that can be used to guide the Route Selection + Descriptors of the URSP. + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + precedence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + spatialValidityAreas: + type: array + items: + $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea' + minItems: 1 + description: > + Indicates where the route selection parameters apply. It may correspond + to a geographical area, for example using a geographic shape that + is known to the AF and is configured by the operator to correspond to a list + of or TAIs. + spatialValidityTais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + description: > + Indicates the TAIs in which the route selection parameters apply. This attribute is + applicable only within the 5GC and it shall not be included in the request messages of + untrusted AFs for URSP guidance. + pduSessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + + Event: + anyOf: + - type: string + enum: + - SUCCESS_UE_POL_DEL_SP + - UNSUCCESS_UE_POL_DEL_SP + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the AF subscribe to event notification of the outcome related to the + invocation of AF provisioned service parameters. + Possible values are: + - SUCCESS_UE_POL_DEL_SP: Successful UE Policy Delivery related to + the invocation of AF provisioned Service Parameters. + - UNSUCCESS_UE_POL_DEL_SP: Unsuccessful UE Policy Delivery related to the invocation of AF + provisioned Service Parameters. + + AfNotification: + description: > + Notifications upon AF Service Parameter Authorization Update e.g. to + revoke the authorization, and/or AF subscribed event notification of the + outcome related to the invocation of service parameter provisioning. + type: object + properties: + subscription: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + reportEvent: + $ref: '#/components/schemas/Event' + authResult: + $ref: '#/components/schemas/AuthorizationResult' + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + eventInfo: + $ref: '#/components/schemas/EventInfo' + required: + - subscription + anyOf: + - required: [reportEvent] + - required: [authResult] + + TrafficDescriptorComponents: + description: Traffic descriptor components for the requested URSP. + type: object + properties: + appDescs: + type: object + additionalProperties: + $ref: 'TS29522_5GLANParameterProvision.yaml#/components/schemas/AppDescriptor' + minProperties: 1 + description: > + Describes the operation systems and the corresponding applications for each + operation systems. The key of map is osId. + flowDescs: + type: array + items: + type: string + minItems: 1 + description: > + Represents a 3-tuple with protocol, server ip and server port for UL/DL + application traffic. The content of the string has the same encoding as the IPFilterRule + AVP value as defined in IETF RFC 6733. + domainDescs: + type: array + items: + type: string + minItems: 1 + description: > + FQDN(s) or a regular expression which are used as a domain name matching + criteria. + ethFlowDescs: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: > + Descriptor(s) for destination information of non-IP traffic in which only + ethernet flow description is defined. + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + description: This is matched against the DNN information provided by the application. + connCaps: + type: array + items: + $ref: '#/components/schemas/ConnectionCapabilities' + minItems: 1 + description: > + This is matched against the information provided by a UE application when it + requests a network connection with certain capabilities. + pinId: + type: string + description: This is matched against a PIN ID for a specific PIN configured in the PEGC. + oneOf: + - required: [pinId] + - anyOf: + - required: [appDescs] + - required: [flowDescs] + - required: [domainDescs] + - required: [ethFlowDescs] + - required: [dnns] + - required: [connCaps] + + NetworkDescription: + description: > + Represents the description of a PLMN, by the definition of the PLMN ID, the MCC (and + applicable MNC(s)) or the indication of any PLMN. + type: object + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + mcc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Mcc' + mncs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Mnc' + minItems: 1 + description: Represents the applicable MNC(s) for the indicated MCC. + anyPlmnInd: + type: boolean + description: Indicates any PLMN. + oneOf: + - required: [plmnId] + - required: [mcc] + - required: [anyPlmnInd] + + AuthorizationResult: + anyOf: + - type: string + enum: + - AUTH_REVOKED + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the NEF notify the AF about the service parameters authorization updates result, + e.g. to revoke an authorization. + Possible values are: + - AUTH_REVOKED: Indicated the service parameters authorization is revoked. + + EventInfo: + description: Indicates the event information. + type: object + properties: + failureCause: + $ref: '#/components/schemas/Failure' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + + Failure: + oneOf: + - type: string + enum: + - UNSPECIFIED + - UE_NOT_REACHABLE + - UNKNOWN + - UE_TEMP_UNREACHABLE + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the failure reason for the unsuccessful result. + Possible values are: + - UNSPECIFIED: Indicates the PCF received the UE sent UE policy delivery service cause #111 + (Protocol error, unspecified). + - UE_NOT_REACHABLE: Indicates the PCF received the notification from the AMF that the UE is + not reachable. + - UNKNOWN: Indicates unknown reasons upon no response from the UE, e.g. UPDS message type is + not defined or not implemented by the UE, or not compatible with the UPDS state, in which + the UE shall ignore the UPDS message. + - UE_TEMP_UNREACHABLE: Indicates the PCF received the notification from the AMF that the UE + is not reachable but the PCF will retry again. + + ConnectionCapabilities: + anyOf: + - type: string + enum: + - IMS + - MMS + - SUPL + - INTERNET + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Represents the information provided by a UE application when it requests a network + connection with certain capabilities. + Possible values are: + - IMS: Indicates the connection capability to support IMS service. + - MMS: Indicates the connection capability to support MMS service. + - SUPL: Indicates the connection capability to support SUPL service. + - INTERNET: Indicates the connection capability to support Internet service. diff --git a/TS29522_SliceParamProvision.yaml b/TS29522_SliceParamProvision.yaml new file mode 100644 index 0000000000000000000000000000000000000000..eb97b5dc3cea871d8c6bd7e2e2e9b6b954756b19 --- /dev/null +++ b/TS29522_SliceParamProvision.yaml @@ -0,0 +1,375 @@ +openapi: 3.0.0 + +info: + title: Slice Parameters Provisionings + version: 1.0.0-alpha.2 + description: | + API for Slice Parameters Provisionings. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.4.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-slice-pp/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + + +paths: + /pp: + get: + summary: Request to retrieve all the active Slice Parameters Provisionings + resources at the NEF. + operationId: GetSliceParamProvisionings + tags: + - Slice Parameters Provisionings (Collection) + responses: + '200': + description: > + OK. All the active Slice Parameters Provisioning resources managed by the + NEF are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SlicePpData' + 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: Request the creation of a new Slice Parameters Provisioning. + tags: + - Slice Parameters Provisionings (Collection) + operationId: CreateSliceParamProvisioning + requestBody: + description: > + Representation of the new Slice Parameters Provisioning to be created at + the NEF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SlicePpData' + responses: + '201': + description: > + Created. Successful creation of a new Individual Slice Parameters + Provisioning resource. + content: + application/json: + schema: + $ref: '#/components/schemas/SlicePpData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/3gpp-slice-pp/v1/pp/{ppId} + 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' + + /pp/{ppId}: + parameters: + - name: ppId + in: path + description: > + Represents the identifier of the Individual Slice Parameters + Provisioning resource. + required: true + schema: + type: string + + get: + summary: Request to retrieve an existing Individual Slice Parameters + Provisioning resource. + operationId: GetIndSliceParamProvisioning + tags: + - Individual Slice Usage Control Parameters Provisioning (Document) + responses: + '200': + description: > + OK. Successful retrieval of the requested Individual Slice + Parameters Provisioning resource. + content: + application/json: + schema: + $ref: '#/components/schemas/SlicePpData' + '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 to update an existing Individual Slice Parameters + Provisioning resource. + tags: + - Individual Slice Parameters Provisioning (Document) + operationId: UpdateIndSliceParamProvisioning + requestBody: + description: > + Represents the updated Individual Slice Parameters Provisioning + resource representation. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SlicePpData' + responses: + '200': + description: > + OK. The Individual Slice Parameters Provisioning resource is successfully + updated and a representation of the updated resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/SlicePpData' + '204': + description: > + No Content. The Individual Slice Parameters Provisioning 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 the modification of an existing Individual Slice Parameters + Provisioning resource. + tags: + - Individual Slice Parameters Provisioning (Document) + operationId: ModifyIndSliceParamProvisioning + requestBody: + description: > + Contains the requested modifications to the Individual Slice Parameters + Provisioning resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/SlicePpDataPatch' + responses: + '200': + description: > + OK. The Individual Slice Parameters Provisioning resource is successfully + modified and a representation of the updated resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/SlicePpData' + '204': + description: > + No Content. The Individual Slice Parameters Provisioning 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 the deletion of an existing Individual Slice Parameters + Provisioning resource. + tags: + - Individual Slice Parameters Provisioning (Document) + operationId: DeleteIndSliceParamProvisioning + responses: + '204': + description: > + No Content. The Individual Slice Parameters Provisioning 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: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: +# +# STRUCTURED DATA TYPES +# + SlicePpData: + description: Represents the Slice Parameters Provisioning data. + type: object + properties: + afId: + type: string + sliceUsgCtrlData: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SliceUsageControlInfo' + minProperties: 1 + description: > + Contains the Network Slice Usage Control information to be provisioned. + The key of the map shall be the AF dedicated S-NSSAI to which the Network Slice Usage + Control information is related and that is provided within the snssai attribute of the + corresponding map value encoded via the SliceUsageControlInfo data structure. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - afId + + SlicePpDataPatch: + description: > + Represents the requested modifications to an existing Slice Parameters + Provisioning data. + type: object + properties: + sliceUsgCtrlData: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SliceUsageControlInfo' + minProperties: 1 + description: > + Contains the updated Network Slice Usage Control information to be provisioned. + The key of the map shall be the AF dedicated S-NSSAI to which the Network Slice Usage + Control information are related and that is provided within the snssai attribute of the + corresponding map value encoded via the SliceUsageControlInfo data structure. + + +# +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + diff --git a/TS29522_TimeSyncExposure.yaml b/TS29522_TimeSyncExposure.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0d0c1b3e84830bd567efc5e33a2defcc4c4950bf --- /dev/null +++ b/TS29522_TimeSyncExposure.yaml @@ -0,0 +1,1106 @@ +openapi: 3.0.0 + +info: + title: 3gpp-time-sync-exposure + version: 1.1.0-alpha.5 + description: | + API for time synchronization exposure. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.4.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-time-sync/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. + +paths: + /{afId}/subscriptions: + get: + summary: read all of the active subscriptions for the AF + operationId: ReadAllSubscriptions + tags: + - Time Synchronization Exposure Subscriptions + 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 subscriptions for the AF) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TimeSyncExposureSubsc' + 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 + operationId: CreateNewSubscription + tags: + - Time Synchronization Exposure Subscriptions + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new subscription creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureSubsc' + responses: + '201': + description: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureSubsc' + 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: + timeSyncSubsNotification: + '{$request.body#/subsNotifUri}': + post: + requestBody: + description: Notification for Time Synchronization Capability for a list of UEs. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureSubsNotif' + responses: + '204': + description: Expected response to a successful callback processing without a 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' + + /{afId}/subscriptions/{subscriptionId}: + get: + summary: read an active subscription for the AF and the subscription Id + operationId: ReadAnSubscription + tags: + - Individual Time Synchronization Exposure Subscription + 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 + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureSubsc' + '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: Fully updates/replaces an existing subscription resource + operationId: FullyUpdateAnSubscription + tags: + - Individual Time Synchronization Exposure Subscription + 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 + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureSubsc' + responses: + '200': + description: OK (Successful deletion of the existing subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureSubsc' + '204': + description: > + Successful case. The resource has been successfully updated and no additional + content is to be sent in the response message. + '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 + operationId: DeleteAnSubscription + tags: + - Individual Time Synchronization Exposure Subscription + 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 + 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' + + /{afId}/subscriptions/{subscriptionId}/configurations: + get: + summary: read all of the active configurations for the AF + operationId: ReadAllConfirguations + tags: + - Time Synchronization Exposure Configurations + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + description: > + String identifying the individual synchronization Exposure Subscription resource + in the NEF + in: path + 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/TimeSyncExposureConfig' + 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: CreateNewConfirguation + tags: + - Time Synchronization Exposure Configurations + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + description: > + String identifying the individual synchronization Exposure Subscription + resource in the NEF. + in: path + required: true + schema: + type: string + requestBody: + description: new configuration creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureConfig' + responses: + '201': + description: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureConfig' + 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: + timeSyncConfigNotification: + '{$request.body#/configNotifUri}': + post: + requestBody: + description: Notification for Time Synchronization Service status. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureConfigNotif' + responses: + '204': + description: Expected response to a successful callback processing without a 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' + + /{afId}/subscriptions/{subscriptionId}/configurations/{instanceReference}: + get: + summary: read an active subscription for the AF and the subscription Id + operationId: ReadTimeSynSubscription + tags: + - Individual Time Synchronization Exposure Subscription + 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 + - name: instanceReference + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureConfig' + '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: Fully updates/replaces an existing configuration resource + operationId: FullyUpdateAnConfiguration + tags: + - Individual Time Synchronization Exposure Configuration + 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 + - name: instanceReference + 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/TimeSyncExposureConfig' + responses: + '200': + description: OK (Successful deletion of the existing configuration) + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureConfig' + '204': + description: > + Successful case. The resource has been successfully updated and no additional + content is to be sent in the response message. + '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 Time Synchronization Exposure Configuration + 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 + - name: instanceReference + 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: + TimeSyncExposureSubsc: + description: > + Contains requested parameters for the subscription to the notification + of time synchronization capability. + type: object + properties: + exterGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + description: > + Contains a list of UE for which the time synchronization capabilities is requested. + anyUeInd: + type: boolean + description: > + Any UE indication. This IE shall be present if the event subscription + is applicable to any UE. Default value "false" is used, if not present. + afServiceId: + type: string + description: Identifies a service on behalf of which the AF is issuing the request. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + subsNotifId: + type: string + description: Notification Correlation ID assigned by the NF service consumer. + subsNotifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + subscribedEvents: + type: array + items: + $ref: '#/components/schemas/SubscribedEvent' + minItems: 1 + description: Subscribed events + eventFilters: + type: array + items: + $ref: '#/components/schemas/EventFilter' + minItems: 1 + description: > + Contains the filter conditions to match for notifying the event(s) + of time synchronization capabilities for a list of UE(s). + notifMethod: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/NotificationMethod' + maxReportNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + expiry: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + 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 of 3GPP TS 29.122. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - subsNotifUri + - subsNotifId + oneOf: + - required: [gpsis] + - required: [anyUeInd] + - required: [externalGroupId] + + TimeSyncCapability: + description: Contains time synchronization capability. + type: object + properties: + upNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + gmCapables: + type: array + items: + $ref: '#/components/schemas/GmCapable' + description: > + Indicates whether user plane node supports acting as a gPTP and/or PTP grandmaster. + asTimeRes: + $ref: '#/components/schemas/AsTimeResource' + ptpCapForUes: + type: object + additionalProperties: + $ref: '#/components/schemas/PtpCapabilitiesPerUe' + minProperties: 1 + description: > + Contains the PTP capabilities supported by each of the UE(s). + The key of the map is the gpsi. + required: + - upNodeId + anyOf: + - required: [gmCapables] + - required: [asTimeRes] + + TimeSyncExposureConfig: + description: Contains the Time Synchronization Configuration parameters. + type: object + properties: + upNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + reqPtpIns: + $ref: '#/components/schemas/PtpInstance' + gmEnable: + type: boolean + description: > + Indicates that the AF requests 5GS to act as a grandmaster for PTP + or gPTP if it is included and set to true. + gmPrio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + timeDom: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + timeSyncErrBdgt: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + configNotifId: + type: string + description: Notification Correlation ID assigned by the NF service consumer. + configNotifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + tempValidity: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity' + coverageArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SpatialValidityCond' + clkQltDetLvl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ClockQualityDetailLevel' + clkQltAcptCri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ClockQualityAcceptanceCriterion' + required: + - upNodeId + - reqPtpIns + - timeDom + - configNotifId + - configNotifUri + + TimeSyncExposureSubsNotif: + description: Contains the notification of time synchronization capability. + type: object + properties: + subsNotifId: + type: string + description: Notification Correlation ID assigned by the NF service consumer. + eventNotifs: + type: array + items: + $ref: '#/components/schemas/SubsEventNotification' + minItems: 1 + description: > + Notifications about subscribed Individual Events. + required: + - subsNotifId + - eventNotifs + + SubsEventNotification: + description: Notifications about subscribed Individual Events. + type: object + properties: + event: + $ref: '#/components/schemas/SubscribedEvent' + timeSyncCapas: + type: array + items: + $ref: '#/components/schemas/TimeSyncCapability' + minItems: 1 + description: > + Contains a list of time synchronization capabilities for the UE(s). + required: + - event + + TimeSyncExposureConfigNotif: + description: Contains the notification of time synchronization service state. + type: object + properties: + configNotifId: + type: string + description: Notification Correlation ID assigned by the NF service consumer. + stateOfConfig: + $ref: '#/components/schemas/StateOfConfiguration' + required: + - configNotifId + - stateOfConfig + + PtpCapabilitiesPerUe: + description: Contains the supported PTP capabilities per UE. + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ptpCaps: + type: array + items: + $ref: '#/components/schemas/EventFilter' + minItems: 1 + description: > + Contains the reported PTP capabilities for the UE. + required: + - gpsi + - ptpCaps + + EventFilter: + description: > + Contains the filter conditions to match for notifying the event(s) of time + synchronization capabilities. + type: object + properties: + instanceTypes: + type: array + items: + $ref: '#/components/schemas/InstanceType' + minItems: 1 + description: > + Indicates the PTP instance type(s). + transProtocols: + type: array + items: + $ref: '#/components/schemas/Protocol' + minItems: 1 + description: > + Indicates the transport protocol type(s). + ptpProfiles: + type: array + items: + type: string + minItems: 1 + description: > + Identifies the supported PTP profiles. + + PtpInstance: + description: Contains PTP instance configuration and activation requested by the AF. + type: object + properties: + instanceType: + $ref: '#/components/schemas/InstanceType' + protocol: + $ref: '#/components/schemas/Protocol' + ptpProfile: + type: string + description: Identifies the PTP profile. + portConfigs: + type: array + items: + $ref: '#/components/schemas/ConfigForPort' + minItems: 1 + description: > + Contains the configurations for the PTP port(s) in the PTP instance. + required: + - instanceType + - protocol + - ptpProfile + + ConfigForPort: + description: Contains configuration for each port. + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + n6Ind: + type: boolean + description: > + Indicates the N6 termination which the parameters below apply. + ptpEnable: + type: boolean + description: > + This is used to set the portDS.portEnable. If omitted, the default value as described + in the PTP Profile is used. + logSyncInter: + type: integer + description: > + Specifies the mean time interval between successive Sync messages. + logSyncInterInd: + type: boolean + description: > + When set to "false", the value of "logSyncInter" attribute is used to set the + initialLogSyncInterval as described in IEEE Std 802.1AS [46]. When set to "true", + the value of "logSyncInter" attribute is used to set the mgtSettableLogSyncInterval + as described in IEEE Std 802.1AS [46]. + logAnnouInter: + type: integer + description: > + Specifies the mean time interval between successive Announce messages. + logAnnouInterInd: + type: boolean + description: > + When set to "false", the value of "logAnnouInter" attribute is used to set the + initialLogAnnounceInterval as described in IEEE 802.1AS [46]. When set to "true", + the value of "logAnnouInter" attribute is used to set the + mgtSettableLogAnnounceInterval as described in IEEE Std 802.1AS [46]. + oneOf: + - required: [gpsi] + - required: [n6Ind] + + StateOfConfiguration: + description: Contains the state of the time synchronization configuration. + type: object + properties: + stateOfNwtt: + type: boolean + description: > + When the PTP port state is Leader, Follower or Passive, it is included and set to true + to indicate the state of configuration for NW-TT port is active; when PTP port state is + in any other case, it is included and set to false to indicate the state of + configuration for NW-TT port is inactive. Default value is false. + stateOfDstts: + description: > + Contains the PTP port states of the DS-TT(s). + type: array + items: + $ref: '#/components/schemas/StateOfDstt' + minItems: 1 + + StateOfDstt: + description: Contains the PTP port state of a DS-TT. + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + state: + type: boolean + description: > + When the PTP port state is Leader, Follower or Passive, it is included and set to true + to indicate the state of configuration for DS-TT port is active; when PTP port state is + in any other case, it is included and set to false to indicate the state of + configuration for DS port is inactive. Default value is false. + required: + - gpsi + - state + + Protocol: + anyOf: + - type: string + enum: + - ETH + - IPV4 + - IPV6 + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Identifies the supported protocol. + Possible values are: + - ETH: Indicates Ethernet as defined in IEEE Std 1588 [45] Annex E is supported. + - IPV4: Indicates IPv4 as defined in IEEE Std 1588 [45] Annex C is supported. + - IPV6: Indicates IPv6 as defined in IEEE Std 1588 [45] Annex D is supported. + + GmCapable: + anyOf: + - type: string + enum: + - GPTP + - PTP + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Identifies the supported grandmaster. + Possible values are: + - GPTP: gPTP grandmaster is supported. + - PTP: PTP grandmaste is supported. + + InstanceType: + anyOf: + - type: string + enum: + - BOUNDARY_CLOCK + - E2E_TRANS_CLOCK + - P2P_TRANS_CLOCK + - P2P_RELAY_INSTANCE + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Identifies the supported PTP instance type. + Possible values are: + - BOUNDARY_CLOCK: Indicates Boundary Clock as defined in IEEE Std 1588. + - E2E_TRANS_CLOCK: Indicates End-to-End Transparent Clock as defined in IEEE Std 1588. + - P2P_TRANS_CLOCK: Indicates Peer-to-Peer Transparent Clock as defined in IEEE Std 1588. + - P2P_RELAY_INSTANCE: Indicates PTP Relay instance as defined in IEEE Std 802.1AS. + + SubscribedEvent: + anyOf: + - type: string + enum: + - AVAILABILITY_FOR_TIME_SYNC_SERVICE + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Identifies the supported event. + Possible values are: + - AVAILABILITY_FOR_TIME_SYNC_SERVICE: The UE is availability for time synchronization + service. + + AsTimeResource: + anyOf: + - type: string + enum: + - ATOMIC_CLOCK + - GNSS + - TERRESTRIAL_RADIO + - SERIAL_TIME_CODE + - PTP + - NTP + - HAND_SET + - INTERNAL_OSCILLATOR + - OTHER + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Identifies the supported 5G clock quality. + Possible values are: + - ATOMIC_CLOCK: Indicates atomic clock is supported. + - GNSS: Indicates Global Navigation Satellite System is supported. + - TERRESTRIAL_RADIO: Indicates terrestrial radio is supported. + - SERIAL_TIME_CODE: Indicates serial time code is supported. + - PTP: Indicates PTP is supported. + - NTP: Indicates NTP is supported. + - HAND_SET: Indicates hand set is supported. + - INTERNAL_OSCILLATOR: Indicates internal oscillator is supported. + - OTHER: Indicates other source of time is supported. + + AcceptanceCriteriaResultIndication: + anyOf: + - type: string + enum: + - ACCEPTABLE + - NON_ACCEPTABLE + - type: string + description: > + Contains the acceptable/not acceptable indication of the clock quality acceptance criteria + result information. + description: | + Identifies the supported acceptable / not acceptable indication. + Possible values are: + - ACCEPTABLE: PTP port in (g)PTP service meets the clock quality acceptance criteria. + - NON_ACCEPTABLE: PTP port in (g)PTP service does not meet the clock quality acceptance + criteria. diff --git a/TS29522_TrafficInfluence.yaml b/TS29522_TrafficInfluence.yaml new file mode 100644 index 0000000000000000000000000000000000000000..af968b145d59fdf89ad1d2b2b1522b719bc52b6d --- /dev/null +++ b/TS29522_TrafficInfluence.yaml @@ -0,0 +1,793 @@ +openapi: 3.0.0 + +info: + title: 3gpp-traffic-influence + version: 1.3.0-alpha.4 + description: | + API for AF traffic influence + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.522 V18.4.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-traffic-influence/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 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 + operationId: ReadAllSubscriptions + tags: + - Traffic Influence Subscription + responses: + '200': + description: OK. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrafficInfluSub' + '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 + operationId: CreateNewSubscription + tags: + - Traffic Influence Subscription + requestBody: + description: Request to create a new subscription resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventNotification' + callbacks: + afAcknowledgement: + '{request.body#/afAckUri}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AfAckInfo' + responses: + '204': + description: No Content (successful acknowledgement) + '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: + '204': + description: No Content (successful 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: Created (Successful creation of subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + 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 + operationId: ReadAnSubscription + tags: + - Individual Traffic Influence Subscription + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + '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: Fully updates/replaces an existing subscription resource + operationId: FullyUpdateAnSubscription + tags: + - Individual Traffic Influence Subscription + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + '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' + + patch: + summary: Partially updates/replaces an existing subscription resource + operationId: PartialUpdateAnSubscription + tags: + - Individual Traffic Influence Subscription + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/TrafficInfluSubPatch' + responses: + '200': + description: OK. The subscription was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + '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 subscription + operationId: DeleteAnSubscription + tags: + - Individual Traffic Influence 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: + TrafficInfluSub: + description: Represents a traffic influence subscription. + type: object + properties: + afServiceId: + type: string + description: Identifies a service on behalf of which the AF is issuing the request. + afAppId: + type: string + description: Identifies an application. + afTransId: + type: string + description: Identifies an NEF Northbound interface transaction, generated by the AF. + appReloInd: + type: boolean + description: > + Identifies whether an application can be relocated once a location of + the application has been selected. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + externalGroupIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + minItems: 1 + description: Each element identifies a group of users. + extSubscCats: + type: array + items: + type: string + minItems: 1 + anyUeInd: + type: boolean + description: > + Identifies whether the AF request applies to any UE. This attribute shall + set to "true" if applicable for any UE, otherwise, set to "false". + subscribedEvents: + type: array + items: + $ref: '#/components/schemas/SubscribedEvent' + minItems: 1 + description: Identifies the requirement to be notified of the event(s). + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + 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' + dnaiChgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: > + Set to true by the SCS/AS to request the NEF 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' + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + trafficFilters: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Identifies IP packet filters. + ethTrafficFilters: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet filters. + trafficRoutes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + description: Identifies the N6 traffic routing requirement. + sfcIdDl: + type: string + description: > + Reference to a pre-configured steering of user traffic to service function chain in + downlink. + sfcIdUl: + type: string + description: > + Reference to a pre-configured steering of user traffic to service function chain in + uplink. + metadata: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Metadata' + tfcCorrInd: + type: boolean + tempValidities: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity' + validGeoZoneIds: + type: array + items: + type: string + minItems: 1 + description: > + Identifies a geographic zone that the AF request applies only to the traffic + of UE(s) located in this specific zone. + deprecated: true + geoAreas: + type: array + items: + $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea' + minItems: 1 + description: Identifies geographical areas within which the AF request applies. + afAckInd: + type: boolean + addrPreserInd: + type: boolean + simConnInd: + type: boolean + description: > + Indicates whether simultaneous connectivity should be temporarily + maintained for the source and target PSA. + simConnTerm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + maxAllowedUpLat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + easIpReplaceInfos: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/EasIpReplacementInfo' + minItems: 1 + description: Contains EAS IP replacement information. + easRedisInd: + type: boolean + description: > + Indicates the EAS rediscovery is required for the application if it is included + and set to "true". + eventReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + eventReports: + type: array + items: + $ref: '#/components/schemas/EventNotification' + minItems: 1 + candDnaiInd: + type: boolean + description: > + Indication of reporting candidate DNAI(s). If it is included and set to "true", the + candidate DNAI(s) for the PDU session need to be reported. Otherwise set to "false" or + omitted. + tfcCorreInfo: + $ref: 'TS29519_Application_Data.yaml#/components/schemas/TrafficCorrelationInfo' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + portNumber: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + allOf: + - oneOf: + - required: [afAppId] + - required: [trafficFilters] + - required: [ethTrafficFilters] + - oneOf: + - required: [ipv4Addr] + - required: [ipv6Addr] + - required: [macAddr] + - required: [gpsi] + - required: [externalGroupId] + - required: [anyUeInd] + anyOf: + - not: + required: [subscribedEvents] + - required: [notificationDestination] + + TrafficInfluSubPatch: + description: > + Represents parameters to request the modification of a traffic influence + subscription resource. + type: object + properties: + appReloInd: + type: boolean + description: > + Identifies whether an application can be relocated once a location of + the application has been selected. + nullable: true + trafficFilters: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Identifies IP packet filters. + ethTrafficFilters: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet filters. + trafficRoutes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + description: Identifies the N6 traffic routing requirement. + sfcIdDl: + type: string + description: > + Reference to a pre-configured steering of user traffic to service function chain in + downlink. + nullable: true + sfcIdUl: + type: string + description: > + Reference to a pre-configured steering of user traffic to service function chain in + uplink. + nullable: true + metadata: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Metadata' + tfcCorrInd: + type: boolean + nullable: true + tempValidities: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity' + minItems: 1 + nullable: true + validGeoZoneIds: + type: array + items: + type: string + minItems: 1 + description: > + Identifies a geographic zone that the AF request applies only to the traffic + of UE(s) located in this specific zone. + nullable: true + deprecated: true + geoAreas: + type: array + items: + $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea' + minItems: 1 + description: Identifies geographical areas within which the AF request applies. + nullable: true + afAckInd: + type: boolean + nullable: true + addrPreserInd: + type: boolean + nullable: true + simConnInd: + type: boolean + description: > + Indicates whether simultaneous connectivity should be temporarily maintained + for the source and target PSA. + simConnTerm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + maxAllowedUpLat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + easIpReplaceInfos: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/EasIpReplacementInfo' + minItems: 1 + description: Contains EAS IP replacement information. + nullable: true + easRedisInd: + type: boolean + description: > + Indicates the EAS rediscovery is required for the application if it is included + and set to "true". + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + eventReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + tfcCorreInfo: + $ref: 'TS29519_Application_Data.yaml#/components/schemas/TrafficCorrelationInfo' + + EventNotification: + description: Represents a traffic influence event notification. + type: object + properties: + afTransId: + type: string + description: Identifies an NEF Northbound interface transaction, generated by the AF. + dnaiChgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType' + sourceTrafficRoute: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + subscribedEvent: + $ref: '#/components/schemas/SubscribedEvent' + targetTrafficRoute: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + sourceDnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + targetDnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + candidateDnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + description: The candidate DNAI(s) for the PDU Session. + candDnaisPrioInd: + type: boolean + description: > + If provided and set to true, it indicates that the candidate DNAIs provided + in the candidateDnais attribute are in descending priority order, i.e., + the lower the array index the higher the priority of the respective DNAI. + If omitted, the default value is false. + easRediscoverInd: + type: boolean + description: > + Indication of EAS re-discovery. If present and set to "true", it indicates the EAS + re-discovery is performed, e.g. due to change of common EAS. Default value is "false" if + omitted. May be included for event "UP_PATH_CHANGE". + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + srcUeIpv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + srcUeIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + tgtUeIpv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + tgtUeIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + ueMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + afAckUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + required: + - dnaiChgType + - subscribedEvent + + AfResultInfo: + description: Identifies the result of application layer handling. + type: object + properties: + afStatus: + $ref: '#/components/schemas/AfResultStatus' + trafficRoute: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + upBuffInd: + type: boolean + description: > + If present and set to "true" it indicates that buffering of uplink traffic + to the target DNAI is needed. + easIpReplaceInfos: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/EasIpReplacementInfo' + minItems: 1 + description: Contains EAS IP replacement information. + required: + - afStatus + + AfAckInfo: + description: Represents acknowledgement information of a traffic influence event notification. + type: object + properties: + afTransId: + type: string + ackResult: + $ref: '#/components/schemas/AfResultInfo' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + required: + - ackResult + + SubscribedEvent: + anyOf: + - type: string + enum: + - UP_PATH_CHANGE + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the type of UP path management events for which the AF requests to be notified. + Possible values are: + - UP_PATH_CHANGE: The AF requests to be notified when the UP path changes for + the PDU session. + + AfResultStatus: + anyOf: + - type: string + enum: + - SUCCESS + - TEMPORARY_CONGESTION + - RELOC_NO_ALLOWED + - OTHER + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the status of application handling result. + Possible values are: + - SUCCESS: The application layer is ready or the relocation is completed. + - TEMPORARY_CONGESTION: The application relocation fails due to temporary congestion. + - RELOC_NO_ALLOWED: The application relocation fails because application relocation + is not allowed. + - OTHER: The application relocation fails due to other reason. diff --git a/TS29522_UEAddress.yaml b/TS29522_UEAddress.yaml new file mode 100644 index 0000000000000000000000000000000000000000..981b8cc90344af5ec6a768c84949e5d472325cd8 --- /dev/null +++ b/TS29522_UEAddress.yaml @@ -0,0 +1,103 @@ +openapi: 3.0.0 + +info: + title: 3gpp-ue-address + version: 1.0.0-alpha.1 + description: | + API for UE Address service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.522 V18.4.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-ue-address/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. + +paths: + /retrieve: + post: + summary: Retrieve UE Address. + operationId: RetrieveUEAddress + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UeAddressReq' + responses: + '200': + description: The requested information was returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/UeAddressInfo' + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + UeAddressReq: + description: Represents the parameters to request the retrieval of UE Address. + type: object + properties: + afId: + type: string + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - afId + - gpsi + + UeAddressInfo: + description: Represents UE Address information. + type: object + properties: + ueIpAddrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + minItems: 1 + required: + - ueIpAddrs diff --git a/TS29522_UEId.yaml b/TS29522_UEId.yaml new file mode 100644 index 0000000000000000000000000000000000000000..23b74791e8c53644a7839b0cca20baff4b312c34 --- /dev/null +++ b/TS29522_UEId.yaml @@ -0,0 +1,118 @@ +openapi: 3.0.0 + +info: + title: 3gpp-ueid + version: 1.1.0-alpha.2 + description: | + API for UE ID service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.522 V18.4.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-ueid/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. + +paths: + /retrieve: + post: + summary: Retrieve AF specific UE ID. + operationId: RetrieveUEId + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UeIdReq' + responses: + '200': + description: The requested information was returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/UeIdInfo' + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + UeIdReq: + description: Represents the parameters to request the retrieval of AF specific UE ID. + type: object + properties: + afId: + type: string + appPortId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + ipDomain: + type: string + mtcProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + portNumber: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + ueIpAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + ueMacAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - afId + oneOf: + - required: [ueIpAddr] + - required: [ueMacAddr] + + UeIdInfo: + description: Represents UE ID information. + type: object + properties: + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - externalId diff --git a/TS29525_Npcf_UEPolicyControl.yaml b/TS29525_Npcf_UEPolicyControl.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7f2669ce658db3383c07469bfcca2ced0350b339 --- /dev/null +++ b/TS29525_Npcf_UEPolicyControl.yaml @@ -0,0 +1,1035 @@ +openapi: 3.0.0 + +info: + version: 1.3.0-alpha.5 + title: Npcf_UEPolicyControl + description: | + UE Policy Control Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.525 V18.4.0; 5G System; UE Policy Control Service. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.525/' + +servers: + - url: '{apiRoot}/npcf-ue-policy-control/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - npcf-ue-policy-control + +paths: + /policies: + post: + operationId: CreateIndividualUEPolicyAssociation + summary: Create individual UE policy association. + tags: + - UE Policy Associations (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociationRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociation' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/npcf-ue-policy-control/v1/policies/{polAssoId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + policyUpdateNotification: + '{$request.body#/notificationUri}/update': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyUpdate' + responses: + '200': + description: > + OK. The current applicable values corresponding to the policy control request + trigger is reported + content: + application/json: + schema: + $ref: '#/components/schemas/UeRequestedValueRep' + '204': + description: No Content, Notification was successful + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + policyAssocitionTerminationRequestNotification: + '{$request.body#/notificationUri}/terminate': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TerminationNotification' + responses: + '204': + description: No Content, Notification was successful + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policies/{polAssoId}: + get: + operationId: ReadIndividualUEPolicyAssociation + summary: Read individual UE policy association. + tags: + - Individual UE Policy Association (Document) + parameters: + - name: polAssoId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociation' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + operationId: DeleteIndividualUEPolicyAssociation + summary: Delete individual UE policy association. + tags: + - Individual UE Policy Association (Document) + parameters: + - name: polAssoId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was successfully deleted + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policies/{polAssoId}/update: + post: + operationId: ReportObservedEventTriggersForIndividualUEPolicyAssociation + summary: > + Report observed event triggers and possibly obtain updated policies for an individual UE + policy association. + tags: + - Individual UE Policy Association (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociationUpdateRequest' + parameters: + - name: polAssoId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '200': + description: OK. Updated policies are returned + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyUpdate' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npcf-ue-policy-control: Access to the Npcf_UEPolicyControl API + + schemas: + PolicyAssociation: + description: > + Contains the description of a policy association that is returned by the PCF when a policy + Association is created, updated, or read. + type: object + properties: + request: + $ref: '#/components/schemas/PolicyAssociationRequest' + uePolicy: + $ref: '#/components/schemas/UePolicy' + n2Pc5Pol: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N2InfoContent' + n2Pc5PolA2x: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N2InfoContent' + n2Pc5ProSePol: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N2InfoContent' + triggers: + type: array + items: + $ref: '#/components/schemas/RequestTrigger' + minItems: 1 + description: > + Request Triggers that the PCF subscribes. + pras: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfoRm' + minProperties: 1 + description: > + Contains the presence reporting area(s) for which reporting was requested. + The praId attribute within the PresenceInfoRm data type is the key of the map. + andspDelInd: + type: boolean + description: > + Indication that the updated ANDSP/WLANSP has been successfully delivered to the UE. + andspInd: + description: > + Indication of UE support of ANDSP. When set to true, it indicates the UE supports ANDSP, + when set to false it indicates the UE does not support ANDSP. + type: boolean + pduSessions: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionInfo' + minItems: 1 + description: Combination of DNN and S-NSSAIs for which LBO information is requested. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + n2Pc5RsppPol: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N2InfoContent' + required: + - suppFeat + + PolicyAssociationRequest: + description: > + Represents information that the NF service consumer provides when requesting the creation of + a policy association. + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + altNotifIpv4Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + description: Alternate or backup IPv4 Address(es) where to send Notifications. + altNotifIpv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + description: Alternate or backup IPv6 Address(es) where to send Notifications. + altNotifFqdns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + minItems: 1 + description: Alternate or backup FQDN(s) where to send Notifications. + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + userLoc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + timeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + servingPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + groupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + hPcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + uePolReq: + $ref: '#/components/schemas/UePolicyRequest' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + serviceName: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + servingNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pc5Capab: + $ref: '#/components/schemas/Pc5Capability' + pc5CapA2x: + $ref: '#/components/schemas/Pc5Capability' + proSeCapab: + type: array + items: + $ref: '#/components/schemas/ProSeCapability' + minItems: 1 + confSnssais: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/ConfiguredSnssai' + minItems: 1 + description: > + The Configured NSSAI for the serving PLMN, and the mapped S-NSSAI value of home + network corresponding to the configured S-NSSAI in the serving PLMN. + n3gNodeReSel: + $ref: '#/components/schemas/Non3gppAccess' + satBackhaulCategory: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SatelliteBackhaulCategory' + 5gsToEpsMob: + type: boolean + description: > + It indicates the UE Policy Association is triggered by a 5GS to EPS mobility + scenario. + vpsUePolGuidance: + type: object + additionalProperties: + $ref: '#/components/schemas/UePolicyParameters' + minProperties: 1 + description: > + Contains the service parameter used to guide the VPLMN-specific URSP and may contain + the subscription to VPLMN-specific URSP delivery outcome. + The key of the map represents the AF request to guide VPLMN-specific URSP rules. + This attribute only applies in roaming and when the V-PCF is the NF service consumer. + lboRoamInfo: + type: array + items: + $ref: '#/components/schemas/LboRoamingInformation' + minItems: 1 + description: > + Contains LBO roaming information for DNN and S-NSSAI combination(s). + This attribute only applies in roaming and when the AMF is the NF service consumer. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + rangingSlCapab: + type: boolean + description: > + It indicates whether the PC5 Capability for Ranging/SL is supported by the UE or not. + "true": Indicates that the PC5 Capability for Ranging/SL is supported by the UE. + "false": Indicates that the PC5 Capability for Ranging/SL is not supported by the UE. + Default value when omitted is "false". + required: + - notificationUri + - suppFeat + - supi + + PolicyAssociationUpdateRequest: + description: > + Represents Information that the NF service consumer provides when requesting the update of + a policy association. + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + altNotifIpv4Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + description: Alternate or backup IPv4 Address(es) where to send Notifications. + altNotifIpv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + description: Alternate or backup IPv6 Address(es) where to send Notifications. + altNotifFqdns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + minItems: 1 + description: Alternate or backup FQDN(s) where to send Notifications. + triggers: + type: array + items: + $ref: '#/components/schemas/RequestTrigger' + minItems: 1 + description: Request Triggers that the NF service consumer observes. + praStatuses: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + description: > + Contains the UE presence status for tracking area for which changes of the UE presence + occurred. The praId attribute within the PresenceInfo data type is the key of the map. + minProperties: 1 + userLoc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + uePolDelResult: + $ref: '#/components/schemas/UePolicyDeliveryResult' + uePolTransFailNotif: + $ref: '#/components/schemas/UePolicyTransferFailureNotification' + uePolReq: + $ref: '#/components/schemas/UePolicyRequest' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + servingNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + connectState: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/CmState' + groupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + proSeCapab: + type: array + items: + $ref: '#/components/schemas/ProSeCapability' + minItems: 1 + confSnssais: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/ConfiguredSnssai' + minItems: 1 + description: > + The Configured NSSAI for the serving PLMN, and the mapped S-NSSAI value of home + network corresponding to the configured S-NSSAI in the serving PLMN. + satBackhaulCategory: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SatelliteBackhaulCategory' + urspEnfRep: + type: object + additionalProperties: + $ref: '#/components/schemas/UrspEnforcementPduSession' + description: > + Contains information about the enforced URSP rule(s) in one or more PDU sessions. + The key of the map is a character string that represents an integer value. + minProperties: 1 + vpsUePolGuidance: + type: object + additionalProperties: + $ref: '#/components/schemas/UePolicyParameters' + minProperties: 1 + description: > + Contains the service parameter used to guide the VPLMN-specific URSP and may contain + the subscription to VPLMN-specific URSP delivery outcome. + The key of the map represents the AF request to guide VPLMN-specific URSP rules. + This attribute only applies in roaming and when the V-PCF is the NF service consumer. + lboRoamInfo: + type: array + items: + $ref: '#/components/schemas/LboRoamingInformation' + minItems: 1 + description: > + Contains LBO roaming information for DNN and S-NSSAI combination(s). + This attribute only applies in roaming and when the AMF is the NF service consumer. + accessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + accessStatus: + $ref: '#/components/schemas/AccessStatus' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + rangingSlCapab: + type: boolean + description: > + It indicates whether the PC5 Capability for Ranging/SL is supported by the UE or not. + "true": Indicates that the PC5 Capability for Ranging/SL is supported by the UE. + "false": Indicates that the PC5 Capability for Ranging/SL is not supported by the UE. + PolicyUpdate: + description: > + Represents updated policies that the PCF provides in a notification or in the reply to an + Update Request. + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + uePolicy: + $ref: '#/components/schemas/UePolicy' + n2Pc5Pol: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N2InfoContent' + n2Pc5PolA2x: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N2InfoContent' + n2Pc5ProSePol: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N2InfoContent' + triggers: + type: array + items: + $ref: '#/components/schemas/RequestTrigger' + minItems: 1 + nullable: true + description: > + Request Triggers that the PCF subscribes. + pras: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + description: > + Contains the presence reporting area(s) for which reporting was requested. + The praId attribute within the PresenceInfo data type is the key of the map. + minProperties: 1 + nullable: true + andspDelInd: + type: boolean + description: > + Indication that the updated ANDSP/WLANSP has been successfully delivered to the UE. + delivReport: + type: object + additionalProperties: + $ref: '#/components/schemas/UePolicyNotification' + minProperties: 1 + description: > + Contains the delivery outcome of the VPLMN-specific URSP. + The key of the map represents the AF request of the corresponding subscription, i.e. its + value shall match the key that was previously provided by the V-PCF in the + vpsUePolGuidance attribute. + This attribute only applies in roaming and when the V-PCF is the NF service consumer. + pduSessions: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionInfo' + minItems: 1 + description: > + Combination of DNN and S-NSSAIs for which LBO information is requested. + nullable: true + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + n2Pc5RsppPol: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N2InfoContent' + required: + - resourceUri + + TerminationNotification: + description: > + Represents a request to terminate a policy association that the PCF provides in a + notification. + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + cause: + $ref: '#/components/schemas/PolicyAssociationReleaseCause' + required: + - resourceUri + - cause + + UePolicyTransferFailureNotification: + description: > + Represents information on the failure of a UE policy transfer to the UE because the UE is not + reachable. + type: object + properties: + cause: + $ref: '#/components/schemas/UePolicyTransferFailureCause' + retryAfter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + ptis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + required: + - cause + - ptis + + UeRequestedValueRep: + description: > + Contains the current applicable values corresponding to the policy control request triggers. + type: object + properties: + userLoc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + praStatuses: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + description: > + Contains the UE presence statuses for tracking areas. The praId attribute within the + PresenceInfo data type is the key of the map. + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + connectState: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/CmState' + confSnssais: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/ConfiguredSnssai' + minItems: 1 + description: > + The Configured NSSAI for the serving PLMN, and the mapped S-NSSAI value of home + network corresponding to the configured S-NSSAI in the serving PLMN. + satBackhaulCategory: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SatelliteBackhaulCategory' + urspEnfRep: + type: object + additionalProperties: + $ref: '#/components/schemas/UrspEnforcementPduSession' + description: > + Contains information about the enforced URSP rule(s) in one or more PDU sessions. + The key of the map is a character string that represents an integer value. + minProperties: 1 + lboRoamInfo: + type: array + items: + $ref: '#/components/schemas/LboRoamingInformation' + minItems: 1 + description: > + Contains LBO roaming information for DNN and S-NSSAI combination(s). + accessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + UePolicyParameters: + description: > + Contains the service parameters used to guide the VPLMN-specific URSP rule determination. + type: object + properties: + urspGuidance: + type: array + items: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/UrspRuleRequest' + minItems: 1 + description: > + Contains the service parameter used to guide the VPLMN-specific URSP. + deliveryEvents: + type: array + items: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/Event' + minItems: 1 + description: > + AF subscribed event(s) notifications related to AF provisioned guidance + for VPLMN-specific URSP rules. + + LboRoamingInformation: + description: > + Contains LBO roaming information for a DNN and S-NSSAI. + type: object + properties: + lboRoamAllowed: + type: boolean + description: > + Indicates whether LBO for the DNN and S-NSSAI is allowed when roaming. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + required: + - dnn + - snssai + + UrspEnforcementPduSession: + description: > + Represents URSP rule enforcement information for a PDU session. + type: object + required: + - urspEnfInfo + properties: + urspEnfInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UrspEnforcementInfo' + sscMode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode' + ueReqDnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + redundantPduSessionInfo: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/RedundantPduSessionInformation' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + pduSessInfo: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/PduSessionInformation' + + UePolicyNotification: + description: > + Contains the delivery outcome of VPLMN-specific URSP rules. + type: object + properties: + eventNotifs: + type: array + items: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/PcEventNotification' + minItems: 1 + description: > + Represents the events to be reported according to the subscription to notifications + of VPLMN-specific URSP delivery outcome events. + + UePolicy: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + + UePolicyDeliveryResult: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + + UePolicyRequest: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + + RequestTrigger: + anyOf: + - type: string + enum: + - LOC_CH + - PRA_CH + - UE_POLICY + - PLMN_CH + - CON_STATE_CH + - GROUP_ID_LIST_CHG + - UE_CAP_CH + - SAT_CATEGORY_CHG + - NON_3GPP_NODE_RESELECTION + - CONF_NSSAI_CH + - LBO_INFO_CH + - FEAT_RENEG + - URSP_ENF_INFO + - ACCESS_TYPE_CH + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the possible request triggers. + Possible values are: + - LOC_CH: Location change (tracking area). The tracking area of the UE has changed. + - PRA_CH: Change of UE presence in PRA. The AMF reports the current presence status + of the UE in a Presence Reporting Area, and notifies that the UE enters/leaves the + Presence Reporting Area. + - UE_POLICY: A MANAGE UE POLICY COMPLETE message or a MANAGE UE POLICY COMMAND REJECT + message, as defined in Annex D.5 of 3GPP TS 24.501 or a "UE POLICY PROVISIONING REQUEST" + message, as defined in clause 7.2.1.1 of 3GPP TS 24.587, has been received by the AMF + and is being forwarded. + - PLMN_CH: PLMN change. the serving PLMN of UE has changed. + - CON_STATE_CH: Connectivity state change: the connectivity state of UE has changed. + - GROUP_ID_LIST_CHG: UE Internal Group Identifier(s) has changed. This policy + control request + trigger does not require a subscription. + - UE_CAP_CH: UE Capabilities change: the UE provided 5G ProSe capabilities have changed. + This policy control request trigger does not require subscription. + - SAT_CATEGORY_CHG: Indicates that the AMF has detected a change between different satellite + category, or non-satellite backhaul. + - NON_3GPP_NODE_RESELECTION: The UE has connected to a wrong non-3GPP access node that + does not match its subscribed S-NSSAI(s). This policy control request trigger does not + require a subscription. + - CONF_NSSAI_CH: Configured NSSAI change. Indicates that the configured NSSAI has changed. + - LBO_INFO_CH: LBO information change. The AMF reports LBO roaming allowed or not allowed + for the requested DNN(s) and S-NSSAI(s). This policy control request trigger only applies + in roaming scenarios when the NF service consumer is the AMF. + - FEAT_RENEG: The NF service consumer notifies that the target AMF is requesting feature + re-negotiation. + - URSP_ENF_INFO: The V-PCF has received URSP rule enforcement information for one or more URSP + rules. This trigger applies in roaming scenarios and to the V-PCF. + - ACCESS_TYPE_CH: Access Type change. The registered access type has changed, an access type + is added or an access type is removed. + + PolicyAssociationReleaseCause: + anyOf: + - type: string + enum: + - UNSPECIFIED + - UE_SUBSCRIPTION + - INSUFFICIENT_RES + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the cause why the PCF requests the policy association termination. + Possible values are: + - UNSPECIFIED: This value is used for unspecified reasons. + - UE_SUBSCRIPTION: This value is used to indicate that the policy association needs to be + terminated because the subscription of UE has changed (e.g. was removed). + - INSUFFICIENT_RES: This value is used to indicate that the server is overloaded and needs + to abort the policy association. + + Pc5Capability: + anyOf: + - type: string + enum: + - LTE_PC5 + - NR_PC5 + - LTE_NR_PC5 + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the specific PC5 RAT(s) which the UE supports for V2X or A2X communications over + PC5 reference point. + Possible values are: + - LTE_PC5: This value is used to indicate that UE supports PC5 LTE RAT for V2X + communications or A2X communications over the PC5 reference point + + + over the PC5 reference point. + - NR_PC5: This value is used to indicate that UE supports PC5 NR RAT for V2X communications + or A2X communications over the PC5 reference point. + - LTE_NR_PC5: This value is used to indicate that UE supports both PC5 LTE and NR RAT for + V2X communications or A2X communications over the PC5 reference point. + + ProSeCapability: + anyOf: + - type: string + enum: + - PROSE_DD + - PROSE_DC + - PROSE_L2_U2N_RELAY + - PROSE_L3_U2N_RELAY + - PROSE_L2_REMOTE_UE + - PROSE_L3_REMOTE_UE + - PROSE_L2_U2U_RELAY + - PROSE_L3_U2U_RELAY + - PROSE_L2_END_UE + - PROSE_L3_END_UE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + the content defined in the present version of this API. + description: | + Represents the 5G ProSe capabilities. + Possible values are: + - PROSE_DD: This value is used to indicate that 5G ProSe Direct Discovery is supported + by the UE. + - PROSE_DC: This value is used to indicate that 5G ProSe Direct Communication is supported + by the UE. + - PROSE_L2_U2N_RELAY: This value is used to indicate that Layer-2 5G ProSe UE-to-Network + Relay is supported by the UE. + - PROSE_L3_U2N_RELAY: This value is used to indicate that Layer-3 5G ProSe UE-to-Network + Relay is supported by the UE. + - PROSE_L2_REMOTE_UE: This value is used to indicate that Layer-2 5G ProSe Remote UE is + supported by the UE. + - PROSE_L3_REMOTE_UE: This value is used to indicate that Layer-3 5G ProSe Remote UE is + supported by the UE. + - PROSE_L2_U2U_RELAY: This value is used to indicate that Layer-2 5G ProSe UE-to-UE + Relay is supported by the UE. + - PROSE_L3_U2U_RELAY: This value is used to indicate that Layer-3 5G ProSe UE-to-UE + Relay is supported by the UE. + - PROSE_L2_END_UE: This value is used to indicate that Layer-2 5G ProSe End UE is + supported by the UE. + - PROSE_L3_END_UE: This value is used to indicate that Layer-3 5G ProSe End UE is + supported by the UE. + + Non3gppAccess: + anyOf: + - type: string + enum: + - N3IWF + - TNGF + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents a non-3gpp access node. + Possible values are: + - N3IWF: Non-3gpp Interworking Function. + - TNGF: Trusted Non-3gpp Gateway Function. + + AccessStatus: + anyOf: + - type: string + enum: + - ADDITION + - REMOVAL + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents whether the type of change is a replacement, addition or removal. + Possible values are: + - ADDITION: The type of change is an addition. + - REMOVAL: The type of change is a removal. + + N1N2MessTransferErrorReply: + anyOf: + - type: string + enum: + - UE_NOT_REACHABLE + - UNSPECIFIED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents an N1N2 Message Transfer error. + Possible values are: + - UE_NOT_REACHABLE: The UE is not reachable for paging. + - UNSPECIFIED: Unspecified error. + +# + UePolicyTransferFailureCause: + description: UE Policy Transfer Failure Cause. + anyOf: + - $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N1N2MessageTransferCause' + - $ref: '#/components/schemas/N1N2MessTransferErrorReply' diff --git a/TS29526_Nnssaaf_AIW.yaml b/TS29526_Nnssaaf_AIW.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fa9abb41902c749592ea4b8b70f617e6dd49085d --- /dev/null +++ b/TS29526_Nnssaaf_AIW.yaml @@ -0,0 +1,228 @@ +openapi: 3.0.0 + +info: + title: Nnssaaf_AIW + version: 1.1.0-alpha.2 + description: | + AAA Interworking Authentication and Authorization Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS29.526, NSSAA Service, version 18.3.0. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.526/ + +servers: + - url: '{apiRoot}/nnssaaf-aiw/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnssaaf-aiw + +paths: + /authentications: + post: + summary: Create authentication context + operationId: CreateAuthenticationContext + tags: + - Authentications (Collections) + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthInfo' + required: true + responses: + '201': + description: AuthContext successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/AuthContext' + headers: + Location: + description: 'Contains the URI of the newly created resource according to the structure: {apiRoot}/nnssaaf-aiw//authentications/{authCtxId}' + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + + /authentications/{authCtxId}: + put: + summary: Confirm the authentication result + operationId: ConfirmAuthentication + tags: + - Authentication (Document) + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthConfirmationData' + responses: + '200': + description: Request processed (EAP success or Failure) + content: + application/json: + schema: + $ref: '#/components/schemas/AuthConfirmationResponse' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnssaaf-aiw: Access to the nnssaaf-aiw API + + schemas: + +# +# COMPLEX TYPES: +# + + AuthInfo: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + eapIdRsp: + $ref: 'TS29526_Nnssaaf_NSSAA.yaml#/components/schemas/EapMessage' + ttlsInnerMethodContainer: + $ref: 'TS29526_Nnssaaf_NSSAA.yaml#/components/schemas/EapMessage' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supi + + AuthContext: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + authCtxId: + $ref: '#/components/schemas/AuthCtxId' + eapMessage: + $ref: 'TS29526_Nnssaaf_NSSAA.yaml#/components/schemas/EapMessage' + ttlsInnerMethodContainer: + $ref: 'TS29526_Nnssaaf_NSSAA.yaml#/components/schemas/EapMessage' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supi + - authCtxId + + AuthConfirmationData: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + eapMessage: + $ref: 'TS29526_Nnssaaf_NSSAA.yaml#/components/schemas/EapMessage' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supi + - eapMessage + + AuthConfirmationResponse: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + eapMessage: + $ref: 'TS29526_Nnssaaf_NSSAA.yaml#/components/schemas/EapMessage' + authResult: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AuthStatus' + pvsInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServerAddressingInfo' + minItems: 1 + msk: + $ref: 'TS29509_Nausf_UEAuthentication.yaml#/components/schemas/Msk' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supi + - eapMessage + +# +# SIMPLE TYPES: +# + + AuthCtxId: + type: string + description: contains the resource ID of authentication context + nullable: false + +# +# ENUMS: +# diff --git a/TS29526_Nnssaaf_NSSAA.yaml b/TS29526_Nnssaaf_NSSAA.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fc641c24a390333810a4d14897aad4be72c11460 --- /dev/null +++ b/TS29526_Nnssaaf_NSSAA.yaml @@ -0,0 +1,422 @@ +openapi: 3.0.0 + +info: + title: Nnssaaf_NSSAA + version: 1.2.0-alpha.2 + description: | + Network Slice-Specific Authentication and Authorization Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS29.526, NSSAA Service, version 18.3.0. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.526/ + +servers: + - url: '{apiRoot}/nnssaaf-nssaa/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnssaaf-nssaa + +paths: + /slice-authentications: + post: + summary: Create slice authentication context + operationId: CreateSliceAuthenticationContext + tags: + - Slice Authentication Context Creation + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SliceAuthInfo' + required: true + responses: + '201': + description: SliceAuthContext + content: + application/json: + schema: + $ref: '#/components/schemas/SliceAuthContext' + headers: + Location: + description: 'Contains the URI of the newly created resource according to the structure: {apiRoot}/nnssaaf-nssaa//slice-authentications/{authCtxId}' + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request from the AMF + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden due to slice authentication rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: User does not exist + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + description: Network error or remote peer error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + callbacks: + reauthenticationNotification: + '{request.body#/reauthNotifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SliceAuthReauthNotification' + responses: + '204': + description: slice re-authentication notification response + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + revocationNotification: + '{request.body#/revocNotifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SliceAuthRevocNotification' + responses: + '204': + description: slice revocation notification response + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /slice-authentications/{authCtxId}: + put: + summary: Confirm the slice authentication result + operationId: ConfirmSliceAuthentication + tags: + - Confirm Slice Authentication + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SliceAuthConfirmationData' + responses: + '200': + description: Request processed (EAP success or Failure) + content: + application/json: + schema: + $ref: '#/components/schemas/SliceAuthConfirmationResponse' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + description: Network error or remote peer error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnssaaf-nssaa: Access to the nnssaaf-nssaa API + + schemas: + + # + # COMPLEX TYPES: + # + + SliceAuthInfo: + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + eapIdRsp: + $ref: '#/components/schemas/EapMessage' + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + reauthNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + revocNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - gpsi + - snssai + - eapIdRsp + + SliceAuthContext: + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + authCtxId: + $ref: '#/components/schemas/SliceAuthCtxId' + eapMessage: + $ref: '#/components/schemas/EapMessage' + required: + - gpsi + - snssai + - authCtxId + - eapMessage + + SliceAuthConfirmationData: + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + eapMessage: + $ref: '#/components/schemas/EapMessage' + required: + - gpsi + - snssai + - eapMessage + + SliceAuthConfirmationResponse: + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + eapMessage: + $ref: '#/components/schemas/EapMessage' + authResult: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AuthStatus' + required: + - gpsi + - snssai + - eapMessage + + SliceAuthReauthNotification: + type: object + properties: + notifType: + $ref: '#/components/schemas/SliceAuthNotificationType' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + required: + - notifType + - gpsi + - snssai + + SliceAuthRevocNotification: + type: object + properties: + notifType: + $ref: '#/components/schemas/SliceAuthNotificationType' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + required: + - notifType + - gpsi + - snssai + + # + # SIMPLE TYPES: + # + + SliceAuthCtxId: + type: string + description: contains the resource ID of slice authentication context + nullable: false + + EapMessage: + type: string + format: byte + description: contains an EAP packet + nullable: true + + # + # ENUMS: + # + + SliceAuthNotificationType: + type: string + enum: + - SLICE_RE_AUTH + - SLICE_REVOCATION diff --git a/TS29531_Nnssf_NSSAIAvailability.yaml b/TS29531_Nnssf_NSSAIAvailability.yaml new file mode 100644 index 0000000000000000000000000000000000000000..dc62a9995ed4ccd1f63119243aef9fd5f355a7f0 --- /dev/null +++ b/TS29531_Nnssf_NSSAIAvailability.yaml @@ -0,0 +1,758 @@ +openapi: 3.0.0 + +info: + version: '1.3.0-alpha.5' + title: 'NSSF NSSAI Availability' + description: | + NSSF NSSAI Availability Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +security: + - {} + - oAuth2ClientCredentials: + - nnssf-nssaiavailability +servers: + - url: '{apiRoot}/nnssf-nssaiavailability/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +externalDocs: + description: 3GPP TS 29.531 V18.5.0; 5G System; Network Slice Selection Services; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.531/ +paths: + /nssai-availability/{nfId}: + put: + summary: Updates/replaces the NSSF with the S-NSSAIs the NF service consumer (e.g AMF)supports per TA + tags: + - NF Instance ID (Document) + operationId: NSSAIAvailabilityPut + parameters: + - name: nfId + in: path + description: Identifier of the NF service consumer instance + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + requestBody: + description: Parameters to update/replace at the NSSF, the S-NSSAIs supported per TA + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NssaiAvailabilityInfo' + responses: + '200': + description: OK (Successful update of SNSSAI information per TA) + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizedNssaiAvailabilityInfo' + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + '204': + description: No Content (No supported slices after Successful update) + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + patch: + summary: Updates an already existing S-NSSAIs per TA provided by the NF service consumer (e.g AMF) + tags: + - NF Instance ID (Document) + operationId: NSSAIAvailabilityPatch + parameters: + - name: nfId + in: path + description: Identifier of the NF service consumer instance + required: true + schema: + type: string + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + requestBody: + description: JSON Patch instructions to update at the NSSF, the S-NSSAIs supported per TA + required: true + content: + application/json-patch+json:: + schema: + $ref: '#/components/schemas/PatchDocument' + + responses: + '200': + description: OK (Successful update of SNSSAI information per TA) + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizedNssaiAvailabilityInfo' + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + '204': + description: No Content (No supported slices after Successful update) + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + + delete: + summary: Deletes an already existing S-NSSAIs per TA provided by the NF service consumer (e.g AMF) + tags: + - NF Instance ID (Document) + operationId: NSSAIAvailabilityDelete + parameters: + - name: nfId + in: path + description: Identifier of the NF service consumer instance + required: true + schema: + type: string + + responses: + '204': + description: No Content (Successful deletion of SNSSAI information per TA) + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + default: + description: Unexpected error + + + /nssai-availability/subscriptions: + post: + summary: Creates subscriptions for notification about updates to NSSAI availability information + tags: + - Subscriptions (Collection) + operationId: NSSAIAvailabilityPost + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + requestBody: + description: Subscription for notification about updates to NSSAI availability information + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NssfEventSubscriptionCreateData' + callbacks: + nssaiAvailabilityNotification: + '{request.body#/nfNssaiAvailabilityUri}': + post: + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NssfEventNotification' + responses: + '204': + description: No Content (successful notification) + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + + responses: + '201': + description: Created (Successful creation of subscription for notification) + content: + application/json: + schema: + $ref: '#/components/schemas/NssfEventSubscriptionCreatedData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nnssf-nssaiavailability//nssai-availability/subscriptions/{subscriptionId} + required: true + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /nssai-availability/subscriptions/{subscriptionId}: + delete: + summary: Deletes an already existing NSSAI availability notification subscription + tags: + - Subscription ID (Document) + operationId: NSSAIAvailabilityUnsubscribe + parameters: + - name: subscriptionId + in: path + description: Identifier of the subscription for notification + required: true + schema: + type: string + + responses: + '204': + description: No Content (Successful deletion of subscription for NSSAI Availability notification) + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + default: + description: Unexpected error + + patch: + summary: updates an already existing NSSAI availability notification subscription + tags: + - Subscription ID (Document) + operationId: NSSAIAvailabilitySubModifyPatch + parameters: + - name: subscriptionId + in: path + description: Identifier of the subscription for notification + required: true + schema: + type: string + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + requestBody: + description: JSON Patch instructions to update at the NSSF, the NSSAI availability notification subscription + required: true + content: + application/json-patch+json:: + schema: + $ref: '#/components/schemas/PatchDocument' + + responses: + '200': + description: OK (Successful update of NSSAI availability notification subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/NssfEventSubscriptionCreatedData' + headers: + Content-Encoding: + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /nssai-availability: + options: + summary: Discover communication options supported by NSSF for NSSAI Availability + operationId: NSSAIAvailabilityOptions + tags: + - NSSAI Availability Store + responses: + '200': + description: OK + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnssf-nssaiavailability: Access to the Nnssf_NSSAIAvailability API + + schemas: + NssaiAvailabilityInfo: + description: This contains the Nssai availability information requested by the AMF + type: object + required: + - supportedNssaiAvailabilityData + properties: + supportedNssaiAvailabilityData: + type: array + items: + $ref: '#/components/schemas/SupportedNssaiAvailabilityData' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + amfSetId: + type: string + pattern: '^[0-9]{3}-[0-9]{2,3}-[A-Fa-f0-9]{2}-[0-3][A-Fa-f0-9]{2}$' + + SupportedNssaiAvailabilityData: + description: This contains the Nssai availability data information per TA supported by the AMF + type: object + required: + - tai + - supportedSnssaiList + properties: + tai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + supportedSnssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TaiRange' + minItems: 1 + nsagInfos: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsagInfo' + minItems: 1 + + AuthorizedNssaiAvailabilityData: + description: This contains the Nssai availability data information per TA authorized by the NSSF + type: object + required: + - tai + - supportedSnssaiList + properties: + tai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + supportedSnssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + restrictedSnssaiList: + type: array + items: + $ref: '#/components/schemas/RestrictedSnssai' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TaiRange' + minItems: 1 + nsagInfos: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsagInfo' + minItems: 1 + + RestrictedSnssai: + description: This contains the restricted SNssai information per PLMN + type: object + required: + - homePlmnId + - sNssaiList + properties: + homePlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + sNssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + homePlmnIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + roamingRestriction: + type: boolean + default: false + + AuthorizedNssaiAvailabilityInfo: + description: This contains the Nssai availability data information authorized by the NSSF + type: object + required: + - authorizedNssaiAvailabilityData + properties: + authorizedNssaiAvailabilityData: + type: array + items: + $ref: '#/components/schemas/AuthorizedNssaiAvailabilityData' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + NssfEventSubscriptionCreateData: + description: This contains the information for event subscription + type: object + required: + - nfNssaiAvailabilityUri + - event + properties: + nfNssaiAvailabilityUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + event: + $ref: '#/components/schemas/NssfEventType' + additionalEvents: + type: array + items: + $ref: '#/components/schemas/NssfEventType' + minItems: 1 + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + amfSetId: + type: string + pattern: '^[0-9]{3}-[0-9]{2,3}-[A-Fa-f0-9]{2}-[0-3][A-Fa-f0-9]{2}$' + taiRangeList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TaiRange' + minItems: 1 + amfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + allAmfSetTaiInd: + type: boolean + default: false + nsrpSubscribeInfo: + $ref: '#/components/schemas/SnssaiReplacementSubscribeInfo' + nsiunSubscribeInfo: + $ref: '#/components/schemas/NsiUnavailabilitySubscribeInfo' + + NssfEventSubscriptionCreatedData: + description: This contains the information for created event subscription + type: object + required: + - subscriptionId + properties: + subscriptionId: + type: string + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + authorizedNssaiAvailabilityData: + type: array + items: + $ref: '#/components/schemas/AuthorizedNssaiAvailabilityData' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + NssfEventNotification: + description: This contains the notification for created event subscription + type: object + required: + - subscriptionId + properties: + subscriptionId: + type: string + authorizedNssaiAvailabilityData: + type: array + items: + $ref: '#/components/schemas/AuthorizedNssaiAvailabilityData' + altNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SnssaiReplaceInfo' + minItems: 1 + description: > + Indicate the impacted S-NSSAIs, the current status for each reported S-NSSAI, and + if available the alternative S-NSSAI per impacted S-NSSAI for the S-NSSAIs that are + reported as being not available. + unavailableNsiList: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + minItems: 1 + + SnssaiReplacementSubscribeInfo: + description: Present if the NF service consumer subscribes to events related to Network Slice Replacement. + type: object + properties: + snssaiToSubscribe: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + required: + - snssaiToSubscribe + - nfType + - nfId + + NsiUnavailabilitySubscribeInfo: + description: Present if the NF service consumer subscribes to events related to Network Slice Instance Replacement. + type: object + properties: + nsiToSubscribe: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + snssaiToSubscribe: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + NssfEventType: + description: This contains the event for the subscription + anyOf: + - type: string + enum: + - SNSSAI_STATUS_CHANGE_REPORT + - SNSSAI_REPLACEMENT_REPORT + - NSI_UNAVAILABILITY_REPORT + - type: string + PatchDocument: + description: This contains the JSON Patch instructions for updating the Nssai availability data information at the NSSF + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 diff --git a/TS29531_Nnssf_NSSelection.yaml b/TS29531_Nnssf_NSSelection.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9636722bb1c58b48efd15fe2ddcb6a020507e425 --- /dev/null +++ b/TS29531_Nnssf_NSSelection.yaml @@ -0,0 +1,427 @@ +openapi: 3.0.0 + +info: + version: '2.3.0-alpha.2' + title: 'NSSF NS Selection' + description: | + NSSF Network Slice Selection Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +security: + - {} + - oAuth2ClientCredentials: + - nnssf-nsselection +servers: + - url: '{apiRoot}/nnssf-nsselection/v2' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +externalDocs: + description: 3GPP TS 29.531 V18.2.0; 5G System; Network Slice Selection Services; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.531/ +paths: + /network-slice-information: + get: + summary: Retrieve the Network Slice Selection Information + tags: + - Network Slice Information (Document) + operationId: NSSelectionGet + parameters: + - name: nf-type + in: query + description: NF type of the NF service consumer + required: true + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + - name: nf-id + in: query + description: NF Instance ID of the NF service consumer + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: slice-info-request-for-registration + in: query + description: Requested network slice information during Registration procedure + content: + application/json: + schema: + $ref: '#/components/schemas/SliceInfoForRegistration' + - name: slice-info-request-for-pdu-session + in: query + description: Requested network slice information during PDU session establishment procedure + content: + application/json: + schema: + $ref: '#/components/schemas/SliceInfoForPDUSession' + - name: slice-info-request-for-ue-cu + in: query + description: Requested network slice information during UE confuguration update procedure + content: + application/json: + schema: + $ref: '#/components/schemas/SliceInfoForUEConfigurationUpdate' + - name: home-plmn-id + in: query + description: PLMN ID of the HPLMN + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: tai + in: query + description: TAI of the UE + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + - name: supported-features + in: query + description: Features required to be supported by the NFs in the target slice instance + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + responses: + '200': + description: OK (Successful Network Slice Selection) + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizedNetworkSliceInfo' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnssf-nsselection: Access to the Nnssf_NSSelection API + schemas: + AuthorizedNetworkSliceInfo: + description: Contains the authorized network slice information + type: object + properties: + allowedNssaiList: + type: array + items: + $ref: '#/components/schemas/AllowedNssai' + minItems: 1 + configuredNssai: + type: array + items: + $ref: '#/components/schemas/ConfiguredSnssai' + minItems: 1 + targetAmfSet: + type: string + pattern: '^[0-9]{3}-[0-9]{2,3}-[A-Fa-f0-9]{2}-[0-3][A-Fa-f0-9]{2}$' + candidateAmfList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + rejectedNssaiInPlmn: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + rejectedNssaiInTa: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + nsiInformation: + $ref: '#/components/schemas/NsiInformation' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + nrfAmfSet: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nrfAmfSetNfMgtUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nrfAmfSetAccessTokenUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nrfOauth2Required: + type: object + description: > + Map indicating whether the NRF requires Oauth2-based authorization for accessing + its services. The key of the map shall be the name of an NRF service, + e.g. "nnrf-nfm" or "nnrf-disc" + additionalProperties: + type: boolean + minProperties: 1 + targetAmfServiceSet: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + targetNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + nsagInfos: + type: array + items: + $ref: '#/components/schemas/NsagInfo' + minItems: 1 + + SubscribedSnssai: + description: Contains the subscribed S-NSSAI + type: object + required: + - subscribedSnssai + properties: + subscribedSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + defaultIndication: + type: boolean + subscribedNsSrgList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NsSrg' + minItems: 1 + + + AllowedSnssai: + description: > + Contains the authorized S-NSSAI and optional mapped home S-NSSAI and + network slice instance information + type: object + required: + - allowedSnssai + properties: + allowedSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nsiInformationList: + type: array + items: + $ref: '#/components/schemas/NsiInformation' + minItems: 1 + mappedHomeSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + AllowedNssai: + description: > + Contains an array of allowed S-NSSAI that constitute the allowed NSSAI information + for the authorized network slice information + type: object + required: + - allowedSnssaiList + - accessType + properties: + allowedSnssaiList: + type: array + items: + $ref: '#/components/schemas/AllowedSnssai' + minItems: 1 + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + + NsiInformation: + description: > + Contains the API URIs of NRF services to be used to discover NFs/services, + subscribe to NF status changes and/or request access tokens within the selected + Network Slice instance and optional the Identifier of the selected Network Slice instance + type: object + required: + - nrfId + properties: + nrfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nsiId: + $ref: '#/components/schemas/NsiId' + nrfNfMgtUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nrfAccessTokenUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nrfOauth2Required: + type: object + description: > + Map indicating whether the NRF requires Oauth2-based authorization for accessing + its services. The key of the map shall be the name of an NRF service, + e.g. "nnrf-nfm" or "nnrf-disc" + additionalProperties: + type: boolean + minProperties: 1 + + MappingOfSnssai: + description: Contains the mapping of S-NSSAI in the serving network and the value of the home network + type: object + required: + - servingSnssai + - homeSnssai + properties: + servingSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + homeSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + + SliceInfoForRegistration: + description: Contains the slice information requested during a Registration procedure + type: object + properties: + subscribedNssai: + type: array + items: + $ref: '#/components/schemas/SubscribedSnssai' + minItems: 1 + allowedNssaiCurrentAccess: + $ref: '#/components/schemas/AllowedNssai' + allowedNssaiOtherAccess: + $ref: '#/components/schemas/AllowedNssai' + sNssaiForMapping: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + requestedNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + defaultConfiguredSnssaiInd: + type: boolean + default: false + mappingOfNssai: + type: array + items: + $ref: '#/components/schemas/MappingOfSnssai' + minItems: 1 + requestMapping: + type: boolean + ueSupNssrgInd: + type: boolean + suppressNssrgInd: + type: boolean + nsagSupported: + type: boolean + default: false + + SliceInfoForPDUSession: + description: Contains the slice information requested during PDU Session establishment procedure + type: object + required: + - sNssai + - roamingIndication + properties: + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + roamingIndication: + $ref: '#/components/schemas/RoamingIndication' + homeSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + SliceInfoForUEConfigurationUpdate: + description: Contains the slice information requested during UE configuration update procedure + type: object + properties: + subscribedNssai: + type: array + items: + $ref: '#/components/schemas/SubscribedSnssai' + minItems: 1 + allowedNssaiCurrentAccess: + $ref: '#/components/schemas/AllowedNssai' + allowedNssaiOtherAccess: + $ref: '#/components/schemas/AllowedNssai' + defaultConfiguredSnssaiInd: + type: boolean + requestedNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + mappingOfNssai: + type: array + items: + $ref: '#/components/schemas/MappingOfSnssai' + minItems: 1 + ueSupNssrgInd: + type: boolean + suppressNssrgInd: + type: boolean + rejectedNssaiRa: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + nsagSupported: + type: boolean + default: false + + ConfiguredSnssai: + description: Contains the configured S-NSSAI(s) authorized by the NSSF in the serving PLMN and optional mapped home S-NSSAI + type: object + required: + - configuredSnssai + properties: + configuredSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + mappedHomeSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + NsagInfo: + description: Contains the association of NSAGs and S-NSSAI(s) along with the TA(s) within which the association is valid. + type: object + required: + - nsagIds + - snssaiList + properties: + nsagIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NsagId' + minItems: 1 + snssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TaiRange' + minItems: 1 + + RoamingIndication: + description: Contains the indication on roaming + anyOf: + - type: string + enum: + - NON_ROAMING + - LOCAL_BREAKOUT + - HOME_ROUTED_ROAMING + - type: string + NsiId: + description: Contains the Identifier of the selected Network Slice instance + type: string diff --git a/TS29532_Nmbsmf_MBSSession.yaml b/TS29532_Nmbsmf_MBSSession.yaml new file mode 100644 index 0000000000000000000000000000000000000000..304a09ecd9836cf1219b421909ded3d205bc67a2 --- /dev/null +++ b/TS29532_Nmbsmf_MBSSession.yaml @@ -0,0 +1,1175 @@ +openapi: 3.0.0 + +info: + title: 'Nmbsmf-MBSSession' + version: 1.2.0-alpha.2 + description: | + MB-SMF MBSSession Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.532 V18.3.0; 5G System; 5G Multicast-Broadcast Session Management Services; + Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.532/ + +servers: + - url: '{apiRoot}/nmbsmf-mbssession/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nmbsmf-mbssession + +paths: + /mbs-sessions: + post: + summary: Create + tags: + - MBS sessions collection + operationId: Create + security: + - {} + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - nmbsmf-mbssession:mbs-sessions + requestBody: + description: > + Representation of the MBS session to be created in the MB-SMF + Creates an individual MBS session resource in the MB-SMF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateReqData' + responses: + '201': + description: > + Successful creation of an MBS session + content: + application/json: + schema: + $ref: '#/components/schemas/CreateRspData' + headers: + Location: + description: > + 'Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nmbsmf-mbssession//mbs-sessions/{mbsSessionRef}' + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /mbs-sessions/{mbsSessionRef}: + patch: + summary: Updates an individual MBS session resource in the MB-SMF. + tags: + - Individual MBS session + operationId: Update + security: + - {} + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - nmbsmf-mbssession:mbs-sessions + parameters: + - name: mbsSessionRef + in: path + required: true + description: Unique ID of the MBS session to be modified + schema: + type: string + requestBody: + description: Data within the Update Request + required: true + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + responses: + '204': + description: > + Successful modification of the MBS session without content in the response. + '200': + description: > + Successful modification of the MBS session with content in the response + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an individual MBS session resource in the MB-SMF. + tags: + - Individual MBS session + operationId: Release + security: + - {} + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - nmbsmf-mbssession:mbs-sessions + parameters: + - name: mbsSessionRef + in: path + required: true + description: Unique ID of the MBS session to be released + schema: + type: string + responses: + '204': + description: > + Successful release of the MBS session without content in the response. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /mbs-sessions/contexts/update: + post: + summary: ContextUpdate + tags: + - MBS sessions collection + operationId: ContextUpdate + security: + - {} + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - nmbsmf-mbssession:mbs-contexts + requestBody: + description: Data within the ContextUpdate Request + required: true + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/ContextUpdateReqData' + multipart/related: # message with binary body part + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/ContextUpdateReqData' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + responses: + '200': + description: Successful response with content in the response + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/ContextUpdateRspData' + multipart/related: # message with binary body part + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/ContextUpdateRspData' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '204': + description: Successful response without content in the response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /mbs-sessions/subscriptions: + post: + summary: StatusSubscribe creating a subscription + tags: + - Subscriptions collection for MBS sessions + operationId: StatusSubscribe + security: + - {} + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - nmbsmf-mbssession:mbs-sessions + requestBody: + description: Data within the StatusSubscribe Request + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StatusSubscribeReqData' + responses: + '201': + description: Data within a successful StatusSubscribe Response + content: + application/json: + schema: + $ref: '#/components/schemas/StatusSubscribeRspData' + '204': + description: Successful response without content in the response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + callbacks: + statusNotification: + '{$request.body#/notifUri}': + post: + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + requestBody: + description: Notification Content + content: + application/json: + schema: + $ref: '#/components/schemas/StatusNotifyReqData' + responses: + '204': + description: Expected response to a successful callback processing + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /mbs-sessions/subscriptions/{subscriptionId}: + patch: + summary: StatusSubscribe to modify (update or renew) an individual subscription + tags: + - Individual Subscription for an MBS session + operationId: StatusSubscribeMod + security: + - {} + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - nmbsmf-mbssession:mbs-sessions + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the individual subscription to be modified + schema: + type: string + requestBody: + description: Data to be modified in the MBSSessionSubscription + required: true + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + responses: + '200': + description: Successful modification of the individual Status Subscription + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionSubscription' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: StatusUnSubscribe to unsubscribe from the Status Subscription + tags: + - Individual Subscription for an MBS session + operationId: StatusUnSubscribe + security: + - {} + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - nmbsmf-mbssession:mbs-sessions + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the subscription to be deleted + schema: + type: string + responses: + '204': + description: Successful deletion of the subscription + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /mbs-sessions/contexts/subscriptions: + post: + summary: ContextStatusSubscribe creating a subscription + tags: + - Subscriptions collection for MBS contexts + operationId: ContextStatusSubscribe + security: + - {} + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - nmbsmf-mbssession:mbs-contexts + requestBody: + description: Data within the ContextStatusSubscribe Request + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ContextStatusSubscribeReqData' + responses: + '201': + description: successful creation of a Context Status Subscription + content: + application/json: + schema: + $ref: '#/components/schemas/ContextStatusSubscribeRspData' + '204': + description: Successful response without content in the response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + callbacks: + contextStatusNotification: + '{$request.body#/subscription/notifUri}': + post: + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + requestBody: + description: Notification Content + content: + application/json: + schema: + $ref: '#/components/schemas/ContextStatusNotifyReqData' + responses: + '204': + description: Expected response to a successful callback processing + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /mbs-sessions/contexts/subscriptions/{subscriptionId}: + patch: + summary: ContextStatusSubscribe modifying an individual subscription + tags: + - Individual Subscription for an MBS context + operationId: ContextStatusSubscribeMod + security: + - {} + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - nmbsmf-mbssession:mbs-contexts + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the subscription to be modified + schema: + type: string + requestBody: + description: Data to be modified in the ContextStatusSubscription + required: true + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + responses: + '200': + description: Successful modification of a Context Status Subscription + content: + application/json: + schema: + $ref: '#/components/schemas/ContextStatusSubscription' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: ContextStatusUnSubscribe + tags: + - Individual Subscription for an MBS context + operationId: ContextStatusUnSubscribe + security: + - {} + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - oAuth2ClientCredentials: + - nmbsmf-mbssession + - nmbsmf-mbssession:mbs-contexts + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the subscription to be deleted + schema: + type: string + responses: + '204': + description: Successful deletion + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nmbsmf-mbssession: Access to the Nmbsmf-MBSSession API + nmbsmf-mbssession:mbs-sessions: > + Access to service operations applying to MBS session resources, i.e. Create, Update, + Delete, StatusSubscribe, StatusUnsubscribe + nmbsmf-mbssession:mbs-contexts: > + Access to service operations applying to MBS session context resources, i.e. + ContextUpdate, ContextStatusSubscribe and ContextStatusUnsubscribe + + schemas: +# +# STRUCTURED DATA TYPES +# + CreateReqData: + description: Data within Create Request + type: object + properties: + mbsSession: + $ref: '#/components/schemas/ExtMbsSession' + required: + - mbsSession + + CreateRspData: + description: Data within Create Response + type: object + properties: + mbsSession: + $ref: '#/components/schemas/ExtMbsSession' + eventList: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionEventReportList' + required: + - mbsSession + + ExtMbsSession: + description: MbsSession common data type with MB-SMF API specific extensions + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSession' + - $ref: '#/components/schemas/MbsSessionExtension' + + MbsSessionExtension: + description: MB-SMF API specific extensions to the MbsSession common data type + type: object + properties: + mbsSecurityContext: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSecurityContext' + contactPcfInd: + type: boolean + default: false + areaSessionPolicyId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AreaSessionPolicyId' + + ContextUpdateReqData: + description: Data within ContextUpdate Request + type: object + properties: + nfcInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + areaSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AreaSessionId' + requestedAction: + $ref: '#/components/schemas/ContextUpdateAction' + dlTunnelInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + n2MbsSmInfo: + $ref: '#/components/schemas/N2MbsSmInfo' + ranNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + leaveInd: + type: boolean + enum: + - true + required: + - nfcInstanceId + - mbsSessionId + + ContextUpdateRspData: + description: Data within ContextUpdate Response + type: object + properties: + llSsm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ssm' + cTeid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + n2MbsSmInfo: + $ref: '#/components/schemas/N2MbsSmInfo' + + + ContextStatusSubscribeReqData: + description: Data within ContextStatusSubscribe Request + type: object + properties: + subscription: + $ref: '#/components/schemas/ContextStatusSubscription' + required: + - subscription + + ContextStatusSubscription: + description: Context Status Subscription + type: object + properties: + nfcInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + eventList: + type: array + items: + $ref: '#/components/schemas/ContextStatusEvent' + minItems: 1 + notifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifyCorrelationId: + type: string + expiryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - nfcInstanceId + - mbsSessionId + - eventList + - notifyUri + + ContextStatusEvent: + description: Context Status Event + type: object + properties: + eventType: + $ref: '#/components/schemas/ContextStatusEventType' + immediateReportInd: + type: boolean + default: false + reportingMode: + $ref: '#/components/schemas/ReportingMode' + required: + - eventType + + ContextStatusSubscribeRspData: + description: Data within ContextStatusSubscribe Response + type: object + properties: + subscription: + $ref: '#/components/schemas/ContextStatusSubscription' + reportList: + type: array + items: + $ref: '#/components/schemas/ContextStatusEventReport' + minItems: 1 + mbsContextInfo: + $ref: '#/components/schemas/MbsContextInfo' + required: + - subscription + + MbsContextInfo: + description: MBS context information + type: object + properties: + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + anyUeInd: + type: boolean + default: false + llSsm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ssm' + cTeid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + mbsServiceArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceArea' + mbsServiceAreaInfoList: + description: > + A map (list of key-value pairs) where the key identifies an areaSessionId + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceAreaInfo' + minProperties: 1 + + + ContextStatusEventReport: + description: Context Status Event Report + type: object + properties: + eventType: + $ref: '#/components/schemas/ContextStatusEventType' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + qosInfo: + $ref: '#/components/schemas/QosInfo' + statusInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionActivityStatus' + mbsServiceArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceArea' + mbsServiceAreaInfoList: + description: > + A map (list of key-value pairs) where the key identifies an areaSessionId + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceAreaInfo' + minProperties: 1 + multicastTransAddInfo: + $ref: '#/components/schemas/MulticastTransportAddressChangeInfo' + mbsSecurityContext: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSecurityContext' + required: + - eventType + - timeStamp + + ContextStatusNotifyReqData: + description: Context Status Notification + type: object + properties: + reportList: + type: array + items: + $ref: '#/components/schemas/ContextStatusEventReport' + minItems: 1 + notifyCorrelationId: + type: string + required: + - reportList + + StatusSubscribeReqData: + description: Data within the StatusSubscribe Request + type: object + properties: + subscription: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionSubscription' + required: + - subscription + + + StatusSubscribeRspData: + description: Data within StatusSubscribe Response + type: object + properties: + subscription: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionSubscription' + eventList: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionEventReportList' + required: + - subscription + + + StatusNotifyReqData: + description: Status Notification + type: object + properties: + eventList: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionEventReportList' + required: + - eventList + + + N2MbsSmInfo: + description: N2 MBS Session Management information + type: object + properties: + ngapIeType: + $ref: '#/components/schemas/NgapIeType' + ngapData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + required: + - ngapIeType + - ngapData + + MulticastTransportAddressChangeInfo: + description: Multicast Transport Address Change Information + type: object + properties: + llSsm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ssm' + cTeid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + areaSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AreaSessionId' + required: + - llSsm + - cTeid + + QosInfo: + description: QoS Information + type: object + properties: + qosFlowsAddModRequestList: + type: array + items: + $ref: '#/components/schemas/QosFlowAddModifyRequestItem' + minItems: 1 + qosFlowsRelRequestList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + minItems: 1 + + + QosFlowAddModifyRequestItem: + description: Individual MBS QoS flow requested to be created or modified + type: object + properties: + qfi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + qosFlowProfile: + $ref: '#/components/schemas/QosFlowProfile' + required: + - qfi + + QosFlowProfile: + description: MBS QoS flow profile + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + nonDynamic5Qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NonDynamic5Qi' + dynamic5Qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dynamic5Qi' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + gbrQosFlowInfo: + $ref: '#/components/schemas/GbrQosFlowInformation' + required: + - 5qi + + GbrQosFlowInformation: + description: GBR MBS QoS flow information + type: object + properties: + maxFbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + guaFbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxPacketLossRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + required: + - maxFbrDl + - guaFbrDl + ExtProblemDetails: + description: Extended Problem Details data structure + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/ProblemDetailsExtension' + + ProblemDetailsExtension: + description: Extensions to ProblemDetails + type: object + properties: + accMbsServiceInfo: + $ref: 'TS29537_Npcf_MBSPolicyAuthorization.yaml#/components/schemas/AcceptableMbsServInfo' + + UpdateRspData: + description: Data within Update Response + type: object + properties: + mbsSession: + $ref: '#/components/schemas/ExtMbsSession' + required: + - mbsSession + + +# +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + + ContextUpdateAction: + description: Start or Terminate MBS data reception + anyOf: + - type: string + enum: + - START + - TERMINATE + - type: string + + ContextStatusEventType: + description: Context Status Event Type + anyOf: + - type: string + enum: + - QOS_INFO + - STATUS_INFO + - SERVICE_AREA_INFO + - SESSION_RELEASE + - MULT_TRANS_ADD_CHANGE + - SECURITY_INFO + - type: string + + ReportingMode: + description: Reporting Mode + anyOf: + - type: string + enum: + - CONTINUOUS + - ONE_TIME + - type: string + + + NgapIeType: + description: NGAP Information Element Type + anyOf: + - type: string + enum: + - MBS_DIS_SETUP_REQ + - MBS_DIS_SETUP_RSP + - MBS_DIS_SETUP_FAIL + - MBS_DIS_REL_REQ + - type: string \ No newline at end of file diff --git a/TS29532_Nmbsmf_TMGI.yaml b/TS29532_Nmbsmf_TMGI.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21a8ade3d5246754a0a5f9e3a61cd22deaa4f3c3 --- /dev/null +++ b/TS29532_Nmbsmf_TMGI.yaml @@ -0,0 +1,175 @@ +openapi: 3.0.0 + +info: + title: 'Nmbsmf_TMGI' + version: 1.0.1 + description: | + MB-SMF TMGI Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.532 V17.3.0; 5G System; 5G Multicast-Broadcast Session Management Services; + Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.532/ + +servers: + - url: '{apiRoot}/nmbsmf-tmgi/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nmbsmf-tmgi + +paths: + /tmgi: + post: + summary: Allocate TMGIs + tags: + - TMGI collection + operationId: AllocateTmgi + requestBody: + description: representation of the TMGIs to be created in the MB-SMF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TmgiAllocate' + responses: + '200': + description: successful allocation of TMGIs + content: + application/json: + schema: + $ref: '#/components/schemas/TmgiAllocated' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deallocate one or more TMGIs + operationId: TMGIDeallocate + tags: + - TMGI collection + parameters: + - name: tmgi-list + in: query + description: One of more TMGIs to be deallocated + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tmgi' + minItems: 1 + responses: + '204': + description: successful deallocation of TMGIs + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nmbsmf-tmgi: Access to the nmbsmf-tmgi API + + schemas: + # API specific definitions +# +# STRUCTURED DATA TYPES +# + TmgiAllocate: + description: Data within TMGI Allocate Request + type: object + properties: + tmgiNumber: + description: The number of requested TMGIs + type: integer + minimum: 1 + maximum: 255 + tmgiList: + description: The list of TMGIs to be refreshed + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tmgi' + minItems: 1 + + TmgiAllocated: + description: Data within TMGI Allocate Response + type: object + properties: + tmgiList: + description: One or more TMGI values + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tmgi' + minItems: 1 + expirationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + nid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Nid' + required: + - tmgiList + - expirationTime + +# +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# diff --git a/TS29534_Npcf_AMPolicyAuthorization.yaml b/TS29534_Npcf_AMPolicyAuthorization.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a74ba05d6dfa82bf84d4234d0ccdedba1ff4f437 --- /dev/null +++ b/TS29534_Npcf_AMPolicyAuthorization.yaml @@ -0,0 +1,767 @@ +openapi: 3.0.0 +# +info: + title: Npcf_AMPolicyAuthorization Service API + version: 1.1.0-alpha.2 + description: | + PCF Access and Mobility Policy Authorization Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.534 V18.1.0; + 5G System; Access and Mobility Policy Authorization Service; Stage 3. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.534/' +# +servers: + - url: '{apiRoot}/npcf-am-policyauthorization/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +# +security: + - {} + - oAuth2ClientCredentials: + - npcf-am-policyauthorization +# +paths: + /app-am-contexts: + post: + summary: Creates a new Individual Application AM Context resource + operationId: PostAppAmContexts + tags: + - Application AM contexts (Collection) + requestBody: + description: Contains the information for the creation the resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AppAmContextData' + responses: + '201': + description: Successful creation of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/AppAmContextRespData' + headers: + Location: + description: > + Contains the URI of the created individual application AM context resource, + according to the structure + {apiRoot}/npcf-am-policyauthorization//app-am-contexts/{appAmContextId} + or the URI of the created AM Policy events subscription subresource, + according to the structure + {apiRoot}/npcf-am-policyauthorization//app-am-contexts/{appAmContextId}/events-subscription} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + terminationRequest: + '{$request.body#/termNotifUri}': + post: + requestBody: + description: Request of the termination of the Individual Application AM Context. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AmTerminationInfo' + responses: + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + amEventNotification: + '{$request.body#/evSubsc/eventNotifUri}': + post: + requestBody: + description: Notification of an event occurrence in the PCF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AmEventsNotification' + responses: + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# + /app-am-contexts/{appAmContextId}: + get: + summary: "Reads an existing Individual Application AM Context" + operationId: GetAppAmContext + tags: + - Individual Application AM Context (Document) + parameters: + - name: appAmContextId + description: String identifying the resource. + in: path + required: true + schema: + type: string + responses: + '200': + description: A representation of the resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AppAmContextData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# + patch: + summary: "Modifies an existing Individual Application AM Context" + operationId: ModAppAmContext + tags: + - Individual Application AM Context (Document) + parameters: + - name: appAmContextId + description: String identifying the resource. + in: path + required: true + schema: + type: string + requestBody: + description: Modification of the resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AppAmContextUpdateData' + responses: + '200': + description: > + Successful modification of the resource and a representation of that resource is + returned. If a subscribed event is matched, the event notification is also included + in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/AppAmContextRespData' + '204': + description: The successful modification. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + amEventNotification: + '{$request.body#/evSubsc/eventNotifUri}': + post: + requestBody: + description: Notification of an event occurrence in the PCF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AmEventsNotification' + responses: + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# + delete: + summary: Deletes an existing Individual Application AM Context + operationId: DeleteAppAmContext + tags: + - Individual Application AM Context (Document) + parameters: + - name: appAmContextId + description: String identifying the Individual Application AM Context resource. + in: path + required: true + schema: + type: string + responses: + '204': + description: The deletion is confirmed without returning additional data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# + /app-am-contexts/{appAmContextId}/events-subscription: + put: + summary: creates or modifies an AM Policy Events Subscription subresource. + operationId: updateAmEventsSubsc + tags: + - AM Policy Events Subscription (Document) + parameters: + - name: appAmContextId + description: String identifying the AM Policy Events Subscription subresource. + in: path + required: true + schema: + type: string + requestBody: + description: Creation or modification of an AM Policy Events Subscription subresource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AmEventsSubscData' + responses: + '201': + description: > + The creation of the AM Policy Events Subscription subresource is confirmed and its + representation is returned. If an AM Event is matched, the response also includes the + notification. + content: + application/json: + schema: + $ref: '#/components/schemas/AmEventsSubscRespData' + headers: + Location: + description: > + Contains the URI of the created AM Policy Events Subscription subresource, + according to the structure + {apiRoot}/npcf-am-policyauthorization//app-am-contexts/{appAmContextId}/events-subscription} + required: true + schema: + type: string + '200': + description: > + The modification of the AM Policy Events Subscription subresource is confirmed and + its representation is returned. If an AM Event is matched, the response also includes + the notification. + content: + application/json: + schema: + $ref: '#/components/schemas/AmEventsSubscRespData' + '204': + description: > + The modification of the AM Policy Events Subscription subresource is confirmed + without returning additional data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + amEventNotification: + '{$request.body#/evSubsc/eventNotifUri}': + post: + requestBody: + description: > + Contains the information for the notification of an event occurrence in the PCF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AmEventsNotification' + responses: + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: deletes the AM Policy Events Subscription subresource + operationId: DeleteAmEventsSubsc + tags: + - AM Policy Events Subscription (Document) + parameters: + - name: appAmContextId + description: String identifying the Individual Application AM Context resource. + in: path + required: true + schema: + type: string + responses: + '204': + description: > + The deletion of the of the AM Policy Events Subscription subresource + is confirmed without returning additional data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# +# +components: +# + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npcf-am-policyauthorization: Access to the Npcf_AMPolicyAuthorization API +# + schemas: +# + AppAmContextData: + description: Represents an Individual Application AM Context resource. + type: object + required: + - supi + - termNotifUri + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + termNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + evSubsc: + $ref: '#/components/schemas/AmEventsSubscData' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + highThruInd: + type: boolean + description: Indicates whether high throughput is desired for the indicated UE traffic. + covReq: + type: array + description: > + Identifies a list of Tracking Areas per serving network where service is allowed. + items: + $ref: '#/components/schemas/ServiceAreaCoverageInfo' + minItems: 1 + asTimeDisParam: + $ref: 'TS29507_Npcf_AMPolicyControl.yaml#/components/schemas/AsTimeDistributionParam' + anyOf: + - anyOf: + - required: [highThruInd] + - required: [covReq] + - required: [asTimeDisParam] + - required: [evSubsc] +# +# + AppAmContextUpdateData: + description: Describes the modifications to an Individual Application AM resource. + type: object + properties: + termNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + evSubsc: + $ref: '#/components/schemas/AmEventsSubscDataRm' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + highThruInd: + description: Indicates whether high throughput is desired for the indicated UE traffic. + type: boolean + nullable: true + covReq: + type: array + description: > + Identifies a list of Tracking Areas per serving network where service is allowed. + items: + $ref: '#/components/schemas/ServiceAreaCoverageInfo' + minItems: 1 + nullable: true + asTimeDisParam: + $ref: 'TS29507_Npcf_AMPolicyControl.yaml#/components/schemas/AsTimeDistributionParam' +# + AmEventsSubscData: + description: > + It represents the AM Policy Events Subscription subresource and identifies the events + the application subscribes to. + type: object + required: + - eventNotifUri + properties: + eventNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + events: + type: array + items: + $ref: '#/components/schemas/AmEventData' + minItems: 1 +# + AmEventsNotification: + description: > + Describes the notification about the events occurred within an Individual Application + AM Context resource. + type: object + required: + - repEvents + properties: + appAmContextId: + type: string + description: > + Contains the AM Policy Events Subscription resource identifier related to the event + notification. + repEvents: + type: array + items: + $ref: '#/components/schemas/AmEventNotification' + minItems: 1 +# + AmTerminationInfo: + description: > + Includes information related to the termination of the Individual Application AM + Context resource. + type: object + required: + - appAmContextId + - termCause + properties: + appAmContextId: + type: string + description: > + Contains the Individual application AM context resource identifier related to + the termination notification. + termCause: + $ref: '#/components/schemas/AmTerminationCause' +# + AmEventsSubscDataRm: + description: > + This data type is defined in the same way as the AmEventsSubscData but with the OpenAPI + nullable property set to true. + type: object + properties: + eventNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + events: + type: array + items: + $ref: '#/components/schemas/AmEventData' + minItems: 1 + nullable: true +# + AmEventData: + description: > + This data type contains the event identifier and the related event reporting information. + type: object + required: + - event + properties: + event: + $ref: '#/components/schemas/AmEvent' + immRep: + type: boolean + notifMethod: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/NotificationMethod' + maxReportNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + monDur: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' +# + AmEventNotification: + description: Describes the notification of a subscription. + type: object + required: + - event + properties: + event: + $ref: '#/components/schemas/AmEvent' + appliedCov: + $ref: '#/components/schemas/ServiceAreaCoverageInfo' + pduidInfo: + $ref: '#/components/schemas/PduidInformation' +# + PduidInformation: + description: Contains the ProSe Discovery UE ID and its validity timer. + type: object + required: + - expiry + - pduid + properties: + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + pduid: + $ref: 'TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Pduid' +# + ServiceAreaCoverageInfo: + description: It represents a list of Tracking Areas within a serving network. + type: object + required: + - tacList + properties: + tacList: + type: array + description: Indicates a list of Tracking Areas where the service is allowed. + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tac' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' +# +# ENUMERATIONS DATA TYPES +# + AmTerminationCause: + description: > + It represents the cause values that the PCF should report when requesting from an NF + service consumer the deletion of an "AF application AM context" resource. + anyOf: + - type: string + enum: + - UE_DEREGISTERED + - UNSPECIFIED + - INSUFFICIENT_RESOURCES + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. +# + AmEvent: + anyOf: + - type: string + enum: + - SAC_CH + - PDUID_CH + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the PCF notification event to the NF service consumer. + Possible values are: + - SAC_CH: Service Area Coverage Change. + - PDUID_CH: The PDUID assigned to a UE for the UE ProSe Policies changed. +# +# + AppAmContextRespData: + description: It represents a response to a modification or creation request of an Individual Application AM resource. It may contain the notification of the already met events. + anyOf: + - $ref: '#/components/schemas/AppAmContextData' + - $ref: '#/components/schemas/AmEventsNotification' +# + AmEventsSubscRespData: + description: Identifies the events the application subscribes to within an AM Policy Events Subscription subresource data. It may contain the notification of the already met events. + anyOf: + - $ref: '#/components/schemas/AmEventsSubscData' + - $ref: '#/components/schemas/AmEventsNotification' +# diff --git a/TS29535_Naanf_AKMA.yaml b/TS29535_Naanf_AKMA.yaml new file mode 100644 index 0000000000000000000000000000000000000000..191e5aa480cb55442dd6851fae46bfc94edcde0d --- /dev/null +++ b/TS29535_Naanf_AKMA.yaml @@ -0,0 +1,238 @@ +openapi: 3.0.0 +info: + title: 3gpp-akma + version: 1.1.0-alpha.4 + description: | + API for Naanf_AKMA. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.535 V18.3.0; 5G System; AKMA Anchor Services. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.535/' + +security: + - {} + - oAuth2ClientCredentials: + - naanf-akma +servers: + - url: '{apiRoot}/naanf-akma/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + + +paths: + /register-anchorkey: + post: + summary: Store AKMA related key material. + operationId: RegisterAKMAKey + tags: + - Register the AKMA related key material + security: + - {} + - oAuth2ClientCredentials: + - naanf-akma + - oAuth2ClientCredentials: + - naanf-akma + - naanf-akma:anchorkey + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AkmaKeyInfo' + responses: + '200': + description: The requested information was returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/AkmaKeyInfo' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /retrieve-applicationkey: + post: + summary: Request to retrieve AKMA Application Key information. + operationId: GetAKMAAPPKeyMaterial + tags: + - Retrieve the AKMA Application key material (Collection) + security: + - {} + - oAuth2ClientCredentials: + - naanf-akma + - oAuth2ClientCredentials: + - naanf-akma + - naanf-akma:applicationkeyget + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29522_AKMA.yaml#/components/schemas/AkmaAfKeyRequest' + responses: + '200': + description: The requested information was returned successfully. + content: + application/json: + schema: + $ref: 'TS29522_AKMA.yaml#/components/schemas/AkmaAfKeyData' + '204': + description: No Content (The requested AKMA Application material does not exist.) + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /remove-context: + post: + summary: Request to remove the AKMA related key material. + operationId: RemoveContext + tags: + - Remove the AKMA Application key material (deletion) + security: + - {} + - oAuth2ClientCredentials: + - naanf-akma + - oAuth2ClientCredentials: + - naanf-akma + - naanf-akma:anchorkey + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CtxRemove' + responses: + '204': + description: No Content (The AKMA context for the UE has been removed successfully.) + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + naanf_akma: Access to the Naanf_AKMA API + naanf_akma:anchorkey: > + Access to service operations applying to store or remove the AKMA related key + material. + naanf_akma:applicationkeyget: > + Access to service operations applying to request the AKMA Application Key information + for the UE. + naanf-akma:applicationkeyget:supi-access: > + Return SUPI in the AKMA Application Key information for the UE. + + schemas: + AkmaKeyInfo: + description: Represents AKMA related key material. + type: object + properties: + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + aKId: + $ref: 'TS29522_AKMA.yaml#/components/schemas/AKId' + kAkma: + type: string + required: + - aKId + - kAkma + oneOf: + - required: [supi] + - required: [gpsi] + + CtxRemove: + description: > + Parameters to request to delete the AKMA context for the UE, the "supi" attribute shall be + included. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' diff --git a/TS29536_Nnsacf_NSAC.yaml b/TS29536_Nnsacf_NSAC.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b4d626a97c2fe46acd8024e25691ae3e838c8807 --- /dev/null +++ b/TS29536_Nnsacf_NSAC.yaml @@ -0,0 +1,631 @@ +openapi: 3.0.0 + +info: + title: Nnsacf_NSAC + version: 1.1.0-alpha.4 + description: | + Nnsacf_NSAC Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.536 V18.4.0; 5G System; Network Slice Admission Control Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.536/ + +servers: + - url: '{apiRoot}/nnsacf-nsac/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnsacf-nsac + +paths: + /slices/ues: + post: + summary: Network Slice Admission Control on the Number of UEs + operationId: NumOfUEsUpdate + tags: + - slice collection + security: + - {} + - oAuth2ClientCredentials: + - nnsacf-nsac + - oAuth2ClientCredentials: + - nnsacf-nsac + - nnsacf-nsac:slice-ues + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UeACRequestData' + required: true + responses: + '200': + description: Partial successful ACU operation + content: + application/json: + schema: + $ref: '#/components/schemas/UeACResponseData' + '204': + description: Successful ACU operation + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Unsucessful ACU operation - Bad Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Unsuccessful ACU operation – Slice Not Subject to NSAC + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Unsuccessful ACU operation – Slice Not Found + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + callbacks: + eacNotification: + '{request.body#/eacNotificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EacNotification' + responses: + '204': + description: slice re-authentication notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /slices/pdus: + post: + summary: Network Slice Admission Control on the number of PDU Sessions + operationId: NumOfPDUsUpdate + tags: + - slice collection + security: + - {} + - oAuth2ClientCredentials: + - nnsacf-nsac + - oAuth2ClientCredentials: + - nnsacf-nsac + - nnsacf-nsac:slice-pdus + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PduACRequestData' + required: true + responses: + '200': + description: Partial successful ACU operation + content: + application/json: + schema: + $ref: '#/components/schemas/PduACResponseData' + '204': + description: Successful ACU operation + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Unsucessful ACU operation - Bad Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Unsuccessful ACU operation – Slice Not Subject to NSAC + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Unsuccessful ACU operation – Slice Not Found + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + + /slices/local-configs/update: + post: + summary: > + Network Slice Admission Control update of the local maximum number of registered UEs and/or + PDU sessions of the network slice at NSACF. + operationId: LocalNumberUpdate + tags: + - slice collection + security: + - {} + - oAuth2ClientCredentials: + - nnsacf-nsac + - oAuth2ClientCredentials: + - nnsacf-nsac + - nnsacf-nsac:local-configs-update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ACUpdateData' + required: true + responses: + '204': + description: Successful ACU operation + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + + /slices/roaming-quotas/query: + post: + summary: > + Network Slice Admission Control fetching of the maximum number of registered UEs and/or + number of PDU sessions of the network slice at NSACF. + operationId: QuotaUpdate + tags: + - slice collection + security: + - {} + - oAuth2ClientCredentials: + - nnsacf-nsac + - oAuth2ClientCredentials: + - nnsacf-nsac + - nnsacf-nsac:roaming-quotas-query + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/QuotaUpdateRequestData' + required: true + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/QuotaUpdateResponseData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnsacf-nsac: Access to the Nnsacf_NSAC API + nnsacf-nsac:slice-ues: > + Access to service operations applying to the collection of slice subject to NSAC for + UEs + nnsacf-nsac:slice-pdus: > + Access to service operations applying to the collection of slice subject to NSAC for + PDU sessions + nnsacf-nsac:local-configs-update: > + Access to the NSAC update of the local maximum number of registered UEs and/or + PDU sessions of the network slice at NSACF + + schemas: + + # + # STRUCTURED DATA TYPES: + # + + UeACRequestData: + type: object + properties: + ueACRequestInfo: + type: array + items: + $ref: '#/components/schemas/UeACRequestInfo' + minItems: 1 + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + eacNotificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nsacServiceArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NsacSai' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ueACRequestInfo + - nfId + + UeACRequestInfo: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + acuOperationList: + type: array + items: + $ref: '#/components/schemas/AcuOperationItem' + minItems: 1 + additionalAnType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - supi + - anType + - acuOperationList + + UeACResponseData: + type: object + properties: + acuFailureList: + description: A map (list of key-value pairs) where the key of the map shall be UE's supi + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/AcuFailureItem' + minItems: 1 + minProperties: 1 + ueAdmissionList: + type: array + items: + $ref: '#/components/schemas/UeAdmissionValue' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + AcuOperationItem: + type: object + properties: + updateFlag: + $ref: '#/components/schemas/AcuFlag' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + ueRegInd: + type: boolean + enum: + - true + servingPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + nsacMode: + $ref: '#/components/schemas/NsacAdmissionMode' + required: + - updateFlag + - snssai + + AcuFailureItem: + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + reason: + $ref: '#/components/schemas/AcuFailureReason' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + required: + - snssai + + EacNotification: + description: A map (list of key-value pairs) where Snssai converted to a string serves as key + type: object + additionalProperties: + $ref: '#/components/schemas/EACMode' + minProperties: 1 + + PduACRequestData: + type: object + properties: + pduACRequestInfo: + type: array + items: + $ref: '#/components/schemas/PduACRequestInfo' + minItems: 1 + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pgwFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + nsacServiceArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NsacSai' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - pduACRequestInfo + + PduACRequestInfo: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + acuOperationList: + type: array + items: + $ref: '#/components/schemas/AcuOperationItem' + minItems: 1 + maxItems: 2 + additionalAnType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - supi + - anType + - pduSessionId + - acuOperationList + + PduACResponseData: + type: object + properties: + acuFailureList: + description: A map (list of key-value pairs) where the key of the map shall be UE's supi + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/AcuFailureItem' + minItems: 1 + maxItems: 2 + minProperties: 1 + pduAdmissionList: + type: array + items: + $ref: '#/components/schemas/PduAdmissionValue' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + UeAdmissionValue: + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + maxNumUes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + ueAdmissionThreshold: + type: integer + minimum: 0 + maximum: 100 + required: + - snssai + + PduAdmissionValue: + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + maxNumPdus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - snssai + - maxNumPdus + + ACUpdateData: + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + maxUesNumber: + type: integer + maxPdusNumber: + type: integer + required: + - snssai + + QuotaUpdateRequestData: + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + quotaType: + items: + $ref: '#/components/schemas/SliceQuotaType' + required: + - snssai + - plmnId + - quotaType + + QuotaUpdateResponseData: + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + maxUesNumber: + type: integer + maxPdusNumber: + type: integer + required: + - snssai + + + # + # SIMPLE DATA TYPES + # + + + # + # ENUMERATIONS + # + + EACMode: + anyOf: + - type: string + enum: + - ACTIVE + - DEACTIVE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + EAC mode. Possible values are + - ACTIVE + - DEACTIVE + + AcuFlag: + anyOf: + - type: string + enum: + - INCREASE + - DECREASE + - UPDATE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Update Flag of ACU operation. Possible values are + - INCREASE + - DECREASE + - UPDATE + + AcuFailureReason: + anyOf: + - type: string + enum: + - SLICE_NOT_FOUND + - EXCEED_MAX_UE_NUM + - EXCEED_MAX_UE_NUM_3GPP + - EXCEED_MAX_UE_NUM_N3GPP + - EXCEED_MAX_PDU_NUM + - EXCEED_MAX_PDU_NUM_3GPP + - EXCEED_MAX_PDU_NUM_N3GPP + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Failure Reason of ACU operation to an S-NSSAI. Possible values are + - SLICE_NOT_FOUND + - EXCEED_MAX_UE_NUM + - EXCEED_MAX_UE_NUM_3GPP + - EXCEED_MAX_UE_NUM_N3GPP + - EXCEED_MAX_PDU_NUM + - EXCEED_MAX_PDU_NUM_3GPP + - EXCEED_MAX_PDU_NUM_N3GPP + + SliceQuotaType: + anyOf: + - type: string + enum: + - MAX_UE_NUM + - MAX_PDU_NUM + - BOTH + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Slice quota type. Possible values are + - MAX_UE_NUM + - MAX_PDU_NUM + - BOTH + + NsacAdmissionMode: + description: > + Indicates the NSAC admission mode applied in roaming case. + anyOf: + - type: string + enum: + - VPLMN_ADMISSION + - VPLMN_WITH_HPLMN_ASSISTANCE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + - VPLMN_ADMISSION + - VPLMN_WITH_HPLMN_ASSISTANCE + diff --git a/TS29536_Nnsacf_SliceEventExposure.yaml b/TS29536_Nnsacf_SliceEventExposure.yaml new file mode 100644 index 0000000000000000000000000000000000000000..032e53b80c7151b8e709ad937383c9aaa3455fac --- /dev/null +++ b/TS29536_Nnsacf_SliceEventExposure.yaml @@ -0,0 +1,445 @@ +openapi: 3.0.0 + +info: + title: Nnsacf_SliceEventExposure + version: 1.1.0-alpha.4 + description: | + Nnsacf_SliceEventExposure Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.536 V18.4.0; 5G System; Network Slice Admission Control Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.536/ + +servers: + - url: '{apiRoot}/nnsacf-slice-ee/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnsacf-slice-ee + +paths: + /subscriptions: + post: + summary: Nnsacf_SliceEventExposure Subscribe service Operation + tags: + - Subscriptions collection (Collection) + operationId: CreateSubscription + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SACEventSubscription' + required: true + responses: + '201': + description: Subsription Created + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nnsacf-slice-ee//subscriptions/{subscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedSACEventSubscription' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + eventReport: + '{$request.body#/subscription/eventNotifyUri}': + post: + summary: Event Notificaiton Delivery + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SACEventReport' + required: true + responses: + '204': + description: Successful acknowledgement + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /subscriptions/{subscriptionId}: + patch: + summary: Nnsacf_SliceEventExposure Subscribe partial modify service Operation + tags: + - Individual subscription (Document) + operationId: PartialModifySubscription + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the subscription to be modified + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Subsription modified successfully + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedSACEventSubscription' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + put: + summary: Nnsacf_SliceEventExposure Subscribe complete modify service Operation + tags: + - Individual subscription (Document) + operationId: CompleteModifySubscription + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the subscription to be modified + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SACEventSubscription' + required: true + responses: + '200': + description: Subsription modified successfully + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedSACEventSubscription' + '204': + description: Events subscription modification is accepted entirely + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: Nnsacf_SliceEventExposure Unsubscribe service Operation + tags: + - Individual subscription (Document) + operationId: DeleteSubscription + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the subscription to be deleted + schema: + type: string + responses: + '204': + description: Subsription deleted successfully + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnsacf-slice-ee: Access to the Nnsacf_SliceEventExposure API + + schemas: + + # + # STRUCTURED DATA TYPES + # + + SACEventSubscription: + description: Request data to create the event subscription + type: object + required: + - event + - eventNotifyUri + - nfId + properties: + event: + $ref: '#/components/schemas/SACEvent' + eventNotifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + notifyCorrelationId: + type: string + maxReports: + type: integer + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + notifFlag: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NotificationFlag' + mutingExcInstructions: + writeOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/MutingExceptionInstructions' + mutingNotSettings: + readOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/MutingNotificationsSettings' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + CreatedSACEventSubscription: + description: Response data on created event subscription + type: object + required: + - subscription + - subscriptionId + properties: + subscription: + $ref: '#/components/schemas/SACEventSubscription' + subscriptionId: + type: string + report: + $ref: '#/components/schemas/SACEventReportItem' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + SACEventReport: + description: Event notification + type: object + required: + - report + properties: + report: + $ref: '#/components/schemas/SACEventReportItem' + notifyCorrelationId: + type: string + + SACEvent: + description: Describes an event to be subscribed + type: object + required: + - eventType + - eventFilter + properties: + eventType: + $ref: '#/components/schemas/SACEventType' + eventTrigger: + $ref: '#/components/schemas/SACEventTrigger' + eventFilter: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + notificationPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + notifThreshold: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SACInfo' + immediateFlag: + type: boolean + default: false + varRepPeriodInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarRepPeriod' + minItems: 1 + + SACEventReportItem: + description: Represents a report triggered by a subscribed event type + type: object + required: + - eventType + - eventState + - timeStamp + - eventFilter + properties: + eventType: + $ref: '#/components/schemas/SACEventType' + eventState: + $ref: '#/components/schemas/SACEventState' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + eventFilter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + sliceStautsInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SACEventStatus' + + SACEventState: + description: Represents the state of a subscribed event + type: object + required: + - active + properties: + active: + type: boolean + remainReports: + type: integer + remainDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + # + # SIMPLE DATA TYPES + # + + + # + # ENUMERATIONS + # + + SACEventType: + description: Describes the supported event types + anyOf: + - type: string + enum: + - NUM_OF_REGD_UES + - NUM_OF_ESTD_PDU_SESSIONS + - type: string + + SACEventTrigger: + description: Describes how NSACF should generate the report for the event + anyOf: + - type: string + enum: + - THRESHOLD + - PERIODIC + - type: string + diff --git a/TS29537_Npcf_MBSPolicyAuthorization.yaml b/TS29537_Npcf_MBSPolicyAuthorization.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bf1a06d1bff6fb13d48b4dadd4d4e9ab7e56550f --- /dev/null +++ b/TS29537_Npcf_MBSPolicyAuthorization.yaml @@ -0,0 +1,290 @@ +openapi: 3.0.0 +info: + title: Npcf_MBSPolicyAuthorization API + version: 1.1.0-alpha.2 + description: | + MBS Policy Authorization Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.537 V18.3.0; 5G System; Multicast/Broadcast Policy Control Services. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.537/' + +security: + - {} + - oAuth2ClientCredentials: + - npcf-mbspolicyauth + +servers: + - url: '{apiRoot}/npcf-mbspolicyauth/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501. + +paths: + /contexts: + post: + summary: Request the creation of a new Individual MBS Application Session Context resource. + operationId: CreateMBSAppSessionCtxt + tags: + - MBS Application Session Contexts (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MbsAppSessionCtxt' + responses: + '201': + description: > + Created. An Individual MBS Application Session Context resource is successfully created + and a representation of the created resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsAppSessionCtxt' + headers: + Location: + description: > + Contains the URI of the newly created Individual MBS Application Session Context + resource. + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/MbsExtProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /contexts/{contextId}: + parameters: + - name: contextId + in: path + description: > + Contains the identifier of the Individual MBS Application Session Context resource. + required: true + schema: + type: string + + get: + summary: Read an existing Individual MBS Application Session Context resource. + operationId: GetMBSAppSessionCtxt + tags: + - Individual MBS Application Session Context (Document) + responses: + '200': + description: > + OK. The requested Individual MBS Application Session Context resource is successfully + returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsAppSessionCtxt' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Request the modification of an existing Individual MBS Application Session Context resource. + operationId: ModifyMBSAppSessionCtxt + tags: + - Individual MBS Application Session Context (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/MbsAppSessionCtxtPatch' + responses: + '200': + description: > + OK. The requested Individual MBS Application Session Context resource is successfully + modified and a representation of the updated resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsAppSessionCtxt' + '204': + description: > + No Content. The corresponding Individual MBS Application Session Context resource is + successfully modified and no content is returned in the response body. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/MbsExtProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Request the deletion of an existing Individual MBS Application Session Context resource. + operationId: DeleteMBSAppSessionCtxt + tags: + - Individual MBS Application Session Context (Document) + responses: + '204': + description: > + No Content. The corresponding Individual MBS Application Session Context resource is + successfully deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npcf-mbspolicyauth: Access to the Npcf_MBSPolicyAuthorization API + + schemas: + MbsAppSessionCtxt: + description: > + Represents the parameter of an MBS Application Session Context. + type: object + properties: + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + mbsServInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceInfo' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + areaSessPolId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AreaSessionPolicyId' + reqForLocDepMbs: + type: boolean + default: false + contactPcfInd: + type: boolean + default: false + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - mbsSessionId + + MbsAppSessionCtxtPatch: + description: > + Represents the modifications to an existing MBS Application Session Context resource. + type: object + properties: + mbsServInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceInfo' + + AcceptableMbsServInfo: + description: > + Contains the MBS Service Information that can be accepted by the PCF. + type: object + properties: + accMbsServInfo: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsMediaComp' + minProperties: 1 + accMaxMbsBw: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + oneOf: + - required: [accMbsServInfo] + - required: [accMaxMbsBw] + +# Data types describing alternative data types or combinations of data types: + + MbsExtProblemDetails: + description: Identifies the MBS related extensions to the ProblemDetails data structure. + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/AcceptableMbsServInfo' diff --git a/TS29537_Npcf_MBSPolicyControl.yaml b/TS29537_Npcf_MBSPolicyControl.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ddcc3097295d800ec2742b543534c358e40aedd2 --- /dev/null +++ b/TS29537_Npcf_MBSPolicyControl.yaml @@ -0,0 +1,512 @@ +openapi: 3.0.0 + +info: + title: Npcf_MBSPolicyControl API + version: 1.1.0-alpha.3 + description: | + MBS Policy Control Service + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.537 V18.3.0; 5G System; Multicast/Broadcast Policy Control Services. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.537/' + +security: + - {} + - oAuth2ClientCredentials: + - npcf-mbspolicycontrol + +servers: + - url: '{apiRoot}/npcf-mbspolicycontrol/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +paths: + /mbs-policies: + post: + summary: Request the creation of a new MBS Policy Association. + operationId: CreateMBSPolicy + tags: + - MBS Policies (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MbsPolicyCtxtData' + responses: + '201': + description: > + Created. An Individual MBS Policy resource is successfully created. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsPolicyData' + headers: + Location: + description: > + Contains the URI of the newly created Individual MBS Policy resource. + required: true + schema: + type: string + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden. + content: + application/problem+json: + schema: + $ref: 'TS29537_Npcf_MBSPolicyAuthorization.yaml#/components/schemas/MbsExtProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /mbs-policies/{mbsPolicyId}: + parameters: + - name: mbsPolicyId + in: path + description: > + Contains the identifier of the concerned Individual MBS Policy resource. + required: true + schema: + type: string + + get: + summary: Read an Individual MBS Policy resource. + operationId: GetIndMBSPolicy + tags: + - Individual MBS Policy (Document) + responses: + '200': + description: > + OK. The requested Individual MBS Policy resource is successfully returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsPolicyData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an existing Individual MBS Policy resource. + operationId: DeleteIndMBSPolicy + tags: + - Individual MBS Policy (Document) + parameters: + - name: mbsPolicyId + in: path + description: > + Contains the identifier of the concerned Individual MBS Policy resource. + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The concerned Individual MBS Policy resource is successfully deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /mbs-policies/{mbsPolicyId}/update: + post: + summary: Request the update of an existing MBS Policy Association. + operationId: UpdateIndMBSPolicy + tags: + - Individual MBS Policy (Document) + parameters: + - name: mbsPolicyId + in: path + description: > + Contains the identifier of the concerned Individual MBS Policy resource. + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MbsPolicyCtxtDataUpdate' + responses: + '200': + description: > + OK. The targeted Individual MBS Policy resource is successfully updated. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsPolicyData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden. + content: + application/problem+json: + schema: + $ref: 'TS29537_Npcf_MBSPolicyAuthorization.yaml#/components/schemas/MbsExtProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npcf-mbspolicycontrol: Access to the Npcf_MBSPolicyControl API + + schemas: + MbsPolicyCtxtData: + description: > + Contains the parameters used to request the creation of an MBS Policy + Association. + type: object + properties: + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + areaSessPolId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AreaSessionPolicyId' + mbsServInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceInfo' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - mbsSessionId + + MbsPolicyDecision: + description: > + Represents the parameters constituting an MBS Policy Decision. + type: object + properties: + mbsPccRules: + type: object + additionalProperties: + $ref: '#/components/schemas/MbsPccRule' + minProperties: 1 + description: > + A map of MBS PCC rule(s) with each map entry containing the MbsPccRule data structure. + The key of the map for each entry is the mbsPccRuleId attribute of the corresponding + MbsPccRule data structure. + nullable: true + mbsQosDecs: + type: object + additionalProperties: + $ref: '#/components/schemas/MbsQosDec' + minProperties: 1 + description: > + A map of MBS QoS Decision(s) with each map entry containing the MbsQosDec data structure. + The key of the map for each entry is the mbsQosId attribute of the corresponding + MbsQosDec data structure. + mbsQosChars: + type: object + additionalProperties: + $ref: '#/components/schemas/MbsQosChar' + minProperties: 1 + description: > + A map of MBS QoS Characteristics set(s) with each map entry containing the MbsQosChar data + structure. The key of the map for each entry is the 5QI attribute of the corresponding + MbsQosDec data structure. + authMbsSessAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + mbsPcrts: + type: array + items: + $ref: '#/components/schemas/MbsPcrt' + minItems: 1 + nullable: true + + MbsPolicyData: + description: > + Contains the MBS policy data provisioned as part of an MBS Policy Association. + type: object + properties: + mbsPolicyCtxtData: + $ref: '#/components/schemas/MbsPolicyCtxtData' + mbsPolicies: + $ref: '#/components/schemas/MbsPolicyDecision' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - mbsPolicyCtxtData + + MbsPccRule: + description: Represents the parameters constituting an MBS PCC rule. + type: object + properties: + mbsPccRuleId: + type: string + mbsDlIpFlowInfo: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowDescription' + minItems: 1 + precedence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + refMbsQosDec: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + required: + - mbsPccRuleId + + MbsQosDec: + description: Represents the parameters constituting an MBS QoS Decision. + type: object + properties: + mbsQosId: + type: string + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + priorityLevel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5QiPriorityLevel' + mbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + gbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + averWindow: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AverWindow' + mbsMaxDataBurstVol: + $ref: '#/components/schemas/MbsMaxDataBurstVol' + required: + - mbsQosId + + MbsQosChar: + description: > + Represents the parameters constituting a set of explicitly signalled QoS characteristics. + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + priorityLevel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5QiPriorityLevel' + resourceType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/QosResourceType' + packetDelayBudget: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + packetErrorRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate' + averWindow: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AverWindow' + mbsMaxDataBurstVol: + $ref: '#/components/schemas/MbsMaxDataBurstVol' + required: + - 5qi + - resourceType + - priorityLevel + - packetDelayBudget + - packetErrorRate + - mbsMaxDataBurstVol + + MbsPolicyCtxtDataUpdate: + description: > + Contains the parameters to request the modification of an existing MBS Policy Association. + type: object + properties: + mbsServInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceInfo' + mbsPcrts: + type: array + items: + $ref: '#/components/schemas/MbsPcrt' + minItems: 1 + mbsErrorReport: + $ref: '#/components/schemas/MbsErrorReport' + + MbsErrorReport: + description: > + Represents the reporting of MBS Policy decision level failure(s) and/or MBS PCC rule level + failure(s). + type: object + properties: + mbsReports: + type: array + items: + $ref: '#/components/schemas/MbsReport' + minItems: 1 + + MbsReport: + description: > + Contains information about the MBS Policy Decision level failure(s) and/or the MBS PCC + rule level failure(s). + type: object + properties: + mbsPccRuleIds: + type: array + items: + type: string + minItems: 1 + mbsPccRuleStatus: + $ref: '#/components/schemas/MbsPccRuleStatus' + failureCode: + $ref: '#/components/schemas/MbsFailureCode' + +# Simple data types: + + MbsMaxDataBurstVol: + description: Represents the MBS Maximum Data Burst Volume expressed in Bytes. + type: integer + minimum: 1 + maximum: 2000000 + +# ENUMS: + + MbsPcrt: + anyOf: + - type: string + enum: + - MBS_SESSION_UPDATE + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the MBS Policy Control Request Trigger. + Possible values are: + - MBS_SESSION_UPDATE: Indicates the MBS Session Update policy control request trigger. + + MbsPccRuleStatus: + anyOf: + - type: string + enum: + - ACTIVE + - INACTIVE + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the MBS PCC rule status. + Possible values are: + - ACTIVE: Indicates that the MBS PCC rule(s) are successfully installed. + - INACTIVE: Indicates that the MBS PCC rule(s) are removed. + + MbsFailureCode: + anyOf: + - type: string + enum: + - NF_MALFUNCTION + - NF_RESOURCES_UNAVAILABLE + - RESOURCE_ALLOCATION_FAILURE + - MBS_QOS_VALIDATION_FAILURE + - NO_MBS_QOS_FLOW + - MBS_QOS_DECISION_ERROR + - MBS_POLICY_PARAM_ERROR + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the reason for the MBS Policy Decision(s) enforcement failure or + the MBS PCC rule(s) installation failure. + Possible values are: + - NF_MALFUNCTION: Indicates that the MBS PCC rule could not be successfully installed due + to MB-SMF/MB-UPF malfunction. + - NF_RESOURCES_UNAVAILABLE: Indicates that the MBS PCC rule could not be successfully + installed due to resources unavailable at the MB-SMF/MB-UPF. + - RESOURCE_ALLOCATION_FAILURE: Indicates that the MBS PCC rule could not be successfully + installed or maintained since the associated MBS QoS flow establishment/modification + failed or the associated MBS QoS flow was released. + - MBS_QOS_VALIDATION_FAILURE: Indicates that MBS QoS validation has failed. + - NO_MBS_QOS_FLOW: Indicates that there is no MBS QoS flow to which the MB-SMF can bind + the MBS PCC rule(s). + - MBS_QOS_DECISION_ERROR: Indicates failure in the provisioning of MBS QoS Decision data. + - MBS_POLICY_PARAM_ERROR: Indicates that the information related to the provisioned MBS + policy parameter(s) is incorrect, incomplete or inconsistent. diff --git a/TS29538_MSGG_BGDelivery.yaml b/TS29538_MSGG_BGDelivery.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3272110e656fdc51de9d3f6a7a9867b931371f5a --- /dev/null +++ b/TS29538_MSGG_BGDelivery.yaml @@ -0,0 +1,106 @@ +openapi: 3.0.0 + +info: + title: MSGG_BGDelivery + version: 1.0.0-alpha.2 + description: | + API for Broadcast Message Delivery Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.538 V18.4.0; Enabling MSGin5G Service; Application Programming Interfaces (API) + specification; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.538/ + +servers: + - url: '{apiRoot}/msgg-bgdelivery/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /deliver-message: + post: + summary: deliver message to Broadcast Message Gateway + tags: + - Broadcast Message delivery + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BgMessageDelivery' + responses: + '204': + description: No Content, Message delivery successful + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + + schemas: +# +# STRUCTURED DATA TYPES +# + BgMessageDelivery: + description: Broadcast message delivery data + type: object + required: + - oriAddr + - destAddr + - msgId + properties: + oriAddr: + $ref: 'TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address' + destAddr: + $ref: 'TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address' + appId: + type: string + msgId: + type: string + delivStReqInd: + type: boolean + payload: + type: string + segInd: + type: boolean + segParams: + $ref: 'TS29538_MSGS_MSGDelivery.yaml#/components/schemas/MessageSegmentParameters' + priority: + $ref: 'TS29538_MSGS_MSGDelivery.yaml#/components/schemas/Priority' \ No newline at end of file diff --git a/TS29538_MSGG_L3GDelivery.yaml b/TS29538_MSGG_L3GDelivery.yaml new file mode 100644 index 0000000000000000000000000000000000000000..048f69f8ed58783dd0efbaa96fe61f2f4708663c --- /dev/null +++ b/TS29538_MSGG_L3GDelivery.yaml @@ -0,0 +1,187 @@ +openapi: 3.0.0 +info: + title: MSGG_L3GDelivery + version: 1.1.0-alpha.2 + description: | + API for MSGG L3G Message Delivery Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.538 V18.4.0; Enabling MSGin5G Service; Application Programming Interfaces (API) + specification; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.538/ + +servers: + - url: '{apiRoot}/msgg-l3gdelivery/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: [] + + +paths: + /deliver-message: + post: + summary: deliver message to Legacy 3GPP Message Gateway + tags: + - L3G Message delivery + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/L3gMessageDelivery' + responses: + '204': + description: No Content, Message delivery successful + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /deliver-report: + post: + summary: deliver status report to Legacy 3GPP Message Gateway + tags: + - L3G status report delivery + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29538_MSGS_MSGDelivery.yaml#/components/schemas/DeliveryStatusReport' + responses: + '204': + description: No Content, status report delivery successfully + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + + + schemas: +# +# STRUCTURED DATA TYPES +# + L3gMessageDelivery: + description: Contains the L3G message delivery data + type: object + required: + - oriAddr + - destAddr + - msgId + properties: + oriAddr: + $ref: '#/components/schemas/Address' + destAddr: + $ref: '#/components/schemas/Address' + appId: + type: string + msgId: + type: string + delivStReqInd: + type: boolean + payload: + type: string + segInd: + type: boolean + segParams: + $ref: 'TS29538_MSGS_MSGDelivery.yaml#/components/schemas/MessageSegmentParameters' + + + Address: + description: Contains the Message type data + type: object + required: + - addrType + - addr + properties: + addrType: + $ref: '#/components/schemas/AddressType' + addr: + type: string + + +# +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + + AddressType: + anyOf: + - type: string + enum: + - UE + - AS + - GROUP + - BC + - TOPIC + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represent the type of message request. + Possible values are: + - UE: The address type is UE. + - AS: The address type is AS. + - GROUP: The address type is GROUP. + - BC: The address type is BC. + - TOPIC: The address type is TOPIC. diff --git a/TS29538_MSGG_N3GDelivery.yaml b/TS29538_MSGG_N3GDelivery.yaml new file mode 100644 index 0000000000000000000000000000000000000000..dc32b877a3c87fbd5881aeb42a7e31d16b9bb5c6 --- /dev/null +++ b/TS29538_MSGG_N3GDelivery.yaml @@ -0,0 +1,141 @@ +openapi: 3.0.0 +info: + title: MSGG_N3GDelivery + version: 1.1.0-alpha.1 + description: | + API for MSGG N3G Message Delivery Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.538 V18.4.0; Enabling MSGin5G Service; Application Programming Interfaces (API) + specification; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.538/ + +servers: + - url: '{apiRoot}/msgg-n3gdelivery/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /deliver-message: + post: + summary: deliver message to NON-3GPP Message Gateway + tags: + - N3G Message delivery + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/N3gMessageDelivery' + responses: + '204': + description: No Content,Message delivery successful + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /deliver-report: + post: + summary: deliver status report to NON-3GPP Message Gateway + tags: + - N3G status report delivery + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29538_MSGS_MSGDelivery.yaml#/components/schemas/DeliveryStatusReport' + responses: + '204': + description: No Content, status report delivery successfully + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + + + schemas: +# +# STRUCTURED DATA TYPES +# + N3gMessageDelivery: + description: N3G message delivery data + type: object + required: + - oriAddr + - destAddr + - msgId + properties: + oriAddr: + $ref: 'TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address' + destAddr: + $ref: 'TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address' + appId: + type: string + msgId: + type: string + delivStReqInd: + type: boolean + payload: + type: string + segInd: + type: boolean + segParams: + $ref: 'TS29538_MSGS_MSGDelivery.yaml#/components/schemas/MessageSegmentParameters' diff --git a/TS29538_MSGS_ASRegistration.yaml b/TS29538_MSGS_ASRegistration.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7a43ea17933301dfb3da721d87cac0016a4bdc9a --- /dev/null +++ b/TS29538_MSGS_ASRegistration.yaml @@ -0,0 +1,179 @@ +openapi: 3.0.0 +info: + title: MSGS_ASRegistration + version: 1.1.0-alpha.2 + description: | + API for MSGS AS Registration Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.538 V18.4.0; Enabling MSGin5G Service; Application Programming Interfaces (API) + specification; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.538/ + +servers: + - url: '{apiRoot}/msgs-asregistration/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: [] + + +paths: + /registrations: + post: + summary: Registers a new AS at a MSGin5G Server + tags: + - AS registration + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ASRegistration' + responses: + '201': + description: AS information is registered successfully at MSGin5G Server + content: + application/json: + schema: + $ref: '#/components/schemas/ASRegistrationAck' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /registrations/{registrationId}: + delete: + summary: Delete an existing AS registration at MSGin5G Server + tags: + - AS DeRegistration + parameters: + - name: registrationId + in: path + description: AS registration Id + required: true + schema: + type: string + responses: + '200': + description: The individual AS registration is deleted successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ASRegistrationAck' + '204': + description: > + No Content. The individual AS registration resource is deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + + schemas: +# +# STRUCTURED DATA TYPES +# + ASRegistration: + description: AS registration data + type: object + required: + - asSvcId + properties: + asSvcId: + type: string + appId: + type: string + targetUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + asProf: + $ref: '#/components/schemas/ASProfile' + + ASRegistrationAck: + description: AS registration response data + type: object + required: + - asSvcId + - result + properties: + asSvcId: + type: string + result: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + + + ASProfile: + description: AS profile information + type: object + properties: + appName: + type: string + appProviders: + type: array + items: + type: string + minItems: 1 + description: The provider of the AS. + appSenarios: + type: array + items: + type: string + minItems: 1 + description: The application scenario. + appCategory: + type: string + asStatus: + type: string diff --git a/TS29538_MSGS_MSGDelivery.yaml b/TS29538_MSGS_MSGDelivery.yaml new file mode 100644 index 0000000000000000000000000000000000000000..dfd275126317da1a15a428c58df171bd27d7a2c2 --- /dev/null +++ b/TS29538_MSGS_MSGDelivery.yaml @@ -0,0 +1,346 @@ +openapi: 3.0.0 +info: + title: MSGS_MSGDelivery + version: 1.1.0-alpha.3 + description: | + API for MSGG MSGin5G Server Message Delivery Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.538 V18.4.0; Enabling MSGin5G Service; Application Programming Interfaces (API) + specification; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.538/ + +servers: + - url: '{apiRoot}/msgs-msgdelivery/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: [] + + +paths: + /deliver-as-message: + post: + summary: AS deliver message to MSGin5G Server + tags: + - AS Message delivery + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ASMessageDelivery' + responses: + '200': + description: OK, AS Message delivery successful + content: + application/json: + schema: + $ref: '#/components/schemas/MessageDeliveryAck' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /deliver-ue-message: + post: + summary: UE deliver message to MSGin5G Server + tags: + - UE Message delivery + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UEMessageDelivery' + responses: + '200': + description: OK, UE Message delivery successful + content: + application/json: + schema: + $ref: '#/components/schemas/MessageDeliveryAck' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /deliver-report: + post: + summary: AS or UE deliver status report to MSGin5G Server + tags: + - AS/UE status report delivery + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeliveryStatusReport' + responses: + '200': + description: OK, status report delivery successfully + content: + application/json: + schema: + $ref: '#/components/schemas/MessageDeliveryAck' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + + schemas: +# +# STRUCTURED DATA TYPES +# + ASMessageDelivery: + description: Contains the AS message delivery data + type: object + required: + - oriAddr + - destAddr + - msgId + - stoAndFwInd + properties: + oriAddr: + $ref: 'TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address' + destAddr: + $ref: 'TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address' + appId: + type: string + msgId: + type: string + delivStReqInd: + type: boolean + payload: + type: string + priority: + $ref: '#/components/schemas/Priority' + segInd: + type: boolean + segParams: + $ref: '#/components/schemas/MessageSegmentParameters' + stoAndFwInd: + type: boolean + stoAndFwParams: + $ref: '#/components/schemas/StoreAndForwardParameters' + latency: + type: integer + + UEMessageDelivery: + description: Contains the UE message delivery data + type: object + required: + - oriAddr + - destAddr + - msgId + - stoAndFwInd + properties: + oriAddr: + $ref: 'TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address' + destAddr: + $ref: 'TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address' + appId: + type: string + msgId: + type: string + delivStReqInd: + type: boolean + payload: + type: string + segInd: + type: boolean + segParams: + $ref: '#/components/schemas/MessageSegmentParameters' + stoAndFwInd: + type: boolean + stoAndFwParams: + $ref: '#/components/schemas/StoreAndForwardParameters' + + MessageDeliveryAck: + description: Contains the message delivery ack data + type: object + required: + - oriAddr + - msgId + properties: + oriAddr: + $ref: 'TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address' + msgId: + type: string + status: + $ref: '#/components/schemas/DeliveryStatus' + failureCause: + type: string + + MessageSegmentParameters: + description: Contains the message segment parameters data + type: object + properties: + segId: + type: string + totalSegCount: + type: integer + segNumb: + type: integer + lastSegFlag: + type: boolean + + StoreAndForwardParameters: + description: Contains the store and forward parameters data + type: object + properties: + exprTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + DeliveryStatusReport: + description: Contains the delivery status report data + type: object + required: + - oriAddr + - destAddr + - msgId + - delivSt + properties: + oriAddr: + $ref: 'TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address' + destAddr: + $ref: 'TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address' + msgId: + type: string + failureCause: + type: string + delivSt: + $ref: '#/components/schemas/ReportDeliveryStatus' + +# +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + + DeliveryStatus: + anyOf: + - type: string + enum: + - DELY_FAILED + - DELY_STORED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Indicates if delivery is a failure, or if the message is stored for deferred delivery. + Possible values are: + - DELY_FAILED: Indicates that the message delivery is failed. + - DELY_STORED: Indicates that the message is stored for deferred delivery. + + ReportDeliveryStatus: + anyOf: + - type: string + enum: + - REPT_DELY_SUCCESS + - REPT_DELY_FAILED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + The delivery status description, including success or failure in delivery. + Possible values are: + - REPT_DELY_SUCCESS: Indicates that the report delivery is successful. + - REPT_DELY_FAILED: Indicates that the report delivery is failed. + + Priority: + anyOf: + - type: string + enum: + - HIGH + - MIDDLE + - LOW + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Application priority level requested for this message. + Possible values are: + - HIGH: Indicates the messages should be sent in high priority. + - MIDDLE: Indicates the messages should be sent in middle priority. + - LOW: Indicates the messages should be sent in low priority. diff --git a/TS29540_Nsmsf_SMService.yaml b/TS29540_Nsmsf_SMService.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8f9864371bea301c1e1646ac255c27abc4dc083d --- /dev/null +++ b/TS29540_Nsmsf_SMService.yaml @@ -0,0 +1,534 @@ +openapi: 3.0.0 + +info: + version: '2.3.0-alpha.2' + title: 'Nsmsf_SMService Service API' + description: | + SMSF SMService. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.540 V18.1.0; 5G System; SMS Services; Stage 3 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.540/' + +security: + - oAuth2ClientCredentials: + - nsmsf-sms + - {} + +servers: + - url: '{apiRoot}/nsmsf-sms/v2' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +paths: + /ue-contexts/{supi}: + put: + summary: Activate SMS Service for a given UE + operationId: SMServiceActivation + tags: + - Activation of SMS service + parameters: + - name: supi + in: path + required: true + description: Subscriber Permanent Identifier (SUPI) + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UeSmsContextData' + required: true + responses: + '201': + description: UE Context for SMS is created in SMSF + content: + application/json: + schema: + $ref: '#/components/schemas/UeSmsContextData' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nsmsf-sms//ue-contexts/{supi}' + required: true + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in IETF RFC 7232, 2.3 + schema: + type: string + '204': + description: UE Context for SMS is updated in SMSF + headers: + ETag: + description: Entity Tag, containing a strong validator, as described in IETF RFC 7232, 2.3 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Invalid Service Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Unable to create/update UE Context for SMS in SMSF + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Unable to found subscription for service user or UE Context for SMS in SMSF + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + description: Unexpected error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + patch: + summary: Update a parameter in the UE SMS Context in SMSF + operationId: SMSServiceParameterUpdate + tags: + - Parameter update in the UE SMS Context in SMSF + parameters: + - name: supi + in: path + required: true + description: Subscriber Permanent Identifier (SUPI) + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + oneOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + - $ref: '#/components/schemas/UeSmsContextData' + '204': + description: Successful response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: Deactivate SMS Service for a given UE + operationId: SMServiceDeactivation + tags: + - Deactivation of SMS service + parameters: + - name: supi + in: path + required: true + description: Subscriber Permanent Identifier (SUPI) + schema: + type: string + - name: If-Match + in: header + description: Validator for conditional requests, as described in IETF RFC 7232, 3.1 + schema: + type: string + responses: + '204': + description: UE Context for SMS is deleted from SMSF + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Invalid Service Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: Unable to found UE Context for SMS in SMSF + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + + /ue-contexts/{supi}/sendsms: + post: + summary: Send SMS payload for a given UE + operationId: SendSMS + tags: + - Send SMS payload in uplink direction + parameters: + - name: supi + in: path + required: true + description: Subscriber Permanent Identifier (SUPI) + schema: + type: string + requestBody: + content: + multipart/related: + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/SmsRecordData' + binaryPayload: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryPayload: + contentType: application/vnd.3gpp.sms + headers: + Content-Id: + schema: + type: string + required: true + responses: + '200': + description: SMS payload is received by SMSF, and is being delivered out + content: + application/json: + schema: + $ref: '#/components/schemas/SmsRecordDeliveryData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Invalid Service Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Unable to deliver SMS at SMSF + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Unable to found UE Context for SMS in SMSF + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + + /ue-contexts/{supi}/send-mt-sms: + post: + summary: Send MT SMS payload for a given UE + operationId: SendMtSMS + tags: + - Send SMS payload in downlink direction + parameters: + - name: supi + in: path + required: true + description: Subscriber Permanent Identifier (SUPI) + schema: + type: string + requestBody: + content: + multipart/related: + schema: + type: object + properties: + jsonData: + $ref: 'TS29577_Nipsmgw_SMService.yaml#/components/schemas/SmsData' + binaryPayload: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryPayload: + contentType: application/vnd.3gpp.sms + headers: + Content-Id: + schema: + type: string + required: true + responses: + '200': + description: sending delivery report + content: + multipart/related: + schema: + type: object + properties: + jsonData: + $ref: 'TS29577_Nipsmgw_SMService.yaml#/components/schemas/SmsDeliveryData' + binaryPayload: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryPayload: + contentType: application/vnd.3gpp.sms + headers: + Content-Id: + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Invalid Service Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Unable to deliver SMS at SMSF + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Unable to found UE Context for SMS in SMSF + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nsmsf-sms: Access to the nsmsf-sms API + + schemas: + + UeSmsContextData: + description: Represents the information used for activating the SMS service for a service user, or updating the parameters of the SMS service. + type: object + required: + - supi + - amfId + - accessType + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + amfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + guamis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + additionalAccessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + minItems: 1 + udmGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + routingIndicator: + type: string + hNwPubKeyId: + type: integer + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + additionalRatType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + SmsRecordData: + description: Represents the information sent within a request message of the UplinkSMS service operation, for delivering SMS payload. + type: object + required: + - smsRecordId + - smsPayload + properties: + smsRecordId: + $ref: '#/components/schemas/RecordId' + smsPayload: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + + RecordId: + description: Represents a record ID, used to identify a message carrying SMS payload. + type: string + + SmsRecordDeliveryData: + description: Represents information on the result of invoking the UplinkSMS service operation. + type: object + required: + - smsRecordId + - deliveryStatus + properties: + smsRecordId: + $ref: '#/components/schemas/RecordId' + deliveryStatus: + $ref: '#/components/schemas/SmsDeliveryStatus' + + SmsDeliveryStatus: + description: Represents the Status of an SMS delivery attempt. + type: string + enum: + - SMS_DELIVERY_PENDING + - SMS_DELIVERY_COMPLETED + - SMS_DELIVERY_FAILED + - SMS_DELIVERY_SMSF_ACCEPTED diff --git a/TS29541_Nnef_SMContext.yaml b/TS29541_Nnef_SMContext.yaml new file mode 100644 index 0000000000000000000000000000000000000000..438a99e4fde355c73644f51463ad05a0156e37ab --- /dev/null +++ b/TS29541_Nnef_SMContext.yaml @@ -0,0 +1,560 @@ +openapi: 3.0.0 + +info: + title: Nnef_SMContext + version: 1.2.0-alpha.1 + description: | + Nnef SMContext Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.541 V18.0.0; 5G System; Session Management Services for Non-IP Data Delivery (NIDD). + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.541/ + +servers: + - url: '{apiRoot}/nnef-smcontext/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnef-smcontext + +paths: + /sm-contexts: + post: + summary: Create SM Context + operationId: Create + tags: + - SM Contexts Collection (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SmContextCreateData' + responses: + '201': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SmContextCreatedData' + headers: + Location: + description: > + 'Contains the URI of the newly created Individual SM Context resource, according to the structure: + {apiRoot}/nnef-smcontext//sm-contexts/{smContextId}' + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + StatusNotify: + '{$request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SmContextStatusNotification' + responses: + '204': + description: No Content, Notification was succesfull + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /sm-contexts/{smContextId}/release: + post: + summary: Delete SM Context + operationId: Delete + tags: + - Individual SM Context (Document) + parameters: + - name: smContextId + in: path + description: SM Context Resource ID + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SmContextReleaseData' + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/SmContextReleasedData' + '204': + description: No Content. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /sm-contexts/{smContextId}/update: + post: + summary: Update SM Context + operationId: Update + tags: + - Individual SM Context (Document) + parameters: + - name: smContextId + in: path + description: SM Context Resource ID + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SmContextUpdateData' + responses: + '204': + description: No Content. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /sm-contexts/{smContextId}/deliver: + post: + summary: Deliver Uplink MO Data + operationId: Deliver + tags: + - Individual SM Context (Document) + parameters: + - name: smContextId + in: path + description: SM Context Resource ID + required: true + schema: + type: string + requestBody: + required: true + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/DeliverReqData' + binaryMoData: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryMoData: + contentType: application/octet-stream + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: No Content. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnef-smcontext: Access to the Nnef_SMContext API + + schemas: +# +# Structured Data Types +# + SmContextCreateData: + description: Representation of the Individual SM context to be created. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nefId: + type: string + description: This IE shall contain the NEF ID of the target NEF. + dlNiddEndPoint: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + niddInfo: + $ref: '#/components/schemas/NiddInformation' + rdsSupport: + type: boolean + description: | + When present, this IE shall indicate the UE capability to support RDS. + The value of this IE shall be set as following + - true UE supports RDS + - false (default) UE does not support RDS + smContextConfig: + $ref: '#/components/schemas/SmContextConfiguration' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supi + - pduSessionId + - dnn + - snssai + - nefId + - dlNiddEndPoint + - notificationUri + + SmContextCreatedData: + description: Representation of an Individual SM context successfully created. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nefId: + type: string + description: This IE shall contain the NEF ID of the target NEF. + rdsSupport: + type: boolean + default: false + description: | + When present, this IE shall indicate the NEF capability to support RDS. + The value of this IE shall be set as following + - true NEF supports RDS + - false (default) NEF does not support RDS + extBufSupport: + type: boolean + default: false + description: | + When present, this IE shall indicate whether Extended Buffering applies or not. + The value of this IE shall be set as following + - true Extended Buffering applies + - false (default) Extended Buffering does not apply + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + maxPacketSize: + type: integer + required: + - supi + - pduSessionId + - dnn + - snssai + - nefId + + SmContextReleaseData: + description: Representation of the information to release the Individual SM context. + type: object + properties: + cause: + $ref: '#/components/schemas/ReleaseCause' + required: + - cause + + SmContextReleasedData: + description: Successful release of an Individual SM context with information sent to the NF service consumer. + type: object + properties: + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + + SmContextStatusNotification: + description: Representation of the SM Context status notification. + type: object + properties: + status: + $ref: '#/components/schemas/SmContextStatus' + smContextId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + cause: + $ref: '#/components/schemas/ReleaseCause' + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + required: + - status + - smContextId + + NiddInformation: + description: Informaiton related to NIDD used for the SM Context. + type: object + properties: + extGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalGroupId' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + afId: + type: string + description: When present, this IE shall contain the AF Id used for the SM Context. + + SmContextConfiguration: + description: NIDD Configuration for the SM context. + type: object + properties: + smalDataRateControl: + $ref: '#/components/schemas/SmallDataRateControl' + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + servPlmnDataRateCtl: + type: integer + minimum: 10 + nullable: true + description: > + When present, this IE shall contain the maximum allowed number of + Downlink NAS Data PDUs per deci hour of the serving PLMN, as specified + in subclause 5.31.14.2 of 3GPP TS 23.501 [2]. + Minimum 10 + + SmallDataRateControl: + description: Configuration of Small Data Rate Control for the SM Context. + type: object + properties: + timeUnit: + $ref: '#/components/schemas/SmallDataRateControlTimeUnit' + maxPacketRateUl: + type: integer + maxPacketRateDl: + type: integer + maxAdditionalPacketRateUl: + type: integer + maxAdditionalPacketRateDl: + type: integer + required: + - timeUnit + + SmContextUpdateData: + description: Representation of the updates to apply to the Individual SM context. + type: object + properties: + dlNiddEndPoint: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + smContextConfig: + $ref: '#/components/schemas/SmContextConfiguration' + + DeliverReqData: + description: The data for Deliver service request, including the Mobile Originated data to be delivered via NEF. + type: object + properties: + data: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + required: + - data +# +# Simple Data Types +# + + +# +# Enumeration Data Types +# + SmContextStatus: + anyOf: + - type: string + enum: + - RELEASED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Possible values are + - RELEASED: Indicates that the Individual SM Context for NIDD is released. + + SmallDataRateControlTimeUnit: + anyOf: + - type: string + enum: + - MINUTE + - HOUR + - DAY + - WEEK + - 6MINUTES + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Possible values are + - MINUTE: Indicates the rate control is applied per minute. + - HOUR: Indicates the rate control is applied per hour. + - DAY: Indicates the rate control is applied per day. + - WEEK: Indicates the rate control is applied per week. + - 6MINUTES: Indicates the rate control is applied per 6 minutes. + + ReleaseCause: + anyOf: + - type: string + enum: + - PDU_SESSION_RELEASED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + The cause to release the SM Context. Possible values are + - PDU_SESSION_RELEASED: Indicates that the Individual SM Context for NIDD is released. diff --git a/TS29541_Nnef_SMService.yaml b/TS29541_Nnef_SMService.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1a9a3edfe8e84e32e78a9860d00f5a7f1137a99d --- /dev/null +++ b/TS29541_Nnef_SMService.yaml @@ -0,0 +1,129 @@ +openapi: 3.0.0 + +info: + title: Nnef_SMService + version: 1.1.0-alpha.1 + description: | + Nnef SMService Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.541 V18.0.0; 5G System; Session Management Services for Non-IP Data Delivery (NIDD). + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.541/ + +servers: + - url: '{apiRoot}/nnef-smservice/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnef-smservice + +paths: + /sm-contexts/{supi}/sendsms: + post: + summary: Send SMS payload for a given UE + operationId: SendSMS + tags: + - Send MO SMS message and the delivery report + parameters: + - name: supi + in: path + required: true + description: Subscription Permanent Identifier (SUPI) + schema: + type: string + requestBody: + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: 'TS29577_Nipsmgw_SMService.yaml#/components/schemas/SmsData' + binaryPayload: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryPayload: + contentType: application/vnd.3gpp.sms + headers: + Content-Id: + schema: + type: string + required: true + responses: + '200': + description: sending delivery report + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: 'TS29577_Nipsmgw_SMService.yaml#/components/schemas/SmsDeliveryData' + binaryPayload: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryPayload: + contentType: application/vnd.3gpp.sms + headers: + Content-Id: + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnef-smcontext: Access to the Nnef_SMContext API + +# schemas: + +# COMPLEX TYPES: + + + +# SIMPLE TYPES: + + + +# ENUMS: diff --git a/TS29542_Nsmf_NIDD.yaml b/TS29542_Nsmf_NIDD.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e719e6e87ee2f46b86b31d6b9b37b8641059427c --- /dev/null +++ b/TS29542_Nsmf_NIDD.yaml @@ -0,0 +1,140 @@ +openapi: 3.0.0 + +info: + version: '1.2.0-alpha.1' + title: 'Nsmf_NIDD' + description: | + SMF NIDD Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.542 V18.0.0; 5G System; Session Management Services for Non-IP Data Delivery (NIDD); Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.542/ + +servers: + - url: '{apiRoot}/nsmf-nidd/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - nsmf-nidd + +paths: + '/pdu-sessions/{pduSessionRef}/deliver': + post: + summary: Delivery Service Operation + tags: + - Individual PDU session + operationId: Deliver + parameters: + - name: pduSessionRef + in: path + description: PDU session reference + required: true + schema: + type: string + requestBody: + description: representation of the payload of Deliver Request + required: true + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/DeliverReqData' + binaryMtData: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryMtData: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: successful transfering of Delivery + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + description: unsuccessful delivery of mobile terminated data - gateway timeout + content: + application/json: + schema: + $ref: '#/components/schemas/DeliverError' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nsmf-nidd: Access to the nsmf-nidd API + + schemas: +# +# STRUCTURED DATA TYPES +# + + DeliverReqData: + description: Representation of the payload of a Deliver Request. + type: object + properties: + mtData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + required: + - mtData + + DeliverAddInfo: + description: Additional information in an error response to a Deliver Request. + type: object + properties: + maxWaitingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + +# +# DATA TYPES DESCRIBING ALTERNATIVE OR COMBINATION OF DATA TYPES +# + + DeliverError: + description: Representation of the payload in an error response to a Deliver Request. + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/DeliverAddInfo' diff --git a/TS29543_Npcf_PDTQPolicyControl.yaml b/TS29543_Npcf_PDTQPolicyControl.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1250b206f9b3c73042469ba7257474132f05495f --- /dev/null +++ b/TS29543_Npcf_PDTQPolicyControl.yaml @@ -0,0 +1,417 @@ +openapi: 3.0.0 + +info: + title: Npcf_PDTQPolicyControl API + version: 1.0.0-alpha.3 + description: | + PCF PDTQ Policy Control service. + © <2023>, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.543 V0.4.0; 5G System; Data Transfer Policy Control Services; Stage 3. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.543/' + +servers: + - url: '{apiRoot}/npcf-pdtq-policy-control/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - npcf-pdtq-policy-control + +paths: + + /pdtq-policies: + post: + summary: Creates a new Individual PDTQ policy resource. + operationId: CreatePDTQPolicy + tags: + - PDTQ policies (Collection) + requestBody: + description: > + Contains information for the creation of a new Individual PDTQ policy resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PdtqPolicyData' + responses: + '201': + description: > + Created, an Individual PDTQ policy resource is created and a representation of that + resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PdtqPolicyData' + headers: + Location: + description: > + Contains the URI of the created Individual PDTQ policy resource, + according to the structure + {apiRoot}/npcf-pdtq-policy-control/v1/pdtq-policies/{pdtqPolicyId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + PDTQNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Notification' + responses: + '204': + description: > + No Content, the reception of a PDTQ warning notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pdtq-policies/{pdtqPolicyId}: + + get: + summary: Reads an Individual PDTQ policy resource. + operationId: GetIndPDTQPolicy + tags: + - Individual PDTQ policy (Document) + parameters: + - name: pdtqPolicyId + description: String identifying the individual PDTQ policy resource in the PCF. + in: path + required: true + schema: + type: string + responses: + '200': + description: OK, a representation of an Individual PDTQ policy resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PdtqPolicyData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modifies an existing Individual PDTQ policy resource. + operationId: ModifyIndPDTQPolicy + tags: + - Individual PDTQ policy (Document) + parameters: + - name: pdtqPolicyId + description: String identifying the individual PDTQ policy resource in the PCF. + in: path + required: true + schema: + type: string + requestBody: + description: > + Contains modifications that shall be applied on the existing Individual PDTQ + policy resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PdtqPolicyPatchData' + responses: + '200': + description: > + OK, the Individual PDTQ policy resource is modified and a representation of + that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PdtqPolicyData' + '204': + description: No Content, the Individual PDTQ policy resource is modified. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npcf-pdtq-policy-control: Access to the Npcf_PDTQPolicyControl API + + schemas: + +# Structured data types + + PdtqPolicyData: + description: Describes an Individual PDTQ policy resource. + type: object + required: + - aspId + - desTimeInts + - numOfUes + oneOf: + - required: [qosReference] + - required: [qosParamSet] + properties: + altQosParamSets: + description: > + Contains the alternative QoS requirements expressed as the list of individual + QoS parameter sets in a prioritized order. The lower the index of the array for + a given entry, the higher the priority. + type: array + items: + $ref: '#/components/schemas/AltQosParamSet' + minItems: 1 + altQosRefs: + description: > + Contains the alternative QoS requirements expressed as the list of QoS References + in a prioritized order. The lower the index of the array for a given entry, the + higher the priority. + type: array + items: + type: string + minItems: 1 + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + aspId: + description: Contains an identity of an application service provider. + type: string + desTimeInts: + description: Contains a list of desired time windows for PDTQ. + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + minItems: 1 + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nwAreaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + numOfUes: + description: Indicates a number of UEs. + type: integer + pdtqPolicies: + description: Contains PDTQ policies. + type: array + items: + $ref: '#/components/schemas/PdtqPolicy' + minItems: 1 + pdtqRefId: + $ref: '#/components/schemas/PdtqReferenceId' + qosParamSet: + $ref: '#/components/schemas/QosParameterSet' + qosReference: + description: > + Contains the requested QoS requirements expressed as the QoS Reference which + represents a pre-defined QoS information. + type: string + selPdtqPolicyId: + description: Contains the identity of the selected PDTQ policy. + type: integer + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + warnNotifReq: + description: > + Indicates whether the PDTQ warning notification is enabled (true) or + disabled (false). Default value is false. + type: boolean + default: false + + QosParameterSet: + description: > + Contains the QoS requirements expressed as one or more individual QoS parameters. + type: object + properties: + extMaxBurstSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVol' + gfbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + gfbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxBitRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxBitRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxBurstSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MaxDataBurstVol' + pdb: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + per: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate' + priorLevel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5QiPriorityLevel' + + AltQosParamSet: + description: > + Contains the alternative QoS requirements expressed as the list of individual QoS + parameter sets. + type: object + properties: + gfbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + gfbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + pdb: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + per: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate' + + PdtqPolicy: + description: Describes a PDTQ policy. + type: object + required: + - pdtqPolicyId + - recTimeInt + properties: + pdtqPolicyId: + description: Contains an identity of a PDTQ policy. + type: integer + recTimeInt: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + + PdtqPolicyPatchData: + description: Represents modifications of an Individual PDTQ policy resource. + type: object + properties: + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + selPdtqPolicyId: + description: Contains the identity of the selected PDTQ policy. + type: integer + warnNotifReq: + description: > + Indicates whether the PDTQ warning notification is enabled (true) or + disabled (false). + type: boolean + + Notification: + description: Contains the PDTQ notification information. + type: object + required: + - pdtqRefId + - candPolicies + properties: + pdtqRefId: + $ref: '#/components/schemas/PdtqReferenceId' + candPolicies: + description: > + Contains a list of the candidate PDTQ policies from which the AF may select a new + PDTQ policy. + type: array + items: + $ref: '#/components/schemas/PdtqPolicy' + minItems: 1 + +# Simple data types + + PdtqReferenceId: + description: Represents a PTDQ Reference ID. + type: string diff --git a/TS29544_Nspaf_SecuredPacket.yaml b/TS29544_Nspaf_SecuredPacket.yaml new file mode 100644 index 0000000000000000000000000000000000000000..25edbd6c506d7adc361d4c017288e0afaf9510fe --- /dev/null +++ b/TS29544_Nspaf_SecuredPacket.yaml @@ -0,0 +1,126 @@ +openapi: 3.0.0 +info: + title: 'Nspaf_SecuredPacket' + version: '1.2.0-alpha.1' + description: | + Nspaf Secured Packet Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.544, SP-AF Services, version V18.0.0 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.544/ +servers: + - url: '{apiRoot}/nspaf-secured-packet/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - nspaf-secured-packet +paths: + /{supi}/provide-secured-packet: + post: + summary: request generation of a secured packet + operationId: ProvideSecuredPacket + tags: + - SecuredPacket Generation (Custom Operation) + parameters: + - name: supi + in: path + description: SUPI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UiccConfigurationParameter' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SecuredPacket' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nspaf-secured-packet: Access to the nspaf-secured-packet API + schemas: + +# COMPLEX TYPES: + + UiccConfigurationParameter: + description: Represents UICC Configuration Parameters. + type: object + oneOf: + - required: [routingId ] + - required: [steeringContainer ] + - required: [extendedSteeringContainer ] + properties: + routingId: + $ref: '#/components/schemas/RoutingId' + steeringContainer: + type: array + items: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SteeringInfo' + minItems: 1 + extendedSteeringContainer: + $ref: '#/components/schemas/ExtendedSteeringContainer' + + ExtendedSteeringContainer: + description: Represents Extended Steering Containers. + type: object + properties: + steeringContainer: + type: array + items: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SteeringInfo' + minItems: 1 + sorCmci: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SorCmci' + storeSorCmciInMe: + type: boolean + +# SIMPLE TYPES: + + RoutingId: + description: Represents a routing indicator. + type: string + pattern: '^[0-9]{1,4}$' + +# ENUMS: diff --git a/TS29548_SDD_DDContext.yaml b/TS29548_SDD_DDContext.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4f3142a5e6bd586186cc0b0b434ca4b129a5c879 --- /dev/null +++ b/TS29548_SDD_DDContext.yaml @@ -0,0 +1,249 @@ +openapi: 3.0.0 + +info: + title: SEALDD Server Data Delivery Context Relocation + version: 1.0.0-alpha.3 + description: | + SEALDD Server Data Delivery Context Relocation. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.548 V0.5.0 Service Enabler Architecture Layer for Verticals (SEAL); + SEAL Data Delivery (SEALDD) Server Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.548/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/sdd-ddc/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 + +paths: + /contexts: + get: + summary: Pull the DD context from the SEALDD Server. + operationId: PullDdContext + tags: + - DD Context Instances (Collection) + parameters: + - name: supp-feats + in: query + description: Contains the list of supported features. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Successful case. The requested DD context is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/DdContextResp' + '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' + + post: + summary: Push the DD context to the SEALDD Server. + tags: + - DD Context Instances (Collection) + requestBody: + description: > + Represents the DD context to be pushed to the + SEALDD Server. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DdContextPushReq' + responses: + '201': + description: > + Created. Successful case. The DD context is successfully pushed to the SEALDD Server and + the related information is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/DdContextResp' + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + +# +# STRUCTURED DATA TYPES +# + + DdContext: + description: Represents the DD context. + type: object + properties: + uuContext: + $ref: '#/components/schemas/SddUuContext' + sContext: + $ref: '#/components/schemas/SddSContext' + trLayerContext: + $ref: '#/components/schemas/TranspLayerContext' + required: + - uuContext + - sContext + + TranspLayerContext: + description: Represents the transport layer context. + type: object + properties: + transProtoc: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/TransportProtocol' + required: + - transProtoc + + DdContextPushReq: + description: Represents the DD context push request. + type: object + properties: + ddContext: + $ref: '#/components/schemas/DdContext' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ddContext + + DdContextResp: + description: Represents the DD context push response. + type: object + properties: + ddContext: + $ref: '#/components/schemas/DdContext' + endPoint: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteInformation' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + SddUuContext: + description: Represents the context related to the SEALDD-Uu connection. + type: object + properties: + sddFlowId: + type: string + description: Represents the SEALDD flow ID. + valServiceId: + type: string + description: Contains the identifier of the VAL service. + valServerId: + type: string + description: Contains the identifier of the VAL Server. + valServEndPoint: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteInformation' + ddClientConnInfo: + $ref: 'TS29548_SDD_Transmission.yaml#/components/schemas/ConnInfo' + ddServConnInfo: + $ref: 'TS29548_SDD_Transmission.yaml#/components/schemas/ConnInfo' + valTgtUe: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + comLifetime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + valUsersBdw: + $ref: 'TS29548_SDD_Transmission.yaml#/components/schemas/ValUsersBdw' + pendingTimer: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + required: + - sddFlowId + - valServEndPoint + + SddSContext: + description: Represents the context related to the SEALDD-S connection. + type: object + properties: + valServerId: + type: string + description: Contains the identifier of the VAL Server. + valServiceId: + type: string + description: Contains the identifier of the VAL service. + valTargetUeId: + type: string + description: Contains the identifier of the target VAL UE. + valServerConnInfo: + $ref: 'TS29548_SDD_Transmission.yaml#/components/schemas/ConnInfo' + ddServerConnInfo: + $ref: 'TS29548_SDD_Transmission.yaml#/components/schemas/ConnInfo' + qosInfo: + $ref: 'TS29548_SDD_Transmission.yaml#/components/schemas/QosInfo' + valServerBdw: + $ref: 'TS29548_SDD_Transmission.yaml#/components/schemas/ValServBdw' + valUsersBdw: + $ref: 'TS29548_SDD_Transmission.yaml#/components/schemas/ValUsersBdw' + required: + - valServerId + - valServerConnInfo + + +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + +# Data types describing alternative data types or combinations of data types: +# + diff --git a/TS29548_SDD_DataStorage.yaml b/TS29548_SDD_DataStorage.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8c0e60803a0ae74d10b781c7892b2fa44d467e0f --- /dev/null +++ b/TS29548_SDD_DataStorage.yaml @@ -0,0 +1,983 @@ +openapi: 3.0.0 + +info: + title: SEALDD Server Data Storage Service + version: 1.0.0-alpha.1 + description: | + SEALDD Server Data Storage Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.548 V0.5.0; Service Enabler Architecture Layer for Verticals (SEAL); + SEAL Data Delivery (SEALDD) Server Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.548/ + +servers: + - url: '{apiRoot}/sdd-ds/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /storages: + get: + summary: Retrieve one or several existing Individual Data Storage resource(s). + operationId: GetDataStorages + tags: + - Data Storages (Collection) + parameters: + - name: storage-ids + in: query + description: Contains the identifier(s) of the targeted Data Storage resource(s). + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: supp-feats + in: query + description: Contains the list of supported features. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: > + OK. The requested Individual Data Storage resource shall be returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DataStorage' + 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: Request the creation of a Data Storage. + operationId: CreateDataStorage + tags: + - Data Storages (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataStorageReq' + responses: + '201': + description: > + Created. The Data Storage is successfully created and a representation of the created + Individual Data Storage resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/DataStorage' + headers: + Location: + description: > + Contains the URI of the created Individual Data Storage resource. + required: true + schema: + type: string + '200': + description: > + OK. The Data Storage resource is successfully reserved and Data Storage resource + reservation related information shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ReservRespData' + '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: + DataMngtNotif: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataMngtNotif' + responses: + '204': + description: > + No Content. The Data Management and or Status Information Notification is + successfully received and acknowledged. + '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' + + /storages/{storageId}: + parameters: + - name: storageId + in: path + description: > + Represents the identifier of the Individual Data Storage resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual Data Storage resource. + operationId: GetIndDataStorage + tags: + - Individual Data Storage (Document) + responses: + '200': + description: > + OK. The requested Individual Data Storage resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/DataStorage' + '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 Data Storage resource. + operationId: UpdateIndDataStorage + tags: + - Individual Data Storage (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataStorage' + responses: + '200': + description: > + OK. The Individual Data Storage resource is successfully updated and a representation + of the updated resource shall be returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/DataStorage' + '204': + description: > + No Content. The Individual Data Storage 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' + '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: Request the modification of an existing Individual Data Storage resource. + operationId: ModifyIndDataStorage + tags: + - Individual Data Storage (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/DataStoragePatch' + responses: + '200': + description: > + OK. The Individual Data Storage resource is successfully modified and a representation + of the updated resource shall be returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/DataStorage' + '204': + description: > + No Content. The Individual Data Storage 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' + '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' + + delete: + summary: Request the deletion of an existing Individual Data Storage resource. + operationId: DeleteIndDataStorage + tags: + - Individual Data Storage (Document) + responses: + '204': + description: > + No Content. The Individual Data Storage 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' + '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' + + /subscriptions: + post: + summary: Request the creation of a Data Storage Delivery Subscription. + operationId: CreateDataDelSubsc + tags: + - Data Storage Delivery Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataDelSubsc' + responses: + '201': + description: > + Created. The Data Storage Delivery Subscription is successfully created and a + representation of the created Individual Data Storage Delivery Subscription resource + shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/DataDelSubsc' + headers: + Location: + description: > + Contains the URI of the created Individual Data Storage Delivery Subscription + 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: + DataDelNotif: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataDelNotif' + responses: + '204': + description: > + No Content. The Data Storage Delivery Notification is successfully received + and acknowledged. + '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' + + /subscriptions/{subscriptionId}: + parameters: + - name: subscriptionId + in: path + description: > + Represents the identifier of the Individual Data Storage Delivery Subscription resource. + resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual Data Storage Delivery Subscription resource. + operationId: GetIndDataDelSubsc + tags: + - Individual Data Storage Delivery Subscription (Document) + responses: + '200': + description: > + OK. The requested Individual Data Storage Delivery Subscription resource shall be + returned. + content: + application/json: + schema: + $ref: '#/components/schemas/DataDelSubsc' + '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 Data Storage Delivery Subscription resource. + operationId: UpdateIndDataDelSubsc + tags: + - Individual Data Storage Delivery Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataDelSubsc' + responses: + '200': + description: > + OK. The Individual Data Storage Delivery Subscription resource is successfully + updated and a representation of the updated resource shall be returned in the + response body. + content: + application/json: + schema: + $ref: '#/components/schemas/DataDelSubsc' + '204': + description: > + No Content. The Individual Data Storage Delivery 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' + '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: Request the modification of an existing Individual Data Storage Delivery Subscription resource. + operationId: ModifyIndDataDelSubsc + tags: + - Individual Data Storage Delivery Subscription (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/DataDelSubscPatch' + responses: + '200': + description: > + OK. The Individual Data Storage Delivery Subscription resource is successfully modified + and a representation of the updated resource shall be returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/DataDelSubsc' + '204': + description: > + No Content. The Individual Data Storage Delivery 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' + '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' + + delete: + summary: Request the deletion of an existing Individual Data Storage Delivery Subscription resource. + operationId: DeleteIndDataDelSubsc + tags: + - Individual Data Storage Delivery Subscription (Document) + responses: + '204': + description: > + No Content. The Individual Data Storage Delivery 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' + '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' + + /request-del: + post: + summary: Enables a service consumer to request SEALDD data storage delivery. + operationId: DataDeliveryRequest + tags: + - SEALDD Data Delivery Request + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataDelReq' + responses: + '204': + description: > + No Content. The SEALDD Data Storage delivery request is successfully received and + processed. + '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' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + +# +# STRUCTURED DATA TYPES +# + + DataStorage: + description: > + Represents a SEALDD Data Storage. + type: object + properties: + data: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + ctrlPolicies: + type: array + items: + $ref: '#/components/schemas/AccessCtrlPolicy' + minItems: 1 + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + mngtSubsc: + $ref: '#/components/schemas/DataMngtSubsc' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - data + + ReservReqData: + description: > + Represents a Data Storage reservation request. + type: object + properties: + valServiceId: + type: string + dataLength: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - valServiceId + + ReservRespData: + description: > + Represents a Data Storage reservation response. + type: object + properties: + resourceAddr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + required: + - resourceAddr + + DataStoragePatch: + description: > + Represents the requested modifications to a SEALDD Data Storage. + type: object + properties: + data: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + ctrlPolicies: + type: array + items: + $ref: '#/components/schemas/AccessCtrlPolicy' + minItems: 1 + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + mngtSubsc: + $ref: '#/components/schemas/DataMngtSubsc' + + AccessCtrlPolicy: + description: > + Represents the data access control policy. + type: object + properties: + entityName: + $ref: '#/components/schemas/EntityName' + entityId: + type: string + rights: + type: array + items: + $ref: '#/components/schemas/DataAccessRight' + minItems: 1 + required: + - rights + anyOf: + - required: [entityName] + - required: [entityId] + + DataMngtSubsc: + description: > + Represents the stored data management and/or status information subscription related + information. + type: object + properties: + events: + type: array + items: + $ref: '#/components/schemas/DataMngtEvent' + minItems: 1 + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + repPeriodicity: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + required: + - events + - notifUri + + DataMngtNotif: + description: > + Represents a SEALDD Data Management and/or Status Information Notification. + type: object + properties: + events: + type: array + items: + $ref: '#/components/schemas/DataMngtEvent' + minItems: 1 + accessStats: + $ref: '#/components/schemas/DataAccessStats' + mngtStats: + $ref: '#/components/schemas/DataMngtStats' + required: + - events + anyOf: + - required: [accessStats] + - required: [mngtStats] + + DataAccessStats: + description: > + Represents data access statistics. + type: object + properties: + genAccessStats: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + detAccessStats: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minProperties: 1 + description: > + Represents the data access statistics of the stored data detailed per consumer SEALDD + entity. It contains how many times the stored data was accessed (i.e., retrieved or + updated) per SEALDD entity. + The key of the map shall be the name of the SEALDD entity, encoded using the EntityName + data type as specified in clause 6.2.6.3.3, to which the data access statistics provided + within the map value are + related. + anyOf: + - required: [genAccessStats] + - required: [detAccessStats] + + DataMngtStats: + description: > + Represents data management statistics. + type: object + properties: + genMngtStats: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + detMngtStats: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minProperties: 1 + description: > + Represents the data management statistics of the stored data detailed per consumer + SEALDD entity. It contains how many times the stored data was accessed for management + purposes (i.e., data update) per SEALDD entity. + The key of the map shall be the name of the SEALDD entity, encoded using the EntityName + data type as specified in clause 6.2.6.3.3, to which the data management statistics + provided within the map value are related. + anyOf: + - required: [genMngtStats] + - required: [detMngtStats] + + DataDelSubsc: + description: > + Represents a SEALDD Data Storage Delivery Subscription. + type: object + properties: + requestorId: + type: string + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTimeRo' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - requestorId + - notifUri + + DataDelSubscPatch: + description: > + Represents the requested modification to a SEALDD Data Storage Delivery Subscription. + type: object + properties: + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + + DataDelNotif: + description: > + Represents a SEALDD Data Storage Delivery Notification. + type: object + properties: + data: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + storageId: + type: string + oneOf: + - required: [data] + - required: [storageId] + + DataDelReq: + description: > + Represents a SEALDD Data Storage Delivery request. + type: object + properties: + targetId: + type: string + sealddServId: + type: string + storageId: + type: string + data: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - targetId + oneOf: + - required: [data] + - required: [storageId] + + +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + + EntityName: + anyOf: + - type: string + enum: + - SEALDD_SERVER + - SEALDD_CLIENT + - VAL_SERVER + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the name of a SEALDD entity. + Possible values are: + - SEALDD_SERVER: Indicates the SEALDD Server. + - SEALDD_CLIENT: Indicates the SEALDD Client. + - VAL_SERVER: Indicates the VAL Server. + + DataAccessRight: + anyOf: + - type: string + enum: + - RETRIEVE + - UPDATE + - DELETE + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the data access rights. + Possible values are: + - RETRIEVE: Indicates that the access right is data storage retrieval. + - UPDATE: Indicates that the access right is data storage update. + - DELETE: Indicates that the access right is data storage deletion. + + DataMngtEvent: + anyOf: + - type: string + enum: + - DATA_ACCESS_STATISTICS + - DATA_MNGT_STATISTICS + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the Data Management and (or) Status Information events. + Possible values are: + - DATA_ACCESS_STATISTICS: Indicates that the Data Management Event is data access statistics + (i.e., how often the stored data is accessed). + - DATA_MNGT_STATISTICS: Indicates that the Data Management Event is data management + statistics (i.e., how often the stored data is managed). + + +# Data types describing alternative data types or combinations of data types: +# + + DataStorageReq: + description: Represents a SEALDD Data Storage creation or reservation request. + oneOf: + - $ref: '#/components/schemas/DataStorage' + - $ref: '#/components/schemas/ReservReqData' diff --git a/TS29548_SDD_PolicyConfiguration.yaml b/TS29548_SDD_PolicyConfiguration.yaml new file mode 100644 index 0000000000000000000000000000000000000000..eb701ffcf655a0ae36bc3999bd155a3289ce7ff1 --- /dev/null +++ b/TS29548_SDD_PolicyConfiguration.yaml @@ -0,0 +1,397 @@ +openapi: 3.0.0 + +info: + title: SEALDD Server Policy Configuration Service + version: 1.0.0-alpha.2 + description: | + SEALDD Server Policy Configuration Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.548 V0.5.0; Service Enabler Architecture Layer for Verticals (SEAL); + SEAL Data Delivery (SEALDD) Server Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.548/ + +servers: + - url: '{apiRoot}/sdd-pc/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /configurations: + post: + summary: Request the creation of a Policy Configuration. + operationId: CreatePolicyConfig + tags: + - Policy Configurations (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyConfig' + responses: + '201': + description: > + Created. The Policy Configuration is successfully created and a representation of + the created Individual Policy Configuration resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyConfig' + headers: + Location: + description: > + Contains the URI of the created Individual Policy Configuration 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' + + /configurations/{configId}: + parameters: + - name: configId + in: path + description: > + Represents the identifier of the Individual Policy Configuration resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual Policy Configuration resource. + operationId: GetIndPolicyConfig + tags: + - Individual Policy Configuration (Document) + responses: + '200': + description: > + OK. The requested Individual Policy Configuration resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyConfig' + '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 Policy Configuration resource. + operationId: UpdateIndPolicyConfig + tags: + - Individual Policy Configuration (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyConfig' + responses: + '200': + description: > + OK. The Individual Policy Configuration resource is successfully updated and a + representation of the updated resource shall be returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyConfig' + '204': + description: > + No Content. The Individual Policy Configuration 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' + '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: Request the modification of an existing Individual Policy Configuration resource. + operationId: ModifyIndPolicyConfig + tags: + - Individual Policy Configuration (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PolicyConfigPatch' + responses: + '200': + description: > + OK. The Individual Policy Configuration resource is successfully modified and a + representation of the updated resource shall be returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyConfig' + '204': + description: > + No Content. The Individual Policy Configuration 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' + '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' + + delete: + summary: Request the deletion of an existing Individual Policy Configuration resource. + operationId: DeleteIndPolicyConfig + tags: + - Individual Policy Configuration (Document) + responses: + '204': + description: > + No Content. The Individual Policy Configuration 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' + '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' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + +# +# STRUCTURED DATA TYPES +# + + PolicyConfig: + description: > + Represents a SEALDD Policy Configuration. + type: object + properties: + appTrafficIds: + type: array + items: + type: string + minItems: 1 + valUeId: + type: string + sealddPol: + $ref: '#/components/schemas/SealddPolicy' + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTimeRo' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - appTrafficIds + - sealddPol + + PolicyConfigPatch: + description: > + Represents the requested modifications to a SEALDD Policy Configuration. + type: object + properties: + sealddPol: + $ref: '#/components/schemas/SealddPolicy' + + SealddPolicy: + description: > + Represents a SEALDD Policy. + type: object + properties: + qualGuarSets: + type: array + items: + $ref: '#/components/schemas/QualGuarPolicy' + minItems: 1 + qualOptimSets: + type: array + items: + $ref: '#/components/schemas/QualOptimPolicy' + minItems: 1 + bdwCtrlSets: + type: array + items: + $ref: '#/components/schemas/BdwCtrlPolicy' + minItems: 1 + anyOf: + - required: [qualGuarantee] + - required: [qualOptimSets] + - required: [bdwControl] + + +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + + QualGuarPolicy: + anyOf: + - type: string + enum: + - ESTABLISH_REDUNDANT_TRANS_PATH + - REESTABLISH_TRANS_PATH + - SWITCH_TO_BACKUP_TRANS_PATH + - CHANGE_SEALDD_SERVER + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the quality guarantee policy. + Possible values are: + - ESTABLISH_REDUNDANT_TRANS_PATH: Indicates that the quality guarantee action is to + establish a redundant transmission path. + - REESTABLISH_TRANS_PATH: Indicates that the quality guarantee action is to + reestablish the transmission path. + - SWITCH_TO_BACKUP_TRANS_PATH: Indicates that the quality guarantee action is to + switch to the backup transmission path. + - CHANGE_SEALDD_SERVER: Indicates that the quality guarantee action is to change the + connected SEALDD Server. + + QualOptimPolicy: + anyOf: + - type: string + enum: + - BACK_TO_SINGLE_TRANS_PATH + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the quality optimization policy. + Possible values are: + - BACK_TO_SINGLE_TRANS_PATH: Indicates that the quality optimization action is to switch + back to a single transmission path. + + BdwCtrlPolicy: + anyOf: + - type: string + enum: + - REALLOCATE_DL + - REALLOCATE_UL + - NOT_REALLOCATE_DL + - NOT_REALLOCATE_UL + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the bandwidth control policy. + Possible values are: + - REALLOCATE_DL: Indicates that the bandwidth control action is to reallocate the + bandwidth limit between different VAL users for DL traffic. + - REALLOCATE_UL: Indicates that the bandwidth control action is to reallocate the + bandwidth limit between different VAL users for UL traffic. + - NOT_REALLOCATE_DL: Indicates that the bandwidth control action is to not reallocate + the bandwidth limit between different VAL users for DL traffic. + - NOT_REALLOCATE_UL: Indicates that the bandwidth control action is to not reallocate + the bandwidth limit between different VAL users for UL traffic. + + +# Data types describing alternative data types or combinations of data types: +# + diff --git a/TS29548_SDD_Transmission.yaml b/TS29548_SDD_Transmission.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a5e61a9a8ebe3d8a8e1280cecd7467f53191adb0 --- /dev/null +++ b/TS29548_SDD_Transmission.yaml @@ -0,0 +1,413 @@ +openapi: 3.0.0 + +info: + title: SEALDD Server Data Transmission Service + version: 1.0.0-alpha.3 + description: | + SEALDD Server Data Transmission Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.548 V0.5.0; Service Enabler Architecture Layer for Verticals (SEAL); + SEAL Data Delivery (SEALDD) Server Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.548/ + +servers: + - url: '{apiRoot}/sdd-trans/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /{transType}/request-trans: + parameters: + - name: transType + in: path + description: > + Represents the requested transmission type. + required: true + schema: + $ref: '#/components/schemas/TransType' + + post: + summary: Request SEALDD enabled Regular or URLLC Data Transmission. + operationId: RequestTrans + tags: + - Request SEALDD Data Transmission + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TransReq' + responses: + '200': + description: > + OK. The SEALDD enabled Regular or URLLC application data transmission service request + was successfully received and processed. + content: + application/json: + schema: + $ref: '#/components/schemas/TransResp' + '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' + + /subscriptions: + post: + summary: Request the Creation of a new Connection Status Subscription. + operationId: CreateConnStatusSubsc + tags: + - Connection Status Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ConnStatusSubsc' + responses: + '201': + description: > + Successful case. The requested Connection Status Subscription resource is successfully + created and a representation of the created "Individual Connection Status Subscription" + resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/ConnStatusSubsc' + headers: + Location: + description: > + Contains the URI of the newly created Individual Connection Status Subscription + 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: + ConnStatusNotif: + '{$request.body#/notifUri}': + post: + summary: Notify a previously subscribed service consumer on SEALDD connection status event(s). + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ConnStatusNotif' + responses: + '204': + description: > + Successful case. The Connection Status Notification is successfully received. + '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' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + +# +# STRUCTURED DATA TYPES +# + + TransReq: + description: > + Represents the parameters to request the SEALDD enabled Regular or URLLC application data + transmission service. + type: object + properties: + valServerId: + type: string + valServiceId: + type: string + valTargetUeId: + type: string + valServerConnInfo: + $ref: '#/components/schemas/ConnInfo' + qosInfo: + $ref: '#/components/schemas/QosInfo' + valServerBdw: + $ref: '#/components/schemas/ValServBdw' + valUsersBdw: + $ref: '#/components/schemas/ValUsersBdw' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - valServerId + - valServerConnInfo + + TransResp: + description: > + Represents a SEALDD enabled Regular or URLLC application data transmission service response. + type: object + properties: + ddServerConnInfo: + $ref: '#/components/schemas/ConnInfo' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + ConnInfo: + description: > + Represents SEALDD Data transmission connection information. + type: object + properties: + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + port: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + uri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + oneOf: + - required: [ipv4Addr] + - required: [ipv6Addr] + - required: [uri] + + QosInfo: + description: > + Represents SEALDD related QoS requirements. + type: object + properties: + qosReference: + type: string + altQoSReferences: + type: array + items: + type: string + minItems: 1 + altQosReqs: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AlternativeServiceRequirementsData' + minItems: 1 + anyOf: + - required: [qosReference] + - required: [altQoSReferences] + - required: [altQosReqs] + - not: + required: [altQoSReferences, altQosReqs] + - not: + required: [qosReference, altQosReqs] + + ValServBdw: + description: > + Represents VAL Server related bandwidth information. + type: object + properties: + totalUlBdw: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bandwidth' + totalDlBdw: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bandwidth' + required: + - totalUlBdw + - totalDlBdw + + ValUsersBdw: + description: > + Represents VAL users related bandwidth information. + type: object + properties: + minUlBdw: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bandwidth' + minDlBdw: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bandwidth' + maxUlBdw: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bandwidth' + maxDlBdw: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bandwidth' + required: + - minUlBdw + - minDlBdw + - maxUlBdw + - maxDlBdw + + ConnStatusSubsc: + description: > + Represents a Connection Status Subscription. + type: object + properties: + events: + type: array + items: + $ref: '#/components/schemas/ConnStatusEvent' + minItems: 1 + description: > + Represents the subscribed event(s). + valServiceId: + type: string + valTgtUe: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + valServerConnInfo: + $ref: '#/components/schemas/ConnInfo' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - events + - valServerConnInfo + - notifUri + + ConnStatusNotif: + description: > + Represents a Connection Status Notification. + type: object + properties: + reports: + type: array + items: + $ref: '#/components/schemas/ConnStatusReport' + minItems: 1 + required: + - reports + + ConnStatusReport: + description: > + Represents a Connection Status Event report. + type: object + properties: + event: + $ref: '#/components/schemas/ConnStatusEvent' + valTgtUe: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + connEstData: + $ref: '#/components/schemas/ConnEstabData' + required: + - event + + ConnEstabData: + description: > + Represents SEALDD connection status establishment data. + type: object + properties: + comLifetime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + + +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + + ConnStatusEvent: + anyOf: + - type: string + enum: + - ESTABLISHED + - RELEASED + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents Connection Status Events. + Possible values are: + - ESTABLISHED: Indicates that the SEALDD connection is established. + - RELEASED: Indicates that the SEALDD connection is released. + + TransType: + anyOf: + - type: string + enum: + - regular + - urllc + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the requested transmission type. + Possible values are: + - regular: Indicates that the requested transmission type is Regular transmission. + - urllc: Indicates that the requested transmission type is URLLC transmission. + + +# Data types describing alternative data types or combinations of data types: +# + diff --git a/TS29548_SDD_TransmissionQualityMeasurement.yaml b/TS29548_SDD_TransmissionQualityMeasurement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a3ef4043dd9b11f2980994721e3b57c00d6919db --- /dev/null +++ b/TS29548_SDD_TransmissionQualityMeasurement.yaml @@ -0,0 +1,678 @@ +openapi: 3.0.0 + +info: + title: SEALDD Server Data Transmission Quality Measurement Service + version: 1.0.0-alpha.4 + description: | + SEALDD Server Data Transmission Quality Measurement Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.548 V0.5.0; Service Enabler Architecture Layer for Verticals (SEAL); + SEAL Data Delivery (SEALDD) Server Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.548/ + +servers: + - url: '{apiRoot}/sdd-tqm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /subscriptions: + post: + summary: Request the creation of a Transmission Quality Measurement Subscription. + operationId: CreateTransQualMeasSubsc + tags: + - Transmission Quality Measurement Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TransQualMeasSubsc' + responses: + '201': + description: > + Created. The Transmission Quality Measurement Subscription is successfully created + and a representation of the created Individual Transmission Quality Measurement + Subscription resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TransQualMeasSubsc' + headers: + Location: + description: > + Contains the URI of the created Individual Transmission Quality Measurement + Subscription 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: + TransQualMeasNotif: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TransQualMeasNotif' + responses: + '204': + description: > + No Content. The Transmission Quality Measurement notification is successfully + received and acknowledged. + '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' + + /subscriptions/{subscriptionId}: + parameters: + - name: subscriptionId + in: path + description: > + Represents the identifier of the Individual Transmission Quality Measurement Subscription + resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual Transmission Quality Measurement Subscription resource. + operationId: GetIndTransQualMeasSubsc + tags: + - Individual Transmission Quality Measurement Subscription (Document) + responses: + '200': + description: > + OK. The requested Individual Transmission Quality Measurement Subscription resource + shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TransQualMeasSubsc' + '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 Transmission Quality Measurement Subscription resource. + operationId: UpdateIndTransQualMeasSubsc + tags: + - Individual Transmission Quality Measurement Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TransQualMeasSubsc' + responses: + '200': + description: > + OK. The Individual Transmission Quality Measurement Subscription resource is + successfully updated and a representation of the updated resource shall be returned in + the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/TransQualMeasSubsc' + '204': + description: > + No Content. The Individual Transmission Quality Measurement 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' + '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: Request the modification of an existing Individual Transmission Quality Measurement Subscription resource. + operationId: ModifyIndTransQualMeasSubsc + tags: + - Individual Transmission Quality Measurement Subscription (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/TransQualMeasSubscPatch' + responses: + '200': + description: > + OK. The Individual Transmission Quality Measurement Subscription resource is + successfully modified and a representation of the updated resource shall be returned in + the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/TransQualMeasSubsc' + '204': + description: > + No Content. The Individual Transmission Quality Measurement 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' + '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' + + delete: + summary: Request the deletion of an existing Individual Transmission Quality Measurement Subscription resource. + operationId: DeleteIndTransQualMeasSubsc + tags: + - Individual Transmission Quality Measurement Subscription (Document) + responses: + '204': + description: > + No Content. The Individual Transmission Quality Measurement 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' + '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' + + /reports: + get: + summary: Retrieve Historical Transmission Quality Measurement Report(s). + operationId: GetHistTransQualMeasReports + tags: + - Historical Transmission Quality Measurement Reports (Collection) + parameters: + - name: app-traffic-ids + in: query + required: true + schema: + type: array + items: + type: string + minItems: 1 + - name: val-group-id + in: query + required: false + schema: + type: string + - name: val-ue-ids-list + in: query + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: all-val-ues + in: query + required: false + schema: + type: boolean + default: false + - name: supp-feat + in: query + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: > + OK. The requested Historical Transmission Quality Measurement Report(s) shall be + returned. + content: + application/json: + schema: + $ref: '#/components/schemas/HistTransQualMeasReports' + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + +# +# STRUCTURED DATA TYPES +# + + TransQualMeasSubsc: + description: > + Represents a Transmission Quality Measurement Subscription. + type: object + properties: + appTrafficIds: + type: array + items: + type: string + minItems: 1 + valGroupId: + type: string + valUeIdsList: + type: array + items: + type: string + minItems: 1 + allValUesInd: + type: boolean + default: false + measConds: + type: array + items: + $ref: 'TS29549_SS_Events.yaml#/components/schemas/ValidityConditions' + minItems: 1 + reqs: + type: object + additionalProperties: + $ref: '#/components/schemas/TransQualMeasReq' + minProperties: 1 + nullable: true + description: > + Represents the transmission quality measurement reporting requirements of the + subscription. + The key of the map shall be any unique string encoded value. + subsExpTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTimeRo' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - appTrafficIds + - reqs + - notifUri + oneOf: + - required: [valGroupId] + - required: [valUeIdsList] + - required: [allValUesInd] + + TransQualMeasReq: + description: > + Represents Transmission Quality Measurement requirements. + type: object + properties: + measId: + type: array + items: + $ref: '#/components/schemas/MeasurementId' + minItems: 1 + repType: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/NotificationMethod' + repPeriodicity: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + repGranularity: + $ref: '#/components/schemas/RepGranularity' + measWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + measExpTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + repCriteria: + $ref: '#/components/schemas/TransQualMeasCriteria' + required: + - measId + + TransQualMeasSubscPatch: + description: > + Represents the requested modifications to a Transmission Quality Measurement Subscription. + type: object + properties: + measConds: + type: array + items: + $ref: 'TS29549_SS_Events.yaml#/components/schemas/ValidityConditions' + minItems: 1 + reqs: + type: object + additionalProperties: + $ref: '#/components/schemas/TransQualMeasReq' + minProperties: 1 + nullable: true + description: > + Represents the transmission quality measurement reporting requirements of the + subscription. + The key of the map shall be any unique string encoded value and shall be set to the same + value as the one provided during the creation of the transmission quality measurement + subscription. + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + + TransQualMeasNotif: + description: > + Represents a Transmission Quality Measurement Notification. + type: object + properties: + reports: + type: array + items: + $ref: '#/components/schemas/TransQualMeasReport' + minItems: 1 + required: + - reports + + TransQualMeasReport: + description: > + Represents a Transmission Quality Measurement report. + type: object + properties: + measId: + type: array + items: + $ref: '#/components/schemas/MeasurementId' + minItems: 1 + valUeIds: + type: array + items: + type: string + minItems: 1 + measData: + $ref: '#/components/schemas/TransQualMeasData' + required: + - measId + + TransQualMeasCriteria: + description: > + Represents the Transmission Quality Measurement reporting criteria. + type: object + properties: + minLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + maxLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + minBitRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + maxBitRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + minPackLossRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + maxPackLossRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + minJitter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32Rm' + maxJitter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32Rm' + anyOf: + - required: [minLatency] + - required: [maxLatency] + - required: [minBitRate] + - required: [maxBitRate] + - required: [minPackLossRate] + - required: [maxPackLossRate] + - required: [minJitter] + - required: [maxJitter] + + TransQualMeasData: + description: > + Represents the Transmission Quality Measurement data. + type: object + properties: + minLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + maxLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + avgLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + stdDevLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + kPercLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minBitRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxBitRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + avgBitRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + stdDevBitRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + kPercBitRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + minPackLossRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + maxPackLossRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + avgPackLossRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + stdDevPackLossRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + kPercPackLossRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + minJitter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + maxJitter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + avgJitter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + stdDevJitter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + kPercJitter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + measPeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + timestamp: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + anyOf: + - required: [minLatency] + - required: [maxLatency] + - required: [avgLatency] + - required: [minBitRate] + - required: [maxBitRate] + - required: [avgBitRate] + - required: [minPackLossRate] + - required: [maxPackLossRate] + - required: [avgPackLossRate] + - required: [minJitter] + - required: [maxJitter] + - required: [avgJitter] + + HistTransQualMeasReports: + description: > + Represents Historical Transmission Quality Measurement Report(s). + type: object + properties: + reports: + type: array + items: + $ref: '#/components/schemas/TransQualMeasReport' + minItems: 0 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - reports + + +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + + MeasurementId: + anyOf: + - type: string + enum: + - LATENCY + - BITRATE + - PACKET_LOSS_RATE + - JITTER + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the transmission quality measurement type. + Possible values are: + - LATENCY: Indicates that the requested/reported measurement is the latency. + - BITRATE: Indicates that the requested/reported measurement is the bit rate. + - PACKET_LOSS_RATE: Indicates that the requested/reported measurement is the packet loss + rate. + - JITTER: Indicates that the requested/reported measurement is the jitter. + + RepGranularity: + anyOf: + - type: string + enum: + - INDIVIDUAL_VAL_UE + - VAL_GROUP + - ALL_UES + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the reporting granularity. + Possible values are: + - INDIVIDUAL_VAL_UE: Indicates that the granularity is individual VAL UE. + - VAL_GROUP: Indicates that the granularity is VAL Group. + - ALL_UES: Indicates that the granularity is all VAL UE(s). + + +# Data types describing alternative data types or combinations of data types: +# + diff --git a/TS29549_SS_Events.yaml b/TS29549_SS_Events.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4df2ea6c0bc7f3f88111724fc23224b0583306b2 --- /dev/null +++ b/TS29549_SS_Events.yaml @@ -0,0 +1,850 @@ +openapi: 3.0.0 + +info: + title: SS_Events + description: | + API for SEAL Events management. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.2.0-alpha.3" + +externalDocs: + description: > + 3GPP TS 29.549 V18.3.0 Service Enabler Architecture Layer for Verticals (SEAL); + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.549/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/ss-events/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 + +paths: + /subscriptions: + post: + description: Creates a new individual SEAL Event Subscription. + operationId: CreateSealEventSubsc + tags: + - SEAL Events Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SEALEventSubscription' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SEALEventNotification' + responses: + '204': + description: No Content (successful 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: SEAL Events subscription resource created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/SEALEventSubscription' + 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' + + /subscriptions/{subscriptionId}: + delete: + description: Deletes an individual SEAL Event Subscription. + operationId: DeleteIndSealEventSubsc + tags: + - Individual SEAL Events Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Identifier of an individual Events Subscription + required: true + schema: + type: string + responses: + '204': + description: > + The individual SEAL Events Subscription matching the subscriptionId is 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' + patch: + description: Modify an existing SEAL Event Subscription. + operationId: ModifyIndSealEventSubsc + tags: + - Individual SEAL Events Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Identifier of an individual Events Subscription + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/SEALEventSubscriptionPatch' + responses: + '200': + description: > + The definition SEAL event subscription is modified successfully and + a representation of the updated service API is returned in the request body. + content: + application/json: + schema: + $ref: '#/components/schemas/SEALEventSubscription' + '204': + description: No Content. The SEAL Event Subscription is 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' + put: + description: Replace an existing SEAl event subscription. + operationId: UpdateIndSealEventSubsc + tags: + - Individual SEAL Events Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Identifier of an individual Events Subscription + required: true + schema: + type: string + requestBody: + description: Individual SEAL events subscription to be replaced. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SEALEventSubscription' + responses: + '200': + description: SEAL Event subscription updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/SEALEventSubscription' + '204': + description: No Content. Individual SEAL event subscription was updated 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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + SEALEventSubscription: + description: Represents an individual SEAL Event Subscription resource. + type: object + properties: + subscriberId: + type: string + description: String identifying the subscriber of the event. + eventSubs: + type: array + items: + $ref: '#/components/schemas/EventSubscription' + minItems: 1 + description: Subscribed events. + eventReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + requestTestNotification: + type: boolean + description: > + Set to true by Subscriber to request the SEAL server to send a test notification. + Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + eventDetails: + type: array + items: + $ref: '#/components/schemas/SEALEventDetail' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - subscriberId + - eventSubs + - eventReq + - notificationDestination + + SEALEventSubscriptionPatch: + description: Represents the partial update of individual SEAL Event Subscription resource. + type: object + properties: + eventSubs: + type: array + items: + $ref: '#/components/schemas/EventSubscription' + minItems: 1 + description: Subscribed events. + eventReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + + SEALEventNotification: + description: Represents notification information of a SEAL Event. + type: object + properties: + subscriptionId: + type: string + description: Identifier of the subscription resource. + eventDetails: + type: array + items: + $ref: '#/components/schemas/SEALEventDetail' + minItems: 1 + description: Detailed notifications of individual events. + required: + - subscriptionId + - eventDetails + + EventSubscription: + description: Represents the subscription to a single SEAL event. + type: object + properties: + eventId: + $ref: '#/components/schemas/SEALEvent' + valGroups: + type: array + items: + $ref: '#/components/schemas/VALGroupFilter' + minItems: 1 + description: > + Each element of the array represents the VAL group identifier(s) of a VAL service + that the subscriber wants to know in the interested event. + identities: + type: array + items: + $ref: '#/components/schemas/IdentityFilter' + minItems: 1 + description: > + Each element of the array represents the VAL User / UE IDs of a VAL service + that the event subscriber wants to know in the interested event. + monFltr: + type: array + items: + $ref: '#/components/schemas/MonitorFilter' + minItems: 1 + description: > + List of event monitoring details that the subscriber wishes to mmonitor the VAL UEs, + VAL group and/or VAL service. + areaInt: + type: array + items: + $ref: '#/components/schemas/MonitorLocationInterestFilter' + minItems: 1 + description: > + Represents the list of VAL User / UE IDs and the area of interest information + which the subscriber wishes to monitor the location deviation of VAL User / UEs. + locAreaMon: + type: array + items: + $ref: '#/components/schemas/MonLocAreaInterestFltr' + minItems: 1 + description: > + Each element represents the location area monitoring details to monitor the + VA UEs moving in and out of the provided location area. + partialFailRep: + $ref: '#/components/schemas/PartialEventSubscFailRep' + required: + - eventId + + SEALEventDetail: + description: Represents the SEAL event details. + type: object + properties: + eventId: + $ref: '#/components/schemas/SEALEvent' + lmInfos: + type: array + items: + $ref: '#/components/schemas/LMInformation' + minItems: 1 + valGroupDocuments: + type: array + items: + $ref: 'TS29549_SS_GroupManagement.yaml#/components/schemas/VALGroupDocument' + minItems: 1 + description: > + The VAL groups documents with modified membership and configuration information. + profileDocs: + type: array + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ProfileDoc' + minItems: 1 + description: Updated profile information associated with VAL Users or VAL UEs. + msgFltrs: + type: array + items: + $ref: '#/components/schemas/MessageFilter' + minItems: 1 + description: > + The message filter information for various member VAL User or UEs of the VAL group. + monRep: + type: array + items: + $ref: '#/components/schemas/MonitorEventsReport' + minItems: 1 + description: The events reports with details of the events related to the VAL UE(s). + locAdhr: + type: array + items: + $ref: '#/components/schemas/LocationDevMonReport' + minItems: 1 + description: > + The location deviation information for the interested VAL User ID or UE IDs + in a given location. + tempGroupInfo: + $ref: '#/components/schemas/TempGroupInfo' + locAreaMonRep: + type: array + items: + $ref: '#/components/schemas/LocationAreaMonReport' + minItems: 1 + description: The location area monitoring of the given area of interest. + required: + - eventId + + VALGroupFilter: + description: Represents a filter of VAL group identifiers belonging to a VAL service. + type: object + properties: + valSvcId: + type: string + description: Identity of the VAL service + valGrpIds: + type: array + items: + type: string + minItems: 1 + description: > + VAL group identifiers that event subscriber wants to know in the interested event. + required: + - valGrpIds + + IdentityFilter: + description: Represents a filter of VAL User / UE identities belonging to a VAL service. + type: object + properties: + valSvcId: + type: string + description: Identity of the VAL service + valTgtUes: + type: array + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + minItems: 1 + description: > + VAL User IDs or VAL UE IDs that the event subscriber wants to know + in the interested event. + suppLoc: + type: boolean + description: Set to true by Subscriber to request the supplementary location information. + locQoS: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LocationQoS' + + LMInformation: + description: Represents the location information for a VAL User ID or a VAL UE ID. + type: object + properties: + valTgtUe: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + locInfo: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + valSvcId: + type: string + description: Identity of the VAL service + required: + - locInfo + - valTgtUe + + MessageFilter: + description: Represents the message filters applicable to a VAL User ID or VAL UE ID. + type: object + properties: + reqUe: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + tgtUe: + type: array + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + minItems: 1 + description: List of VAL User or UE IDs whose message to be sent. + maxMsgs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + scheds: + type: array + items: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/ScheduledCommunicationTime' + minItems: 1 + description: Time frame associated with total number of messages. + msgTypes: + type: array + items: + type: string + minItems: 1 + description: List of message types to be sent to VAL UE. + required: + - reqUe + + MonitorFilter: + description: Represents the event monitoring filters applicable to a VAL User ID or VAL UE ID. + type: object + properties: + idnts: + type: array + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + minItems: 1 + description: List of VAL User or UE IDs whose events monitoring is requested. + valSvcId: + type: string + description: Identity of the VAL service. + valGrpId: + type: string + description: Identity of the group of the target UEs. + profId: + type: string + description: The monitoring profile ID identifying a list of monitoring, analytics events. + valCnds: + type: array + items: + $ref: '#/components/schemas/ValidityConditions' + minItems: 1 + description: The temporal,spatial conditions for the events to be considered valid. + evntDets: + type: array + items: + $ref: '#/components/schemas/MonitorEvents' + minItems: 1 + description: List of monitoring, analytics events to be monitored. + + MonitorEvents: + description: List of event types to be monitored in the context of events monitoring service. + type: object + properties: + cnEvnts: + type: array + items: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/MonitoringType' + minItems: 1 + description: List of monitoring events related to VAL UE. + anlEvnts: + type: array + items: + $ref: 'TS29522_AnalyticsExposure.yaml#/components/schemas/AnalyticsEvent' + minItems: 1 + description: List of analytics events related to VAL UE. + + MonitorEventsReport: + description: List of monitoring and/or analytics events related to VAL UE. + type: object + properties: + tgtUe: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + evnts: + type: array + items: + $ref: '#/components/schemas/MonitorEvents' + minItems: 1 + description: List of monitoring and analytics events related to VAL UE. + required: + - tgtUe + - evnts + + ValidityConditions: + description: List of monitoring and/or analytics events related to VAL UE. + type: object + properties: + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + tmWdws: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + minItems: 1 + description: Time window validity conditions. + + MonitorLocationInterestFilter: + description: Represents the location monitoring filter information. + type: object + properties: + tgtUes: + type: array + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + minItems: 1 + description: List of VAL Users or UE IDs for which location monitoring is requested. + locInt: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + valSvcId: + description: Identifier of the VAL service area to monitor the location deviation. + type: string + notInt: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - tgtUes + - notInt + oneOf: + - required: [locInt] + - required: [valSrvId] + + LocationDevMonReport: + description: Location deviation monitoring report. + type: object + properties: + tgtUes: + type: array + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + minItems: 1 + description: List of VAL Users or UE IDs for which report is related to. + locInfo: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + notifType: + $ref: '#/components/schemas/LocDevNotification' + required: + - tgtUes + - locInfo + - notifType + + TempGroupInfo: + description: Represents the created temporary VAL group information. + type: object + properties: + valGrpIds: + type: array + items: + type: string + minItems: 1 + tempValGrpId: + type: string + valServIds: + type: array + items: + type: string + minItems: 1 + required: + - valGrpIds + - tempValGrpId + + MonLocAreaInterestFltr: + description: Filter information indicate the area of interest and triggering events. + type: object + properties: + locInfoCri: + $ref: '#/components/schemas/LocationInfoCriteria' + trigEvnts: + type: array + items: + $ref: '#/components/schemas/MonLocTriggerEvent' + minItems: 1 + description: Triggering events when to send information. + required: + - locInfoCri + + LocationInfoCriteria: + description: > + Geographic location and reference UE details, where the UEs moving in and out + to be monitored. + type: object + properties: + geoArea: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + refUe: + $ref: '#/components/schemas/ReferenceUEDetail' + oneOf: + - required: [geoArea] + - required: [refUe] + + ReferenceUEDetail: + description: Reference UE details, where the UEs moving in and out to be monitored. + type: object + properties: + valTgtUe: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + proxRange: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + proxRangeFrac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + required: + - valTgtUe + - proxRange + + LocationAreaMonReport: + description: Event report to notify the VAL UEs moving in or out from a given location. + type: object + properties: + curPreUEs: + type: array + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + minItems: 1 + description: List of identities of all VAL UEs present in the given location area. + moveInOutUEs: + $ref: '#/components/schemas/MoveInOutUEDetails' + trigEvnt: + $ref: '#/components/schemas/MonLocTriggerEvent' + + MoveInOutUEDetails: + description: List of UEs moved in and out. + type: object + properties: + moveInUEs: + type: array + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + minItems: 1 + description: > + List of identities of VAL UEs who moved in to given location area + since previous notification. + moveOutUEs: + type: array + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + minItems: 1 + description: > + List of identities of VAL UEs who moved out of the given location area + since previous notification. + + PartialEventSubscFailRep: + description: Represents the partial failure report during the subscription creation or update. + type: object + properties: + valTgtUes: + type: array + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + minItems: 1 + description: > + List of VAL user(s) / VAL UE(s) whose identifier(s) is not found. + valGrpIds: + type: array + items: + type: string + minItems: 1 + description: > + List of VAL group(s) whose identifier(s) is not found. + oneOf: + - required: [valTgtUes] + - required: [valGrpIds] + +# Simple data types and Enumerations + + SEALEvent: + anyOf: + - type: string + enum: + - LM_LOCATION_INFO_CHANGE + - GM_GROUP_INFO_CHANGE + - CM_USER_PROFILE_CHANGE + - GM_GROUP_CREATE + - NRM_MONITOR_UE_USER_EVENTS + - LM_LOCATION_DEVIATION_MONITOR + - GM_TEMP_GROUP_FORMATION + - LM_LOCATION_AREA_MONITOR + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the type of SEAL events that can be subscribed. + Possible values are: + - LM_LOCATION_INFO_CHANGE: Events related to the location information of VAL Users or + VAL UEs from the Location Management Server. + - GM_GROUP_INFO_CHANGE: Events related to the modification of VAL group membership + and configuration information from the Group Management Server. + - CM_USER_PROFILE_CHANGE: Events related to update of user profile information from + the Configuration Management Server. + - GM_GROUP_CREATE: Events related to creation of new VAL groups from the Group + Mananagement Server. + - NRM_MONITOR_UE_USER_EVENTS: Monitoring and analytic events related to VAL UEs, + users or VAL group, from the Network Resource Management Server. + - LM_LOCATION_DEVIATION_MONITOR: Events from Location Management server, + related to the deviation of the VAL User(s) / UE(s) location from an area of interest. + - GM_TEMP_GROUP_FORMATION: Events related to the formation of new temporary VAL groups + from the Group Management Server. + - LM_LOCATION_AREA_MONITOR: Events from Location Management server, related to the list + of UEs moving in or moving out of the specific location. + + LocDevNotification: + anyOf: + - type: string + enum: + - NOTIFY_MISMATCH_LOCATION + - NOTIFY_ABSENCE + - NOTIFY_PRESENCE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Possible values are: + Enumeration of location deviation notification reports. + - NOTIFY_MISMATCH_LOCATION: This value indicates that the location information of + the VAL UE(s) from the SEAL LM client and the core network are not matching. + - NOTIFY_ABSENCE: This value indicates that the current location information of + the VAL UE(s)is deviating from the VAL server's area of interest. + - NOTIFY_PRESENCE: This value indicates that the current location information of + the VAL UE(s) is within the VAL server's area of interest. + + MonLocTriggerEvent: + anyOf: + - type: string + enum: + - DISTANCE_TRAVELLED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Identifies the triggering event in the location area monitor filtering. + Possible values are: + - DISTANCE_TRAVELLED: This value indicates the trigger event for the location area + monitoring based on the distance travelled by the reference UE. diff --git a/TS29549_SS_GroupManagement.yaml b/TS29549_SS_GroupManagement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d08356a84e8024bbeac4ffa5a77223e0a63b9b72 --- /dev/null +++ b/TS29549_SS_GroupManagement.yaml @@ -0,0 +1,421 @@ +openapi: 3.0.0 + +info: + title: SS_GroupManagement + description: | + API for SEAL Group management. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.2.0-alpha.1" + +externalDocs: + description: > + 3GPP TS 29.549 V18.1.0 Service Enabler Architecture Layer for Verticals (SEAL); + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.549/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/ss-gm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 + +paths: + /group-documents: + post: + description: Creates a new VAL group document. + operationId: CreateValGroupDoc + tags: + - VAL Group Documents (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/VALGroupDocument' + responses: + '201': + description: VAL group created sucessfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VALGroupDocument' + 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' + get: + description: Retrieves VAL group documents satisfying filter criteria + operationId: RetrieveValGroupDocs + tags: + - VAL Group Documents (Collection) + parameters: + - name: val-group-id + in: query + description: String identifying the VAL group. + schema: + type: string + - name: val-service-id + in: query + description: String identifying the Val service. + schema: + type: string + responses: + '200': + description: List of VAL group documents matching the query parameters in the request. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/VALGroupDocument' + 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' + + /group-documents/{groupDocId}: + get: + description: Retrieves VAL group information satisfying filter criteria. + operationId: RetrieveIndValGroupDoc + tags: + - Individual VAL Group Document (Document) + parameters: + - name: groupDocId + in: path + description: String identifying an individual VAL group document resource. + required: true + schema: + type: string + - name: group-members + in: query + description: > + When set to true indicates the group management server to send the members + list information of the VAL group. + schema: + type: boolean + - name: group-configuration + in: query + description: > + When set to true indicates the group management server to send the group + configuration information of the VAL group. + schema: + type: boolean + responses: + '200': + description: > + The VAL group information based on the request from the VAL server. Includes + VAL group members list if group-members flag is set to true in the request, + VAL group configuration information if the group-configuration flag is set to + true in the request, VAL group identifier, whole VAL group document resource + if both group-members and group-configuration flags are omitted/set to false + in the request. + content: + application/json: + schema: + $ref: '#/components/schemas/VALGroupDocument' + '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: + description: Updates an individual VAL group document. + operationId: UpdateIndValGroupDoc + tags: + - Individual VAL Group Document (Document) + parameters: + - name: groupDocId + in: path + description: String identifying an individual VAL group document resource + required: true + schema: + type: string + requestBody: + description: VAL group document to be updated in Group management server. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/VALGroupDocument' + responses: + '200': + description: VAL group document updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VALGroupDocument' + '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: + description: Deletes a VAL Group. + operationId: DeleteIndValGroupDoc + tags: + - Individual VAL Group Document (Document) + parameters: + - name: groupDocId + in: path + description: String identifying an individual VAL group document resource. + required: true + schema: + type: string + responses: + '204': + description: The individual VAL group matching groupDocId was 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' + patch: + description: Modify an existing VAL Group document. + operationId: ModifyIndValGroupDoc + tags: + - Individual VAL Group Document (Document) + parameters: + - name: groupDocId + in: path + description: Identifier of an individual VAL group document. + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/VALGroupDocumentPatch' + responses: + '200': + description: > + The individual VAL Group document is modified successfully and a + representation of the updated VAL Group document is returned in the request body. + content: + application/json: + schema: + $ref: '#/components/schemas/VALGroupDocument' + '204': + description: No Content. The individual VAL group document is 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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + VALGroupDocument: + description: Represents details of the VAL group document information. + type: object + properties: + valGroupId: + type: string + description: The VAL group idenitity. + grpDesc: + type: string + description: The text description of the VAL group. + members: + type: array + description: The list of VAL User IDs or VAL UE IDs, which are members of the VAL group. + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + minItems: 1 + valGrpConf: + type: string + description: Configuration data for the VAL group. + valServiceIds: + type: array + description: The list of VAL services enabled on the group. + items: + type: string + minItems: 1 + valSvcInf: + type: string + description: VAL service specific information. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + locInfo: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + addLocInfo: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + valSvcAreaId: + type: string + description: Identity of the VAL service area. + extGrpId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + com5GLanType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + required: + - valGroupId + + VALGroupDocumentPatch: + description: Represents details of the partial update of VAL group document information. + type: object + properties: + grpDesc: + type: string + description: The text description of the VAL group. + members: + type: array + description: The list of VAL User IDs or VAL UE IDs, which are members of the VAL group. + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + minItems: 1 + valGrpConf: + type: string + description: Configuration data for the VAL group. + valServiceIds: + type: array + description: The list of VAL services enabled on the group. + items: + type: string + minItems: 1 + locInfo: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + addLocInfo: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + valSvcAreaId: + type: string + description: Identity of the VAL service area. + extGrpId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + com5GLanType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' diff --git a/TS29549_SS_IdmParameterProvisioning.yaml b/TS29549_SS_IdmParameterProvisioning.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8abf9947930f1c4b067559aa2bf39b83d464b566 --- /dev/null +++ b/TS29549_SS_IdmParameterProvisioning.yaml @@ -0,0 +1,378 @@ +openapi: 3.0.0 + +info: + title: SS_IdmParameterProvisioning + description: | + API for SEAL Identity management. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.0.0-alpha.1" + +externalDocs: + description: > + 3GPP TS 29.549 V18.4.0 Service Enabler Architecture Layer for Verticals (SEAL); + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.549/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/ss-ipp/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 + +paths: + /configurations: + post: + description: Provisions VAL Services configuration information. + operationId: CreateValServiceConf + tags: + - VAL Services Configurations (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/VALServicesConfig' + responses: + '201': + description: VAL services configuration created sucessfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VALServicesConfig' + 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' + + get: + description: Retrieves VAL services configuration satisfying filter criteria + operationId: RetrieveValServiceConf + tags: + - VAL Services Configurations (Collection) + parameters: + - name: val-server-id + in: query + description: String identifying the VAL server. + required: false + schema: + type: string + - name: config-ids + in: query + description: Identifying the list of the val services configuration resources. + required: false + schema: + type: array + items: + type: string + minItems: 1 + responses: + '200': + description: List of VAL services configurations matching the query parameters in the request. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/VALServicesConfig' + 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' + + /configurations/{confId}: + get: + description: Retrieves Individual VAL services configuration information. + operationId: RetrieveIndValServicesConf + tags: + - Individual VAL Services Configuration (Document) + parameters: + - name: confId + in: path + description: String identifying an individual VAL services configuration resource. + required: true + schema: + type: string + responses: + '200': + description: The whole Individual VAL services configuration resource. + content: + application/json: + schema: + $ref: '#/components/schemas/VALServicesConfig' + '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: + description: Updates an individual VAL services configuration resource. + operationId: UpdateIndValServicesConf + tags: + - Individual VAL Services Configuration (Document) + parameters: + - name: confId + in: path + description: String identifying an individual VAL services configuration resource + required: true + schema: + type: string + requestBody: + description: VAL services configuration to be updated in IM server. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/VALServicesConfig' + responses: + '200': + description: VAL services configuration updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VALServicesConfig' + '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' + + patch: + description: Modify an existing VAL services configuration. + operationId: ModifyIndValServicesConf + tags: + - Individual VAL Services Configuration (Document) + parameters: + - name: confId + in: path + description: Identifier of an individual VAL services configuration resource. + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/VALServicesConfigPatch' + responses: + '200': + description: > + The individual VAL services configuration resource is modified successfully and a + representation of the updated VAL services configuration resource is returned in + the request body. + content: + application/json: + schema: + $ref: '#/components/schemas/VALServicesConfig' + '204': + description: No Content. The individual VAL services configuration is 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: + description: Deletes a VAL Services Configuration. + operationId: DeleteIndValServicesConf + tags: + - Individual VAL Services Configuration (Document) + parameters: + - name: confId + in: path + description: String identifying an individual VAL Service Configuration resource. + required: true + schema: + type: string + responses: + '204': + description: The individual VAL services configuration matching confId was 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: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + VALServicesConfig: + description: Represents details of the VAL services configuration information. + type: object + properties: + valServerId: + type: string + description: The Identifier of the VAL server provisioning the VAL services configuration. + valSvcConf: + type: array + description: The list of VAL service parameters provisioned. + items: + $ref: '#/components/schemas/VALServiceParams' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - valServerId + - valSvcConf + + VALServiceParams: + description: Represents details of VAL service parameters information. + type: object + properties: + valServiceId: + type: string + description: The identifier of the VAL service. + idList: + type: array + description: The list of VAL User IDs or VAL UE IDs provisioned to the VAL service. + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + minItems: 1 + required: + - valServiceId + - idList + + VALServicesConfigPatch: + description: Represents details of the partial update of VAL service configuration information. + type: object + properties: + valSvcConf: + type: array + description: The list of VAL service parameters provisioned. + items: + $ref: '#/components/schemas/VALServiceParams' + minItems: 1 diff --git a/TS29549_SS_KeyInfoRetrieval.yaml b/TS29549_SS_KeyInfoRetrieval.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0214eab209a0498ab7fe931b3e3cb75d851905cf --- /dev/null +++ b/TS29549_SS_KeyInfoRetrieval.yaml @@ -0,0 +1,109 @@ +openapi: 3.0.0 + +info: + title: SS_KeyInfoRetrieval + description: | + API for SEAL Key Information Retrieval. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.1.1" + +externalDocs: + description: > + 3GPP TS 29.549 V17.6.0 Service Enabler Architecture Layer for Verticals (SEAL); + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.549/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/ss-kir/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 + +paths: + /key-records: + get: + description: Retrieve key management information specific to VAL service. + operationId: RetrieveKeyMgmtInfo + tags: + - Key Records (Collection) + parameters: + - name: val-service-id + in: query + description: String identifying an individual VAL service + required: true + schema: + type: string + - name: val-tgt-ue + in: query + description: Identifying a VAL target. + required: false + schema: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + responses: + '200': + description: The key management information of the VAL service, VAL User or VAL UE. + content: + application/json: + schema: + $ref: '#/components/schemas/ValKeyInfo' + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + ValKeyInfo: + description: > + Represents key management information associated with VAL server, VAL user or VAL UE. + type: object + properties: + userUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + skmsId: + type: string + description: String identifying the key management server. + valService: + type: string + description: Unique identifier of a VAL Service. + valTgtUe: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + keyInfo: + type: string + description: Key management information specific to VAL service, VAL User or VAL UE. + required: + - userUri + - valService + - keyInfo diff --git a/TS29549_SS_LocationAreaInfoRetrieval.yaml b/TS29549_SS_LocationAreaInfoRetrieval.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a922c05d598f5cb0624aeab2af02c1f2a10d8ceb --- /dev/null +++ b/TS29549_SS_LocationAreaInfoRetrieval.yaml @@ -0,0 +1,100 @@ +openapi: 3.0.0 + +info: + title: SS_LocationAreaInfoRetrieval + description: | + API for SEAL Location Area Info Retrieval. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.1.0-alpha.2" + +externalDocs: + description: > + 3GPP TS 29.549 V18.3.0 Service Enabler Architecture Layer for Verticals (SEAL); + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.549/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/ss-lair/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 + +paths: + /location-retrievals: + get: + description: > + Retrieve the UE(s) information in an application defined proximity range of a location. + operationId: RetrieveUeLocInfo + tags: + - Location Information (Collection) + parameters: + - name: location-info + in: query + description: Location information around which the UE(s) information is requested. + required: true + schema: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + - name: val-svc-area-id + in: query + description: > + The val service area identifier around which which the UE(s) information is requested. + schema: + type: string + - name: range + in: query + description: > + The range information over which the UE(s) information is required, + expressed in meters. + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + responses: + '200': + description: > + The UE(s) information in an application defined proximity range of a location. + content: + application/json: + schema: + type: array + items: + $ref: 'TS29549_SS_Events.yaml#/components/schemas/LMInformation' + minItems: 0 + description: > + The UE(s) information in an application defined proximity range of a location. + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} diff --git a/TS29549_SS_LocationReporting.yaml b/TS29549_SS_LocationReporting.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fd9a2c56a13b4eababa89ed002745c2272aea519 --- /dev/null +++ b/TS29549_SS_LocationReporting.yaml @@ -0,0 +1,468 @@ +openapi: 3.0.0 + +info: + title: SS_LocationReporting + description: | + API for SEAL Location Reporting Configuration. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.2.0-alpha.2" + +externalDocs: + description: > + 3GPP TS 29.549 V18.4.0 Service Enabler Architecture Layer for Verticals (SEAL); + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.549/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/ss-lr/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 + +paths: + /trigger-configurations: + post: + description: Creates a new location reporting configuration. + operationId: CreateLocReportingConfig + tags: + - SEAL Location Reporting Configurations (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LocationReportConfiguration' + responses: + '201': + description: Location reporting configuration resource is created sucessfully. + content: + application/json: + schema: + $ref: '#/components/schemas/LocationReportConfiguration' + 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: + NotifyLocationTriggerEvent: + '{$request.body#/notifUri}': + post: + summary: Notify on location event. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LocationReport' + responses: + '204': + description: The notification is successfully received. + '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' + + /trigger-configurations/{configurationId}: + get: + description: Retrieves an individual SEAL location reporting configuration information. + operationId: RetrieveLocReportingConfig + tags: + - Individual SEAL Location Reporting Configuration (Document) + parameters: + - name: configurationId + in: path + description: String identifying an individual configuration resource. + required: true + schema: + type: string + responses: + '200': + description: The location reporting configuration information. + content: + application/json: + schema: + $ref: '#/components/schemas/LocationReportConfiguration' + '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: + description: Updates an individual SEAL location reporting configuration. + operationId: UpdateLocReportingConfig + tags: + - Individual SEAL Location Reporting Configuration (Document) + parameters: + - name: configurationId + in: path + description: String identifying an individual configuration resource. + required: true + schema: + type: string + requestBody: + description: Configuration information to be updated in location management server. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LocationReportConfiguration' + responses: + '200': + description: The configuration is updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/LocationReportConfiguration' + '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: + description: Deletes an individual SEAL location reporting configuration. + operationId: DeleteLocReportingConfig + tags: + - Individual SEAL Location Reporting Configuration (Document) + parameters: + - name: configurationId + in: path + description: String identifying an individual configuration resource. + required: true + schema: + type: string + responses: + '204': + description: The individual configuration matching configurationId is 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' + patch: + description: Modify an existing SEAL Location Reporting Configuration. + operationId: ModifyLocReportingConfig + tags: + - Individual SEAL Location Reporting Configuration (Document) + parameters: + - name: configurationId + in: path + description: Identifier of an individual SEAL location reporting configuration. + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/LocationReportConfigurationPatch' + responses: + '200': + description: > + The individual SEAL location reporting configuration is modified successfully and + a representation of the updated SEAL location reporting configuration is returned + in the request body. + content: + application/json: + schema: + $ref: '#/components/schemas/LocationReportConfiguration' + '204': + description: > + No Content. The individual SEAL location reporting configuration is + 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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + LocationReportConfiguration: + description: Represents the location reporting configuration information. + type: object + properties: + valServerId: + type: string + valTgtUe: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + immRep: + type: boolean + monDur: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + accuracy: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/Accuracy' + valSvcAreaIds: + type: array + minItems: 1 + items: + type: string + description: > + Represents the VAL service area ID(s). + triggCriteria: + $ref: '#/components/schemas/TriggeringCriteria' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + report: + $ref: '#/components/schemas/LocationReport' + required: + - valServerId + - valTgtUe + + LocationReportConfigurationPatch: + description: Represents the location reporting configuration information patch. + type: object + properties: + valTgtUe: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + monDur: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + accuracy: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/Accuracy' + valSvcAreaIds: + type: array + minItems: 1 + items: + type: string + description: > + Represents the VAL service area ID(s). + triggCriteria: + $ref: '#/components/schemas/TriggeringCriteria' + + TriggeringCriteria: + description: Represents the location reporting triggering criteria. + type: object + properties: + reportingMode: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/NotificationMethod' + repPer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + locChgCond: + $ref: '#/components/schemas/LocChangeCond' + ioInd: + $ref: '#/components/schemas/InsideOutsideInd' + repSchedules: + type: array + minItems: 1 + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationTime' + description: > + Indicates the requested reporting schedule, e.g., day(s) of the week + and/or time period(s) for the location reporting. + required: + - reportingMode + + LocationReport: + description: Represents the location trigger report. + type: object + properties: + subscriptionId: + type: string + description: Represents the subscription ID. + valTgtUe: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + locInfo: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - subscriptionId + - valTgtUe + - locInfo + +# Simple data types and Enumerations + InsideOutsideInd: + anyOf: + - type: string + enum: + - INSIDE + - OUTSIDE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Represents a desired condition of the location reporting, + e.g., inside or outside the given area. + Possible values are: + - INSIDE: Indicates that the reporting shall occur when the UE is inside the given location. + - OUTSIDE: Indicates that the reporting shall occur when the UE is outside the given + location. + + LocChangeCond: + anyOf: + - type: string + enum: + - CELL + - NODEB + - TA_RA + - WLAN_AN + - CIVIC_ADDR + - GPS + - SAI + - ECGI + - RAT + - VAL_SERVICE_AREA + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Represents a desired condition of the requested location change. + Possible values are: + - CELL: The condition is cell change. + - NODEB: The condition is eNodeB or gNodeB change. + - TA_RA: The condition is TA or RA change. + - WLAN_AN: The condition is WLAN access network change (e.g., SSID or BSSID change). + - CIVIC_ADDR: The condition is civic address change. + - GPS: The condition is GPS coordinate change. + - SAI: The condition is SAI change.. + - ECGI: The condition is ECGI change. + - RAT: The condition is RAT change. + - VAL_SERVICE_AREA: The condition is VAL service area change. diff --git a/TS29549_SS_NetworkResourceAdaptation.yaml b/TS29549_SS_NetworkResourceAdaptation.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1bfb8529885e635b31431a8fa3f6821879c5cac1 --- /dev/null +++ b/TS29549_SS_NetworkResourceAdaptation.yaml @@ -0,0 +1,1581 @@ +openapi: 3.0.0 +info: + version: 1.2.0-alpha.4 + title: SS_NetworkResourceAdaptation + description: | + SS Network Resource Adaptation Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.549 V18.4.0; Service Enabler Architecture Layer for Verticals (SEAL); + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.549/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/ss-nra/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + /multicast-subscriptions: + post: + summary: Creates a new Individual Multicast Subscription resource + operationId: CreateMulticastSubscription + tags: + - Multicast Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MulticastSubscription' + responses: + '201': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/MulticastSubscription' + headers: + Location: + description: > + Contains the URI of the created individual multicast subscription 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: + UserPlaneNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserPlaneNotification' + 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' + /multicast-subscriptions/{multiSubId}: + get: + summary: "Reads an existing Individual Multicast Subscription" + operationId: GetMulticastSubscription + tags: + - Individual Multicast Subscription (Document) + parameters: + - name: multiSubId + in: path + description: Multicast Subscription ID + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/MulticastSubscription' + '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' + delete: + summary: "Delete an existing Individual Multicast Subscription" + operationId: DeleteMulticastSubscription + tags: + - Individual Multicast Subscription (Document) + parameters: + - name: multiSubId + in: path + description: Multicast Subscription ID + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was succesfully 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' + + /mbs-resources: + post: + summary: Request the creation of a new MBS Resource. + operationId: CreateMBSResource + tags: + - MBS Resources (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MBSResourceReq' + responses: + '201': + description: > + Created. Successfull case. The requested MBS resource is successfully created and a + representation of the created Individual MBS Resource resource is returned in the + response body. + content: + application/json: + schema: + $ref: '#/components/schemas/MBSResourceResp' + headers: + Location: + description: > + Contains the URI of the created Individual MBS Resource 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: + UserPlaneNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserPlaneNotification' + responses: + '204': + description: No Content. The notification was succesfully received. + '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' + + /mbs-resources/{mbsResId}: + parameters: + - name: mbsResId + in: path + description: Represents the identifier of the Individual MBS Resource resource. + required: true + schema: + type: string + + get: + summary: Request the retrieval of an existing Individual MBS Resource. + operationId: GetIndivMBSResource + tags: + - Individual MBS Resource (Document) + responses: + '200': + description: > + OK. Successful case. A representation of the requested Individual MBS Resource resource + is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/MBSResource' + '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 MBS Resource. + operationId: UpdateIndivMBSResource + tags: + - Individual MBS Resource (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MBSResource' + responses: + '200': + description: > + OK. Successful case. The targeted Individual MBS Resource resource is successfully + updated and a representation of the updated resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/MBSResource' + '204': + description: > + No Content. Successful case. The targeted Individual MBS Resource 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' + '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 the modification of an existing Individual MBS Resource. + operationId: ModifyIndivMBSResource + tags: + - Individual MBS Resource (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/MBSResourcePatch' + responses: + '200': + description: > + OK. Successful case. The targeted Individual MBS Resource resource is successfully + modified and a representation of the updated resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/MBSResource' + '204': + description: > + No Content. Successful case. The targeted Individual MBS Resource 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' + '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 the deletion of an existing Individual MBS Resource. + operationId: DeleteIndivMBSResource + tags: + - Individual MBS Resource (Document) + responses: + '204': + description: > + No Content. Successful case. The targeted Individual MBS Resource 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' + + /mbs-resources/{mbsResId}/activate: + parameters: + - name: mbsResId + in: path + description: Represents the identifier of the Individual MBS Resource resource. + required: true + schema: + type: string + + post: + summary: Request the activation of an existing MBS Resource. + operationId: ActivateMBSResource + tags: + - Individual MBS Resource (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MbsResAct' + responses: + '200': + description: > + OK. The activation request is successfully received and processed. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsResAct' + '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' + + /mbs-resources/{mbsResId}/deactivate: + parameters: + - name: mbsResId + in: path + description: Represents the identifier of the Individual MBS Resource resource. + required: true + schema: + type: string + + post: + summary: Request the deactivation of an existing MBS Resource. + operationId: DeactivateMBSResource + tags: + - Individual MBS Resource (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MbsResDeact' + responses: + '200': + description: > + OK. The deactivation request is successfully received and processed. + content: + application/json: + schema: + $ref: '#/components/schemas/MbsResDeact' + '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' + + /unicast-subscriptions: + post: + summary: Creates a new Individual Unicast Subscription resource + operationId: CreateUnicastSubscription + tags: + - Unicast Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UnicastSubscription' + responses: + '201': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UnicastSubscription' + headers: + Location: + description: > + Contains the URI of the created individual unicast subscription 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: + UserPlaneNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserPlaneNotification' + 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' + /unicast-subscriptions/{uniSubId}: + get: + summary: "Reads an existing Individual Unicast Subscription" + operationId: GetUnicastSubscription + tags: + - Individual Unicast Subscription (Document) + parameters: + - name: uniSubId + in: path + description: Unicast Subscription ID + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/UnicastSubscription' + '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' + delete: + summary: "Delete an existing Individual Unicast Subscription" + operationId: DeleteUnicastSubscription + tags: + - Individual Unicast Subscription (Document) + parameters: + - name: uniSubId + in: path + description: Unicast Subscription ID + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was succesfully 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' + /tsc-stream-availability: + get: + summary: Discover the TSC stream availability information. + operationId: GetTscStreamAvailability + tags: + - TSC stream availability discovery + parameters: + - name: stream-specs + in: query + description: > + The MAC address(es) of the source DS-TT port(s) and the destination DS-TT port(s). + required: true + schema: + type: array + items: + $ref: '#/components/schemas/StreamSpecification' + minItems: 1 + responses: + '200': + description: OK. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TscStreamAvailability' + minItems: 0 + '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' + '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' + /tsc-streams: + get: + summary: Retrieval of TSC stream data. + operationId: GetTscStream + tags: + - TSC stream retrieval + parameters: + - name: val-stream-ids + in: query + description: Retrieval of TSC Stream data, identified by the VAL Stream ID(s). + required: false + schema: + type: array + items: + type: string + minItems: 1 + + responses: + '200': + description: OK (successful query of TSC stream resource) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TscStreamData' + minItems: 1 + + '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' + /tsc-streams/{valStreamId}: + get: + summary: "Reads an existing Individual TSC stream data information" + operationId: GetTscStreamData + tags: + - Individual TSC Stream Retrieval + parameters: + - name: valStreamId + in: path + description: The VAL Stream ID identifies the TSC stream. + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/TscStreamData' + '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: Create a TSC stream identified by a VAL stream identifier. + operationId: PutTscStream + tags: + - TSC stream creation + description: Create an individual TSC stream identified by VAL Stream ID. + parameters: + - name: valStreamId + in: path + description: VAL stream identifier + required: true + schema: + type: string + requestBody: + description: TSC stream creation request data from the VAL server to the NRM server. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TscStreamData' + responses: + '201': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/TscStreamData' + headers: + Location: + description: Contains the URI of the created individual TSC stream 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' + delete: + summary: "Delete an existing Individual TSC stream" + operationId: DeleteTscStream + tags: + - Individual TSC Stream Deletion + parameters: + - name: valStreamId + in: path + description: The VAL Stream ID identifies the TSC stream. + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was succesfully 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' + + /bdt-policy-configs: + post: + summary: Creates a new Individual BDT Policy Configuration + operationId: CreateBDTPolicyConfig + tags: + - BDT Policy Configurations (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolConfig' + responses: + '201': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolConfig' + headers: + Location: + description: > + Contains the URI of the created individual BDT Policy configuration 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: + BdtNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BdtNotification' + responses: + '204': + description: No Content, Notification was successful + '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' + + /bdt-policy-configs/{bdtPolConfigId}: + parameters: + - name: bdtPolConfigId + in: path + description: Represents the identifier of the Individual BDT Policy Configuration. + required: true + schema: + type: string + + get: + summary: Reads an existing Individual BDT Policy Configuration + operationId: GetBDTPolicyConfig + tags: + - Individual BDT Policy Configuration(Document)Config + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolConfig' + '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' + + delete: + summary: Delete an existing Individual BDT policy Configuration + operationId: DeleteBDTPolicyConfig + tags: + - Individual BDT Policy Configuration (Document) + responses: + '204': + description: No Content. Resource was 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: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + MulticastSubscription: + description: Represents a multicast subscription. + type: object + properties: + valGroupId: + type: string + anncMode: + $ref: '#/components/schemas/ServiceAnnoucementMode' + multiQosReq: + type: string + locArea: + $ref: 'TS29122_GMDviaMBMSbyMB2.yaml#/components/schemas/MbmsLocArea' + duration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tmgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + localMbmsInfo: + $ref: 'TS29486_VAE_FileDistribution.yaml#/components/schemas/LocalMbmsInfo' + localMbmsActInd: + type: boolean + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + reqTestNotif: + type: boolean + wsNotifCfg: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + upIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + upIpv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + upPortNum: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + radioFreqs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + minItems: 1 + required: + - valGroupId + - anncMode + - multiQosReq + - notifUri + + UnicastSubscription: + description: Represents a unicast subscription. + type: object + properties: + valTgtUe: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + uniQosReq: + type: string + duration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + reqTestNotif: + type: boolean + wsNotifCfg: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - valTgtUe + - notifUri + + UserPlaneNotification: + description: Represents a notification on User Plane events. + type: object + properties: + notifId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + eventNotifs: + type: array + items: + $ref: '#/components/schemas/NrmEventNotification' + minItems: 1 + required: + - notifId + - eventNotifs + + NrmEventNotification: + description: Represents a notification on an individual User Plane event. + type: object + properties: + event: + $ref: '#/components/schemas/NrmEvent' + ts: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + deliveryMode: + $ref: '#/components/schemas/DeliveryMode' + streamIds: + type: array + items: + type: string + minItems: 1 + required: + - event + - ts + + TscStreamAvailability: + description: > + TSC stream availability information includes the stream specification and list of traffic + specifications. This response shall include stream specification matching one of the query + parameters provided in the request. + type: object + properties: + streamSpec: + $ref: '#/components/schemas/StreamSpecification' + trafficSpecs: + type: array + items: + $ref: '#/components/schemas/TrafficSpecification' + minItems: 1 + required: + - streamSpec + - trafficSpecs + + StreamSpecification: + description: > + Stream specification includes MAC addresses of the source and destination DS-TT ports. + type: object + properties: + srcMacAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + dstMacAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + required: + - srcMacAddr + - dstMacAddr + + TrafficSpecification: + description: > + The traffic classe supported by the DS-TTs and available end-to-end maximum latency value. + type: object + properties: + trafficClass: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + e2eMaxLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - trafficClass + - e2eMaxLatency + + TscStreamData: + description: TSC stream data information. + type: object + properties: + streamSpec: + $ref: '#/components/schemas/StreamSpecification' + trafficSpecInfo: + $ref: '#/components/schemas/TrafficSpecInformation' + required: + - streamSpec + - trafficSpecInfo + + TrafficSpecInformation: + description: > + The traffic classe supported by the DS-TTs and available end-to-end latency + value and Priority Code Point (PCP) value. + type: object + properties: + pcpValue: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + maxFramInt: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + maxFramSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + maxIntFrames: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + maxLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + required: + - pcpValue + - maxFramInt + - maxFramSize + - maxIntFrames + - maxLatency + + MBSResourceReq: + description: Represents the parameters to request the creation of an MBS Resource. + type: object + properties: + mbsResource: + $ref: '#/components/schemas/MBSResource' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - mbsResource + + MBSResource: + description: Represents an MBS Resource. + type: object + properties: + valGroupId: + type: string + valUeIdsList: + type: array + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + minItems: 1 + servAnmtMode: + $ref: '#/components/schemas/ServiceAnnoucementMode' + mbsResServInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceInfo' + mbsResServiceArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalMbsServiceArea' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + netSysInd: + $ref: '#/components/schemas/NetSysIndicator' + localMbmsInfo: + $ref: 'TS29486_VAE_FileDistribution.yaml#/components/schemas/LocalMbmsInfo' + localMbmsActInd: + type: boolean + mbsResRespInfo: + $ref: '#/components/schemas/MBSResourceRespInfo' + oneOf: + - required: [valGroupId] + - required: [valUeIdsList] + not: + required: [localMbmsInfo, localMbmsActInd] + required: + - servAnmtMode + - mbsResServInfo + - notifUri + + MBSResourceRespInfo: + description: Represents NRM Server side information related to the MBS Resource. + type: object + properties: + mbs5gSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + mbmsBearerId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + upIpv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + upIpv6Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + upPortNum: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + mbs5GInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSession' + epsMbmsInfo: + $ref: '#/components/schemas/EpsMbmsInfo' + anyOf: + - required: [upIpv4Addr] + - required: [upIpv6Addr] + + MBSResourceResp: + description: Represents a response to an MBS Resource creation/modification request. + type: object + properties: + mbsResource: + $ref: '#/components/schemas/MBSResource' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - mbsResource + + MBSResourcePatch: + description: Represents the parameters to request the modification of an MBS Resource. + type: object + properties: + mbsResServInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceInfo' + mbsResServiceArea: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalMbsServiceArea' + notifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + localMbmsInfo: + $ref: 'TS29486_VAE_FileDistribution.yaml#/components/schemas/LocalMbmsInfo' + localMbmsActInd: + type: boolean + mbsResRespInfo: + $ref: '#/components/schemas/MBSResourceRespInfo' + anyOf: + - required: [mbsResServInfo] + - required: [mbsResServiceArea] + - required: [localMbmsInfo] + not: + required: [localMbmsInfo, localMbmsActInd] + + MbsResAct: + description: Represents the parameters related to the activation of the MBS Resource. + type: object + properties: + mbs5gSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - mbs5gSessionId + + MbsResDeact: + description: Represents the parameters related to the deactivation of the MBS Resource. + type: object + properties: + mbs5gSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - mbs5gSessionId + + + BdtPolConfig: + description: Represents the parameters related to the BDT Policy configuration. + type: object + properties: + valServId: + type: string + valGroupId: + type: string + valUeIds: + type: array + items: + type: string + minItems: 1 + dataVolUe: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + desiredTimeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + grantTimeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + geoArea: + $ref: '#/components/schemas/GeoArea' + bdtPolRefId: + type: string + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oneOf: + - required: [valGroupId] + - required: [valUeIds] + required: + - valServId + - notifUri + + + GeoArea: + description: Represents a Geographical area. + type: object + properties: + geographicAreas: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + description: Represents a list of Geographical area. + civicAddresses: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + minItems: 1 + description: Represents a list of Civic address of an area. + + + BdtNotification: + description: Represents a notification on update related to BDT Policy configuration resource. + type: object + properties: + notifId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + bdtConfigId: + type: string + grantTimeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + bdtPolicyRemoveInd: + type: boolean + default: false + required: + - notifId + - bdtConfigId + + +# Simple data types and Enumerations + + EpsMbmsInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + + ServiceAnnoucementMode: + anyOf: + - type: string + enum: + - NRM + - VAL + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Indicates the service announcement mode. + Possible values are: + - NRM: NRM server performs the service announcement. + - VAL: VAL server performs the service announcement. + + DeliveryMode: + anyOf: + - type: string + enum: + - UNICAST + - MULTICAST + - MBS_MULTICAST + - MBS_BROADCAST + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + but is not used to encode content defined in the present version of this API. + description: | + Indicates the user plane delivery mode. + Possible values are: + - UNICAST: Indicates Unicast delivery. + - MULTICAST: Indicates EPS MBMS Multicast delivery. + - MBS_MULTICAST: Indicates 5GS MBS Multicast delivery. + - MBS_BROADCAST: Indicates 5GS MBS Broadcast delivery. + + NrmEvent: + anyOf: + - type: string + enum: + - UP_DELIVERY_MODE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Indicates the NRM event. + Possible values are: + - UP_DELIVERY_MODE: User Plane delivery mode. + + NetSysIndicator: + anyOf: + - type: string + enum: + - 5GS + - EPS + - 5GS_AND_EPS + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + but is not used to encode content defined in the present version of this API. + description: | + Represents the network system indicator, i.e. 5GS, EPS or both. + Possible values are: + - 5GS: Indicates that the network system is 5GS. + - EPS: Indicates that the network system is EPS. + - 5GS_AND_EPS: Indicates that the network system is 5GS and EPS. diff --git a/TS29549_SS_NetworkResourceMonitoring.yaml b/TS29549_SS_NetworkResourceMonitoring.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2b4ea67b91411191973adfa27ff9bc007bc908c1 --- /dev/null +++ b/TS29549_SS_NetworkResourceMonitoring.yaml @@ -0,0 +1,631 @@ +openapi: 3.0.0 +info: + title: SS_NetworkResourceMonitoring + description: | + API for SEAL Network Resource Monitoring. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.1.0-alpha.2" +externalDocs: + description: > + 3GPP TS 29.549 V18.1.0 Service Enabler Architecture Layer for Verticals (SEAL); + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.549/ +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/ss-nrm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 +paths: + /subscriptions: + post: + summary: Create individual unicast monitoring subscription resource or obtain unicast QoS monitoring data for VAL UEs, VAL Group, or VAL Streams. + operationId: SubscribeUnicastMonitoring + tags: + - Unicast Monitoring Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringSubscription' + responses: + '201': + description: > + The requested individual monitoring subscription resource is successfully created + and a representation of the created resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringSubscription' + headers: + Location: + description: Contains the URI of the newly created individual monitoring resource. + required: true + schema: + type: string + '200': + description: The requested unicast QoS monitoring data is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringReport' + '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: + NotifyUnicastMonitoringData: + '{$request.body#/notifUri}': + post: + summary: Notify on updates of the individual monitoring resorce accoring the requested reporting settings. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringReport' + responses: + '204': + description: The notification is successfully received. + '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' + /subscriptions/{subscriptionId}: + delete: + summary: Remove an existing individual unicast monitoring subscription resource according to the subscriptionId. + operationId: UnsubscribeUnicastMonitoring + tags: + - Individual Unicast Monitoring Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: > + Represents the identifier of an individual unicast monitoring subscription resource. + required: true + schema: + type: string + responses: + '204': + description: > + The Individual Unicast Monitoring Subscription resource matching the + subscriptionId is 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' + get: + summary: Read an existing individual unicast monitoring subscription resource according to the subscriptionId. + operationId: ReadUnicastMonitoringSubscription + tags: + - Individual Unicast Monitoring Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: > + Represents the identifier of an individual unicast monitoring subscription resource. + required: true + schema: + type: string + responses: + '200': + description: The requested individual unicast monitoring subscription returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringSubscription' + '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' + + put: + summary: > + Update an individual unicast monitoring subscription identified by the subscriptionId. + operationId: UpdateUnicastMonitoring + tags: + - Individual Unicast Monitoring Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: > + Represents the identifier of an individual unicast monitoring subscription resource. + required: true + schema: + type: string + requestBody: + description: Updated details of the unicast QoS monitoring subscription. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringSubscription' + responses: + '200': + description: > + The subscription is updated successfully, and the updated subscription + information returned in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringSubscription' + '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: > + Modify an individual unicast monitoring subscription identified + by the subscriptionId. + operationId: ModifyUnicastMonitoring + tags: + - Individual Unicast Monitoring Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: > + Represents the identifier of an individual unicast monitoring subscription resource. + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/MonitoringSubscriptionPatch' + responses: + '200': + description: > + Individual individual unicast QoS monitoring subscription resource is modified + successfully and representation of the modified individual unicast QoS monitoring + subscription resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringSubscription' + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + MonitoringReport: + description: Indicates the monitoring information for VAL UEs list, VAL Group, or VAL Stream. + type: object + properties: + valUeIds: + type: array + minItems: 1 + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + description: List of VAL UEs whose QoS monitoring data is requested. + valGroupId: + type: string + description: The VAL Group Id which QoS monitoring data is requested. + valStreamIds: + type: array + minItems: 1 + items: + type: string + description: List of VAL streams for which QoS monitoring data is requested. + measData: + $ref: '#/components/schemas/MeasurementData' + failureRep: + type: array + items: + $ref: '#/components/schemas/FailureReport' + description: > + The failure report indicating the VAL UE(s) or VAL Stream ID(s) whose measurement + data is not obtained successfully. + timestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - measData + - timestamp + oneOf: + - required: [valUeIds] + - required: [valGroupId] + - required: [valStreamIds] + + MeasurementData: + description: Presents the aggregated measurement data. + type: object + properties: + dlDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + ulDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + rtDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + avgPlr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + avgDataRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxDataRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + avrDlTrafficVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + avrUlTrafficVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + anyOf: + - required: [dlDelay] + - required: [ulDelay] + - required: [rtDelay] + - required: [avgPlr] + - required: [avgDataRate] + - required: [maxDataRate] + - required: [avrDlTrafficVol] + - required: [avrUlTrafficVol] + + MeasurementPeriod: + description: > + Indicates the measurement time period. + type: object + properties: + measStartTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + measDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - measStartTime + - measDuration + + ReportingRequirements: + description: Indicates the requested frequency of reporting. + type: object + properties: + reportingMode: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/NotificationMethod' + reportingPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + reportingThrs: + type: array + items: + $ref: '#/components/schemas/ReportingThreshold' + minItems: 1 + immRep: + type: boolean + repTerminMode: + $ref: '#/components/schemas/TerminationMode' + expirationTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + maxNumRep: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + termThr: + $ref: '#/components/schemas/MeasurementData' + termThrMode: + $ref: '#/components/schemas/ThresholdHandlingMode' + required: + - reportingMode + + FailureReport: + description: > + Represents the failure report indicating the VAL UE(s) or VAL Stream ID(s) + for which the NRM server failed to obtain the requested data. + type: object + properties: + valUeIds: + type: array + minItems: 1 + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + description: > + List of VAL UE(s) whose measurement data is not obtained successfully. + valStreamIds: + type: array + minItems: 1 + items: + type: string + description: > + List of VAL stream ID(s) whose measurement data is not obtained successfully. + failureReason: + $ref: '#/components/schemas/FailureReason' + measDataType: + $ref: '#/components/schemas/MeasurementDataType' + required: + - measDataType + + MeasurementRequirements: + description: Indicates the measurement requirements. + type: object + properties: + measDataTypes: + type: array + items: + $ref: '#/components/schemas/MeasurementDataType' + minItems: 1 + description: Indicates the required the QoS measurement data types. + measAggrGranWnd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AverWindow' + measPeriod: + $ref: '#/components/schemas/MeasurementPeriod' + required: + - measDataTypes + + MonitoringSubscription: + description: The unicast monitoring subscription request. + type: object + properties: + valUeIds: + description: List of VAL UEs whose QoS monitoring data is requested. + type: array + minItems: 1 + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + valGroupId: + type: string + description: The VAL Group Id which QoS monitoring data is requested. + valStreamIds: + type: array + minItems: 1 + items: + type: string + description: List of VAL streams for which QoS monitoring data is requested. + measReqs: + $ref: '#/components/schemas/MeasurementRequirements' + monRep: + $ref: '#/components/schemas/MonitoringReport' + reportReqs: + $ref: '#/components/schemas/ReportingRequirements' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + reqTestNotif: + type: boolean + wsNotifCfg: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oneOf: + - required: [valUeIds] + - required: [valGroupId] + - required: [valStreamIds] + + ReportingThreshold: + description: > + Indicates the requested reporting termination threshold for the measurement index(es). + type: object + properties: + measThrValues: + $ref: '#/components/schemas/MeasurementData' + thrDirection: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/MatchingDirection' + required: + - measThrValues + - thrDirection + + MonitoringSubscriptionPatch: + description: Represents the monitoring subscription modification request. + type: object + properties: + measReqs: + $ref: '#/components/schemas/MeasurementRequirements' + reportReqs: + $ref: '#/components/schemas/ReportingRequirements' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + +# Simple data types and Enumerations + MeasurementDataType: + anyOf: + - type: string + enum: + - DL_DELAY + - UL_DELAY + - RT_DELAY + - AVG_PLR + - AVG_DATA_RATE + - MAX_DATA_RATE + - AVG_DL_TRAFFIC_VOLUME + - AVG_UL_TRAFFIC_VOLUME + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Indicates the requested measurement data type. + Possible values are: + - DL_DELAY: Downlink packet delay. + - UL_DELAY: Uplink packet delay. + - RT_DELAY: Round trip packet delay. + - AVG_PLR: Average packet loss rate. + - AVG_DATA_RATE: Average data rate. + - MAX_DATA_RATE: Maximum data rate. + - AVG_DL_TRAFFIC_VOLUME: Average downlink traffic volume. + - AVG_UL_TRAFFIC_VOLUME: Average uplink traffic volume. + + TerminationMode: + anyOf: + - type: string + enum: + - TIME_TRIGGERED + - EVENT_TRIGGERED_NUM_REPORTS_REACHED + - EVENT_TRIGGERED_MEAS_THR_REACHED + - USER_TRIGGERED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Indicates the termination mode. + Possible values are: + - TIME_TRIGGERED: Time-triggered termination mode. + - EVENT_TRIGGERED_NUM_REPORTS_REACHED: Event-triggered termination number of reports + reached mode. + - EVENT_TRIGGERED_MEAS_THR_REACHED: The event-triggered termination measurement index + threshold reached mode. + - USER_TRIGGERED: User-triggered termination mode. + + FailureReason: + anyOf: + - type: string + enum: + - USER_NOT_FOUND + - STREAM_NOT_FOUND + - DATA_NOT_AVAILABLE + - OTHER_REASON + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Represents the failure reason. + Possible values are: + - USER_NOT_FOUND: The user is not found. + - STREAM_NOT_FOUND: The stream is not found. + - DATA_NOT_AVAILABLE: The requested data is not available. + - OTHER_REASON: Other reason (unspecified). + + ThresholdHandlingMode: + anyOf: + - type: string + enum: + - ALL_REACHED + - ANY_REACHED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Indicates the multi-parameter threshold handling mode. + Possible values are: + - ALL_REACHED: The decision criterion is met when all the provided thresholds are reached. + - ANY_REACHED: The decision criterion is met when any of the provided threshold(s) + is reached. diff --git a/TS29549_SS_NetworkSliceAdaptation.yaml b/TS29549_SS_NetworkSliceAdaptation.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f94256021ce3f58caf8e725cf9f66dad2f756f5d --- /dev/null +++ b/TS29549_SS_NetworkSliceAdaptation.yaml @@ -0,0 +1,101 @@ +openapi: 3.0.0 + +info: + title: SS_NetworkSliceAdaptation + description: | + API for SEAL Network Slice Adaptation. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.1.0-alpha.1" + +externalDocs: + description: > + 3GPP TS 29.549 V18.0.0 Service Enabler Architecture Layer for Verticals (SEAL); + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.549/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/ss-nsa/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 + +paths: + /request: + post: + summary: request the network slice adaptation. + operationId: RequestNetworkSliceAdaptation + tags: + - Network Slice Adaptation Request + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NwSliceAdptInfo' + responses: + '204': + description: No Content. The requested network slice adaptation is successfully processed. + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + NwSliceAdptInfo: + description: > + Represents the information associated with requested network slice adaptation + with the underlying network. + type: object + properties: + valServiceId: + type: string + valTgtUeIds: + type: array + items: + type: string + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - valServiceId + - valTgtUeIds diff --git a/TS29549_SS_UserProfileRetrieval.yaml b/TS29549_SS_UserProfileRetrieval.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7bd6c5fe9a0e66419ecde4d639d742737eb52f3b --- /dev/null +++ b/TS29549_SS_UserProfileRetrieval.yaml @@ -0,0 +1,116 @@ +openapi: 3.0.0 + +info: + title: SS_UserProfileRetrieval + description: | + API for SEAL User Profile Retrieval. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.2.0-alpha.1" + +externalDocs: + description: > + 3GPP TS 29.549 V18.0.0 Service Enabler Architecture Layer for Verticals (SEAL); + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.549/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/ss-upr/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 + +paths: + /val-services: + get: + description: Retrieve VAL User or VAL UE profile information. + operationId: RetrieveValUserProfile + tags: + - VAL Services + parameters: + - name: val-service-id + in: query + description: String identifying an individual VAL service + required: false + schema: + type: string + - name: val-tgt-ue + in: query + description: Identifying a VAL target UE. + required: true + schema: + $ref: '#/components/schemas/ValTargetUe' + responses: + '200': + description: The Profile information of the VAL User or VAL UE. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ProfileDoc' + 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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + ProfileDoc: + description: Represents the profile information associated with a VAL user ID or a VAL UE ID. + type: object + properties: + profileInformation: + type: string + description: Profile information associated with the valUserId or valUeId. + valTgtUe: + $ref: '#/components/schemas/ValTargetUe' + required: + - profileInformation + - valTgtUe + + ValTargetUe: + description: Represents the information identifying a VAL user ID or a VAL UE ID. + type: object + properties: + valUserId: + type: string + description: Unique identifier of a VAL user. + valUeId: + type: string + description: Unique identifier of a VAL UE. + oneOf: + - required: [valUserId] + - required: [valUeId] diff --git a/TS29549_SS_VALServiceAreaConfiguration.yaml b/TS29549_SS_VALServiceAreaConfiguration.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5ce567833b36ac09123eb0340c3a6eb9dce90919 --- /dev/null +++ b/TS29549_SS_VALServiceAreaConfiguration.yaml @@ -0,0 +1,648 @@ +openapi: 3.0.0 + +info: + title: SS_VALServiceAreaConfiguration + description: | + API for SEAL VAL Service Area Configuration Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.0.0-alpha.2" + +externalDocs: + description: > + 3GPP TS 29.549 V18.4.0 Service Enabler Architecture Layer for Verticals (SEAL); + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.549/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/ss-vsac/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 + +paths: + /areas: + get: + summary: Obtain the VAL service area(s) according to the provided filtering criteria. + operationId: ObtainValServiceAreas + tags: + - VAL Service Areas (Collection) + parameters: + - name: val-svc-area-ids + in: query + description: Represents the requested VAL service areas. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: supp-feats + in: query + description: To filter irrelevant responses related to unsupported features. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The requested VAL service areas information is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ValServiceAreaData' + '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' + + /areas/configure: + post: + summary: Configure VAL service area(s). + operationId: ConfigureValServiceAreas + tags: + - Configure + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ValServiceAreaReq' + responses: + '200': + description: > + Successful case. The identifier(s) of the configured VAL service area(s) information are + Returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/ValServiceAreaResp' + '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' + + /areas/update: + post: + summary: Update existing VAL service area(s). + operationId: UpdateValServiceAreas + tags: + - Update + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ValServiceAreaReq' + responses: + '200': + description: > + Successful case. The identifier(s) of the updated VAL service area(s) information are + returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/ValServiceAreaResp' + '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' + + /areas/delete: + post: + summary: Delete existing VAL service area(s). + operationId: DeleteValServiceAreas + tags: + - Delete + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ValServiceAreaReq' + responses: + '200': + description: > + Successful case. The identifier(s) of the deleted VAL service area(s) information are + returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/ValServiceAreaResp' + '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' + + put: + summary: Update individual VAL service area change event(s) subscription. + operationId: UpdateIndValServAreaChangeSubsc + tags: + - Individual VAL Service Area Change Subscription (Document) + requestBody: + description: Updated details of the unicast VAL service area change event(s) subscription. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ValServiceAreaSubsc' + responses: + '200': + description: > + The subscription is updated successfully, and the updated subscription + information returned in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/ValServiceAreaSubsc' + '204': + description: No Content. The subscription is updated 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' + + patch: + summary: Modify the individual VAL service area change event(s) subscription. + operationId: ModifyIndValServAreaChangeSubsc + tags: + - Individual VAL Service Area Change Subscription (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ValServiceAreaSubscPatch' + responses: + '200': + description: > + The individual VAL service area change event(s) subscription is + modified successfully, and the representation of the modified resource + is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ValServiceAreaSubsc' + '204': + description: No Content. The subscription is 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' + + /subscriptions: + post: + summary: Create individual VAL service area change event(s) subscription. + operationId: SubscribeChangeEvents + tags: + - VAL Service Area Change Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ValServiceAreaSubsc' + responses: + '201': + description: > + The requested individual VAL service area change event(s) subscription + resource is successfully created and a representation of the created + resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/ValServiceAreaSubsc' + 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: + NotifyValServiceAreaChange: + '{$request.body#/notifUri}': + post: + summary: Notify on changes of the VAL service area(s) accodring to the requested reporting settings. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ValServiceAreaNotif' + responses: + '204': + description: The notification is successfully received. + '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' + + /subscriptions/{subscriptionId}: + parameters: + - name: subscriptionId + in: path + description: > + Represents the identifier of an individual VAL service area change event(s) + subscription resource. + required: true + schema: + type: string + delete: + summary: Remove the existing individual VAL service area change event(s) subscription resource according to the subscriptionId. + operationId: UnsubscribeValServiceAreaChange + tags: + - Individual VAL Service Area Change Subscription (Document) + responses: + '204': + description: > + The individual VAL service area change event(s) subscription resource + matching the subscriptionId is 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' + get: + summary: Read an existing individual unicast monitoring subscription resource according to the subscriptionId. + operationId: ReadValServiceAreaChange + tags: + - Individual VAL Service Area Change Subscription (Document) + responses: + '200': + description: > + The requested individual VAL service area change event(s) subscription is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ValServiceAreaSubsc' + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + ValServiceArea: + description: Represents the VAL service area. + type: object + properties: + valSvcAreaId: + $ref: '#/components/schemas/ValSvcAreaId' + locations: + description: Represents the locations associated with the VAL service area. + minItems: 1 + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + required: + - valSvcAreaId + - locations + + ValServiceAreaReq: + description: Represents the VAL service area configuration/update/delete request. + type: object + properties: + valSvcAreas: + description: Represents the VAL service area(s). + minItems: 1 + items: + $ref: '#/components/schemas/ValServiceArea' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - valSvcAreas + + ValServiceAreaData: + description: Represents the VAL service area retrieval information. + type: object + properties: + valSvcAreas: + description: Represents the requested VAL service area(s). + minItems: 1 + items: + $ref: '#/components/schemas/ValServiceArea' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + ValServiceAreaResp: + description: Represents the VAL service area configuration/update/delete response. + type: object + properties: + valSvcAreaIds: + description: Represents the identifier(s) of the successfully handled VAL service area(s). + minItems: 1 + items: + type: string + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - valSvcAreaIds + + ValServiceAreaSubscPatch: + description: Represents the VAL service area change event(s) modification request. + type: object + properties: + events: + type: array + description: Represents the subscribed VAL service area change event(s). + items: + $ref: '#/components/schemas/ValServiceAreaEventType' + minItems: 1 + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + subscDur: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + ValSvcAreaId: + type: string + description: > + Represents the VAL Service Area identifier encoded as a string and generated + either based on VAL Server ID or using the Universally Unique Identifier (UUID) + version 4 as described in IETF RFC 4122. + + ValServiceAreaSubsc: + description: Represents the VAL service area change event(s) subscription. + type: object + properties: + events: + description: Represents the subscribed VAL service area change event(s). + minItems: 1 + items: + $ref: '#/components/schemas/ValServiceAreaEventType' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + subscDur: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - events + - notifUri + + ValServiceAreaEventType: + description: Represents the VAL service area change event type. + type: object + properties: + event: + $ref: '#/components/schemas/ValServiceAreaEvent' + valSvcAreaIds: + description: Represents the VAL service area ID(s) associated with the event. + minItems: 1 + items: + type: string + required: + - event + - valSvcAreaIds + + ValServiceAreaNotif: + description: Represents the VAL service area change event(s) notifcation. + type: object + properties: + valSvcAreaConts: + description: Represents the VAL service area change event(s) content. + minItems: 1 + items: + $ref: '#/components/schemas/ValServiceAreaEventInfo' + required: + - valSvcAreaConts + + ValServiceAreaEventInfo: + description: Represents the VAL service area change event(s) content. + type: object + properties: + event: + $ref: '#/components/schemas/ValServiceAreaEvent' + valSvcAreas: + description: Represents the VAL service area(s) associated with the event. + minItems: 1 + items: + $ref: '#/components/schemas/ValServiceArea' + valSvcAreaIds: + description: Represents the VAL service area(s) associated with the event. + minItems: 1 + items: + type: string + required: + - event + +# Simple data types and Enumerations + ValServiceAreaEvent: + anyOf: + - type: string + enum: + - UPDATE + - DELETE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Represents the VAL service area change event. + Possible values are: + - UPDATE: Indicates that the VAL service area change event is VAL service area update. + - DELETE: Indicates that the VAL service area change event is VAL service area delete. diff --git a/TS29549_SS_VALServiceData.yaml b/TS29549_SS_VALServiceData.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e87fab9ff198a00eb1e1ba373b60acf9c75e83e7 --- /dev/null +++ b/TS29549_SS_VALServiceData.yaml @@ -0,0 +1,133 @@ +openapi: 3.0.0 + +info: + title: SS_VALServiceData + description: | + API for VAL Service Data. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: "1.0.0-alpha.1" + +externalDocs: + description: > + 3GPP TS 29.549 V18.2.0 Service Enabler Architecture Layer for Verticals (SEAL); + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.549/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/ss-vsd/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.5 of 3GPP TS 29.549 + +paths: + /val-servdata: + get: + summary: Retrieve the VAL service data. + operationId: RetrieveValServiceData + tags: + - VAL Service Data Sets + parameters: + - name: val-tgt-ues + in: query + description: Identifying the list of the target VAL UE(s) or VAL user(s). + required: false + schema: + type: array + items: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + minItems: 1 + - name: val-service-ids + in: query + description: Identifying the list of the target VAL service(s). + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: supp-feats + in: query + description: To filter irrelevant responses related to unsupported features. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Represents the requested VAL service data. + content: + application/json: + schema: + $ref: '#/components/schemas/ValServDataResp' + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + ValServDataResp: + description: Represents the container for the requested VAL service data. + type: object + properties: + valServData: + type: array + items: + $ref: '#/components/schemas/ValServiceData' + minItems: 1 + suppFeats: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + ValServiceData: + description: > + Represents the VAL service data associated with VAL user ID(s)/VAL UE ID(s) + and/or VAL service ID(s). + type: object + properties: + valTgtUe: + $ref: 'TS29549_SS_UserProfileRetrieval.yaml#/components/schemas/ValTargetUe' + valServIds: + type: array + items: + type: string + minItems: 1 + description: > + List of the VAL services associated with the VAL user or a VAL UE defined + in the "valTgtUe" attribute. + valServSpecInfo: + type: string + description: Contains the VAL service specific information. + required: + - valTgtUe + - valServIds diff --git a/TS29550_Nsoraf_SOR.yaml b/TS29550_Nsoraf_SOR.yaml new file mode 100644 index 0000000000000000000000000000000000000000..17d90f3932a7caf75df3c345d9532b4d729a2c65 --- /dev/null +++ b/TS29550_Nsoraf_SOR.yaml @@ -0,0 +1,240 @@ +openapi: 3.0.0 +info: + title: 'Nsoraf_SOR' + version: 1.2.0-alpha.3 + description: | + Nsoraf Steering Of Roaming Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.550 V18.2.0; Steering Of Roaming Application Function Services. + url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.550/ +servers: + - url: '{apiRoot}/nsoraf-sor/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - nsoraf-sor +paths: + /{supi}/sor-information: + get: + summary: retrieve the steering of roaming information for a UE + operationId: GetSorInformation + tags: + - SoR Information Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + description: serving PLMN ID or SNPN ID + required: true + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + - name: access-type + in: query + description: Access type used by the UE + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SorInformation' + headers: + Cache-Control: + description: Cache-Control (as described in RFC 9111) with value "no-cache" to indicate that the returned SoR information should not be cached + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/sor-information/sor-ack: + put: + summary: SoR Acknowledgment Reception Notification + operationId: SorAckInfo + tags: + - Providing the reception status of the acknowledgement of Steering of Roaming information reception by the UE + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SorAckInfo' + responses: + '204': + description: Successful reception of the indication + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nsoraf-sor: Access to the Nsoraf_SOR API + schemas: + +# +# COMPLEX DATA TYPES +# + + SorInformation: + description: Represents the SoR information to be conveyed to a UE. + type: object + required: + - sorAckIndication + - sorSendingTime + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + steeringContainer: + $ref: '#/components/schemas/SteeringContainer' + sorAckIndication: + type: boolean + sorCmci: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SorCmci' + storeSorCmciInMe: + type: boolean + sorSendingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + sorSnpnSi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + sorSnpnSiLs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + + SorAckInfo: + description: > + Represents an indication to the SOR-AF on the reception status of the + acknowledgment of successful reception of SoR Information by a UE. + type: object + required: + - sorAckStatus + - sorSendingTime + properties: + sorAckStatus: + $ref: '#/components/schemas/SorAckStatus' + sorSendingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + meSupportOfSorCmci: + type: boolean + meSupportOfSorSnpnSi: + type: boolean + meSupportOfSorSnpnSiLs: + type: boolean + + SteeringContainer: + description: It consists of either a list (array) of SteeringInfo objects or a Secured Packet + oneOf: + - type: array + items: + $ref: '#/components/schemas/SteeringInfo' + minItems: 1 + - $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SecuredPacket' + + SteeringInfo: + description: > + Contains either a PLMN-ID, an SNPN-ID or a GIN and, for the case of PLMNs, zero or more + preferred access technologies for accessing such PLMN + type: object + oneOf: + - required: [ plmnId ] + - required: [ snpnId ] + - required: [ gin ] + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + snpnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + gin: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + accessTechList: + type: array + items: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/AccessTech' + minItems: 1 + + +# +# ENUMS +# + + SorAckStatus: + description: > + Represents the reception status of the acknowledgment of successful reception of + SoR Information by a UE. + + anyOf: + - type: string + enum: + - ACK_SUCCESSFUL + - ACK_NOT_RECEIVED + - ACK_NOT_SUCCESSFUL + - type: string diff --git a/TS29551_Nnef_PFDmanagement.yaml b/TS29551_Nnef_PFDmanagement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a6515d39141d46ea43c1ecf87057d11fa9749854 --- /dev/null +++ b/TS29551_Nnef_PFDmanagement.yaml @@ -0,0 +1,624 @@ +openapi: 3.0.0 +info: + title: Nnef_PFDmanagement Service API + version: 1.3.0-alpha.2 + description: | + Packet Flow Description Management Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +# +externalDocs: + description: 3GPP TS 29.551 v18.3.0, 5G System; Packet Flow Description Management Service + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.551/' +# +servers: + - url: '{apiRoot}/nnef-pfdmanagement/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - nnef-pfdmanagement +paths: + /applications: + get: + summary: Retrieve PFDs for all applications or for one or multiple applications with query parameter. + tags: + - PFD of applications + operationId: Nnef_PFDmanagement_AllFetch + parameters: + - name: application-ids + description: The required application identifier(s) for the returned PFDs. + in: query + required: true + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + - name: supported-features + in: query + description: To filter irrelevant responses related to unsupported features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: > + The PFDs for one or more application identifier(s) in the request URI are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdDataForApp' + minItems: 0 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /applications/partialpull: + post: + summary: retrieve the PFD(s) by partial update + operationId: Nnef_PFDmanagement_AppFetchPartialUpdate + tags: + - PFD of applications by partial update + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ApplicationForPfdRequest' + minItems: 1 + responses: + '200': + description: OK. Changed PFD(s) is returned + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdDataForApp' + minItems: 1 + '204': + description: The PFD(s) is not changed + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /applications/{appId}: + get: + summary: Retrieve the PFD for an application. + tags: + - Individual application PFD + operationId: Nnef_PFDmanagement_IndAppFetch + parameters: + - name: appId + description: The required application identifier(s) for the returned PFDs. + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: To filter irrelevant responses related to unsupported features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: A representation of PFDs for an application in the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdDataForApp' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions: + post: + summary: Subscribe the notification of PFD changes. + tags: + - PFD subscriptions + operationId: Nnef_PFDmanagement_CreateSubscr + requestBody: + description: a PfdSubscription resource to be created. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdSubscription' + callbacks: + PfdChangeNotification: + '{request.body#/notifyUri}': + post: + summary: Notification of PFD change. + tags: + - PfdChangeNotification data + operationId: Nnef_PFDmanagement_Notify + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdChangeNotification' + minItems: 1 + responses: + '200': + description: > + The PFD operation in the notification is performed and the + PfdChangeReport indicates failure reason. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdChangeReport' + minItems: 1 + '204': + description: The PFD operation in the notification is performed successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + NotificationPush: + '{request.body#/notifyUri}/notifypush': + post: + summary: Notification Push. + tags: + - NotificationPush data + operationId: Nnef_PFDmanagement_PushNotify + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationPush' + minItems: 1 + responses: + '204': + description: Notificaiton PUSH is accepted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + responses: + '201': + description: > + The creation of a PfdSubscription resource is confirmed and a representation of + that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdSubscription' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nnef-pfdmanagement/v1/subscriptions/{subscriptionId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}: + put: + summary: Updates/replaces an existing subscription resource + tags: + - Individual PFD subscription + operationId: Nnef_PFDmanagement_ModifySubscr + parameters: + - name: subscriptionId + description: Identify the subscription. + in: path + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdSubscription' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/PfdSubscription' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete a subscription of PFD change notification. + tags: + - Individual PFD subscription + operationId: Nnef_PFDmanagement_Unsubscribe + parameters: + - name: subscriptionId + description: Identify the subscription. + in: path + required: true + schema: + type: string + responses: + '204': + description: > + The PfdSubscription resource matching the subscriptionId was deleted successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnef-pfdmanagement: Access to the Nnef_PFDmanagement API + schemas: +# +# STRUCTURED DATA TYPES +# + PfdContent: + description: Represents the content of a PFD for an application identifier. + type: object + properties: + pfdId: + type: string + description: Identifies a PDF of an application identifier. + flowDescriptions: + type: array + items: + type: string + minItems: 1 + description: > + Represents a 3-tuple with protocol, server ip and server port for UL/DL + application traffic. + urls: + type: array + items: + type: string + minItems: 1 + description: > + Indicates a URL or a regular expression which is used to match the significant parts + of the URL. + domainNames: + type: array + items: + type: string + minItems: 1 + description: Indicates an FQDN or a regular expression as a domain name matching criteria. + dnProtocol: + $ref: 'TS29122_PfdManagement.yaml#/components/schemas/DomainNameProtocol' + + PfdDataForApp: + description: Represents the PFDs for an application identifier. + type: object + properties: + applicationId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + pfds: + type: array + items: + $ref: '#/components/schemas/PfdContent' + minItems: 1 + cachingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + cachingTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + pfdTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + partialFlag: + type: boolean + description: > + Indication of partial update of PFDs for an existing application identifier if it is + included and set to true. Otherwise set to false indicates not supporting partial + update of PFDs for an existing application identifier. The default value false + applies if the attribute is not present. + default: false + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - applicationId + + PfdSubscription: + description: Represents a PFD subscription. + type: object + properties: + applicationIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + notifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notifyUri + - supportedFeatures + + PfdChangeNotification: + description: Represents information related to a notification of PFD change. + type: object + properties: + applicationId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + removalFlag: + type: boolean + description: > + Indication of removal of PFDs for an existing application identifier. + Set to true indicates the PFDs are removed. + Set to false indicates the PFDs are not removed. + Default value is false if omitted. + default: false + partialFlag: + type: boolean + description: > + Indication of partial update of PFDs for an existing application identifier + if this operation is supported according to feature negotiation. + Set to true indicates partial update PFDs for the included application identifier. + Set to false indicates not partial update PFDs for the included application identifier. + Default value is "false" if omitted. + default: false + pfds: + type: array + items: + $ref: '#/components/schemas/PfdContent' + minItems: 1 + required: + - applicationId + + NotificationPush: + description: > + Represents the information to be used by the NF service consumer to retrieve the + PFDs and/or remove the PFDs of the applicable application identifier(s). + type: object + properties: + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + allowedDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + pfdOp: + $ref: '#/components/schemas/PfdOperation' + required: + - appIds + + PfdChangeReport: + description: Represents an error report on PFD change. + type: object + properties: + pfdError: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + applicationId: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + required: + - pfdError + - applicationId + + ApplicationForPfdRequest: + description: Contains the application identifier(s) for the PFD(s) request. + type: object + properties: + applicationId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + pfdTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - applicationId + +# +# ENUMERATIONS +# + PfdOperation: + description: Indicates the operation to be applied on PFD(s). + anyOf: + - type: string + enum: + - RETRIEVE + - FULLPULL + - PARTIALPULL + - REMOVE + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. diff --git a/TS29553_Npanf_ProseKey.yaml b/TS29553_Npanf_ProseKey.yaml new file mode 100644 index 0000000000000000000000000000000000000000..05b6153712472680d348231cb856e8058e923d55 --- /dev/null +++ b/TS29553_Npanf_ProseKey.yaml @@ -0,0 +1,191 @@ +openapi: 3.0.0 + +info: + title: Npanf_ProseKey + version: 1.1.0-alpha.2 + description: | + PAnF ProseKey Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.553 V18.1.0; 5G System; 5G ProSe Anchor Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.553/ + +servers: + - url: '{apiRoot}/npanf-prosekey/' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - npanf-prosekey + +paths: + /prose-keys/register: + post: + summary: Register the Prose Key + operationId: ProseKeyRegistration + tags: + - prosekey registration + security: + - {} + - oAuth2ClientCredentials: + - npanf_prosekey + - oAuth2ClientCredentials: + - npanf_prosekey + - npanf_prosekey:register:invoke + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProseContextInfo' + required: true + responses: + '204': + description: Successful Response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /prose-keys/retrieve: + post: + summary: retrieve the prose key + operationId: ProseKeyRetrieval + tags: + - Prose Key Retrieval + security: + - {} + - oAuth2ClientCredentials: + - npanf_prosekey + - oAuth2ClientCredentials: + - npanf_prosekey + - npanf_prosekey:retrieve:invoke + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProseKeyRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ProseKeyResponse' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npanf-prosekey: Access to the Npanf_ProseKey API + npanf-prosekey:register:invoke: Access to invoke register Prose Context + npanf-prosekey:retrieve:invoke: Access to invoke retrieve CP-PRUK + + schemas: +# +# Structured Data Types +# + ProseContextInfo: + description: Prose Context Info. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + 5gPruk: + $ref: '#/components/schemas/5GPruk' + 5gPrukId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GPrukId' + relayServiceCode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RelayServiceCode' + required: + - supi + - 5gPruk + - 5gPrukId + - relayServiceCode + + ProseKeyRequest: + description: Prose Key Request. + type: object + properties: + 5gPrukId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GPrukId' + relayServiceCode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RelayServiceCode' + required: + - 5gPrukId + - relayServiceCode + + ProseKeyResponse: + description: Prose Key Response. + type: object + properties: + 5gPruk: + $ref: '#/components/schemas/5GPruk' + required: + - 5gPruk + +# +# Simple Data Types +# + 5GPruk: + description: ProSe Remote User Key over Control Plane + type: string + pattern: '^[A-Fa-f0-9]{64}$' + +# +# Enumeration Data Types +# diff --git a/TS29553_Npanf_ResolveRemoteUserId.yaml b/TS29553_Npanf_ResolveRemoteUserId.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7d28b86ae943a5bb287551ee72a1c4530f6ebb80 --- /dev/null +++ b/TS29553_Npanf_ResolveRemoteUserId.yaml @@ -0,0 +1,111 @@ +openapi: 3.0.0 +info: + version: '1.1.0-alpha.1' + title: 'Npanf_ResolveRemoteUserId' + description: | + PAnF Resolve Remote User Id Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.559 V18.3.0; 5G System; 5G ProSe Key Management Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.559/ + +servers: + - url: '{apiRoot}/npanf-userid/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - npanf-userid + +paths: + /prose-resolution/get: + post: + summary: Request to resolve the Remote User ID + operationId: ProseResolve + tags: + - Resolve Remote User ID + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ResolveReqData' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ResolveRspData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npanf-userid: Access to the Npanf_ResolveRemoteUserId API + + schemas: +# +# Structured Data Types +# + ResolveReqData: + description: Representation of the Resolve Request Data. + type: object + properties: + cpPrukId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GPrukId' + required: + - cpPrukId + + ResolveRspData: + description: Representation of the Resolve Response Data. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + required: + - supi + +# +# Simple Data Types +# + + +# +# Enumeration Data Types +# + diff --git a/TS29554_Npcf_BDTPolicyControl.yaml b/TS29554_Npcf_BDTPolicyControl.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3092865ca0d03a12c00b3eb9c2c938efbd47bb09 --- /dev/null +++ b/TS29554_Npcf_BDTPolicyControl.yaml @@ -0,0 +1,441 @@ +openapi: 3.0.0 + +info: + title: Npcf_BDTPolicyControl Service API + version: 1.3.0-alpha.1 + description: | + PCF BDT Policy Control Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.554 V18.0.0; 5G System; Background Data Transfer Policy Control Service. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.554/' + +servers: + - url: '{apiRoot}/npcf-bdtpolicycontrol/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - npcf-bdtpolicycontrol + +paths: + /bdtpolicies: + post: + summary: Create a new Individual BDT policy + operationId: CreateBDTPolicy + tags: + - BDT policies (Collection) + requestBody: + description: > + Contains information for the creation of a new Individual BDT policy resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BdtReqData' + responses: + '201': + description: Background data transfer policies offered to an ASP. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicy' + headers: + Location: + description: > + Contains the URI of the created individual BDT policy resource, + according to the structure + {apiRoot}/npcf-bdtpolicycontrol/v1/bdtpolicies/{bdtPolicyId} + required: true + schema: + type: string + '303': + description: > + See Other. The result of the POST request would be equivalent to the + existing Individual BDT policy resource. + headers: + Location: + description: Contains the URI of the existing individual BDT policy resource. + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + BdtNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Notification' + responses: + '204': + description: No Content, a reception of the BDT notification was successful. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /bdtpolicies/{bdtPolicyId}: + get: + summary: Read an Individual BDT policy + operationId: GetBDTPolicy + tags: + - Individual BDT policy (Document) + parameters: + - name: bdtPolicyId + description: String identifying the individual BDT policy resource in the PCF. + in: path + required: true + schema: + type: string + responses: + '200': + description: Background data transfer policies offered to and selected by an ASP. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicy' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Update an Individual BDT policy + operationId: UpdateBDTPolicy + tags: + - Individual BDT policy (Document) + parameters: + - name: bdtPolicyId + description: String identifying the individual BDT policy resource in the PCF. + in: path + required: true + schema: + type: string + requestBody: + description: > + Contains modification instruction to be performed on the BdtPolicy data + structure to select a transfer policy and in addition, may indicate whether + the BDT warning notification is enabled or disabled. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PatchBdtPolicy' + responses: + '200': + description: > + The Individual BDT Policy resource is modified and a representation of that + resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicy' + '204': + description: The Individual BDT Policy resource is modified. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npcf-bdtpolicycontrol: Access to the Npcf_BDTPolicyControl API + + schemas: + +# Structured data types + + BdtPolicy: + description: Represents an Individual BDT policy resource. + type: object + properties: + bdtPolData: + $ref: '#/components/schemas/BdtPolicyData' + bdtReqData: + $ref: '#/components/schemas/BdtReqData' + + BdtReqData: + description: > + Contains service requirements for creation a new Individual BDT policy resource. + type: object + required: + - aspId + - desTimeInt + - numOfUes + - volPerUe + properties: + aspId: + $ref: '#/components/schemas/AspId' + desTimeInt: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nwAreaInfo: + $ref: '#/components/schemas/NetworkAreaInfo' + numOfUes: + description: Indicates a number of UEs. + type: integer + volPerUe: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + trafficDes: + $ref: 'TS29122_ResourceManagementOfBdt.yaml#/components/schemas/TrafficDescriptor' + warnNotifReq: + description: Indicates whether the BDT warning notification is enabled or disabled. + type: boolean + default: false + + BdtPolicyData: + description: Describes the authorization data of an Individual BDT policy resource. + type: object + required: + - bdtRefId + - transfPolicies + properties: + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + transfPolicies: + description: Contains transfer policies. + type: array + items: + $ref: '#/components/schemas/TransferPolicy' + minItems: 1 + selTransPolicyId: + description: Contains an identity of the selected transfer policy. + type: integer + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + PatchBdtPolicy: + description: > + Describes the updates in authorization data of an Individual BDT Policy created + by the PCF. + type: object + properties: + bdtPolData: + $ref: '#/components/schemas/BdtPolicyDataPatch' + bdtReqData: + $ref: '#/components/schemas/BdtReqDataPatch' + + BdtPolicyDataPatch: + description: > + A JSON Merge Patch body schema containing modification instruction to be performed + on the bdtPolData attribute of the BdtPolicy data structure to select a transfer + policy. Adds selTransPolicyId to BdtPolicyData data structure. + type: object + required: + - selTransPolicyId + properties: + selTransPolicyId: + description: > + Contains an identity (i.e. transPolicyId value) of the selected transfer + policy. If the BdtNotification_5G feature is supported value 0 indicates that + no transfer policy is selected. + type: integer + + BdtReqDataPatch: + description: > + A JSON Merge Patch body schema containing modification instruction to be performed + on the bdtReqData attribute of the BdtPolicy data structure to indicate whether + the BDT warning notification is enabled or disabled. Modifies warnNotifReq from + BdtReqData data structure. + type: object + properties: + warnNotifReq: + description: Indicates whether the BDT warning notification is enabled or disabled. + type: boolean + + TransferPolicy: + description: Describes a transfer policy. + type: object + required: + - ratingGroup + - recTimeInt + - transPolicyId + properties: + maxBitRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxBitRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + ratingGroup: + description: Indicates a rating group for the recommended time window. + type: integer + recTimeInt: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + transPolicyId: + description: Contains an identity of a transfer policy. + type: integer + + NetworkAreaInfo: + description: > + Describes a network area information in which the NF service consumer requests + the number of UEs. + type: object + properties: + ecgis: + description: Contains a list of E-UTRA cell identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + minItems: 1 + ncgis: + description: Contains a list of NR cell identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + minItems: 1 + gRanNodeIds: + description: Contains a list of NG RAN nodes. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + tais: + description: Contains a list of tracking area identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + + Notification: + description: Describes a BDT notification. + type: object + required: + - bdtRefId + properties: + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + candPolicies: + description: > + Contains a list of the candidate transfer policies from which the AF may + select a new transfer policy due to a network performance is below the criteria + set by the operator. + type: array + items: + $ref: '#/components/schemas/TransferPolicy' + minItems: 1 + nwAreaInfo: + $ref: '#/components/schemas/NetworkAreaInfo' + timeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + +# Simple data types + + AspId: + description: Contains an identity of an application service provider. + type: string diff --git a/TS29555_N5g-ddnmf_Discovery.yaml b/TS29555_N5g-ddnmf_Discovery.yaml new file mode 100644 index 0000000000000000000000000000000000000000..23ce1a75b0a43cabaafbcced5f14c595a63d8aef --- /dev/null +++ b/TS29555_N5g-ddnmf_Discovery.yaml @@ -0,0 +1,1131 @@ +openapi: 3.0.0 + +info: + title: N5g-ddnmf_Discovery API + version: '1.1.0-alpha.3' + description: | + N5g-ddnmf_Discovery Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.555 V18.4.0; 5G System; 5G Direct Discovery Name Management Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.555/ + +servers: + - url: '{apiRoot}/n5g-ddnmf-disc/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - n5g-ddnmf-disc + +paths: + /{ueId}/announce-authorize/{discEntryId}: + put: + summary: Obtain the authorization to announce for a UE + operationId: ObtainAnnounceAuth + tags: + - Obtain the authorization to announce for a UE + security: + - {} + - oAuth2ClientCredentials: + - n5g-ddnmf-disc + - oAuth2ClientCredentials: + - n5g-ddnmf-disc + - n5g-ddnmf-disc:announce-authorize:modify + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: discEntryId + in: path + description: Discovery Entry Id + required: true + schema: + $ref: '#/components/schemas/DiscoveryEntryId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AnnounceAuthData' + required: true + responses: + '201': + description: Successful creation of the resource + content: + application/json: + schema: + $ref: '#/components/schemas/AnnounceAuthData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/n5g-ddnmf-disc>//{ueId}/announce-authorize/{discEntryId} + required: true + schema: + type: string + '204': + description: Successful update of the resource. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: Update the authorization for announcing for a UE + operationId: UpdateAnnounceAuth + tags: + - Update the authorization for announcing for a UE + security: + - {} + - oAuth2ClientCredentials: + - n5g-ddnmf-disc + - oAuth2ClientCredentials: + - n5g-ddnmf-disc + - n5g-ddnmf-disc:announce-authorize:modify + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: discEntryId + in: path + description: Discovery Entry Id + required: true + schema: + $ref: '#/components/schemas/DiscoveryEntryId' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AnnounceUpdateData' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Expected response to a valid request + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/monitor-authorize/{discEntryId}: + put: + summary: Obtain the authorization to monitor for a UE + operationId: ObtainMonitorAuth + tags: + - Obtain the authorization to monitor for a UE + security: + - {} + - oAuth2ClientCredentials: + - n5g-ddnmf-disc + - oAuth2ClientCredentials: + - n5g-ddnmf-disc + - n5g-ddnmf-disc:monitor-authorize:modify + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: discEntryId + in: path + description: Discovery Entry Id + required: true + schema: + $ref: '#/components/schemas/DiscoveryEntryId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MonitorAuthReqData' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/MonitorAuthRespData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/n5g-ddnmf-disc>//{ueId}/monitor-authorize/{discEntryId} + required: true + schema: + type: string + '204': + description: Successful update of the resource. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: Update the authorization for monitoring for a UE + operationId: UpdateMonitorAuth + tags: + - Update the authorization for monitoring for a UE + security: + - {} + - oAuth2ClientCredentials: + - n5g-ddnmf-disc + - oAuth2ClientCredentials: + - n5g-ddnmf-disc + - n5g-ddnmf-disc:monitor-authorize:modify + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: discEntryId + in: path + description: Discovery Entry Id + required: true + schema: + $ref: '#/components/schemas/DiscoveryEntryId' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/MonitorUpdateData' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Expected response to a valid request + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + onMonitorUpdateResult: + '{request.body#/monitorUpdateResultCallbackRef}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MonitorUpdateResult' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + onMatchInformation: + '{request.body#/matchInfoCallbackRef}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MatchInformation' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + + /{ueId}/discovery-authorize/{discEntryId}: + put: + summary: Obtain the authorization from the 5G DDNMF for a discoverer UE in the PLMN to operate Model B restricted discovery + operationId: ObtainDiscAuth + tags: + - Obtain the authorization for a discoverer UE + security: + - {} + - oAuth2ClientCredentials: + - n5g-ddnmf-disc + - oAuth2ClientCredentials: + - n5g-ddnmf-disc + - n5g-ddnmf-disc:discovery-authorize:modify + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: discEntryId + in: path + description: Discovery Entry Id + required: true + schema: + $ref: '#/components/schemas/DiscoveryEntryId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscoveryAuthReqData' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/DiscoveryAuthRespData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/n5g-ddnmf-disc>//{ueId}/discovery-authorize/{discEntryId} + required: true + schema: + type: string + '204': + description: Successful update of the resource. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + onMatchInformation: + '{request.body#/matchInfoCallbackRef}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MatchInformation' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + + /{ueId}/match-report: + post: + summary: Obtain the information about the indicated discovery code from the 5G DDNMF + operationId: MatchReport + tags: + - Obtain the information about the indicated discovery code + security: + - {} + - oAuth2ClientCredentials: + - n5g-ddnmf-disc + - oAuth2ClientCredentials: + - n5g-ddnmf-disc + - n5g-ddnmf-disc:match-report:modify + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MatchReportReqData' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/MatchReportRespData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + n5g-ddnmf-disc: Access to the N5g-ddnmf_Discovery API + n5g-ddnmf-disc:announce-authorize:modify: Access to modify the authorization to announce for a UE in the PLMN + n5g-ddnmf-disc:monitor-authorize:modify: Access to modify the authorization for monitoring for an UE in the PLMN + n5g-ddnmf-disc:discovery-authorize:modify: Access to modify the authorization from the 5G DDNMF for a discoverer UE in the PLMN to operate Model B restricted discovery + n5g-ddnmf-disc:match-report:invoke: Access to invoke the information about the indicated discovery code + + schemas: + +# COMPLEX TYPES: + + AnnounceAuthData: + type: object + description: Represents Data used to request the authorization to announce for a UE + required: + - discType + properties: + discType: + $ref: '#/components/schemas/DiscoveryType' + openDiscData: + $ref: '#/components/schemas/AnnounceDiscDataForOpen' + restrictedDiscData: + $ref: '#/components/schemas/AnnounceDiscDataForRestricted' + + AnnounceDiscDataForOpen: + type: object + description: Represents Data for open discovery used to request the authorization to announce for a UE + required: + - proseAppId + - validityTime + properties: + proseAppId: + $ref: '#/components/schemas/ProseApplicationId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + proseAppCode: + $ref: '#/components/schemas/ProseApplicationCode' + proseAppCodePrefix: + $ref: '#/components/schemas/ProseApplicationPrefix' + proseAppCodeSuffixPool: + $ref: '#/components/schemas/ProseApplicationCodeSuffixPool' + metaData: + $ref: '#/components/schemas/MetaData' + + AnnounceDiscDataForRestricted: + type: object + description: Represents Data for restricted discovery used to request the authorization to announce for a UE + required: + - rpauid + - appId + - validityTime + properties: + rpauid: + $ref: '#/components/schemas/Rpauid' + appId: + $ref: '#/components/schemas/ApplicationId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + proseRestrictedCode: + $ref: '#/components/schemas/ProseRestrictedCode' + proseRestrictedPrefix: + $ref: '#/components/schemas/ProseRestrictedPrefix' + codeSuffixPool: + $ref: '#/components/schemas/RestrictedCodeSuffixPool' + + AnnounceUpdateData: + type: object + description: Represents Announce Authorize Data to update + required: + - discType + - validityTime + properties: + discType: + $ref: '#/components/schemas/DiscoveryType' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + proseAppCode: + $ref: '#/components/schemas/ProseApplicationCode' + + MonitorAuthReqData: + type: object + description: Represents Data used to request the authorization to monitor for a UE + required: + - discType + properties: + discType: + $ref: '#/components/schemas/DiscoveryType' + openDiscData: + $ref: '#/components/schemas/MonitorDiscDataForOpen' + restrictedDiscData: + $ref: '#/components/schemas/MonitorDiscDataForRestricted' + + MonitorAuthRespData: + type: object + description: Represents the obtained Monitor Authorize Data for a UE + properties: + authDataOpen: + $ref: '#/components/schemas/MonitorAuthDataForOpen' + authDataRestricted: + $ref: '#/components/schemas/MonitorAuthDataForRestricted' + + MonitorDiscDataForOpen: + type: object + description: Represents Data for open discovery used to request the authorization to monitor for a UE + required: + - proseAppIdNames + properties: + proseAppIdNames: + type: array + items: + $ref: '#/components/schemas/ProseApplicationIdName' + minItems: 1 + + MonitorDiscDataForRestricted: + type: object + description: Represents Data for restricted discovery used to request the authorization to monitor for a UE + required: + - rpauid + - targetPduid + - appId + - targetRpauid + properties: + rpauid: + $ref: '#/components/schemas/Rpauid' + targetPduid: + $ref: '#/components/schemas/Pduid' + appId: + $ref: '#/components/schemas/ApplicationId' + targetRpauid: + $ref: '#/components/schemas/Rpauid' + + MonitorAuthDataForOpen: + type: object + description: Represents the obtained Announce Authorize Data for open discovery for a UE + required: + - proseAppMasks + - ttl + properties: + proseAppCodes: + type: array + items: + $ref: '#/components/schemas/ProseApplicationCode' + minItems: 1 + proseAppPrefix: + $ref: '#/components/schemas/ProseApplicationPrefix' + proseAppMasks: + type: array + items: + $ref: '#/components/schemas/ProseApplicationMask' + minItems: 1 + ttl: + type: integer + + MonitorAuthDataForRestricted: + type: object + description: Represents the obtained Announce Authorize Data for restricted discovery for a UE + required: + - proseRestrictedCode + - validityTime + properties: + proseRestrictedCode: + $ref: '#/components/schemas/ProseRestrictedCode' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + MonitorUpdateData: + type: object + description: Represents Monitor Authorize Data to update. + required: + - discType + properties: + discType: + $ref: '#/components/schemas/DiscoveryType' + openUpdateData: + $ref: '#/components/schemas/MonitorUpdateDataForOpen' + restrictedUpdateData: + $ref: '#/components/schemas/MonitorUpdateDataForRestricted' + + DiscoveryAuthReqData: + type: object + description: Represents Data used to request the authorization for a discoverer UE. + required: + - discType + properties: + discType: + $ref: '#/components/schemas/DiscoveryType' + restrictedDiscData: + $ref: '#/components/schemas/DiscDataForRestricted' + + DiscoveryAuthRespData: + type: object + description: Represents the obtained authorization Data for a discoverer UE + properties: + authDataRestricted: + $ref: '#/components/schemas/AuthDataForRestricted' + + DiscDataForRestricted: + type: object + description: Represents Data for restricted discovery used to request the authorization for a discoverer UE + required: + - rpauid + - targetPduid + - appId + - targetRpauid + properties: + rpauid: + $ref: '#/components/schemas/Rpauid' + targetPduid: + $ref: '#/components/schemas/Pduid' + appId: + $ref: '#/components/schemas/ApplicationId' + targetRpauid: + $ref: '#/components/schemas/Rpauid' + + AuthDataForRestricted: + type: object + description: Represents obtained authorization Data for restricted discovery for a discoverer UE + required: + - proseQueryCodes + - proseRespCode + - validityTime + properties: + proseQueryCodes: + items: + $ref: '#/components/schemas/ProseQueryCode' + minItems: 1 + proseRespCode: + $ref: '#/components/schemas/ProseResponseCode' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + MatchReportReqData: + type: object + description: Represents the Match Report information + required: + - discType + properties: + discType: + $ref: '#/components/schemas/DiscoveryType' + proseAppCodes: + items: + $ref: '#/components/schemas/ProseApplicationCode' + minItems: 1 + moniteredPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + + MatchReportRespData: + type: object + description: Represents Match Report Acknowledgement + properties: + proseAppIdNames: + items: + $ref: '#/components/schemas/ProseApplicationIdName' + minItems: 1 + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + metaData: + $ref: '#/components/schemas/MetaData' + metaDataIndexMasks: + items: + $ref: '#/components/schemas/MetaDataIndexMask' + minItems: 1 + + MonitorUpdateResult: + type: object + description: Represents the monitoring revocation results. + required: + - discType + - proseRestrictedCode + - appId + - bannedRpauid + - bannedPduid + - revocationResult + properties: + discType: + $ref: '#/components/schemas/DiscoveryType' + proseRestrictedCode: + $ref: '#/components/schemas/ProseRestrictedCode' + appId: + $ref: '#/components/schemas/ApplicationId' + bannedRpauid: + $ref: '#/components/schemas/Rpauid' + bannedPduid: + $ref: '#/components/schemas/Pduid' + revocationResult: + $ref: '#/components/schemas/RevocationResult' + + MatchInformation: + type: object + description: > + Represents a report including a matching result, and the information that + can be used for charging purpose. + required: + - discType + properties: + discType: + $ref: '#/components/schemas/DiscoveryType' + openMatchInfoForOpen: + $ref: '#/components/schemas/MatchInfoForOpen' + restrictedMatchInfo: + $ref: '#/components/schemas/MatchInfoForRestricted' + + MatchInfoForOpen: + type: object + description: > + Represents a report including a matching result, and the information that + can be used for charging purpose for the open discovery type. + required: + - supi + - appId + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + appId: + items: + $ref: '#/components/schemas/ApplicationId' + minItems: 1 + + MatchInfoForRestricted: + type: object + description: > + Represents a report including a matching result, and the information that + can be used for charging purpose for the restricted discovery type. + required: + - supi + - rpauid + - targetRpauid + - proseRestrictedCode + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + rpauid: + $ref: '#/components/schemas/Rpauid' + targetRpauid: + $ref: '#/components/schemas/Rpauid' + proseRestrictedCode: + $ref: '#/components/schemas/ProseRestrictedCode' + + RestrictedCodeSuffixPool: + type: object + description: Contains the Restricted Code Suffix Pool. + anyOf: + - required: [ codeSuffixList ] + - required: [ codeSuffixRangeList ] + properties: + codeSuffixList: + type: array + items: + $ref: '#/components/schemas/RestrictedCodeSuffix' + minItems: 1 + codeSuffixRangeList: + type: array + items: + $ref: '#/components/schemas/RestrictedCodeSuffixRange' + minItems: 1 + + RestrictedCodeSuffixRange: + type: object + description: Contains a range of the Restricted Code Suffixes which are consecutive. + required: + - beginningSuffix + - endingSuffix + properties: + beginningSuffix: + $ref: '#/components/schemas/RestrictedCodeSuffix' + endingSuffix: + $ref: '#/components/schemas/RestrictedCodeSuffix' + + ProseApplicationCodeSuffixPool: + type: object + description: Contains the Prose Application Code Suffix Pool. + anyOf: + - required: [ codeSuffix ] + - required: [ codeSuffixRange ] + properties: + codeSuffix: + $ref: '#/components/schemas/ProseAppCodeSuffix' + codeSuffixRange: + $ref: '#/components/schemas/ProseAppCodeSuffixRange' + + ProseAppCodeSuffixRange: + type: object + description: Contains a range of the Prose Application Code Suffixes which are consecutive. + required: + - beginningSuffix + - endingSuffix + properties: + beginningSuffix: + $ref: '#/components/schemas/ProseAppCodeSuffix' + endingSuffix: + $ref: '#/components/schemas/ProseAppCodeSuffix' + + MonitorUpdateDataForOpen: + type: object + description: Represents Monitor Update Data for the Discovery Type "OPEN". + required: + - proseAppIdName + - ttl + properties: + proseAppIdName: + $ref: '#/components/schemas/ProseApplicationIdName' + ttl: + type: integer + minimum: 0 + + MonitorUpdateDataForRestricted: + type: object + description: Represents Monitor Update Data for the Discovery Type "RESTRICTED". + required: + - proseRestrictedCode + - appId + - bannedRpauid + - bannedPduid + properties: + proseRestrictedCode: + $ref: '#/components/schemas/ProseRestrictedCode' + appId: + $ref: '#/components/schemas/ApplicationId' + bannedRpauid: + $ref: '#/components/schemas/Rpauid' + bannedPduid: + $ref: '#/components/schemas/Pduid' + monitorUpdateResultCallbackRef: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + + + +# SIMPLE TYPES: + DiscoveryEntryId: + description: Contains the Discovery Entry ID. + type: string + + ProseApplicationId: + description: Contains the ProSe Application ID. + type: string + + ProseApplicationCode: + description: Contains the ProSe Application Code. + type: string + + Rpauid: + description: Contains the RPAUID. + type: string + + ApplicationId: + description: Contains the Application ID. + type: string + + ProseRestrictedCode: + description: Contains the ProSe Restricted Code. + type: string + + ProseRestrictedPrefix: + description: Contains the ProSe Restricted Code Prefix. + type: string + + MetaData: + description: Contains the metadata. + type: string + + ProseApplicationIdName: + description: Contains the ProSe Application ID name. + type: string + + Pduid: + description: Contains the PDUID. + type: string + + ProseApplicationPrefix: + description: Contains the Prose Application Code Prefix. + type: string + + ProseApplicationMask: + description: Contains the Prose Application Mask. + type: string + + ProseQueryCode: + description: Contains the ProSe Query Code. + type: string + + ProseResponseCode: + description: Contains the ProSe Response Code. + type: string + + MetaDataIndexMask: + description: Contains the Meta Data Index Mask. + type: string + + RestrictedCodeSuffix: + description: Contains the ProSe Restricted Code Suffix. + type: string + + ProseAppCodeSuffix: + description: Contains the ProSe Application Code Suffix. + type: string + +# ENUMS: + + DiscoveryType: + anyOf: + - type: string + enum: + - OPEN + - RESTRICTED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - OPEN: Discovery type is "open". + - RESTRICTED: Discovery type is "restricted". + + + RevocationResult: + anyOf: + - type: string + enum: + - SUCCESSFUL + - FAILED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - SUCCESSFUL: The Monitoring Revocation is successful. + - FAILED: The Monitoring Revocation is failed. diff --git a/TS29556_Neasdf_BaselineDNSPattern.yaml b/TS29556_Neasdf_BaselineDNSPattern.yaml new file mode 100644 index 0000000000000000000000000000000000000000..46976b33852e4cd59c6b05389b58a1654033e872 --- /dev/null +++ b/TS29556_Neasdf_BaselineDNSPattern.yaml @@ -0,0 +1,348 @@ +openapi: 3.0.0 + +info: + version: '1.1.0-alpha.2' + title: 'Neasdf_BaselineDNSPattern' + description: | + EASDF Baseline DNS Pattern Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.556 V18.1.0; 5G System; Edge Application Server Discovery Services; Stage 3 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.556/' + +servers: + - url: '{apiRoot}/neasdf-baselinednspattern/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - neasdf-baselinednspattern + +paths: + + /base-dns-patterns/{smfId}/{smfImplementationSegmentPaths}: + patch: + summary: Updates the Baseline DNS Pattern + operationId: UpdateBaseDNSPattern + tags: + - Individual Baseline DNS Pattern + parameters: + - name: smfId + in: path + description: SMF or SMF set identifier or Set Id part in SMF set identifier + required: true + schema: + $ref: '#/components/schemas/VarNfId' + style: simple + explode: true + - name: smfImplementationSegmentPaths + in: path + description: SMF Implementation Dependent Segment Paths + required: true + schema: + type: string + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '200': + description: Partial update of the Baseline DNS Pattern + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Successful update of the Baseline DNS Pattern + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: Creates or Updates the Baseline DNS Pattern (complete replacement) + operationId: CreateOrReplaceBaseDnsPattern + tags: + - Individual Baseline DNS Pattern + parameters: + - name: smfId + in: path + description: SMF or SMF set identifier or Set Id part in SMF set identifier + required: true + schema: + $ref: '#/components/schemas/VarNfId' + style: simple + explode: true + - name: smfImplementationSegmentPaths + in: path + description: SMF Implementation Dependent Segment Paths + required: true + schema: + type: string + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseDnsPatternCreateData' + responses: + '201': + description: successful creation of a Baseline DNS pattern + content: + application/json: + schema: + $ref: '#/components/schemas/BaseDnsPatternCreatedData' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/neasdf-baselinednspattern//base-dns-patterns/{smfId}/{smfImplementationSegmentPaths}' + required: true + schema: + type: string + '204': + description: Successful update of the Baseline DNS Pattern + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes a Baseline DNS Pattern + tags: + - Individual Baseline DNS Pattern + operationId: DeleteBaseDnsPattern + parameters: + - name: smfId + in: path + description: SMF or SMF set identifier or Set Id part in SMF set identifier + required: true + schema: + $ref: '#/components/schemas/VarNfId' + style: simple + explode: true + - name: smfImplementationSegmentPaths + in: path + description: SMF Implementation Dependent Segment Paths + required: true + schema: + type: string + responses: + '204': + description: successful deletion of a Baseline DNS Pattern + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + neasdf-baselinednspattern: Access to the neasdf-baselinednspattern API + + schemas: +# +# STRUCTURED DATA TYPES +# + BaseDnsPatternCreateData: + description: Data in Baseline DNS Pattern Create request + type: object + properties: + label: + type: string + baseDnsMdtList: + description: map of baseline DNS message detection templates where a valid JSON string serves as key + type: object + additionalProperties: + $ref: '#/components/schemas/BaselineDnsMdt' + minProperties: 1 + baseDnsAitList: + description: map of Baseline DNS action information Template where a valid JSON string serves as key + type: object + additionalProperties: + $ref: '#/components/schemas/BaselineDnsAit' + minProperties: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + BaseDnsPatternCreatedData: + description: Data in Baseline DNS Pattern Create response + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + BaselineDnsMdt: + description: Baseline DNS message detection template + type: object + properties: + mdtId: + type: string + label: + type: string + dnsQueryMdtList: + description: map of DNS query message detection templates where a valid JSON string serves as key + type: object + additionalProperties: + $ref: 'TS29556_Neasdf_DNSContext.yaml#/components/schemas/DnsQueryMdt' + minProperties: 1 + dnsRspMdtList: + description: map of DNS response message detection templates where a valid JSON string serves as key + type: object + additionalProperties: + $ref: 'TS29556_Neasdf_DNSContext.yaml#/components/schemas/DnsRspMdt' + minProperties: 1 + required: + - mdtId + oneOf: + - required: [ dnsQueryMdtList ] + - required: [ dnsRspMdtList ] + + BaselineDnsAit: + description: Baseline DNS action information Template + type: object + properties: + aitId: + type: string + label: + type: string + ecsOption: + $ref: 'TS29556_Neasdf_DNSContext.yaml#/components/schemas/EcsOption' + dnsServerAddressList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + minItems: 1 + required: + - aitId + + VarNfId: + description: SMF or SMF Set Id or Set Id part in NF Set Id + type: object + properties: + smfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + setId: + type: string + pattern: '^([A-Za-z0-9\-]*[A-Za-z0-9])$' + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + +# +# SIMPLE DATA TYPES +# + + + +# +# ENUMERATIONS +# diff --git a/TS29556_Neasdf_DNSContext.yaml b/TS29556_Neasdf_DNSContext.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e7ab1adfdf38359b5dc8dfdb2d0abff0d11dd21e --- /dev/null +++ b/TS29556_Neasdf_DNSContext.yaml @@ -0,0 +1,720 @@ +openapi: 3.0.0 + +info: + version: '1.1.0-alpha.4' + title: 'Neasdf_DNSContext' + description: | + EASDF DNS Context Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.556 V18.4.0; 5G System; Edge Application Server Discovery Services; Stage3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.556/ + +servers: + - url: '{apiRoot}/neasdf-dnscontext/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - neasdf-dnscontext + +paths: + + /dns-contexts: + post: + summary: Create + tags: + - DNS contexts collection + operationId: CreateDnsContext + requestBody: + description: representation of the DNS context to be created in the EASDF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DnsContextCreateData' + callbacks: + dnsContextNotification: + '{$request.body#/notifyUri}': + post: + requestBody: # contents of the DNS context Notify request + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DnsContextNotification' + responses: + '204': + description: successful notification + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + responses: + '201': + description: successful creation of a DNS context + content: + application/json: + schema: + $ref: '#/components/schemas/DnsContextCreatedData' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/neasdf-dnscontext//dns-contexts/{dnsContextId}' + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /dns-contexts/{dnsContextId}: + delete: + summary: Delete the DNS Context + tags: + - Individual DNS context + operationId: DeleteDnsContext + parameters: + - name: dnsContextId + in: path + description: DNS context Identifier + required: true + schema: + type: string + responses: + '204': + description: successful deletion of an SM context + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Updates the DNS context + operationId: UpdateDnsContext + tags: + - Individual DNS context + parameters: + - name: dnsContextId + in: path + description: DNS context Identifier + required: true + schema: + type: string + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '200': + description: Partial update of the DNS context + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Successful update of the DNS context + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: Updates the DNS context (complete replacement) + operationId: ReplaceDnsContext + tags: + - Individual DNS context + parameters: + - name: dnsContextId + in: path + description: DNS context Identifier + required: true + schema: + type: string + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DnsContextCreateData' + responses: + '204': + description: Successful update of the DNS context + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + neasdf-dnscontext: Access to the neasdf-dnscontext API + + + schemas: +# +# STRUCTURED DATA TYPES +# + DnsContextCreateData: + description: Data within Create request + type: object + properties: + ueIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + hplmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + n6RoutingInfo: + $ref: '#/components/schemas/N6RoutingInfo' + dnsRules: + description: map of DNS message handling rules where a valid JSON string serves as key + type: object + additionalProperties: + $ref: '#/components/schemas/DnsRule' + minProperties: 1 + notifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - dnn + - sNssai + - dnsRules + anyOf: + - required: [ ueIpv4Addr ] + - required: [ ueIpv6Prefix ] + + DnsContextCreatedData: + description: Data within Create response + type: object + properties: + easdfIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + easdfIpv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + anyOf: + - required: [ easdfIpv4Addr ] + - required: [ easdfIpv6Addr ] + + DnsRule: + description: DNS message handling rule + type: object + properties: + dnsRuleId: + type: string + label: + type: string + precedence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + dnsQueryMdtList: + description: map of DNS query message detection templates where a valid JSON string serves as key + type: object + additionalProperties: + $ref: '#/components/schemas/DnsQueryMdt' + minProperties: 1 + baseDnsQueryMdtList: + type: array + items: + $ref: '#/components/schemas/BaselineDnsQueryMdtInfo' + minItems: 1 + dnsRspMdtList: + description: map of DNS response message detection templates where a valid JSON string serves as key + type: object + additionalProperties: + $ref: '#/components/schemas/DnsRspMdt' + minProperties: 1 + baseDnsRspMdtList: + type: array + items: + $ref: '#/components/schemas/BaselineDnsRspMdtInfo' + minItems: 1 + dnsMsgId: + type: string + actionList: + description: map of actions where a valid JSON string serves as key + type: object + additionalProperties: + $ref: '#/components/schemas/Action' + minProperties: 1 + required: + - actionList + allOf: + - not: + required: [ dnsQueryMdtList, dnsRspMdtList ] + - not: + required: [ dnsQueryMdtList, baseDnsRspMdtList ] + - not: + required: [ baseDnsQueryMdtList, dnsRspMdtList ] + - not: + required: [ baseDnsQueryMdtList, baseDnsRspMdtList ] + + DnsQueryMdt: + description: DNS Query message detection template + type: object + properties: + mdtId: + type: string + label: + type: string + sourceIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + sourceIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + fqdnPatternList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/FqdnPatternMatchingRule' + minItems: 1 + required: + - mdtId + + DnsRspMdt: + description: DNS Response message detection template + type: object + properties: + mdtId: + type: string + label: + type: string + fqdnPatternList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/FqdnPatternMatchingRule' + minItems: 1 + easIpv4AddrRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + easIpv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + required: + - mdtId + + Ipv4AddressRange: + description: Range of IPv4 addresses + type: object + properties: + start: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + end: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + required: + - start + - end + + Ipv6PrefixRange: + description: Range of IPv6 prefixes + type: object + properties: + start: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + end: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + required: + - start + - end + + Action: + description: Action to apply to DNS messages matching a message detection template + type: object + properties: + applyAction: + $ref: '#/components/schemas/ApplyAction' + fwdParas: + $ref: '#/components/schemas/ForwardingParameters' + reportingOnceInd: + type: boolean + default: false + resetReportingOnceInd: + type: boolean + default: false + respParas: + $ref: '#/components/schemas/RespondParameters' + required: + - applyAction + + DnsContextNotification: + description: Data within DNS Context Notify + type: object + properties: + eventreportList: + type: array + items: + $ref: '#/components/schemas/DnsContextEventReport' + minItems: 1 + + ForwardingParameters: + description: Forwarding instructions + type: object + properties: + ecsOptionInfo: + $ref: '#/components/schemas/EcsOptionInfo' + dnsServerAddressInfo: + $ref: '#/components/schemas/DnsServerAddressInfo' + + EcsOptionInfo: + description: ECS Option Information + type: object + properties: + ecsOption: + $ref: '#/components/schemas/EcsOption' + baseDnsAitId: + $ref: '#/components/schemas/BaselineDnsAitId' + oneOf: + - required: [ ecsOption ] + - required: [ baseDnsAitId ] + + DnsServerAddressInfo: + description: DNS Server Address Information + type: object + properties: + dnsServerAddressList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + minItems: 1 + baseDnsAitId: + $ref: '#/components/schemas/BaselineDnsAitId' + oneOf: + - required: [ dnsServerAddressList ] + - required: [ baseDnsAitId ] + + BaselineDnsMdtId: + description: Baseline DNS Message Detection Template Identifier + type: object + properties: + baseDnsPatternUri: + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + mdtId: + type: string + required: + - baseDnsPatternUri + - mdtId + + BaselineDnsAitId: + description: Baseline DNS Action Information Template Identifier + type: object + properties: + baseDnsPatternUri: + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + aitId: + type: string + required: + - baseDnsPatternUri + - aitId + + EcsOption: + description: ECS Option Information + type: object + properties: + sourcePrefixLength: + type: integer + minimum: 0 + maximum: 128 + scopePrefixLength: + type: integer + minimum: 0 + maximum: 128 + ipAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + required: + - sourcePrefixLength + - ipAddr + + DnsContextEventReport: + description: DNS context event report + type: object + properties: + timestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + dnsRuleId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + dnsQueryReport: + $ref: '#/components/schemas/DnsQueryReport' + dnsRspReport: + $ref: '#/components/schemas/DnsRspReport' + dnsMsgId: + type: string + required: + - timestamp + + + DnsQueryReport: + description: DNS Query Event Report + type: object + properties: + fqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + + DnsRspReport: + description: DNS Response Event Report + type: object + properties: + fqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + easIpv4Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + easIpv6Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + ecsOption: + $ref: '#/components/schemas/EcsOption' + + BaselineDnsQueryMdtInfo: + description: Baseline DNS Query MDT Information + type: object + properties: + sourceIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + sourceIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + baseDnsMdtList: + type: array + items: + $ref: '#/components/schemas/BaselineDnsMdtId' + minItems: 1 + required: + - baseDnsMdtList + + BaselineDnsRspMdtInfo: + description: Baseline DNS Response MDT Information + type: object + properties: + baseDnsMdtList: + type: array + items: + $ref: '#/components/schemas/BaselineDnsMdtId' + minItems: 1 + required: + - baseDnsMdtList + + RespondParameters: + description: Respond instructions + type: object + properties: + easIpv4Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + easIpv6Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + + N6RoutingInfo: + description: N6 traffic routing information + type: object + properties: + ipv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + portNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + +# +# SIMPLE DATA TYPES +# + + + +# +# ENUMERATIONS +# + + ApplyAction: + anyOf: + - type: string + enum: + - BUFFER + - REPORT + - FORWARD + - DISCARD + - RESPOND + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Action to apply to the DNS packet + diff --git a/TS29557_Naf_ProSe.yaml b/TS29557_Naf_ProSe.yaml new file mode 100644 index 0000000000000000000000000000000000000000..94a189d4293dbe03b25ed02d73b1a98af6942407 --- /dev/null +++ b/TS29557_Naf_ProSe.yaml @@ -0,0 +1,430 @@ +openapi: 3.0.0 + +info: + title: Naf_ProSe API + version: 1.1.0-alpha.2 + description: | + Naf_ProSe Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.557 V18.1.0; 5G System; Application Function ProSe Service; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.557/ + +servers: + - url: '{apiRoot}/naf-prose/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - naf-prose + +paths: + /authorize-discovery: + post: + summary: Obtain the authorization of Discovery Request from 5G DDNMF for a UE + operationId: ObtainDiscAuth + tags: + - Obtain the authorization of Discovery Request for a UE + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthDisReqData' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthDisResData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + DiscoveryAuthorizationUpdateNotify: + '{$request.body#/authUpdateCallbackUri}': + post: + requestBody: + description: > + update of authorization information to revoke discovery permissions + relating to some other users in the NF consumer for Restricted ProSe Direct Discovery + content: + application/json: + schema: + $ref: '#/components/schemas/AuthUpdateData' + responses: + '204': + description: Expected response to a valid notification + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /authorization-update-result: + post: + summary: > + report the result of update of authorization information to revoke discovery + permissions relating to some other users in the NF consumer for Restricted ProSe Direct + Discovery + operationId: AuthorizationUpdateResult + tags: + - Authorization Information Update Result + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthUpdateData' + required: true + responses: + '204': + description: Expected response to a successful cancellation + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + naf-prose: Access to the Naf_ProSe API + + schemas: + +# COMPLEX TYPES: + + AuthDisReqData: + type: object + description: > + Represents Data used to request the authorization for a UE of a 5G ProSe Direct + Discovery request. + required: + - authRequestType + properties: + authRequestType: + $ref: '#/components/schemas/AuthRequestType' + proseAppId: + type: array + items: + $ref: 'TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/ProseApplicationId' + allowedSuffixNum: + $ref: '#/components/schemas/AllowedSuffixNum' + appLevelContainer: + $ref: '#/components/schemas/AppLevelContainer' + rpauid: + $ref: 'TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Rpauid' + targetRpauid: + $ref: 'TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Rpauid' + authUpdateCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + + AuthDisResData: + type: object + description: > + Represents the obtained authorization Data for a UE of a 5G ProSe Direct Discovery + request. + required: + - authResponseType + properties: + authResponseType: + $ref: '#/components/schemas/AuthResponseType' + proseAppCodeSuffixPool: + $ref: 'TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/ProseApplicationCodeSuffixPool' + pduids: + type: array + items: + $ref: 'TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Pduid' + restrictedCodeSuffixPool: + type: array + items: + $ref: 'TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/RestrictedCodeSuffixPool' + proseAppMasks: + type: array + items: + $ref: 'TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/ProseApplicationMask' + proSeRestrictedMasks: + type: array + items: + $ref: '#/components/schemas/ProSeRestrictedMask' + resAppLevelContainer: + $ref: '#/components/schemas/AppLevelContainer' + targetDataSet: + type: array + items: + $ref: '#/components/schemas/TargetData' + targetPduid: + $ref: 'TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Pduid' + metaData: + $ref: 'TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/MetaData' + + + TargetData: + type: object + description: Represents a set of Target PDUID - Target RPAUID - Metadata Indicator. + required: + - targetRpauid + - pduid + properties: + targetRpauid: + $ref: 'TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Rpauid' + pduid: + $ref: 'TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Pduid' + metadataIndic: + $ref: '#/components/schemas/MetadataIndic' + AuthUpdateData: + type: object + description: > + Represents the update data and resulting update data of authorization information + for Restricted ProSe Direct Discovery. + required: + - targetRpauid + - bannedAuthData + properties: + targetRpauid: + $ref: 'TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Rpauid' + bannedAuthData: + type: array + items: + $ref: '#/components/schemas/BannedAuthData' + minItems: 1 + + BannedAuthData: + type: object + description: Represents a set of Banned PDUID - Banned RPAUID. + required: + - bannedRpauid + - bannedPduid + properties: + bannedRpauid: + $ref: 'TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Rpauid' + bannedPduid: + $ref: 'TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Pduid' + revocationResult: + $ref: '#/components/schemas/RevocationResult' + +# SIMPLE TYPES: + + AllowedSuffixNum: + description: contains the allowed number of suffixes. + type: integer + + AppLevelContainer: + description: Contains the Application Level Container. + type: string + + ProSeRestrictedMask: + description: Contains a ProSe Restricted Mask. + type: string + +# ENUMS: + + AuthRequestType: + anyOf: + - type: string + enum: + - OPEN_DISCOVERY_EXTENSION_ANNOUNCE + - RESTRICTED_DISCOVERY_ANNOUNCE + - RESTRICTED_DISCOVERY_EXTENSION_ANNOUNCE + - OPEN_DISCOVERY_EXTENSION_MONITOR + - RESTRICTED_DISCOVERY_MONITOR + - RESTRICTED_DISCOVERY_EXTENSION_MONITOR + - RESTRICTED_DISCOVERY_PERMISSION + - RESTRICTED_DISCOVERY_RESPONSE + - RESTRICTED_DISCOVERY_QUERY + - RESTRICTED_DISCOVERY_MATCH + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the authorization request type. + Possible values are: + - OPEN_DISCOVERY_EXTENSION_ANNOUNCE: Indicates that the Authorization Request Type is + open discovery with application-controlled extension/announce. + - RESTRICTED_DISCOVERY_ANNOUNCE: Indicates that the Authorization Request Type is restricted + discovery/announce. + - RESTRICTED_DISCOVERY_EXTENSION_ANNOUNCE: Indicates that the Authorization Request Type is + restricted discovery with application-controlled extension/announce. + - OPEN_DISCOVERY_EXTENSION_MONITOR: Indicates that the Authorization Request Type is open + discovery with application-controlled extension/monitor. + - RESTRICTED_DISCOVERY_MONITOR: Indicates that the Authorization Request Type is restricted + discovery/monitor. + - RESTRICTED_DISCOVERY_EXTENSION_MONITOR: Indicates that the Authorization Request Type is + restricted discovery with application-controlled extension/monitor. + - RESTRICTED_DISCOVERY_PERMISSION: Indicates that the Authorization Request Type is + restricted discovery/permission. + - RESTRICTED_DISCOVERY_RESPONSE: Indicates that the Authorization Request Type is restricted + discovery/response. + - RESTRICTED_DISCOVERY_QUERY: Indicates that the Authorization Request Type is restricted + discovery/query. + - RESTRICTED_DISCOVERY_MATCH: Indicates that the Authorization Request Type is restricted + discovery/match. + + AuthResponseType: + anyOf: + - type: string + enum: + - OPEN_DISCOVERY_EXTENSION_ANNOUNCE_ACK + - RESTRICTED_DISCOVERY_ANNOUNCE_ACK + - RESTRICTED_DISCOVERY_EXTENSION_ANNOUNCE_ACK + - OPEN_DISCOVERY_EXTENSION_MONITOR_ACK + - RESTRICTED_DISCOVERY_MONITOR_ACK + - RESTRICTED_DISCOVERY_EXTENSION_MONITOR_ACK + - RESTRICTED_DISCOVERY_PERMISSION_ACK + - RESTRICTED_DISCOVERY_RESPONSE_ACK + - RESTRICTED_DISCOVERY_QUERY_ACK + - RESTRICTED_DISCOVERY_MATCH_ACK + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the authorization response type. + Possible values are: + - OPEN_DISCOVERY_EXTENSION_ANNOUNCE_ACK: Indicates that the Authorization Response Type is + open discovery with application-controlled extension/announce ack. + - RESTRICTED_DISCOVERY_ANNOUNCE_ACK: Indicates that the Authorization Response Type is + restricted discovery/announce ack. + - RESTRICTED_DISCOVERY_EXTENSION_ANNOUNCE_ACK: Indicates that the Authorization Response + Type is restricted discovery with application-controlled extension/announce ack. + - OPEN_DISCOVERY_EXTENSION_MONITOR_ACK: Indicates that the Authorization Response Type is + open discovery with application-controlled extension/monitor ack. + - RESTRICTED_DISCOVERY_MONITOR_ACK: Indicates that the Authorization Response Type is + restricted discovery/monitor ack. + - RESTRICTED_DISCOVERY_EXTENSION_MONITOR_ACK: Indicates that the Authorization Response Type + is restricted discovery with application-controlled extension/monitor ack. + - RESTRICTED_DISCOVERY_PERMISSION_ACK: Indicates that the Authorization Response Type is + restricted discovery/permission ack. + - RESTRICTED_DISCOVERY_RESPONSE_ACK: Indicates that the Authorization Response Type is + restricted discovery/response ack. + - RESTRICTED_DISCOVERY_QUERY_ACK: Indicates that the Authorization Response Type is + restricted discovery/query ack. + - RESTRICTED_DISCOVERY_MATCH_ACK: Indicates that the Authorization Response Type is + restricted discovery/match ack. + + MetadataIndic: + anyOf: + - type: string + enum: + - NO_METADATA + - METADATA_UPDATE_DISALLOWED + - METADATA_UPDATE_ALLOWED + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the Metadata Indicator. + Possible values are: + - NO_METADATA: This value may be used to indicate that there is no metadata associated with + the target RPAUID. This is the default value applicable if this IE is not supplied. + - METADATA_UPDATE_DISALLOWED: This value shall be used to indicate that there exists + metadata associated with the target RPAUID, but the metadata is not allowed to be updated. + - METADATA_UPDATE_ALLOWED: This value shall be used to indicate that there exists metadata + associated with the target RPAUID, and the metadata is allowed to be updated. + + RevocationResult: + anyOf: + - type: string + enum: + - REVOCATION_SUCCESSFUL + - REVOCATION_NOT_SUCCESSFUL + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the revocation result of a set of Banned RPAUID - Banned PDUID for Restricted + ProSe Direct Discovery. + Possible values are: + - REVOCATION_SUCCESSFUL: Indicates the successful revocation for a set of Banned RPAUID - + Banned PDUID for Restricted ProSe Direct Discovery. + - REVOCATION_NOT_SUCCESSFUL: Indicates that unsuccessful revocation for a set of Banned + RPAUID - Banned PDUID for Restricted ProSe Direct Discovery. diff --git a/TS29558_Ecas_SelectedEES.yaml b/TS29558_Ecas_SelectedEES.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ac78c904eb8747032c6e354d799b6e239a498f14 --- /dev/null +++ b/TS29558_Ecas_SelectedEES.yaml @@ -0,0 +1,105 @@ +openapi: 3.0.0 + +info: + title: Selected EES Service + version: 1.0.0-alpha.1 + description: | + Selected EES Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.558 V18.3.0; Enabling Edge Applications; + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.558/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/ecas-selected-ees/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +paths: + /declare: + post: + summary: Declare the selected EES to the CAS. + operationId: DeclareSelectedEES + tags: + - Declare Selected EES + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SelEESDecInfo' + responses: + '204': + description: > + No Content. The Seleted EES Declaration request is received + 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' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + SelEESDecInfo: + description: > + Represents the information elements for the selected EES declaration. + type: object + properties: + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + seleEesId: + type: string + seleEndpoint: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + easId: + type: string + acId: + type: string + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ueId + - seleEesId + - seleEndpoint + - easId diff --git a/TS29558_Eecs_EESRegistration.yaml b/TS29558_Eecs_EESRegistration.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bfb6fb108b24dc1fb6fd59a1d775ce7b9524721b --- /dev/null +++ b/TS29558_Eecs_EESRegistration.yaml @@ -0,0 +1,529 @@ +openapi: 3.0.0 + +info: + title: ECS EES Registration_API + description: | + API for EES Registration. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: 1.1.0-alpha.5 + +externalDocs: + description: > + 3GPP TS 29.558 V18.4.0 Enabling Edge Applications; + Application Programming Interface (API) specification; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.558/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/eecs-eesregistration/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.558. + +paths: + /registrations: + post: + summary: Create a new EES Registration + operationId: CreateEESRegistration + tags: + - EES Registrations (Collection) + description: Registers a new EES at the Edge Configuration Server. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EESRegistration' + responses: + '201': + description: EES information is registered successfully at ECS. + content: + application/json: + schema: + $ref: '#/components/schemas/EESRegistration' + 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' + + /registrations/{registrationId}: + get: + summary: Get an Individual EES Registration + operationId: GetIndEESReg + tags: + - Individual EES Registration (Document) + description: Retrieve an Individual EES registration resource. + parameters: + - name: registrationId + in: path + description: Registration Id. + required: true + schema: + type: string + responses: + '200': + description: OK (The EES registration information at the Edge Configuration Server). + content: + application/json: + schema: + $ref: '#/components/schemas/EESRegistration' + '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: Update an Individual EES Registration + operationId: UpdateIndEESReg + tags: + - Individual EES Registration (Document) + description: Fully replace an existing EES Registration resource. + parameters: + - name: registrationId + in: path + description: EES Registration Id. + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EESRegistration' + responses: + '200': + description: OK (The EES registration information is updated successfully). + content: + application/json: + schema: + $ref: '#/components/schemas/EESRegistration' + '204': + description: > + No Content. The individual EES registration information is updated 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' + patch: + summary: Modify an Individual EES Registration + operationId: ModifyIndEESReg + tags: + - Individual EES Registration (Document) + description: Partially update an existing EES Registration resource. + parameters: + - name: registrationId + in: path + description: EES registration Id. + required: true + schema: + type: string + requestBody: + description: Partial update an existing EES registration resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/EESRegistrationPatch' + responses: + '200': + description: > + The Individual EES registration is successfully modified and + the updated registration information is returned in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/EESRegistration' + '204': + description: > + No Content. The individual EES registration information is updated 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: Delete an Individual EES Registration + operationId: DeleteIndEESReg + tags: + - Individual EES Registration (Document) + description: Delete an existing EES registration at ECS. + parameters: + - name: registrationId + in: path + description: Registration Id. + required: true + schema: + type: string + responses: + '204': + description: The individual EES registration is 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: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + EESRegistration: + type: object + description: Represents an EES registration information. + properties: + eesProf: + $ref: '#/components/schemas/EESProfile' + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - eesProf + + EESProfile: + type: object + description: Represents the EES profile information. + properties: + eesId: + type: string + description: Identifier of the EES. + endPt: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + easIds: + type: array + items: + type: string + minItems: 1 + description: Application identifiers of EASs that are registered with EES. + easBdlInfos: + type: object + additionalProperties: + type: array + items: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EASBundleInfo' + minItems: 1 + minProperties: 1 + description: > + The key used in this map for each entry is the EAS ID of the concerned EAS. + Within each EASBundleInfo encoded map entry of this attribute, the "mainEasId" attribute + shall not be present. + ednInfoSets: + $ref: '#/components/schemas/EDNInfo' + easInstInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/EASInstantiationInfo' + minProperties: 1 + description: > + Represents the EAS instantiation information for the EAS(s) registered at the EES. + The key of the map shall be the EAS ID to which the provided instantiation information + within the map value relates. + provId: + type: string + description: Identifier of the ECSP that provides the EES provider. + svcArea: + $ref: '#/components/schemas/ServiceArea' + appLocs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + description: List of DNAI(s) associated with the EES. + svcContSupp: + type: array + items: + $ref: '#/components/schemas/ACRScenario' + minItems: 1 + description: The ACR scenarios supported by the EES for service continuity. + svcContSuppExt1: + type: array + items: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EASBundleInfo' + minItems: 1 + description: > + Represents the information related to the EES ability to handle bundled EAS ACRs. + This attribute may be present only when the "svcContSupp" attribute is also present. + When this attribute is present, it indicates that the EES (identified by the "eesId" + attribute) is able to handle bundled EAS ACRs and contains the information of the EAS + bundle(s) for which the EES is able to handle bundled EAS ACRs. + eecRegConf: + type: boolean + description: > + Set to true if the EEC is required to register to the EES to use edge service. + Set to false if the EEC is not required to register to use edge services. Default + Value is false if omitted. + required: + - eesId + - endPt + - eecRegConf + + EESRegistrationPatch: + type: object + description: Represents partial update request of individual EES registration information. + properties: + eesProf: + $ref: '#/components/schemas/EESProfile' + expTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTimeRm' + + ServiceArea: + type: object + description: Represents a service area information of the EdgeApp entity. + properties: + topServAr: + $ref: '#/components/schemas/TopologicalServiceArea' + geoServAr: + $ref: '#/components/schemas/GeographicalServiceArea' + + TopologicalServiceArea: + type: object + description: Represents topological service area information. + properties: + ecgis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + minItems: 1 + description: A list of E-UTRA cell identities. + ncgis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + minItems: 1 + description: A list of NR cell identities. + tais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + description: A list of tracking area identities. + plmnIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + description: A list of serving network identities. + + GeographicalServiceArea: + type: object + description: Represents geographical service area information. + properties: + geoArs: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + description: A list of geographic area information. + civicAddrs: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + minItems: 1 + description: A list of civic address information. + + EASInstantiationInfo: + type: object + description: Represents the EAS instantiation information. + properties: + easId: + type: string + description: Identifier of the EAS. + status: + $ref: '#/components/schemas/InstantiationStatus' + instCrit: + $ref: '#/components/schemas/InstantiationCriteria' + required: + - easId + - status + + InstantiationCriteria: + type: object + description: Represents the instantiation criteria for an EAS. + properties: + instantiationTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + instWindows: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + minItems: 1 + description: A list time windows at which the EAS is instantiated. + scheds: + type: array + items: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/ScheduledCommunicationTime' + minItems: 1 + description: Represents the EAS instantiation schedule. + oneOf: + - required: [instantiationTime] + - required: [instWindows] + - required: [scheds] + + EDNInfo: + type: object + description: Represents EDN related information. + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + required: + - dnn + + ACRScenario: + anyOf: + - type: string + enum: + - EEC_INITIATED + - EEC_EXECUTED_VIA_SOURCE_EES + - EEC_EXECUTED_VIA_TARGET_EES + - SOURCE_EAS_DECIDED + - SOURCE_EES_EXECUTED + - EEL_MANAGED_ACR + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the ACR scenarios supported by EES. + Possible values are: + - EEC_INITIATED: Represents the EEC initiated ACR scenario. + - EEC_EXECUTED_VIA_SOURCE_EES: Represents the EEC ACR scenario executed via the S-EES. + - EEC_EXECUTED_VIA_TARGET_EES: Represents the EEC ACR scenario executed via the T-EES. + - SOURCE_EAS_DECIDED: Represents the EEC ACR scenario where the S-EAS decides to perform + ACR. + - SOURCE_EES_EXECUTED: Represents the EEC ACR scenario where S-EES executes the ACR. + - EEL_MANAGED_ACR: Represents the EEC ACR scenario where the ACR is managed by the + Edge Enabler Layer. + + InstantiationStatus: + anyOf: + - type: string + enum: + - INSTANTIATED + - INSTANTIABLE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the instantiation status information of an EAS. + Possible values are: + - INSTANTIATED: Indicates that the EAS status is instantiated. + - INSTANTIABLE: Indicates that the EAS status is instantiable but not yet instantiated. diff --git a/TS29558_Eecs_TargetEESDiscovery.yaml b/TS29558_Eecs_TargetEESDiscovery.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8b26c359383e231501e6129fc662fc2586f17b12 --- /dev/null +++ b/TS29558_Eecs_TargetEESDiscovery.yaml @@ -0,0 +1,145 @@ +openapi: 3.0.0 +info: + title: ECS Target EES Discovery API + description: | + API for Target EES Discovery. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: 1.1.0-alpha.3 +externalDocs: + description: > + 3GPP TS 29.558 V18.4.0 Enabling Edge Applications; + Application Programming Interface (API) specification; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.558/ +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/eecs-targeteesdiscovery/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.558. + +paths: + /ees-profiles: + get: + summary: Read all EES Profiles + operationId: GetEESProfiles + tags: + - EES Profiles (Collection) + description: Retrieve the T-EES information. + parameters: + - name: ees-id + in: query + description: Unique identifier of the S-EES. + required: true + schema: + type: string + - name: eas-id + in: query + description: Unique identifier of the S-EAS. + required: true + schema: + type: string + - name: target-dnai + in: query + description: The DNAI information associated with the potential T-EES(s) and/or T-EAS(s). + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + - name: ue-id + in: query + description: Identifier of the UE. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + - name: ue-location + in: query + description: The location information of the UE. + required: false + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + - name: eec-srv-cont-supp + in: query + description: > + Indicates whether the EEC supports service continuity or not and the related service + continuity support information. + required: false + schema: + $ref: 'TS29558_Eees_EECContextRelocation.yaml#/components/schemas/EECSrvContinuitySupport' + - name: ac-svc-cont-supp + in: query + description: > + Indicates that the AC supports service continuity and contains the related service + continuity support information (i.e., supported ACR scenarios). + required: false + schema: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + minItems: 1 + - name: bdl-id + in: query + description: > + Contains EAS bundle identifier. + required: false + schema: + type: string + - name: bdl-type + in: query + description: > + Contains EAS bundle type. + required: false + schema: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/BdlType' + - name: ens-ind + in: query + description: indicates whether edge node sharing is requested. + required: false + schema: + type: boolean + description: > + Set to true if edge node sharing is requested. + Set to false if edge node sharing is not requested. + The default value when omitted is false. + - name: app-grp-id + in: query + description: > + Contains the application group identifier. + required: false + schema: + type: string + responses: + '200': + description: The EDN configuration and the T-EES information determined by ECS. + content: + application/json: + schema: + $ref: 'TS24558_Eecs_ServiceProvisioning.yaml#/components/schemas/ECSServProvResp' + '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' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} diff --git a/TS29558_Eees_ACRManagementEvent.yaml b/TS29558_Eees_ACRManagementEvent.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5b2b3903c0a2fa59d99e7818115a94a3fd5a7714 --- /dev/null +++ b/TS29558_Eees_ACRManagementEvent.yaml @@ -0,0 +1,866 @@ +openapi: 3.0.0 + +info: + title: EES ACR Management Event_API + description: | + API for EES ACR Management Event. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: 1.1.0-alpha.5 + +externalDocs: + description: > + 3GPP TS 29.558 V18.4.0 Enabling Edge Applications; + Application Programming Interface (API) specification; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.558/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/eees-acrmgntevent/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.558. + +paths: + /subscriptions: + post: + summary: Creates a new Individual ACR Management Events Subscription + operationId: CreateACRMngEventSubscr + tags: + - ACR Management Events Subscriptions (Collection) + description: Create an Individual ACR Management Event Subscription resource. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AcrMgntEventsSubscription' + callbacks: + ACRManagementEventsNotification: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AcrMgntEventsNotification' + responses: + '200': + description: OK (The notification is received successfully) + content: + application/json: + schema: + $ref: '#/components/schemas/EasAckInformation' + '204': + description: No Content (successful 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' + UPPathChangeAvailabilityNotif: + '{request.body#/notificationDestination}/report-availability': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AvailabilityNotif' + responses: + '204': + description: No Content. The notification is successful received. + '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: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/AcrMgntEventsSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '204': + description: > + Successful case. The resource has been successfully created and no + additional content is to be sent in the response message. + '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' + + get: + summary: Read all ACR Management Events Subscriptions + operationId: GetACRMngEventSubscrs + tags: + - ACR Management Events Subscriptions (Collection) + description: Retrieve all the ACR Management Events Subscriptions information. + parameters: + - name: supp-feat + in: query + description: Features supported by the EAS. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: OK (Successful get all of the active subscriptions) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AcrMgntEventsSubscription' + minItems: 1 + description: All the active ACR management events subscriptions + '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' + + /subscriptions/{subscriptionId}: + get: + summary: Read an Individual ACR Management Events Subscription + operationId: GetIndACRMngEventSubscr + tags: + - Individual ACR Management Events Subscription (Document) + description: Retrieve an Individual ACR Management Events Subscription. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + - name: supp-feat + in: query + description: Features supported by the EAS. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: OK (Successful get the active subscription). + content: + application/json: + schema: + $ref: '#/components/schemas/AcrMgntEventsSubscription' + '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: Update an Individual ACR Management Events Subscription + operationId: UpdateIndACRMngEventSubscr + tags: + - Individual ACR Management Events Subscription (Document) + description: Fully replace an existing Individual ACR Management Events Subscription. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AcrMgntEventsSubscription' + responses: + '200': + description: OK (Successful get the active subscription). + content: + application/json: + schema: + $ref: '#/components/schemas/AcrMgntEventsSubscription' + '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' + + patch: + summary: Modify an Individual ACR Management Events Subscription + operationId: ModifyIndACRMngEventSubscr + tags: + - Individual ACR Management Events Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + requestBody: + description: Partial update an existing Individual ACR Management Events Subscription. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AcrMgntEventsSubscriptionPatch' + responses: + '200': + description: > + The Individual ACR Management Events Subscription is successfully modified + and the updated subscription information is returned in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/AcrMgntEventsSubscription' + '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: Delete an Individual ACR Management Events Subscription + operationId: DeleteIndACRMngEventSubscr + tags: + - Individual ACR Management Events Subscription (Document) + description: Delete an existing Individual ACR Management Events Subscription. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + responses: + '204': + description: The individual subscription is 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 + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + + AcrMgntEventsSubscription: + type: object + description: Represents an Individual ACR Management Events Subscription. + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + easId: + type: string + description: Identifier of an EAS. + eventSubscs: + type: array + items: + $ref: '#/components/schemas/AcrMgntEventSubsc' + minItems: 1 + description: The subscribed ACR management events. + evtReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + eventReports: + type: array + items: + $ref: '#/components/schemas/AcrMgntEventReport' + minItems: 1 + description: The ACR management event report(s). + availabilityInfo: + $ref: '#/components/schemas/AvailabilityNotif' + failEventReports: + type: array + items: + $ref: '#/components/schemas/FailureAcrMgntEventInfo' + minItems: 1 + description: Failure event reports. + requestTestNotification: + type: boolean + description: > + Set to true by the EAS to request the EES to send a test notification. + Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - easId + - eventSubscs + - notificationDestination + + AcrMgntEventSubsc: + type: object + description: Represents an ACR Management Event Subscription. + properties: + event: + $ref: '#/components/schemas/AcrMgntEvent' + eventFilter: + $ref: '#/components/schemas/AcrMgntEventFilter' + evtReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + tgtUeId: + $ref: '#/components/schemas/TargetUeIdentification' + dnaiChgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType' + easAckInd: + type: boolean + description: > + Identifies whether EAS acknowledgement of UP path change event notifications is to be + expected. Set to "true" if the EAS acknowledgement is expected. Set to "false" if + the EAS acknowledgement is not expected. Default value is"false" if ommited. + This attribute may be provided only if the "event" attribute is set to"UP_PATH_CHG". + easChars: + type: array + items: + $ref: 'TS24558_Eees_EASDiscovery.yaml#/components/schemas/EasCharacteristics' + minItems: 1 + description: A list of EAS characteristics. + trafFilterInfo: + $ref: '#/components/schemas/TrafficFilterInfo' + servContPlanInd: + type: boolean + description: > + Represents the service continuity planning indication (i.e., whether or not the EES + shall monitor whether the UE(s) enter the predicted location). + When set to true, it indicates that service continuity planning is required. + When set to false, it indicates that Service continuity planning is not required. + The default value when this attribute is omitted is false. + easAckSvcCont: + type: boolean + description: > + Indicates that the EAS will provide an acknowledgement as a response to the notification + of ACR management notification related to service continuity planning. Set to "true" if + the EAS acknowledgement is expected. Default value is "false". This attribute may be + provided only if the "event" attribute is set to "ACR_MONITORING" and/or + "ACR_FACILITATION". + required: + - event + + AcrMgntEventsSubscriptionPatch: + type: object + description: > + Represents a modification request of Individual ACR Management Events Subscription. + properties: + eventSubscs: + type: array + items: + $ref: '#/components/schemas/AcrMgntEventSubsc' + minItems: 1 + description: The subscribed ACR management events. + evtReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + + AcrMgntEventsNotification: + type: object + description: Represents the ACR management events notification. + properties: + subpId: + type: string + description: > + String identifying the Individual ACR Management Events Subscription + for which the notification is delivered. + eventReports: + type: array + items: + $ref: '#/components/schemas/AcrMgntEventReport' + minItems: 1 + description: A list of ACR management event reports. + required: + - subpId + - eventReports + + AcrMgntEventReport: + type: object + description: Represents an ACR management event report. + properties: + event: + $ref: '#/components/schemas/AcrMgntEvent' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + upPathChgInfo: + $ref: '#/components/schemas/UpPathChangeInfo' + easEndPoint: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + actStatus: + $ref: '#/components/schemas/ActStatus' + acrParams: + $ref: '#/components/schemas/ACRParameters' + acId: + type: string + selACRScen: + type: array + items: + $ref: '#/components/schemas/SelectedACRScenarios' + minItems: 1 + easInBdlInfoList: + type: array + items: + $ref: '#/components/schemas/EasInBundleInfo' + minItems: 1 + description: Represents the list of EAS in a bundle related information. + servContPlanInd: + type: boolean + description: > + Represents the service continuity planning indication (i.e., whether or not the EES will + monitor whether the UE(s) enter the predicted location). + When set to true, it indicates that service continuity planning will be performed. + When set to false, it indicates that Service continuity planning will not be performed. + The default value when this attribute is omitted is false. + required: + - event + + ACRParameters: + type: object + description: Represents the ACR parameters. + properties: + predictExpTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + + FailureAcrMgntEventInfo: + type: object + description: Represents a failure ACR management event. + properties: + event: + $ref: '#/components/schemas/AcrMgntEvent' + failureCode: + $ref: '#/components/schemas/AcrMgntEventFailureCode' + required: + - event + - failureCode + + TargetUeIdentification: + description: Identifies the target UE information. + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + intGrpId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + extGrpId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalGroupId' + ueIpAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + oneOf: + - required: [gpsi] + - required: [intGrpId] + - required: [extGrpId] + - required: [ueIpAddr] + + AvailabilityNotif: + type: object + description: > + Represents the availability information of user plane path management events monitoring + via the 3GPP 5GC network. + properties: + availabilityStatus: + $ref: '#/components/schemas/AvailabilityStatus' + required: + - availabilityStatus + + UpPathChangeInfo: + description: Represents user plane path change information. + type: object + properties: + ueId: + $ref: '#/components/schemas/IndUeIdentification' + dnaiChgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType' + sourceTrafficRoute: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + targetTrafficRoute: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + sourceDnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + targetDnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + srcUeIpv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + srcUeIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + tgtUeIpv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + tgtUeIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + required: + - ueId + - dnaiChgType + + IndUeIdentification: + description: Represents identification information of a UE. + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + ueIpAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + oneOf: + - required: [gpsi] + - required: [externalId] + - required: [ueIpAddr] + + TrafficFilterInfo: + description: Represents the Traffic Filter Information. + type: object + properties: + ipFlows: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowDescription' + minItems: 1 + description: Contains the flow description for the Uplink and/or Downlink IP flows. + uris: + type: array + items: + type: string + minItems: 1 + description: Indicates URI(s) matching criteria. + domainNames: + type: array + items: + type: string + minItems: 1 + description: Indicates Domain Name matching criteria. + dnProtocol: + $ref: 'TS29122_PfdManagement.yaml#/components/schemas/DomainNameProtocol' + anyOf: + - required: [ipFlows] + - required: [uris] + - required: [domainNames] + + SelectedACRScenarios: + type: object + description: > + Represents the selected ACR scenario(s) applicable for a given combination of AC and UE. + properties: + acrList: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + minItems: 0 + acId: + type: string + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + required: + - acrList + - acId + - ueId + + EasAckInformation: + type: object + description: Represents the EAS acknowledgement information. + properties: + resCode: + $ref: '#/components/schemas/ResultCode' + required: + - resCode + + EasInBundleInfo: + type: object + description: > + Represents EAS in a bundle information. + properties: + easId: + type: string + description: Contains the identifier of the EAS that is within an EAS bundle. + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + svcArea: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ServiceArea' + +# +# ENUMERATIONS DATA TYPES +# + + AcrMgntEvent: + anyOf: + - type: string + enum: + - UP_PATH_CHG + - ACR_MONITORING + - ACR_FACILITATION + - ACT_START_STOP + - ACR_SELECTION + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the ACR Management event. + Possible values are: + - UP_PATH_CHG: Indicates that ACR Management Event is the User plane path change event. + - ACR_MONITORING: Indicates that ACR Management Event is the ACR monitoring event. + - ACR_FACILITATION: Indicates that ACR Management Event is the ACR facilitation event. + - ACT_START_STOP: Indicates that ACR Management Event is the ACT start/stop event. + - ACR_SELECTION: Indicates that ACR Management Event is the ACR selection event. + + AcrMgntEventFilter: + anyOf: + - type: string + enum: + - INTRA_EDN_MOBILITY + - INTER_EDN_MOBILITY + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the filtering criteria for the ACR Management event. + Possible values are: + - INTRA_EDN_MOBILITY: Indicates that the ACR Management Event filter is intra-EDN mobility. + - INTER_EDN_MOBILITY: Indicates that the ACR Management Event filter is inter-EDN mobility. + + ActStatus: + anyOf: + - type: string + enum: + - ACT_START + - ACT_STOP + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the ACT status. + Possible values are: + - ACT_START: Indicates ACT start. + - ACT_STOP: Indicates ACT stop. + + AcrMgntEventFailureCode: + anyOf: + - type: string + enum: + - 3GPP_UP_PATH_CHANGE_MON_NOT_AVAILABLE + - OTHER_REASONS + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the failure reason for the ACR Management event. + Possible values are: + - 3GPP_UP_PATH_CHANGE_MON_NOT_AVAILABLE: Indicates that the ACR Management Event + Subscription failed because user plane path management event notifications from the 3GPP + network is NOT available. This value is only applicable for the "UP_PATH_CHG", + "ACR_MONITORING" and "ACR_FACILITATION" events. + - OTHER_REASONS: Indicates that the ACR Management Event Subscription failed for other + reasons. This value is applicable for all events. + + AvailabilityStatus: + anyOf: + - type: string + enum: + - AVAILABLE + - NOT_AVAILABLE + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the availability status. + Possible values are: + - AVAILABLE: Indicates availability. + - NOT_AVAILABLE: Indicates unavailability. + + ResultCode: + anyOf: + - type: string + enum: + - ACCEPTED + - REJECTED + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the result code of ACT acceptance by EAS. + Possible values are: + - ACCEPTED: Indicates acceptance of the ACT. + - REJECTED: Indicates rejection of the ACT. diff --git a/TS29558_Eees_ACRParameterInformation.yaml b/TS29558_Eees_ACRParameterInformation.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7088aa06954dca749a78dcc5c5d97c197e6a5d1e --- /dev/null +++ b/TS29558_Eees_ACRParameterInformation.yaml @@ -0,0 +1,118 @@ +openapi: 3.0.0 + +info: + title: EES ACR Parameters Information Service + version: 1.0.0-alpha.2 + description: | + EES ACR Parameters Information Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.558 V18.3.0; Enabling Edge Applications; + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.558/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/eees-acr-param/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +paths: + /send-acrparamsinfo: + post: + summary: Request to send ACR parameters information. + operationId: Request + tags: + - Send ACR Parameter Information + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ACRParamsInfo' + responses: + '200': + description: > + The ACR parameters information is successfully received and the content of these ACR + parameters information is returned in the response body + content: + application/json: + schema: + $ref: '#/components/schemas/ACRParamsInfo' + '204': + description: > + No Content. The ACR parameter information is successfully received 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' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + ACRParamsInfo: + description: > + Represents the ACR parameters information. + type: object + properties: + eesId: + type: string + description: Represents the EES ID. + eecId: + type: string + description: Represents the EEC ID. + acId: + type: string + description: Represents the AC ID. + sEasEndPoint: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + tEasEndPoint: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + acrParams: + $ref: 'TS29558_Eees_ACRManagementEvent.yaml#/components/schemas/ACRParameters' + required: + - eesId + - eecId + - acId + - sEasEndPoint + - tEasEndPoint + - acrParams diff --git a/TS29558_Eees_ACRStatusUpdate.yaml b/TS29558_Eees_ACRStatusUpdate.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d95266b8b65a35875651defc637cc4546e3fbc09 --- /dev/null +++ b/TS29558_Eees_ACRStatusUpdate.yaml @@ -0,0 +1,197 @@ +openapi: 3.0.0 + +info: + title: EES ACR Status Update Service + version: 1.1.0-alpha.2 + description: | + EES ACR Status Update Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.558 V18.1.0; Enabling Edge Applications; + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.558/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/eees-acrstatus-update/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +paths: + /request-acrupdate: + post: + summary: Request to update the information related to ACR (e.g. indicate the status of ACT, update the notification target address). + operationId: RequestACRUpdate + tags: + - Request ACR Update + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ACRUpdateData' + responses: + '200': + description: > + The communicated ACR update information was successfully received. + The response body contains the feedback of the EES. + content: + application/json: + schema: + $ref: '#/components/schemas/ACRDataStatus' + '204': + description: > + No Content. The communicated ACR update information was successfully + received. + '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' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + ACRUpdateData: + description: > + Represents the parameters to update the information related to ACR (e.g. indicate + the status of ACT, update the notification target address). + type: object + properties: + easId: + type: string + acId: + type: string + actResultInfo: + $ref: '#/components/schemas/ACTResultInfo' + e3SubscIds: + type: array + items: + type: string + minItems: 1 + e3NotificationUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + required: + - easId + anyOf: + - required: [actResultInfo] + - required: [e3SubscIds] + - required: [e3NotificationUri] + + ACRDataStatus: + description: Represents the ACR status information. + type: object + properties: + e3SubscsStatus: + $ref: '#/components/schemas/E3SubscsStatus' + e3SubscIds: + type: array + items: + type: string + minItems: 1 + required: + - e3SubscsStatus + + ACTResultInfo: + description: Represents the result of ACT and the related information. + type: object + properties: + actResult: + $ref: '#/components/schemas/ACTResult' + actFailureCause: + $ref: '#/components/schemas/ACTFailureCause' + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + easEndPoint: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + required: + - actResult + - ueId + - easEndPoint + +# ENUMS: + + ACTResult: + anyOf: + - type: string + enum: + - SUCCESSFUL + - FAILED + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the result of ACT. + Possible values are: + - SUCCESSFUL: Indicates that the ACT was successful. + - FAILED: Indicates that the ACT failed. + + E3SubscsStatus: + anyOf: + - type: string + enum: + - SUCCESSFUL + - FAILED + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the status of the initialization of EDGE-3 subscriptions. + Possible values are: + - SUCCESSFUL: Indicates that the initialization of EDGE-3 subscriptions was successful. + - FAILED: Indicates that the initialization of EDGE-3 subscriptions failed. + + ACTFailureCause: + anyOf: + - type: string + enum: + - ACR_CANCELLATION + - OTHER + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the cause of ACT failure. + Possible values are: + - ACR_CANCELLATION: Indicates that the ACT failed due to the cancellation of the ACR. + - OTHER: Indicates that the ACT failed for other reasons. diff --git a/TS29558_Eees_AppClientInformation.yaml b/TS29558_Eees_AppClientInformation.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fdf5ead64af0ec363d4c9f85e10d27ecfb0687ad --- /dev/null +++ b/TS29558_Eees_AppClientInformation.yaml @@ -0,0 +1,442 @@ +openapi: 3.0.0 +info: + title: EES Application Client Information_API + description: | + API for EES Application Client Information. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: 1.1.0-alpha.2 +externalDocs: + description: > + 3GPP TS 29.558 V18.1.0 Enabling Edge Applications; + Application Programming Interface (API) specification; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.558/ +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/eees-appclientinformation/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.558. + +paths: + /subscriptions: + post: + summary: Creates a new Individual Application Client Information Subscriptions resource + operationId: CreateAppClientInfoSubscription + tags: + - Application Client Information Subscriptions (Collection) + description: Create a Subscription resource for reporting of AC information to the EAS. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ACInfoSubscription' + responses: + '201': + description: > + Created (The individual AC information subscription resource is created successfully) + content: + application/json: + schema: + $ref: '#/components/schemas/ACInfoSubscription' + 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: + ACInformationNotification: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ACInfoNotification' + responses: + '204': + description: No Content (successful 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' + + /subscriptions/{subscriptionId}: + get: + summary: Read an Individual Application Client Information Subscriptions resource + operationId: ReadIndAppClientInfoSubscription + tags: + - Individual Application Client Information Subscription (Document) + description: Retrieve an Individual AC information subscription information. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + responses: + '200': + description: OK (Successfully get the AC information subscription). + content: + application/json: + schema: + $ref: '#/components/schemas/ACInfoSubscription' + '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: Update an Individual Application Client Information Subscriptions resource + operationId: UpdateIndAppClientInfoSubscription + tags: + - Individual Application Client Information Subscription (Document) + description: Fully replace an existing Individual AC information Subscription. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ACInfoSubscription' + responses: + '200': + description: OK (The individual AC information subscription was modified successfully). + content: + application/json: + schema: + $ref: '#/components/schemas/ACInfoSubscription' + '204': + description: No Content. + '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: Modify an Individual Application Client Information Subscriptions resource + operationId: ModifyIndAppClientInfoSubscription + tags: + - Individual Application Client Information Subscription (Document) + description: Partially update an existing Individual AC information Subscription. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + requestBody: + description: Partial update an existing Individual AC information Subscription. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ACInfoSubscriptionPatch' + responses: + '200': + description: > + OK (The Individual AC information Subscription is successfully modified + and the updated subscription information is returned in the response). + content: + application/json: + schema: + $ref: '#/components/schemas/ACInfoSubscription' + '204': + description: > + No Content (The individual AC information 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: Delete an Individual Application Client Information Subscriptions resource + operationId: DeleteIndAppClientInfoSubscription + tags: + - Individual Application Client Information Subscription (Document) + description: Delete an existing Individual AC information Subscription. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + responses: + '204': + description: The individual subscription is 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 + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + ACInfoSubscription: + type: object + description: Represents an Individual AC Information Subscription. + properties: + easId: + type: string + description: Identifier of the EAS subscribing for AC information report. + acFltrs: + type: array + items: + $ref: '#/components/schemas/ACFilters' + minItems: 1 + description: Filters to retrieve the information about specific ACs. + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + eventReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + requestTestNotification: + type: boolean + description: > + Set to true by the EAS to request the EES to send a test notification. + Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - easId + + ACInfoSubscriptionPatch: + type: object + description: Represents the partial update of Individual AC Information Subscription. + properties: + acFltrs: + type: array + items: + $ref: '#/components/schemas/ACFilters' + minItems: 1 + description: Filters to retrieve the information about specific ACs. + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + eventReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + + ACFilters: + type: object + description: Represents the filters information for AC Information Subscription. + properties: + acTypes: + items: + type: string + minItems: 1 + description: List of AC Types or categories. + ecspIds: + items: + type: string + minItems: 1 + description: The list of identifiers of ECSPs associated with the EEC. + acIds: + items: + type: string + minItems: 1 + description: List of identifiers of ACs to be matched. + svcArea: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ServiceArea' + maxAcKpi: + $ref: 'TS24558_Eees_EECRegistration.yaml#/components/schemas/ACServiceKPIs' + minAcKpi: + $ref: 'TS24558_Eees_EECRegistration.yaml#/components/schemas/ACServiceKPIs' + opSchds: + type: array + items: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/ScheduledCommunicationTime' + minItems: 1 + description: Operation schedule of EAS to be matched with operation schedule of the AC. + ueIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + description: List of UE identifiers hosting the AC. + locInfs: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + + ACInfoNotification: + type: object + description: AC Information notification. + properties: + subId: + type: string + description: > + Identifier of the AC information subscription for which this notification is related to. + acInfs: + type: array + items: + $ref: '#/components/schemas/ACInformation' + minItems: 1 + description: Notifications that include the ACs information matching filter criteria. + required: + - subId + - acInfs + + ACInformation: + type: object + description: AC Information matching the filter criteria. + properties: + acProfs: + type: array + items: + $ref: 'TS24558_Eees_EECRegistration.yaml#/components/schemas/ACProfile' + minItems: 1 + description: List of profile information of ACs. + ueIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + description: List of UE identifiers hosting the AC. + ueLocInfs: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + required: + - acProfs diff --git a/TS29558_Eees_CommonEASAnnouncement.yaml b/TS29558_Eees_CommonEASAnnouncement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b5f82aa3e183821102cf895465a98a0e37884cf6 --- /dev/null +++ b/TS29558_Eees_CommonEASAnnouncement.yaml @@ -0,0 +1,104 @@ +openapi: 3.0.0 + +info: + title: EES Announce Common EAS Information Service + version: 1.0.0-alpha.2 + description: | + EES Announce Common EAS Information Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.558 V18.4.0; Enabling Edge Applications; + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.558/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/eees-common-eas/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +paths: + /declare: + post: + summary: Request to declare common EAS information. + operationId: Declare + tags: + - Declare common EAS Information + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CommonEASInfo' + responses: + '204': + description: > + No Content. The common EAS information is successfully received 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' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + CommonEASInfo: + description: > + Represents the common EAS information. + type: object + properties: + requestorId: + type: string + description: Represents the identifier of the announcing EES sending the request. + easId: + type: string + description: Represents the EAS ID of the selected common EAS + appGrpId: + type: string + description: Represents the application group identifier. + endPt: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + required: + - requestorId + - easId + - appGrpId + - endPt diff --git a/TS29558_Eees_EECContextRelocation.yaml b/TS29558_Eees_EECContextRelocation.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a2f9f18deb4dc9a2cbf43e8884e6600b137af74f --- /dev/null +++ b/TS29558_Eees_EECContextRelocation.yaml @@ -0,0 +1,274 @@ +openapi: 3.0.0 +info: + title: EES EEC Context Relocation API + description: | + API for EEC Context Relocation. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: 1.1.0-alpha.3 +externalDocs: + description: > + 3GPP TS 29.558 V18.2.0 Enabling Edge Applications; + Application Programming Interface (API) specification; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.558/ +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/eees-eeccontextreloc/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.558. + +paths: + /eec-contexts: + post: + summary: Push EEC Context information + operationId: PushEecContexts + tags: + - Collection of EEC contexts (Collection) + description: S-EES transfers the EEC context information to T-EES. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EECContextPush' + responses: + '200': + description: > + OK. The EEC context has been successfully transferred to the T-EES and + the EEC is implicitly registered. + content: + application/json: + schema: + $ref: '#/components/schemas/EECContextPushRes' + '204': + description: No Content. The EEC context has been successfully transferred to the T-EES. + '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' + get: + summary: Pull EEC Context information + operationId: PullEecContexts + tags: + - Collection of EEC contexts (Collection) + description: T-EES pulls an EEC context information from S-EES. + parameters: + - name: ees-id + in: query + description: Unique identifier of the requesting EES. + required: true + schema: + type: string + - name: eec-cntx-id + in: query + description: Unique identifier of the EEC context. + required: true + schema: + type: string + - name: sess-cntxs + in: query + description: List of service session context information being requested. + required: false + schema: + $ref: '#/components/schemas/SessionContexts' + responses: + '200': + description: > + OK (The EEC context information matching the input parameters in the request + is returned by the S-EES). + content: + application/json: + schema: + $ref: '#/components/schemas/EECContext' + '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' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + SessionContexts: + type: object + description: Represents the list of service session contexts information. + properties: + sessCntxs: + type: array + items: + $ref: '#/components/schemas/IndividualSessionContext' + minItems: 1 + description: List of service session contexts information. + required: + - sessCntxs + + IndividualSessionContext: + type: object + description: Represents a single service session context information. + properties: + easId: + type: string + description: Identifier of the EAS providing the application services. + endPt: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + acId: + type: string + description: Identifier of the AC for which the service session information is provided. + + acrList: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + minItems: 1 + description: The list of selected ACR scenarios. + required: + - easId + - endPt + + EECContextPush: + type: object + description: Represents the EEC context push request data. + properties: + eesId: + type: string + description: Identifier of the S-EES pushing the EEC context information. + eecCntx: + $ref: '#/components/schemas/EECContext' + tgtEas: + $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' + acrScenariosSelReq: + type: boolean + description: > + Set to true if the EEC indicates the T-EES to select the ACR scenarisos. + Set to false if the T-EES is not required to select the ACR scenarios. + The default value when omitted is false. + required: + - eesId + - eecCntx + + EECContextPushRes: + type: object + description: Represents the EEC context push response data. + properties: + implReg: + $ref: '#/components/schemas/ImplicitRegDetails' + selAcrScenariosList: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + minItems: 1 + description: The list of ACR scenarios selected by T-EES. + + ImplicitRegDetails: + type: object + description: Represents the EEC implicit registration details. + properties: + regId: + type: string + description: Identifier of the EEC registration. + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + required: + - regId + + EECContext: + type: object + description: Represents the EEC context information. + properties: + eecId: + type: string + description: Unique idenitfier of the EEC. + cntxId: + type: string + description: Unique idenitfier assigned to the EEC context. + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + e1Subs: + type: array + items: + type: string + minItems: 1 + description: List of subscription IDs for the capability expsoure for the EEC ID. + ueLoc: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + acProfs: + type: array + items: + $ref: 'TS24558_Eees_EECRegistration.yaml#/components/schemas/ACProfile' + minItems: 1 + description: List AC profiles. + sessCntxs: + $ref: '#/components/schemas/SessionContexts' + eecSrvContSupp: + $ref: '#/components/schemas/EECSrvContinuitySupport' + ueMobSuppInd: + type: boolean + description: > + Set to true to indicate that UE Mobility support is required. + Set to false to indicate that UE mobility support is not required. + The default value when omitted is false. + required: + - eecId + - cntxId + + EECSrvContinuitySupport: + type: object + description: Represents the EEC service continuity support details. + properties: + srvContSupp: + type: boolean + description: > + Set to true if EEC supports service continuity. + Set to false if EEC does not supports service continuity. + The default value when omitted is false. + acrScenarios: + type: array + items: + $ref: 'TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario' + minItems: 1 + description: The list of ACR scenarios supported by EEC. + required: + - srvContSupp diff --git a/TS29558_Eees_EELManagedACR.yaml b/TS29558_Eees_EELManagedACR.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7c84ed8a499b57a43563651b20e38166d4069aeb --- /dev/null +++ b/TS29558_Eees_EELManagedACR.yaml @@ -0,0 +1,319 @@ +openapi: 3.0.0 +info: + title: EES EEL Managed ACR Service + version: 1.1.0-alpha.2 + description: | + EES EEL Managed ACR Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.558 V18.1.0; Enabling Edge Applications; + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.558/ +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/eees-eel-acr/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +paths: + /request-eelacr: + post: + summary: Request the EES (e.g. S-EES) to handle all the operations of an ACR. + operationId: RequestEELManagedACR + tags: + - Request EEL Managed ACR + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EELACRReq' + responses: + '200': + description: > + The requested EEL Managed ACR initiation was successfully received and + processed. The response body contains the feedback of the EES. + content: + application/json: + schema: + $ref: '#/components/schemas/EELACRResp' + '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' + + /subscriptions: + get: + summary: Retrieve all the active ACT Status Subscriptions managed by the EES. + operationId: GetACTStatusSubscriptions + tags: + - ACT Status Subscriptions (Collection) + responses: + '200': + description: > + OK. All the active ACT status subscriptions managed by the EES shall + be returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ACTStatusSubsc' + '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: Request the creation of a subscription to ACT status reporting. + operationId: CreateACTStatusSubsc + tags: + - ACT Status Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ACTStatusSubsc' + responses: + '201': + description: > + Created. The subscription is successfully created and a representation of the + created Individual ACT Status Subscription resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ACTStatusSubsc' + headers: + Location: + description: > + Contains the URI of the created Individual ACT Status Subscription 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: + ACTStatusNotification: + '{$request.body#/notificationUri}/act-status': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ACTStatusNotif' + responses: + '204': + description: > + No Content. The ACT status notification is successfully received + and acknowledged. + '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' + + /subscriptions/{subscriptionId}: + get: + summary: Retrieve an ACT status subscription resource. + operationId: GetACTStatusSubscription + tags: + - Individual ACT Status Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Individual ACT Status Subscription identifier. + required: true + schema: + type: string + responses: + '200': + description: > + OK. The requested real-time UAV status subscription resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ACTStatusSubsc' + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + EELACRReq: + description: > + Represents the parameters to request the EES (e.g. S-EES) to handle all the + operations of an ACR. + type: object + properties: + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + easCharacs: + type: array + items: + $ref: 'TS24558_Eees_EASDiscovery.yaml#/components/schemas/EasCharacteristics' + minItems: 1 + appCtxtStoreAddr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ueId + - easCharacs + + EELACRResp: + description: Represents the feedback of the EES on EEL Managed ACR request. + type: object + properties: + appCtxtStoreAddr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + ACTStatusSubsc: + description: > + Represents the parameters to request the creation of a subscription to ACT + status reporting. + type: object + properties: + easId: + type: string + description: Contains the application identifier of the EAS, e.g. URI, FQDN. + notificationUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - easId + - notificationUri + + ACTStatusNotif: + description: Represents an ACT status notification. + type: object + properties: + subscriptionId: + type: string + description: Subscription identifier. + actStatus: + $ref: 'TS29558_Eees_ACRStatusUpdate.yaml#/components/schemas/ACTResult' + required: + - subscriptionId + - actStatus + +# ENUMS: diff --git a/TS29558_Eees_SessionWithQoS.yaml b/TS29558_Eees_SessionWithQoS.yaml new file mode 100644 index 0000000000000000000000000000000000000000..24bc1407fe3825458bcbab6b5401ab6669c7534b --- /dev/null +++ b/TS29558_Eees_SessionWithQoS.yaml @@ -0,0 +1,509 @@ +openapi: 3.0.0 +info: + title: EES Session with QoS API + description: | + API for EES Session with Qos service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: 1.1.0-alpha.2 +externalDocs: + description: > + 3GPP TS 29.558 V18.2.0 Enabling Edge Applications; + Application Programming Interface (API) specification; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.558/ +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/eees-session-with-qos/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.558. + +paths: + /sessions: + post: + summary: Create a new Individual Session with QoS resource + operationId: CreateIndSessionWithQoS + tags: + - Sessions with QoS (Collection) + description: > + Request reservation of resources for a data session between AC and EAS with a specific QoS. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SessionWithQoS' + responses: + '201': + description: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/SessionWithQoS' + 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: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserPlaneEventNotification' + responses: + '204': + description: No Content (successful 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' + + get: + summary: Read all Sessions with QoS resource + operationId: ReadAllSessionsWithQoS + tags: + - Sessions with QoS (Collection) + description: Retrieve all the Session With QoS information. + parameters: + - name: eas-id + in: query + description: Identifier of the EAS which querying the status of subscriptions. + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get all of the active subscriptions) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SessionWithQoS' + minItems: 1 + description: > + All the subscription information related to the request URI is returned + '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' + + /sessions/{sessionId}: + put: + summary: Update an Individual Session with QoS resource + operationId: UpdateIndSessionWithQoS + tags: + - Individual Session with QoS (Document) + description: > + Fully replace an existing Individual Session with QoS resource identified by a sessionId. + parameters: + - name: sessionId + in: path + description: Session Id. + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SessionWithQoS' + responses: + '200': + description: > + The individual Session with QoS is successfully modified and the updated + session with QoS context information is returned in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/SessionWithQoS' + '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' + + patch: + summary: Modify an Individual Session with QoS resource + operationId: ModifyIndSessionWithQoS + tags: + - Individual Session with QoS (Document) + parameters: + - name: sessionId + in: path + description: session Id. + required: true + schema: + type: string + requestBody: + description: > + Partial update an existing Individual Session with QoS resource identified by a sessionId. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/SessionWithQoSPatch' + responses: + '200': + description: > + The individual Session with QoS is successfully modified and the updated + session with QoS context information is returned in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/SessionWithQoS' + '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: Delete an Individual Session with QoS resource + operationId: DeleteIndSessionWithQoS + tags: + - Individual Session with QoS (Document) + description: Remove an Individual Session with QoS resource identified by a sessionId. + parameters: + - name: sessionId + in: path + description: session Id. + required: true + schema: + type: string + responses: + '204': + description: > + The individual Session with QoS resource matching the sessionId 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' + get: + summary: Read Individual Session with QoS resource + operationId: ReadIndSessionWithQoS + tags: + - Individual Session with QoS (Document) + description: Read a subscription resource for a sessionId. + parameters: + - name: sessionId + in: path + description: Session Id. + required: true + schema: + type: string + responses: + '200': + description: The subscription information related to the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/SessionWithQoS' + '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' + + +# Components + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + SessionWithQoS: + type: object + description: Represents an Individual Session with QoS Subscription. + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + easId: + type: string + description: Identifier of an EAS. + ueIpv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + ipDomain: + type: string + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + intGrpId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + extGrpId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalGroupId' + ipFlows: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowDescription' + minItems: 1 + description: Contains the flow description for the Uplink and/or Downlink IP flows. + trafFilterInfo: + $ref: 'TS29558_Eees_ACRManagementEvent.yaml#/components/schemas/TrafficFilterInfo' + qosReference: + type: string + description: Identifies a pre-defined QoS information. + altQosReference: + type: array + items: + type: string + description: > + Identifies an ordered list of pre-defined QoS information. + The lower the index of the array for a given entry, the higher the priority. + events: + type: array + items: + $ref: 'TS29122_AsSessionWithQoS.yaml#/components/schemas/UserPlaneEvent' + description: Indicates the events subscribed by the EAS. + sponsorInformation: + $ref: 'TS29122_CommonData.yaml#/components/schemas/SponsorInformation' + qosMonInfo: + $ref: 'TS29122_AsSessionWithQoS.yaml#/components/schemas/QosMonitoringInformation' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + maxbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + disUeNotif: + type: boolean + description: > + Indicates to disable QoS flow parameters signalling to the UE when the SMF is notified + by the NG-RAN of changes in the fulfilled QoS situation when it is included and set to + "true". The fulfilled situation is either the QoS profile or an Alternative QoS Profile. + The default value "false" shall apply, if the attribute is not present and has not been + supplied previously. + requestTestNotification: + type: boolean + description: > + Set to true by Subscriber to request the EES to send a test notification + as defined in 3GPP TS 29.122. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - easId + - ipFlows + + SessionWithQoSPatch: + type: object + description: Represents a modification request of Individual Session with QoS Subscription. + properties: + ipFlows: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowDescription' + minItems: 1 + description: Contains the flow description for the Uplink and/or Downlink IP flows. + trafFilterInfo: + $ref: 'TS29558_Eees_ACRManagementEvent.yaml#/components/schemas/TrafficFilterInfo' + qosReference: + type: string + description: Identifies a pre-defined QoS information. + altQosReference: + type: array + items: + type: string + description: > + Identifies an ordered list of pre-defined QoS information. + The lower the index of the array for a given entry, the higher the priority. + events: + type: array + items: + $ref: 'TS29122_AsSessionWithQoS.yaml#/components/schemas/UserPlaneEvent' + description: Indicates the events subscribed by the EAS. + sponsorInformation: + $ref: 'TS29122_CommonData.yaml#/components/schemas/SponsorInformation' + qosMonInfo: + $ref: 'TS29122_AsSessionWithQoS.yaml#/components/schemas/QosMonitoringInformationRm' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + maxbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + maxbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + disUeNotif: + type: boolean + + UserPlaneEventNotification: + type: object + description: Represents the user plane event notification. + properties: + sessionId: + type: string + description: > + String identifying the individual data session information for which + the QoS event notification is delivered. + eventReports: + type: array + items: + $ref: 'TS29122_AsSessionWithQoS.yaml#/components/schemas/UserPlaneEventReport' + minItems: 1 + description: > + Contains the flow description for the Uplink and/or Downlink IP flows. + required: + - sessionId + - eventReports diff --git a/TS29558_Eees_UEIdentifier.yaml b/TS29558_Eees_UEIdentifier.yaml new file mode 100644 index 0000000000000000000000000000000000000000..cb55dede68a4210587e10f6826b37d347e30d247 --- /dev/null +++ b/TS29558_Eees_UEIdentifier.yaml @@ -0,0 +1,217 @@ +openapi: 3.0.0 + +info: + title: EES UE Identifier Service + version: 1.1.0-alpha.2 + description: | + EES UE Identifier Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.558 V18.4.0; Enabling Edge Applications; + Application Programming Interface (API) specification; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.558/ + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/eees-ueidentifier/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 + +paths: + /fetch: + post: + deprecated: true + summary: Fetch the identifier of an UE. + operationId: FetchUEId + tags: + - Fetch UE Identifier + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserInformation' + responses: + '200': + description: > + The communicated ACR update information was successfully received. + The response body contains the feedback of the EES. + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + '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' + + + /get: + post: + summary: Get the identifier of an UE. + operationId: GetUEId + tags: + - Get UE Identifier + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserInfo' + responses: + '200': + description: > + The operation is successful and the corresponding UE Identifier information, returned + by the Edge Enabler Server is included in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/UeIdInfo' + '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' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + UserInformation: + deprecated: true + description: > + Represents information about the User or the UE, that used by EES to use 3GPP CN capability + to retrieve the EAS specific UE identifier. + type: object + properties: + easId: + description: > + The application identifier of the EAS, e.g. URI, FQDN, requesting the UE Identifier + information + type: string + easProviderId: + description: Identifier of the ASP that provides the EAS. + type: string + ipAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - easId + - ipAddr + + UserInfo: + description: > + Represents information about the User or the UE, that used by EES to retrieve the UE + Identifier information. + type: object + properties: + easIds: + type: array + items: + type: string + minItems: 1 + description: > + The additional list of EAS Identifier for which the UE IDs are requested for by EAS or + EEC given the User information (e.g. IP address). + easProviderId: + description: Identifier of the ASP that provides the EAS. + type: string + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ipAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + anyOf: + - required: [ueId] + - required: [ipAddr] + + UeIdInfo: + description: > + Represents UE Identifier Information, including list of UE Identifier related information. + type: object + properties: + ueIds: + type: array + items: + $ref: '#/components/schemas/UeId' + minItems: 1 + required: + - ueIds + + UeId: + description: > + Represents UE Identifier Information, including list of UE Identifier related information. + type: object + properties: + edgeUeId: + description: Represents EDGE UE Identifier. + type: string + afSpecUeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + easId: + description: > + The application identifier of the EAS, e.g. URI, FQDN, requesting the UE Identifier + Information. + type: string + oneOf: + - required: [edgeUeId] + - required: [afSpecUeId] diff --git a/TS29558_Eees_UELocation.yaml b/TS29558_Eees_UELocation.yaml new file mode 100644 index 0000000000000000000000000000000000000000..db5fa995ac665ba6450464f1811537ccbfb8e1d6 --- /dev/null +++ b/TS29558_Eees_UELocation.yaml @@ -0,0 +1,556 @@ +openapi: 3.0.0 +info: + title: EES UE Location Information_API + description: | + API for EES UE Location Information. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: 1.1.0-alpha.2 +externalDocs: + description: > + 3GPP TS 29.558 V18.1.0 Enabling Edge Applications; + Application Programming Interface (API) specification; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.558/ +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/eees-uelocation/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 7.5 of 3GPP TS 29.558. + +paths: + /fetch: + post: + summary: Fetch an UE location information. + operationId: FetchUELocation + tags: + - Fetch an UE location information + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LocationRequest' + responses: + '200': + description: OK (The requested location information) + content: + application/json: + schema: + $ref: '#/components/schemas/LocationResponse' + '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' + /subscriptions: + post: + summary: Creates a new Individual Location Information Subscription resource + operationId: CreateLocationInfoSubscription + tags: + - Location Information Subscriptions (Collection) + description: > + Create a Subscription resource for continious reporting of UE location + information to the EAS. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LocationSubscription' + responses: + '201': + description: > + Created (The individual location information subscription resource + is created successfully) + content: + application/json: + schema: + $ref: '#/components/schemas/LocationSubscription' + 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: + LocationInformationNotification: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LocationNotification' + responses: + '204': + description: No Content (successful 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' + UserConsentRevocationNotif: + '{request.body#/revocationNotifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentRevocNotif' + responses: + '204': + description: No Content (successful 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' + + /subscriptions/{subscriptionId}: + get: + summary: Read an Individual Location Information Subscription resource + operationId: ReadIndLocationInfoSubscription + tags: + - Individual Location Information Subscription (Document) + description: Retrieve an Individual location information subscription information. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + responses: + '200': + description: OK (Successfully get the location information subscription). + content: + application/json: + schema: + $ref: '#/components/schemas/LocationSubscription' + '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: Update an Individual Location Information Subscription resource + operationId: UpdateIndLocationInfoSubscription + tags: + - Individual Location Information Subscription (Document) + description: Fully replace an existing Individual location information Subscription. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LocationSubscription' + responses: + '200': + description: OK (The individual location information subscription was modified successfully). + content: + application/json: + schema: + $ref: '#/components/schemas/LocationSubscription' + '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' + patch: + summary: Modify an Individual Location Information Subscription resource + operationId: ModifyIndLocationInfoSubscription + tags: + - Individual Location Information Subscription (Document) + description: Partially update an existing Individual location information Subscription. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + requestBody: + description: Partial update an existing Individual AC information Subscription. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/LocationSubscriptionPatch' + responses: + '200': + description: > + OK (The Individual location information Subscription is successfully + modified and the updated subscription information is returned in the response). + content: + application/json: + schema: + $ref: '#/components/schemas/LocationSubscription' + '204': + description: > + No Content (The individual location information 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: Delete an Individual Location Information Subscription resource + operationId: DeleteIndLocationInfoSubscription + tags: + - Individual Location Information Subscription (Document) + description: Delete an existing Individual location information Subscription. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + responses: + '204': + description: The individual subscription is 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 + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + LocationSubscription: + type: object + description: Represents an Individual Location Information Subscription. + properties: + easId: + type: string + description: Identifier of the EAS subscribing for location information report. + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + intGrpId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + extGrpId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalGroupId' + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + locGran: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/Accuracy' + locQos: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LocationQoS' + eventReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + requestTestNotification: + type: boolean + description: > + Set to true by the EAS to request the EES to send a test notification. + Set to false or omitted otherwise. + revocationNotifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oneOf: + - required: [ueId] + - required: [intGrpId] + - required: [extGrpId] + required: + - easId + + LocationSubscriptionPatch: + type: object + description: Represents the partial update of Individual AC Information Subscription. + properties: + eventReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + revocationNotifUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + locGran: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/Accuracy' + locQos: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LocationQoS' + + LocationNotification: + type: object + description: Represents the filters information for AC Information Subscription. + properties: + subId: + type: string + description: > + Identifier of the location information subscription for which the + location information notification is related to. + locEvs: + type: array + items: + $ref: '#/components/schemas/LocationEvent' + minItems: 1 + description: List of notifications with location information. + required: + - subId + - locEvs + + LocationEvent: + type: object + description: Location Information event notification. + properties: + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + locInf: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + locInfPred: + $ref: 'TS29522_AnalyticsExposure.yaml#/components/schemas/UeMobilityExposure' + oneOf: + - required: [locInf] + - required: [locInPred] + required: + - ueId + + LocationRequest: + type: object + description: To request location information request. + properties: + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + gran: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/Accuracy' + locQos: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LocationQoS' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ueId + + LocationResponse: + type: object + description: Contains the response location information request. + properties: + ueLocation: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ueLocation + + ConsentRevocNotif: + description: > + Represents the user consent revocation information conveyed in a user consent + revocation notification. + type: object + properties: + subscriptionId: + type: string + description: > + Contains the identifier of the subscription to which the notification is related. + consentsRevoked: + type: array + items: + $ref: '#/components/schemas/ConsentRevoked' + minItems: 1 + required: + - subscriptionId + - consentsRevoked + + ConsentRevoked: + description: Represents the information related to a revoked user consent. + type: object + properties: + ucPurpose: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/UcPurpose' + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + required: + - ucPurpose + oneOf: + - required: [externalId] + - required: [ueId] diff --git a/TS29559_Npkmf_Discovery.yaml b/TS29559_Npkmf_Discovery.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b0f6534c7bde173f0ac4f2d38616c4975f01519c --- /dev/null +++ b/TS29559_Npkmf_Discovery.yaml @@ -0,0 +1,374 @@ +openapi: 3.0.0 + +info: + title: Npkmf_Discovery API + version: '1.0.0' + description: | + Npkmf_Discovery Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.559 V17.5.0; 5G System; 5G ProSe Key Management Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.559/ + +servers: + - url: '{apiRoot}/npkmf-discovery/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - npkmf-discovery + +paths: + /{ueId}/announce-authorize/{userInfoId}: + put: + summary: Obtain the authorization from the 5G PKMF for announcing in the PLMN + operationId: ObtainAnnounceAuth + tags: + - Obtain the authorization from the 5G PKMF for announcing in the PLMN + security: + - {} + - oAuth2ClientCredentials: + - npkmf-disc + - oAuth2ClientCredentials: + - npkmf-disc + - npkmf-disc:announce-authorize:modify + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: userInfoId + in: path + description: User Info Id + required: true + schema: + $ref: '#/components/schemas/UserInfoId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AnnounceAuthData' + required: true + responses: + '201': + description: Successful creation of the resource + content: + application/json: + schema: + $ref: '#/components/schemas/AnnounceAuthData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/npkmf-disc>//{ueId}/announce-authorize/{userInfoId} + required: true + schema: + type: string + '204': + description: Successful update of the resource. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/monitor-key/{userInfoId}: + put: + summary: Obtain the discovery key from the 5G PKMF for monitoring in the PLMN + operationId: ObtainMonitorKey + tags: + - Obtain the discovery key from the 5G PKMF for monitoring in the PLMN + security: + - {} + - oAuth2ClientCredentials: + - npkmf-disc + - oAuth2ClientCredentials: + - npkmf-disc + - npkmf-disc:monitor-key:modify + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: userInfoId + in: path + description: User Info Id + required: true + schema: + $ref: '#/components/schemas/UserInfoId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MonitorKeyReqData' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/MonitorKeyRespData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/npkmf-disc>//{ueId}/monitor-key/{userInfoId} + required: true + schema: + type: string + '204': + description: Successful update of the resource. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/discovery-key/{userInfoId}: + put: + summary: Obtain the discovery key from the 5G PKMF for a discoverer UE + operationId: ObtainDiscKey + tags: + - Obtain the discovery key for a discoverer UE + security: + - {} + - oAuth2ClientCredentials: + - npkmf-disc + - oAuth2ClientCredentials: + - npkmf-disc + - npkmf-disc:discovery-authorize:modify + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: userInfoId + in: path + description: User Info Id + required: true + schema: + $ref: '#/components/schemas/UserInfoId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscoveryKeyReqData' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/DiscoveryKeyRespData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/npkmf-disc>//{ueId}/discovery-key/{userInfoId} + required: true + schema: + type: string + '204': + description: Successful update of the resource. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npkmf-disc: Access to the Npkmf_Discovery API + npkmf-disc:announce-authorize:modify: > + Access to modify the authorization to announce for a UE in the PLMN + npkmf-disc:monitor-key:modify: > + Access to modify the authorization for monitoring for an UE in the PLMN + npkmf-disc:discovery-key:modify: > + Access to modify the authorization from the 5G DDNMF for a discoverer UE + in the PLMN to operate Model B restricted discovery + + schemas: + +# STRUCTURED TYPES: + + AnnounceAuthData: + type: object + description: Represents Data used to request the authorization to announce for a UE + required: + - relayServCode + properties: + relayServCode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RelayServiceCode' + + MonitorKeyReqData: + type: object + description: Data used to request the discovery key to monitor for a UE + required: + - relayServCode + - ueSecurityCapability + properties: + relayServCode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RelayServiceCode' + ueSecurityCapability: + $ref: '#/components/schemas/UeSecurityCapability' + + MonitorKeyRespData: + type: object + description: Represents the obtained Monitor Discovery Key Data for a UE + required: + - chosenPc5CipheringAlgorithm + - discSecMaterials + properties: + chosenPc5CipheringAlgorithm: + $ref: '#/components/schemas/ChosenPc5CipheringAlgorithm' + discSecMaterials: + $ref: '#/components/schemas/DiscSecMaterials' + DiscoveryKeyReqData: + type: object + description: Data used to request the discovery key to monitor for a discoverer UE + required: + - relayServCode + - ueSecurityCapability + properties: + relayServCode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RelayServiceCode' + ueSecurityCapability: + $ref: '#/components/schemas/UeSecurityCapability' + + DiscoveryKeyRespData: + type: object + description: Represents the obtained Monitor Discovery Key Data for a discoverer UE + required: + - chosenPc5CipheringAlgorithm + - discSecMaterials + properties: + chosenPc5CipheringAlgorithm: + $ref: '#/components/schemas/ChosenPc5CipheringAlgorithm' + discSecMaterials: + $ref: '#/components/schemas/DiscSecMaterials' + DiscSecMaterials: + type: object + description: Represents the discovery security materials + properties: + duik: + $ref: '#/components/schemas/Duik' + dusk: + $ref: '#/components/schemas/Dusk' + duck: + $ref: '#/components/schemas/Duck' + + + +# SIMPLE TYPES: + UserInfoId: + type: string + + UeSecurityCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + + ChosenPc5CipheringAlgorithm: + description: Contains the chosen PC5 ciphering algorithm. + type: integer + + Duik: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + + Dusk: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + + Duck: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + +# ENUMS: + + diff --git a/TS29559_Npkmf_PKMFKeyRequest.yaml b/TS29559_Npkmf_PKMFKeyRequest.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f63be8ed99c264cf03c0cd359b8d0ee89d9f9100 --- /dev/null +++ b/TS29559_Npkmf_PKMFKeyRequest.yaml @@ -0,0 +1,148 @@ +openapi: 3.0.0 + +info: + title: Npkmf_PKMFKeyRequest + version: 1.0.1 + description: | + PKMF KeyRequest Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.559 V17.2.0; 5G System; 5G ProSe Key Management Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.559/ + +servers: + - url: '{apiRoot}/npkmf-keyrequest/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - npkmf-keyrequest + +paths: + /prose-keys/request: + post: + summary: Request Keying Materials for 5G ProSe + operationId: ProseKey + tags: + - ProSe Keys Collection (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ProseKeyReqData' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ProseKeyRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npkmf-keyrequest: Access to the Npkmf_PKMFKeyRequest API + + schemas: +# +# Structured Data Types +# + ProseKeyReqData: + description: Representation of the input to request the keying material. + type: object + properties: + relayServCode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RelayServiceCode' + knrpFreshness1: + $ref: '#/components/schemas/KnrpFreshnessParameter1' + resyncInfo: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ResynchronizationInfo' + prukId: + $ref: '#/components/schemas/PrukId' + suci: + $ref: 'TS29509_Nausf_UEAuthentication.yaml#/components/schemas/Suci' + required: + - relayServCode + - knrpFreshness1 + + ProseKeyRspData: + description: Representation of the successfully requested keying material. + type: object + properties: + knrp: + $ref: '#/components/schemas/Knrp' + knrpFreshness2: + $ref: '#/components/schemas/KnrpFreshnessParameter2' + gpi: + $ref: '#/components/schemas/Gpi' + required: + - knrp + - knrpFreshness2 + +# +# Simple Data Types +# + PrukId: + description: User Plane Prose Remote User Key ID + type: string + + Knrp: + description: Key for NR PC5 + type: string + + KnrpFreshnessParameter1: + description: KNRP Freshness Parameter 1 + type: string + + KnrpFreshnessParameter2: + description: KNRP Freshness Parameter 2 + type: string + + Gpi: + description: GBA Pushing Information + type: string + + +# +# Enumeration Data Types +# diff --git a/TS29559_Npkmf_UserId.yaml b/TS29559_Npkmf_UserId.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7e11eba3e434106c63bfcc800b601e1c77c7f468 --- /dev/null +++ b/TS29559_Npkmf_UserId.yaml @@ -0,0 +1,118 @@ +openapi: 3.0.0 + +info: + title: Npkmf_ResolveRemoteUserId + version: 1.0.0 + description: | + PKMF Resolve Remote User Id Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.559 V17.3.0; 5G System; 5G ProSe Anchor Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.559/ + +servers: + - url: '{apiRoot}/npkmf-userid/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - npkmf-userid + +paths: + /resolve-id: + post: + summary: Retrieve the SUPI of the ProSe Remote UE + operationId: RetrieveSUPI + tags: + - SUPI Retrieval + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ResolveRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ResolveResponse' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npkmf-userid: Access to the Npkmf_ResolveRemoteUserId API + + schemas: +# +# Structured Data Types +# + + ResolveRequest: + description: Request Data + type: object + properties: + upPrukId: + $ref: 'TS29559_Npkmf_PKMFKeyRequest.yaml#/components/schemas/PrukId' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + required: + - upPrukId + + ResolveResponse: + description: Response Data + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + required: + - supi + +# +# Simple Data Types +# + + +# +# Enumeration Data Types +# diff --git a/TS29562_Nhss_gbaSDM.yaml b/TS29562_Nhss_gbaSDM.yaml new file mode 100644 index 0000000000000000000000000000000000000000..aebfa145dcb61a0903bc645d486b4cfb972162ca --- /dev/null +++ b/TS29562_Nhss_gbaSDM.yaml @@ -0,0 +1,441 @@ +openapi: 3.0.0 + +info: + version: '1.1.0-alpha.1' + title: 'Nhss_gbaSDM' + description: | + Nhss Subscriber Data Management Service for GBA. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.562 Home Subscriber Server (HSS) Services, version 18.0.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.562/' + +servers: + - url: '{apiRoot}/nhss-gba-sdm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - nhss-gba-sdm + +paths: + /{ueId}/subscriber-data: + get: + summary: Retrieve the subscriber data of a user + operationId: GetSubscriberData + tags: + - Subscriber Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nhss-gba-sdm + - oAuth2ClientCredentials: + - nhss-gba-sdm + - nhss-gba-sdm:subscriber-data:read + parameters: + - name: ueId + in: path + description: UE Identity + required: true + schema: + $ref: '#/components/schemas/UeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/GbaSubscriberData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{ueId}/subscriptions: + post: + summary: Subscribe to notifications + operationId: GbaSdmSubscribe + tags: + - GBA SDM Subscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nhss-gba-sdm + - oAuth2ClientCredentials: + - nhss-gba-sdm + - nhss-gba-sdm:subscriptions:create + parameters: + - name: ueId + in: path + description: UE Identity + required: true + schema: + $ref: '#/components/schemas/UeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GbaSdmSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/GbaSdmSubscription' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nhss-gba-sdm//{ueId}/subscriptions/{subscriptionId} + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + datachangeNotification: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ModificationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{ueId}/subscriptions/{subscriptionId}: + delete: + summary: Unsubscribe from notifications + operationId: GbaSdmUnsubscribe + tags: + - GBA SDM Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nhss-gba-sdm + - oAuth2ClientCredentials: + - nhss-gba-sdm + - nhss-gba-sdm:subscription:modify + parameters: + - name: ueId + in: path + description: UE Identity + required: true + schema: + $ref: '#/components/schemas/UeId' + - name: subscriptionId + in: path + description: Id of the Subscription + required: true + schema: + type: string + responses: + '204': + description: Successful response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify the subscription + operationId: GbaSdmSubsModify + tags: + - GBA SDM Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nhss-gba-sdm + - oAuth2ClientCredentials: + - nhss-gba-sdm + - nhss-gba-sdm:subscription:modify + parameters: + - name: ueId + in: path + description: UE Identity + required: true + schema: + $ref: '#/components/schemas/UeId' + - name: subscriptionId + in: path + description: Id of the Subscription + required: true + schema: + type: string + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Successful modification + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nhss-gba-sdm: Access to the Nhss GBA Subscription Data Management API + nhss-gba-sdm:subscriber-data:read: Access to read the GBA Subscriber Data resource + nhss-gba-sdm:subscriptions:create: Access to create Subscriptions resources + nhss-gba-sdm:subscription:modify: Access to update/delete a Subscription resource + + schemas: + +# +# COMPLEX TYPES: +# + + GbaSubscriberData: + description: > + GBA subscriber data of the UE; it includes the GBA User Security Settings (GUSS) data + type: object + properties: + guss: + $ref: '#/components/schemas/Guss' + + Guss: + description: > + GBA User Security Settings of the UE; it includes information about the BSF, + and a list of User Security Settings + type: object + properties: + bsfInfo: + $ref: '#/components/schemas/BsfInfo' + ussList: + type: array + items: + $ref: 'TS29309_Nbsp_GBA.yaml#/components/schemas/UssListItem' + minItems: 1 + + BsfInfo: + description: > + Information about the BSF; it includes an indication of whether GBA or GBA_U is to be used, + the key lifetime and a user-specific list of security features + type: object + properties: + uiccType: + $ref: '#/components/schemas/UiccType' + lifeTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + securityFeatures: + type: array + items: + $ref: 'TS29309_Nbsp_GBA.yaml#/components/schemas/SecFeature' + minItems: 1 + + GbaSdmSubscription: + description: > + Information about a subscription created in the HSS, so the consumer (e.g. BSF) can be + notified when there are changes on the monitored data + type: object + required: + - nfInstanceId + - callbackReference + - monitoredResourceUris + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + expires: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + +# +# SIMPLE TYPES: +# + + UeId: + description: UE ID can be MSISDN, IMSI, IMPI or IMPU + anyOf: + - $ref: '#/components/schemas/Msisdn' + - $ref: '#/components/schemas/Imsi' + - $ref: 'TS29562_Nhss_imsSDM.yaml#/components/schemas/ImsUeId' + + Msisdn: + description: MS-ISDN of the UE + type: string + pattern: '^msisdn-[0-9]{5,15}$' + + Imsi: + description: IMSI of the UE + type: string + pattern: '^imsi-[0-9]{5,15}$' + +# +# ENUMS: +# + + UiccType: + description: Indicates whether GBA or GBA_U is to be used + anyOf: + - type: string + enum: + - GBA + - GBA_U + - type: string diff --git a/TS29562_Nhss_gbaUEAU.yaml b/TS29562_Nhss_gbaUEAU.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d1f8ffd83e97353dcf451d0e2b48820bc215bcf8 --- /dev/null +++ b/TS29562_Nhss_gbaUEAU.yaml @@ -0,0 +1,196 @@ +openapi: 3.0.0 + +info: + version: '1.1.0-alpha.1' + title: 'Nhss_gbaUEAU' + description: | + Nhss UE Authentication Service for GBA. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.562 Home Subscriber Server (HSS) Services, version 18.0.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.562/' + +servers: + - url: '{apiRoot}/nhss-gba-ueau/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nhss-gba-ueau + - {} + +paths: + /{ueId}/security-information/generate-auth-data: + post: + summary: Generate GBA authentication data for the UE + operationId: GenerateAuthData + tags: + - Generate Auth Data (Custom Operation) + security: + - {} + - oAuth2ClientCredentials: + - nhss-gba-ueau + - oAuth2ClientCredentials: + - nhss-gba-ueau + - nhss-gba-ueau:generate-auth-data:invoke + parameters: + - name: ueId + in: path + description: UE identity of the user + required: true + schema: + $ref: '#/components/schemas/UeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationInfoRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationInfoResult' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nhss-gba-ueau: Access to the nhss-gba-ueau API + nhss-gba-ueau:generate-auth-data:invoke: > + Access to invoke the Generate Auth Data custom operation + + schemas: + +# +# COMPLEX TYPES: +# + + AuthenticationInfoRequest: + description: > + Contains input data to the authentication request message (e.g. authentication + scheme, resynchronization information) + type: object + properties: + authenticationScheme: + $ref: '#/components/schemas/AuthenticationScheme' + resynchronizationInfo: + $ref: 'TS29562_Nhss_imsUEAU.yaml#/components/schemas/ResynchronizationInfo' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + AuthenticationInfoResult: + description: > + Contains authentication information returned in the authentication response message + (e.g. authentication vector, digest authentication parameters) + type: object + properties: + impi: + $ref: '#/components/schemas/Impi' + 3gAkaAv: + $ref: 'TS29562_Nhss_imsUEAU.yaml#/components/schemas/3GAkaAv' + digestAuth: + $ref: '#/components/schemas/DigestAuthentication' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + DigestAuthentication: + description: Parameters used for the Digest authentication scheme + type: object + required: + - digestRealm + - digestAlgorithm + - digestQop + - ha1 + properties: + digestRealm: + type: string + digestAlgorithm: + $ref: '#/components/schemas/DigestAlgorithm' + digestQop: + $ref: '#/components/schemas/DigestQop' + ha1: + type: string + +# +# SIMPLE TYPES: +# + + UeId: + $ref: 'TS29562_Nhss_gbaSDM.yaml#/components/schemas/UeId' + + Impi: + description: IMS Private Identity of the UE + type: string + +# +# ENUMS: +# + + AuthenticationScheme: + description: Authentication scheme to be used in the authentication request message + anyOf: + - type: string + enum: + - DIGEST_AKAV1_MD5 + - DIGEST_HTTP + - type: string + + DigestAlgorithm: + description: Algorithm used for the Digest authentication scheme + anyOf: + - type: string + enum: + - MD5 + - MD5_SESS + - type: string + + DigestQop: + description: Quality of Protection for the Digest authentication scheme + anyOf: + - type: string + enum: + - AUTH + - AUTH_INT + - type: string diff --git a/TS29562_Nhss_imsSDM.yaml b/TS29562_Nhss_imsSDM.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6dfca601ced3cbcad1f4e2bde568088397bdf240 --- /dev/null +++ b/TS29562_Nhss_imsSDM.yaml @@ -0,0 +1,4156 @@ +openapi: 3.0.0 + +info: + version: '1.2.0-alpha.1' + title: 'Nhss_imsSDM' + description: | + Nhss Subscriber Data Management Service for IMS. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.562 HSS Services for interworking with IMS, version 18.0.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.562/' + +servers: + - url: '{apiRoot}/nhss-ims-sdm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + +paths: + /{imsUeId}/ims-data/registration-status: + get: + summary: Retrieve the registration status of a user + operationId: GetRegistrationStatus + tags: + - Registration Status retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:registration-status:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ImsRegistrationStatus' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/ims-data/profile-data: + get: + summary: > + Retrieve the complete IMS profile for a given IMS public identity + (and public identities in the same IRS) + operationId: GetProfileData + tags: + - IMS Profile Data Retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:profile-data:read + parameters: + - name: imsUeId + in: path + description: IMS Identity. In this case it shall be an IMS public identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: dataset-names + in: query + description: Datasets to be retrieved + schema: + $ref: '#/components/schemas/DataSetNames' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ImsProfileData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/ims-data/profile-data/priority-levels: + get: + summary: Retrieve the service priority levels associated to the user + operationId: GetPriorityInfo + tags: + - Priority Info Retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:priority-levels:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/PriorityLevels' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/ims-data/profile-data/ifcs: + get: + summary: Retrieve the Initial Filter Criteria for the associated IMS subscription + operationId: GetIfcs + tags: + - IFCs Retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:ifcs:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: application-server-name + in: query + description: SIP URI of the Application Server Name + schema: + $ref: '#/components/schemas/SipServerName' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/Ifcs' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/ims-data/profile-data/service-level-trace-information: + get: + summary: Retrieve the IMS service level trace information for the associated user + operationId: GetServiceTraceInfo + tags: + - Service Trace Info Retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:service-level-trace-information:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceLevelTraceInformation' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/ims-data/profile-data/charging-info: + get: + summary: Retrieve the charging information for to the user + operationId: GetChargingInfo + tags: + - Charging Info Retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:charging-info:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/ims-data/location-data/server-name: + get: + summary: Retrieve the server name for the associated user + operationId: GetServerName + tags: + - Server Name retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:server-name:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ImsLocationData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/ims-data/location-data/scscf-capabilities: + get: + summary: Retrieve the S-CSCF capabilities for the associated IMS subscription + operationId: GetScscfCapabilities + tags: + - Retrieval of the S-CSCF capabilities for the IMS subscription + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:scscf-capabilities:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ScscfCapabilityList' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/ims-data/location-data/scscf-selection-assistance-info: + get: + summary: Retrieve the S-CSCF selection assistance info + operationId: GetScscfSelectionAssistanceInfo + tags: + - Retrieval of the S-CSCF selection assistance information for the IMS subscription + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:scscf-selection-assistance-info:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ScscfSelectionAssistanceInformation' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/access-data/ps-domain/location-data: + get: + summary: Retrieve the location data in PS domain + operationId: GetLocPsDomain + tags: + - PS location retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:ps-domain:location-data:read + parameters: + - name: imsUeId + in: path + description: IMS Public Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: requested-nodes + in: query + description: Indicates the serving node(s) for which the request is applicable. + style: form + explode: false + schema: + type: array + items: + $ref: '#/components/schemas/RequestedNode' + - name: serving-node + in: query + description: > + Indicates that only the stored NF id/address of the serving node(s) is required + schema: + type: boolean + - name: local-time + in: query + description: > + Indicates that only the Local Time Zone information of the location in the visited + network where the UE is attached is requested + schema: + type: boolean + - name: current-location + in: query + description: > + Indicates whether an active location retrieval has to be initiated by the requested node + schema: + type: boolean + - name: rat-type + in: query + description: Indicates whether RAT Type retrieval is requested + schema: + type: boolean + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/PsLocation' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/access-data/cs-domain/location-data: + get: + summary: Retrieve the location data in CS domain + operationId: GetLocCsDomain + tags: + - CS location retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:cs-domain:location-data:read + parameters: + - name: imsUeId + in: path + description: IMS Public Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: serving-node + in: query + description: > + Indicates that only the stored NF id/address of the serving node(s) is required + schema: + type: boolean + - name: local-time + in: query + description: > + Indicates that only the Local Time Zone information of the location in the visited + network where the UE is attached is requested + schema: + type: boolean + - name: current-location + in: query + description: > + Indicates whether an active location retrieval has to be initiated by the requested node + schema: + type: boolean + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/CsLocation' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/repository-data/{serviceIndication}: + put: + summary: Update the repository data associated to an IMPU and service indication + operationId: UpdateRepositoryDataServInd + tags: + - Update repository data + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:repository-data:modify + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: serviceIndication + in: path + description: Identifier of a service related data + required: true + schema: + $ref: '#/components/schemas/ServiceIndication' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RepositoryData' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/RepositoryData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nhss-ims-sdm/v1/{imsUeId}/repository-data/{serviceIndication} + required: true + schema: + type: string + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/RepositoryData' + '204': + description: No content + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: delete the Repository Data for a Service Indication + operationId: DeleteRepositoryDataServInd + tags: + - Delete repository data + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:repository-data:modify + parameters: + - name: imsUeId + in: path + description: Identifier of the UE + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: serviceIndication + in: path + description: Identifier of a service related data + required: true + schema: + $ref: '#/components/schemas/ServiceIndication' + responses: + '204': + description: Expected response to a valid request + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: Retrieve the repository data associated to an IMPU and service indication + operationId: GetRepositoryDataServInd + tags: + - Repository data + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:repository-data:read + parameters: + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: serviceIndication + in: path + description: Identifier of a service related data + required: true + schema: + $ref: '#/components/schemas/ServiceIndication' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/RepositoryData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/identities/msisdns: + get: + summary: retrieve the Msisdns associated to requested identity + operationId: GetMsisdns + tags: + - Retrieval of the associated Msisdns + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:identities:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: private-id + in: query + description: Private identity + schema: + $ref: '#/components/schemas/PrivateId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/MsisdnList' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/identities/ims-associated-identities: + get: + summary: > + Retrieve the associated identities to the IMS public identity included + in the service request + operationId: GetImsAssocIds + tags: + - Retrieval of associated IMS public identities + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:identities:read + parameters: + - name: imsUeId + in: path + description: IMS Public Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ImsAssociatedIdentities' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/identities/private-identities: + get: + summary: > + Retrieve the associated private identities to the IMS public identity included + in the service request + operationId: GetImsPrivateIds + tags: + - Retrieval of associated IMS private identities + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:identities:read + parameters: + - name: imsUeId + in: path + description: IMS Public Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: impi + in: query + description: Private Identity of type IMPI + schema: + $ref: '#/components/schemas/PrivateId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/PrivateIdentities' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/srvcc-data: + get: + summary: Retrieve the srvcc data + operationId: GetSrvccData + tags: + - Retrieval of UE SRVCC capability and STN-SR + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:srvcc:read + parameters: + - name: imsUeId + in: path + description: IMS Public Identity or IMS Private Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SrvccData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Patch + operationId: UpdateSrvccData + tags: + - Update SRVCC data + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:srvcc:modify + parameters: + - name: imsUeId + in: path + description: IMS Public Identity or IMS Private Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Successful response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{imsUeId}/service-data/psi-status: + get: + summary: Retrieve the PSI activation state data + operationId: GetPsiState + tags: + - Retrieval of PSI activation state + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:psi-status:read + parameters: + - name: imsUeId + in: path + description: IMS Private Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/PsiActivationState' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Patch + operationId: UpdatePsiState + tags: + - Update PSI state data + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:psi-status:modify + parameters: + - name: imsUeId + in: path + description: IMS Public Service Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Successful response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{imsUeId}/service-data/dsai: + get: + summary: Retrieve the DSAI information associated to an Application Server + operationId: GetDsaiInfo + tags: + - DSAI registration information + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:dsai:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: application-server-name + in: query + description: SIP URI of the Application Server Name + required: true + schema: + $ref: '#/components/schemas/SipServerName' + - name: dsai-tag + in: query + description: The requested instance of Dynamic Service Activation Info + schema: + type: string + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/DsaiTagInformation' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Patch + operationId: UpdateDsaiState + tags: + - Update Dsai State + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:dsai:modify + parameters: + - name: imsUeId + in: path + description: IMS Public Service Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Successful response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{imsUeId}/service-data/sms-registration-info: + put: + summary: Update the SMS registration information associated to a user + operationId: UpdateSmsRegistrationInfo + tags: + - Update SMS registration info + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:sms-registration-info:modify + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwAddress' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmsRegistrationInfo' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nhss-ims-sdm/v1/{imsUeId}/service-data/sms-registration-info + required: true + schema: + type: string + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SmsRegistrationInfo' + '204': + description: No content + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: delete the SMS registration information + operationId: DeleteSmsRegistrationInfo + tags: + - Delete SMS registration information + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:sms-registration-info:modify + parameters: + - name: imsUeId + in: path + description: Identifier of the UE + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + responses: + '204': + description: Expected response to a valid request + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: Retrieve the SMS registration information associated to a user + operationId: GetSmsRegistrationInfo + tags: + - SMS registration information + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:sms-registration-info:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsRegistrationInfo' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/identities/imeisv: + get: + summary: Retrieve the IMEISV information + operationId: GetIMEISVInfo + tags: + - IMEISV Retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:identities:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ImeiSvInformation' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/access-data/ps-domain/ip-address: + get: + summary: Retrieve the IP address information + operationId: GetIpAddressInfo + tags: + - IP address Info Retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:ps-domain:ip-address:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/access-data/ps-domain/tads-info: + get: + summary: Retrieve the T-ADS information + operationId: GetTadsInfo + tags: + - TADS Info Retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:ps-domain:tads-info:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/TadsInformation' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/access-data/ps-domain/ue-reach-subscriptions: + post: + summary: subscribe to notifications of UE reachability + operationId: UeReachIpSubscribe + tags: + - UE IP reachability Subscription Creation + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:ps-domain:ue-reach-subscriptions:create + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UeReachabilitySubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedUeReachabilitySubscription' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nhss-ims-sdm/v1/{imsUeId}/access-data/ps-domain/ue-reach-subscriptions/{subscriptionId} + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + ueReachabilityNotification: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UeReachabilityNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{imsUeId}/access-data/ps-domain/ue-reach-subscriptions/{subscriptionId}: + delete: + summary: unsubscribe from notifications to UE reachability + operationId: UeReachUnsubscribe + tags: + - Reachability Subscription Deletion + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:ps-domain:ue-reach-subscriptions:modify + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: subscriptionId + in: path + description: Id of the Subscription + required: true + schema: + type: string + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + responses: + '204': + description: Successful response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: modify the subscription + operationId: UeReachSubsModify + tags: + - Reachability Subscription Modification + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:ps-domain:ue-reach-subscriptions:modify + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: subscriptionId + in: path + description: Id of the Subscription + required: true + schema: + type: string + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Successful modification + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{imsUeId}/access-data/ps-domain/user-state: + get: + summary: Retrieve the user state information in PS domain + operationId: GetPsUserStateInfo + tags: + - PS User State Info Retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:ps-domain:user-state:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: requested-nodes + in: query + description: Indicates the serving node(s) for which the request is applicable. + style: form + explode: false + schema: + type: array + items: + $ref: '#/components/schemas/RequestedNode' + minItems: 1 + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/PsUserState' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/access-data/cs-domain/user-state: + get: + summary: Retrieve the user state information in CS domain + operationId: GetCsUserStateInfo + tags: + - CS User State Info Retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:cs-domain:user-state:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/CsUserState' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/access-data/cs-domain/csrn: + get: + summary: Retrieve the routeing number in CS domain + operationId: GetCsrn + tags: + - CSRN retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:cs-domain:csrn:read + parameters: + - name: imsUeId + in: path + description: IMS Public Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: pre-paging + in: query + description: Indicates pre-paging support + schema: + $ref: '#/components/schemas/PrePaging' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + - name: call-reference-info + in: query + description: Indicates Call-Reference Number and AS-Number + content: + application/json: + schema: + $ref: '#/components/schemas/CallReferenceInfo' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/Csrn' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/access-data/wireline-domain/reference-location: + get: + summary: Retrieve the reference location information + operationId: GetReferenceLocationInfo + tags: + - Reference Location Info Retrieval + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:wireline-domain:reference-location:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: private-identity + in: query + description: IMS Private Identity + schema: + $ref: '#/components/schemas/PrivateId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ReferenceLocationInformation' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/subscriptions: + post: + summary: subscribe to notifications + operationId: ImsSdmSubscribe + tags: + - SDM Subscription Creation + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:subscriptions:create + parameters: + - name: imsUeId + in: path + description: IMS Public Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ImsSdmSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ImsSdmSubscription' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nhss-ims-sdm/v1/{imsUeId}/subscriptions/{subscriptionId} + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + datachangeNotification: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ModificationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/subscriptions/{subscriptionId}: + delete: + summary: unsubscribe from notifications + operationId: ImsSdmUnsubscribe + tags: + - SDM Subscription Deletion + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:subscription:modify + parameters: + - name: imsUeId + in: path + description: IMS Public Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: subscriptionId + in: path + description: Id of the Subscription + required: true + schema: + type: string + responses: + '204': + description: Successful response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: modify the subscription + operationId: ImsSdmSubsModify + tags: + - SDM Subscription Modification + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:subscription:modify + parameters: + - name: imsUeId + in: path + description: IMS Public Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: subscriptionId + in: path + description: Id of the Subscription + required: true + schema: + type: string + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Successful modification + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /shared-data-subscriptions: + post: + summary: subscribe to notifications for shared data + operationId: SubscribeToSharedData + tags: + - Subscription Creation for shared data + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:shared-subscriptions:create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ImsSdmSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ImsSdmSubscription' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nhss-ims-sdm/v1/shared-data-subscriptions/{subscriptionId} + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + datachangeNotification: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ModificationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /shared-data-subscriptions/{subscriptionId}: + delete: + summary: unsubscribe from notifications for shared data + operationId: UnsubscribeForSharedData + tags: + - Subscription Deletion for shared data + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:shared-subscription:modify + parameters: + - name: subscriptionId + in: path + description: Id of the Shared data Subscription + required: true + schema: + type: string + responses: + '204': + description: Successful response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: modify the subscription + operationId: ModifySharedDataSubs + tags: + - Subscription Modification + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:shared-subscription:modify + parameters: + - name: subscriptionId + in: path + description: Id of the SDM Subscription + required: true + schema: + type: string + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Successful modification + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /shared-data: + get: + summary: retrieve shared data + operationId: GetSharedData + tags: + - Retrieval of shared data + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:shared-data:read + parameters: + - name: shared-data-ids + in: query + description: List of shared data ids + required: true + style: form + explode: false + schema: + type: array + items: + $ref: '#/components/schemas/SharedDataId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SharedData' + minItems: 1 + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/repository-data: + get: + summary: Retrieve the repository data associated to an IMPU and service indication list + operationId: GetRepositoryDataServIndList + tags: + - Repository data list + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-sdm + - oAuth2ClientCredentials: + - nhss-ims-sdm + - nhss-ims-sdm:repository-data:read + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: service-indications + in: query + description: Identifiers of a services related data + required: true + style: form + explode: false + schema: + type: array + items: + $ref: '#/components/schemas/ServiceIndication' + minItems: 1 + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/RepositoryDataList' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nhss-ims-sdm: Access to the Nhss IMS Subscription Data Management API + nhss-ims-sdm:registration-status:read: Access to read the Registration Status resource + nhss-ims-sdm:profile-data:read: Access to read the Profile Data resource + nhss-ims-sdm:priority-levels:read: Access to read the Priority Levels resource + nhss-ims-sdm:ifcs:read: Access to read the Initial Filter Criteria resource + nhss-ims-sdm:service-level-trace-information:read: >- + Access to read the Service Level Trace Information resource + nhss-ims-sdm:server-name:read: Access to read the Server Name resource + nhss-ims-sdm:scscf-capabilities:read: Access to read the S-CSCF Capabilities resource + nhss-ims-sdm:ps-domain:location-data:read: >- + Access to read the PS-Domain Location Data resource + nhss-ims-sdm:ps-domain:ip-address:read: Access to read the PS-Domain IP Address resource + nhss-ims-sdm:ps-domain:tads-info:read: Access to read the PS-Domain TADS Info resource + nhss-ims-sdm:ps-domain:ue-reach-subscriptions:create: >- + Access to create PS-Domain UE Reachability Subscriptions resources + nhss-ims-sdm:ps-domain:ue-reach-subscriptions:modify: >- + Access to update/delete a PS-Domain UE Reachability Subscription resource + nhss-ims-sdm:ps-domain:user-state:read: Access to read the PS-Domain User State resource + nhss-ims-sdm:cs-domain:location-data:read: >- + Access to read the CS-Domain Location Data resource + nhss-ims-sdm:cs-domain:user-state:read: Access to read the CS-Domain User State resource + nhss-ims-sdm:cs-domain:csrn:read: Access to read the CS-Domain CSRN resource + nhss-ims-sdm:wireline-domain:reference-location:read: >- + Access to read the Wireline-Domain Reference Location resource + nhss-ims-sdm:repository-data:modify: >- + Access to create/update/delete the Repository Data resource + nhss-ims-sdm:repository-data:read: Access to read the Repository Data resource + nhss-ims-sdm:identities:read: Access to read the Identities resource + nhss-ims-sdm:srvcc:read: Access to read the SRVCC resource + nhss-ims-sdm:srvcc:modify: Acess to update the SRVCC resource + nhss-ims-sdm:psi-status:read: Access to read the PSI Status resource + nhss-ims-sdm:psi-status:modify: Acess to update the PSI Status resource + nhss-ims-sdm:dsai:read: Acess to read the DSAI resource + nhss-ims-sdm:dsai:modify: Acess to update the DSAI resource + nhss-ims-sdm:sms-registration-info:read: >- + Acess to read the SMS Registration Info resource + nhss-ims-sdm:sms-registration-info:modify: >- + Acess to create/update/delete the SMS Registration Info resource + nhss-ims-sdm:subscriptions:create: Access to create Subscriptions resources + nhss-ims-sdm:subscription:modify: Access to update/delete a Subscription resource + nhss-ims-sdm:shared-subscriptions:create: >- + Access to create a Shared-Data Subscriptions resource + nhss-ims-sdm:shared-subscription:modify: >- + Access to update/delete a Shared-Data Subscription resource + nhss-ims-sdm:shared-data:read: Access to read the Shared-Data resource + nhss-ims-sdm:charging-info:read: Access to read the ChargingInfo resource + + schemas: + +# +# COMPLEX TYPES: +# + + ScscfCapabilityList: + description: Information about mandatory and optional S-CSCF capabilities + type: object + properties: + mandatoryCapabilityList: + $ref: '#/components/schemas/Capabilities' + optionalCapabilityList: + $ref: '#/components/schemas/Capabilities' + anyOf: + - required: [mandatoryCapabilityList] + - required: [optionalCapabilityList] + + Capabilities: + description: A list of capabilities of the S-CSCF + type: array + items: + $ref: '#/components/schemas/Capability' + minItems: 1 + uniqueItems: true + + RepositoryData: + description: Repository Data for the requested Service Indication + type: object + required: + - serviceData + - sequenceNumber + properties: + sequenceNumber: + $ref: '#/components/schemas/SequenceNumber' + serviceData: + type: string + format: byte + + MsisdnList: + description: List of MSISDNs associated to the IMS public Identity + type: object + required: + - basicMsisdn + properties: + basicMsisdn: + $ref: '#/components/schemas/Msisdn' + additionalMsisdns: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/Msisdn' + + PublicIdentities: + description: > + IMS Public Identities which belong to the same Implicit Registration Set (if any) + as the requested IMS Public Identity + type: object + required: + - publicIdentities + properties: + publicIdentities: + type: array + items: + $ref: '#/components/schemas/PublicIdentity' + minItems: 1 + uniqueItems: true + + PrivateIdentities: + description: A list of IMS Private Identities + type: object + required: + - privateIdentities + properties: + privateIdentities: + type: array + items: + $ref: '#/components/schemas/PrivateIdentity' + minItems: 1 + uniqueItems: true + + PublicIdentity: + description: > + IMS Public Identity and related data (Alias Group Id, IRS default indication, + Identity Type) + type: object + required: + - imsPublicId + - identityType + properties: + imsPublicId: + $ref: '#/components/schemas/ImsPublicId' + identityType: + $ref: '#/components/schemas/IdentityType' + irsIsDefault: + type: boolean + aliasGroupId: + type: string + + PrivateIdentity: + description: IMS Private Identity and its identity type (IMPI or IMSI) + type: object + required: + - privateIdentity + - privateIdentityType + properties: + privateIdentity: + $ref: '#/components/schemas/PrivateId' + privateIdentityType: + $ref: '#/components/schemas/PrivateIdentityType' + + ImsAssociatedIdentities: + description: > + A list of identities belonging to the same Implicit Registration Set (IRS), + along with the registration state of the IRS + type: object + required: + - irsState + - publicIdentities + properties: + irsState: + $ref: '#/components/schemas/ImsRegistrationState' + publicIdentities: + $ref: '#/components/schemas/PublicIdentities' + + ImsSdmSubscription: + description: A subscription to notifications of data change + type: object + required: + - nfInstanceId + - callbackReference + - monitoredResourceUris + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + expires: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + ImsRegistrationStatus: + description: Registration status of the user + type: object + required: + - imsUserStatus + properties: + imsUserStatus: + $ref: '#/components/schemas/ImsRegistrationState' + + PriorityLevels: + description: Namespaces and priority levels allowed for the IMS public Identity + type: object + required: + - servicePriorityLevelList + properties: + servicePriorityLevelList: + type: array + items: + $ref: '#/components/schemas/NameSpacePriority' + minItems: 1 + uniqueItems: true + servicePriorityLevel: + type: integer + minimum: 0 + maximum: 4 + + Ifcs: + description: List of IFCs associated to the IMS public Identity + type: object + properties: + ifcList: + type: array + items: + $ref: '#/components/schemas/Ifc' + minItems: 1 + cscfFilterSetIdList: + type: array + items: + $ref: '#/components/schemas/CscfFilterSetId' + minItems: 1 + anyOf: + - required: [ ifcList ] + - required: [ cscfFilterSetIdList ] + + Ifc: + description: Data associated to an individual IFC (Initial Filter Criteria) + type: object + required: + - priority + - appServer + properties: + priority: + type: integer + minimum: 1 + trigger: + $ref: '#/components/schemas/TriggerPoint' + appServer: + $ref: '#/components/schemas/ApplicationServer' + + TriggerPoint: + description: > + Contains the conditions that should be checked in order to find out if an + Application Server should be contacted or not + type: object + required: + - conditionType + - sptList + properties: + conditionType: + $ref: '#/components/schemas/TypeOfCondition' + sptList: + type: array + items: + $ref: '#/components/schemas/Spt' + minItems: 1 + + Spt: + description: Contains the data of a Service Point Trigger + type: object + required: + - conditionNegated + - sptGroup + properties: + conditionNegated: + type: boolean + sptGroup: + type: array + items: + $ref: '#/components/schemas/SptGroupId' + minItems: 1 + regType: + items: + $ref: '#/components/schemas/RegistrationType' + minItems: 1 + maxItems: 2 + requestUri: + type: string + sipMethod: + type: string + sipHeader: + $ref: '#/components/schemas/HeaderSipRequest' + sessionCase: + $ref: '#/components/schemas/RequestDirection' + sessionDescription: + $ref: '#/components/schemas/SdpDescription' + + HeaderSipRequest: + description: Contains a header (and optionally value of the header) in the SIP request + type: object + required: + - header + properties: + header: + type: string + content: + type: string + + SdpDescription: + description: > + Contains a SDP line (and optionally the value in the line) within the body (if any) + of a SIP request + type: object + required: + - line + properties: + line: + type: string + content: + type: string + + ApplicationServer: + description: > + Application Server which shall be triggered if the conditions of a certain IFC are met, + and its associated data + type: object + required: + - asUri + properties: + asUri: + type: string + sessionContinue: + type: boolean + serviceInfoList: + type: array + items: + $ref: '#/components/schemas/ServiceInformation' + minItems: 1 + + ImsLocationData: + description: IMS Location Data (S-CSCF name) + type: object + required: + - scscfName + properties: + scscfName: + type: string + + PsLocation: + description: Location data in PS domain + type: object + oneOf: + - required: + - sgsnLocationData + - required: + - mmeLocationData + - required: + - amfLocationData + - required: + - twanLocationData + properties: + sgsnLocationData: + $ref: '#/components/schemas/SgsnLocationData' + mmeLocationData: + $ref: '#/components/schemas/MmeLocationData' + amfLocationData: + $ref: '#/components/schemas/AmfLocationData' + twanLocationData: + $ref: '#/components/schemas/TwanLocationData' + + SgsnLocationData: + description: Location information as retrieved from the SGSN serving node + type: object + required: + - sgsnNumber + - plmnId + properties: + sgsnNumber: + type: string + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + sgsnLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UtraLocation' + csgInformation: + $ref: '#/components/schemas/CsgInformation' + timeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + + MmeLocationData: + description: Location information as retrieved from the MME serving node + type: object + required: + - mmeAddress + - plmnId + properties: + mmeAddress: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + mmeLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/EutraLocation' + csgInformation: + $ref: '#/components/schemas/CsgInformation' + timeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + + AmfLocationData: + description: Location information as retrieved from the AMF serving node + type: object + required: + - amfAddress + - plmnId + properties: + amfAddress: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + amfLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NrLocation' + smsfAddress: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + timeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + + TwanLocationData: + description: Location information of the 3GPP AAA Server for Trusted W-LAN Access + type: object + required: + - twanSsid + - plmnId + properties: + twanSsid: + type: string + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + twanBssid: + type: string + civicAddress: + type: string + format: byte + twanOperatorName: + type: string + timeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + logicalAccessId: + type: string + + CsLocation: + description: Location data in CS domain + type: object + required: + - mscNumber + - vlrNumber + - plmnId + properties: + mscNumber: + type: string + vlrNumber: + type: string + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + vlrLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GeraLocation' + csgInformation: + $ref: '#/components/schemas/CsgInformation' + timeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + eUtranCgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + tai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + + CsgInformation: + description: Information about a Closed Subscriber Group (CSG) + type: object + required: + - csgId + properties: + csgId: + type: string + format: byte + accessMode: + type: string + format: byte + cMi: + type: boolean + + SrvccData: + description: UE SRVCC capability (if available) and STN-SR (if subscribed) + type: object + required: + - stnSr + properties: + stnSr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StnSr' + ueSrvccCapabilities: + type: array + items: + $ref: '#/components/schemas/SrvccCapability' + minItems: 1 + uniqueItems: true + + PsiActivationState: + description: Public Service Identity activation state + type: object + required: + - activationState + properties: + activationState: + $ref: '#/components/schemas/ActivationState' + + SharedData: + description: Represents a part of the IMS Profile data shared by several UEs + type: object + required: + - sharedDataId + properties: + sharedDataId: + $ref: '#/components/schemas/SharedDataId' + sharedImsIfcData: + $ref: '#/components/schemas/Ifcs' + minProperties: 1 + + ImsProfileData: + description: User's IMS profile data + type: object + required: + - imsServiceProfiles + properties: + imsServiceProfiles: + type: array + items: + $ref: '#/components/schemas/ImsServiceProfile' + chargingInfo: + $ref: '#/components/schemas/ChargingInfo' + serviceLevelTraceInfo: + $ref: '#/components/schemas/ServiceLevelTraceInformation' + servicePriorityLevelList: + type: array + items: + $ref: '#/components/schemas/NameSpacePriority' + minItems: 1 + uniqueItems: true + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + maxAllowedSimulReg: + type: integer + servicePriorityLevel: + type: integer + minimum: 0 + maximum: 4 + + ImsServiceProfile: + description: > + IMS Service Profile of the UE, containing the list of Public Identifiers and + optionally a list of IFCs + type: object + required: + - publicIdentifierList + properties: + publicIdentifierList: + type: array + items: + $ref: '#/components/schemas/PublicIdentifier' + ifcs: + $ref: '#/components/schemas/Ifcs' + cnServiceAuthorization: + $ref: '#/components/schemas/CoreNetworkServiceAuthorization' + + CoreNetworkServiceAuthorization: + description: > + Core Network Service Authorization + type: object + properties: + subscribedMediaProfileId: + type: integer + + PublicIdentifier: + description: > + Distinct or wildcarded public identity and its associated priority, trace and + barring information + type: object + required: + - publicIdentity + properties: + publicIdentity: + $ref: '#/components/schemas/PublicIdentity' + displayName: + type: string + imsServicePriority: + $ref: '#/components/schemas/PriorityLevels' + serviceLevelTraceInfo: + $ref: '#/components/schemas/ServiceLevelTraceInformation' + barringIndicator: + type: boolean + wildcardedImpu: + type: string + + ServiceLevelTraceInformation: + description: IMS Service Level Trace Information + type: object + properties: + serviceLevelTraceInfo: + type: string + + ImeiSvInformation: + description: IMEI(SV) information + type: object + oneOf: + - required: + - imei + - required: + - imeiSv + properties: + imei: + $ref: '#/components/schemas/Imei' + imeiSv: + $ref: '#/components/schemas/ImeiSv' + + TadsInformation: + description: T-ADS Information + type: object + required: + - voiceOverPsSessionSupport + properties: + voiceOverPsSessionSupport: + $ref: '#/components/schemas/ImsVoiceOverPsSessionSupport' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + lastUeActivityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + UeReachabilitySubscription: + description: > + Contains the request parameters received by the HSS for a subscription to + notifications of UE reachability for IP + type: object + required: + - expiry + - callbackReference + properties: + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + + CreatedUeReachabilitySubscription: + description: > + Contains the response data returned by HSS after the subscription to + notifications of UE reachability for IP was created + type: object + required: + - expiry + properties: + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + UeReachabilityNotification: + description: > + Represents the contents of a notification of UE reachability for IP sent by the HSS + type: object + required: + - reachabilityIndicator + - detectingNode + - accessType + properties: + reachabilityIndicator: + type: boolean + detectingNode: + $ref: '#/components/schemas/DetectingNode' + accessType: + $ref: '#/components/schemas/AccessType' + + PsUserState: + description: User state in PS domain + type: object + oneOf: + - required: + - sgsnUserState + - required: + - mmeUserState + - required: + - amfUserState + properties: + sgsnUserState: + $ref: '#/components/schemas/UserStatePs' + mmeUserState: + $ref: '#/components/schemas/UserStatePs' + amfUserState: + $ref: '#/components/schemas/UserStatePs' + + CsUserState: + description: User state in CS domain + type: object + required: + - mscVlrUserState + properties: + mscVlrUserState: + $ref: '#/components/schemas/UserStateCs' + + Csrn: + description: CS domain routeing number + type: object + required: + - csrn + properties: + csrn: + $ref: '#/components/schemas/Msisdn' + + ReferenceLocationInformation: + description: Reference Location Information for the user in fixed access networks + type: object + properties: + accessType: + type: string + accessInfo: + type: string + accessValue: + type: string + anyOf: + - required: [accessType] + - required: [accessInfo] + - required: [accessValue] + + SmsRegistrationInfo: + description: SMS Registration Information (IP-SM-GW number and SC address) + type: object + required: + - ipSmGwNumber + properties: + ipSmGwNumber: + $ref: '#/components/schemas/Msisdn' + scAddress: + $ref: '#/components/schemas/Msisdn' + + IpSmGwAddress: + description: IP-SM-GW number and diameter URI/realm + type: object + required: + - ipSmGwNumber + properties: + ipSmGwNumber: + $ref: '#/components/schemas/Msisdn' + ipSmGwDiaUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + ipSmGwDiaRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + ipSmGwSbiSupInd: + type: boolean + default: false + + DsaiTagInformation: + description: > + DSAI tag information (list of DSAI tags activation state for an Application Server) + type: object + required: + - dsaiTagStatusList + properties: + dsaiTagStatusList: + type: array + items: + $ref: '#/components/schemas/DsaiTagStatus' + minItems: 1 + uniqueItems: true + + DsaiTagStatus: + description: DSAI tag status (DSAI tag and activation state) + type: object + required: + - dsaiTag + - dsaiState + properties: + dsaiTag: + type: string + dsaiState: + $ref: '#/components/schemas/ActivationState' + + ScscfSelectionAssistanceInformation: + description: Information used by the I-CSCF to select an S-CSCF for the UE + type: object + properties: + scscfCapabilityList: + $ref: '#/components/schemas/ScscfCapabilityList' + scscfNames: + type: array + items: + type: string + minItems: 1 + anyOf: + - required: [scscfCapabilityList] + - required: [scscfNames] + + ChargingInfo: + description: Diameter addresses of the charging function + type: object + anyOf: + - required: + - primaryEventChargingFunctionName + - required: + - primaryChargingCollectionFunctionName + properties: + primaryEventChargingFunctionName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + secondaryEventChargingFunctionName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + primaryChargingCollectionFunctionName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + secondaryChargingCollectionFunctionName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + + CallReferenceInfo: + description: > + Contains a Call Reference Number and the AS-Number; it allows a later retry of the call + setup in the context of MTRR + type: object + required: + - callRefNumber + - asNumber + properties: + callRefNumber: + type: string + format: byte + description: > + The content is according to CallReferenceNumber type described in 3GPP TS 29.002 [30]. + Base64 encoded according to IETF RFC 2045 [28] + asNumber: + type: string + format: byte + description: > + The content is according to ISDN-AddressString type described in 3GPP TS 29.002 [30]. + Base64 encoded according to IETF RFC 2045 [28] + + DataSetNames: + description: Contains the data sets to be retrieved from the IMS User Profile + type: array + items: + $ref: '#/components/schemas/DataSetName' + minItems: 1 + uniqueItems: true + + RepositoryDataList: + description: List of Repository Data for the requested Service Indications + type: object + required: + - repositoryDataMap + properties: + repositoryDataMap: + description: > + A map (list of key-value pairs where ServiceIndication serves as key) of RepositoryData + type: object + additionalProperties: + $ref: '#/components/schemas/RepositoryData' + +# +# SIMPLE TYPES: +# + + Capability: + description: S-CSCF capability + type: integer + + ImsUeId: + description: > + Represents the IMS Public Identity (i.e. IMS Public User identity or + Public Service Identity) + type: string + pattern: '^(impu-sip\:([a-zA-Z0-9_\-.!~*()&=+$,;?\/]+)\@([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}|impu-tel\:\+[0-9]{5,15}|impi-.+|.+)$' + + SequenceNumber: + description: > + Unsigned integer containing the sequence number associated to the current version + of Repository Data + type: integer + minimum: 0 + + ServiceIndication: + description: String containing the Service Indication or Service Identifier + type: string + + Msisdn: + description: String containing an additional or basic MSISDN + type: string + pattern: '[0-9]{5,15}$' + + PrivateId: + description: String containing a Private User Identity or a Private Service Identity + type: string + + ImsPublicId: + description: String containing an IMS Public Identity in SIP URI format or TEL URI format + type: string + pattern: '^(sip\:([a-zA-Z0-9_\-.!~*()&=+$,;?\/]+)\@([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}|tel\:\+[0-9]{5,15})$' + + NameSpacePriority: + description: > + String containing the namespace and priority formatted as "r-value" parameter + described in IETF RFC 4412 + type: string + pattern: '^[0-9a-zA-Z-\!%\*_\+`''~]+.[0-9a-zA-Z-\!%\*_\+`''~]+$' + + CscfFilterSetId: + description: Contains the identifier of a specific filter set in the S-CSCF + type: integer + minimum: 0 + + SptGroupId: + description: Contains the identifier of the Group of SPTs + type: integer + minimum: 0 + + SharedDataId: + description: > + Identifies globally and uniquely a piece of subscription data shared by multiple UEs; + the value shall start with the HPLMN id (MCC/MNC) followed by a hyphen followed by a + local Id as allocated by the home network operator + type: string + pattern: '^[0-9]{5,6}-.+$' + + Imei: + description: IMEI of the UE + type: string + pattern: '^[0-9]{15}$' + + ImeiSv: + description: IMEISV of the UE + type: string + pattern: '^[0-9]{16}$' + + PrePaging: + description: Inidicates the support of pre-paging + type: boolean + + SipServerName: + description: Server Name (e.g. AS name, CSCF name) in SIP URI format + type: string + pattern: '^(sip\:([a-zA-Z0-9_\-.!~*()&=+$,;?\/]+)\@([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,})$' + +# +# ENUMS: +# + + IdentityType: + description: Represents the type of IMS Public Identity + anyOf: + - type: string + enum: + - DISTINCT_IMPU + - DISTINCT_PSI + - WILDCARDED_IMPU + - WILDCARDED_PSI + - type: string + + PrivateIdentityType: + description: Represents the type of IMS Private Identity (IMPI or IMSI) + anyOf: + - type: string + enum: + - IMPI + - IMSI + - type: string + + ImsRegistrationState: + description: Represents the IMS status of the user or Public Identity or the IRS + anyOf: + - type: string + enum: + - REGISTERED + - NOT_REGISTERED + - AUTHENTICATION_PENDING + - REGISTERED_UNREG_SERVICES + - type: string + + TypeOfCondition: + description: > + Represents the type of condition to be applied to the logical expression of SPT groups + and SPTs (Conjunctive Normal Form, or Disjunctive Normal Form) + anyOf: + - type: string + enum: + - CNF + - DNF + - type: string + + RegistrationType: + description: Represents the type of registration associated to the REGISTER request + anyOf: + - type: string + enum: + - INITIAL_REGISTRATION + - RE_REGISTRATION + - DE_REGISTRATION + - type: string + + RequestDirection: + description: > + Represents the direction of the request in combination with the registration status + of the user as evaluated in the S-CSCF + anyOf: + - type: string + enum: + - ORIGINATING_REGISTERED + - ORIGINATING_UNREGISTERED + - ORIGINATING_CDIV + - TERMINATING_REGISTERED + - TERMINATING_UNREGISTERED + - type: string + + ServiceInformation: + description: > + Indicates the type of additional information to be included in the body of the SIP request + towards the Application Server + anyOf: + - type: string + enum: + - INCLUDE_REGISTER_REQUEST + - INCLUDE_REGISTER_RESPONSE + - type: string + + RequestedNode: + description: Represents the type of serving node for which certain data is requested + anyOf: + - type: string + enum: + - SGSN + - MME + - AMF + - 3GPP_AAA_SERVER_TWAN + - type: string + + SrvccCapability: + description: Represents the type of SRVCC support of the UE + anyOf: + - type: string + enum: + - UE_4G_SRVCC_CAPABLE + - UE_5G_SRVCC_CAPABLE + - type: string + + ActivationState: + description: Represents the activation state of a PSI or DSAI tag + anyOf: + - type: string + enum: + - ACTIVE + - INACTIVE + - type: string + + ImsVoiceOverPsSessionSupport: + description: Represents the support for Voice-over-PS of the UE + anyOf: + - type: string + enum: + - IMS_VOICE_OVER_PS_NOT_SUPPORTED + - IMS_VOICE_OVER_PS_SUPPORTED + - IMS_VOICE_OVER_PS_SUPPORT_UNKNOWN + - type: string + + DetectingNode: + description: Represents the type of serving node that detected the reachability of the UE + anyOf: + - type: string + enum: + - SGSN + - MME + - AMF + - type: string + + AccessType: + description: Represents the type of access (3GPP or non-3GPP) + anyOf: + - type: string + enum: + - 3GPP_ACCESS + - NON_3GPP_ACCESS + - type: string + + UserStatePs: + description: Represents the user state in PS domain + anyOf: + - type: string + enum: + - DETACHED + - ATTACHED_NOT_REACHABLE_FOR_PAGING + - ATTACHED_REACHABLE_FOR_PAGING + - CONNECTED_NOT_REACHABLE_FOR_PAGING + - CONNECTED_REACHABLE_FOR_PAGING + - NOT_PROVIDED_FROM_SGSN_OR_MME_OR_AMF + - NETWORK_DETERMINED_NOT_REACHABLE + - type: string + + UserStateCs: + description: Represents the user state in CS domain + anyOf: + - type: string + enum: + - CAMEL_BUSY + - NETWORK_DETERMINED_NOT_REACHABLE + - ASSUMED_IDLE + - NOT_PROVIDED_FROM_VLR + - type: string + + DataSetName: + description: A set of data within the IMS User Profile + anyOf: + - type: string + enum: + - CHARGING_DATA + - IFC_DATA + - TRACE_DATA + - PRIORITY_DATA + - type: string diff --git a/TS29562_Nhss_imsUEAU.yaml b/TS29562_Nhss_imsUEAU.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b2a67f7c77ebe4f392c4b66f6cf842fad16b1f99 --- /dev/null +++ b/TS29562_Nhss_imsUEAU.yaml @@ -0,0 +1,259 @@ +openapi: 3.0.0 + +info: + version: '1.2.0-alpha.1' + title: 'Nhss_imsUEAU' + description: | + Nhss UE Authentication Service for IMS. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.562 Home Subscriber Server (HSS) Services, version 18.0.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.562/' + +servers: + - url: '{apiRoot}/nhss-ims-ueau/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-ueau + +paths: + + /{impi}/security-information/generate-sip-auth-data: + post: + summary: Generate authentication data for the UE based on the Auth-Scheme provided + operationId: GenerateSipAuthData + tags: + - Generate SIP Auth Data (Custom Operation) + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-ueau + - oAuth2ClientCredentials: + - nhss-ims-ueau + - nhss-ims-ueau:generate-sip-auth-data:invoke + parameters: + - name: impi + in: path + description: IMS Private Identity for the UE (IMPI) + required: true + schema: + $ref: '#/components/schemas/Impi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SipAuthenticationInfoRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SipAuthenticationInfoResult' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nhss-ims-ueau: Access to the Nhss IMS UE Authentication API + nhss-ims-ueau:generate-sip-auth-data:invoke: > + Access to invoke the Generate SIP Auth Data custom operation + + schemas: + +# +# COMPLEX TYPES: +# + + SipAuthenticationInfoRequest: + description: > + Contains input data to the SIP authentication request message (e.g. SIP authentication + scheme, requested number of authentication items, resynchronization information) + type: object + required: + - cscfServerName + - sipAuthenticationScheme + properties: + cscfServerName: + type: string + sipAuthenticationScheme: + $ref: '#/components/schemas/SipAuthenticationScheme' + sipNumberAuthItems: + $ref: '#/components/schemas/SipNumberAuthItems' + resynchronizationInfo: + $ref: '#/components/schemas/ResynchronizationInfo' + + ResynchronizationInfo: + description: Contains RAND and AUTS + type: object + required: + - rand + - auts + properties: + rand: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Rand' + auts: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Auts' + + SipAuthenticationInfoResult: + description: > + Contains authentication information returned in the SIP authentication response message + (e.g. authentication vectors, digest authentication parameters, line identifiers) + type: object + required: + - impi + properties: + impi: + $ref: '#/components/schemas/Impi' + 3gAkaAvs: + type: array + items: + $ref: '#/components/schemas/3GAkaAv' + minItems: 1 + digestAuth: + $ref: '#/components/schemas/DigestAuthentication' + lineIdentifierList: + type: array + items: + $ref: '#/components/schemas/LineIdentifier' + minItems: 1 + ipAddress: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + + 3GAkaAv: + description: Contains RAND, XRES, AUTN, CK, and IK + type: object + required: + - rand + - xres + - autn + - ck + - ik + properties: + rand: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Rand' + xres: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Xres' + autn: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Autn' + ck: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ConfidentialityKey' + ik: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/IntegrityKey' + + DigestAuthentication: + description: Parameters used for the Digest authentication scheme + type: object + required: + - digestRealm + - digestAlgorithm + - digestQop + - ha1 + properties: + digestRealm: + type: string + digestAlgorithm: + $ref: '#/components/schemas/SipDigestAlgorithm' + digestQop: + $ref: '#/components/schemas/SipDigestQop' + ha1: + type: string + +# +# SIMPLE TYPES: +# + + SipNumberAuthItems: + description: Indicates the number of requested SIP authentication items + type: integer + minimum: 1 + + Impi: + description: IMS Private Identity of the UE + type: string + + LineIdentifier: + description: Line Identifier for the wireline access + type: string + +# +# ENUMS: +# + + SipAuthenticationScheme: + description: Authentication scheme to be used in the SIP authentication request message + anyOf: + - type: string + enum: + - DIGEST-AKAV1-MD5 + - DIGEST-HTTP + - NBA + - GIBA + - UNKNOWN + - type: string + + SipDigestAlgorithm: + description: Algorithm used for the SIP Digest authentication scheme + anyOf: + - type: string + enum: + - MD5 + - MD5_SESS + - type: string + + SipDigestQop: + description: Quality of Protection for the SIP Digest authentication scheme + anyOf: + - type: string + enum: + - AUTH + - AUTH_INT + - type: string diff --git a/TS29562_Nhss_imsUECM.yaml b/TS29562_Nhss_imsUECM.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f58420b4d8c0d1267129cc43c80efaae2ddf3e03 --- /dev/null +++ b/TS29562_Nhss_imsUECM.yaml @@ -0,0 +1,732 @@ +openapi: 3.0.0 + +info: + version: '1.2.0-alpha.2' + title: 'Nhss_imsUECM' + description: | + Nhss UE Context Management Service for IMS. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.562 Home Subscriber Server (HSS) Services, version 18.2.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.562/' + +servers: + - url: '{apiRoot}/nhss-ims-uecm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-uecm + +paths: + + /{impu}/authorize: + post: + summary: > + Authorize IMS Identities to register in the network or establish multimedia sessions + and return CSCF location if it is stored + operationId: Authorize + tags: + - Authorize (Custom Operation) + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-uecm + - oAuth2ClientCredentials: + - nhss-ims-uecm + - nhss-ims-uecm:authorize:invoke + parameters: + - name: impu + in: path + description: Public identity of the user. + required: true + schema: + $ref: '#/components/schemas/Impu' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizationRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizationResponse' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + deregistrationeNotification: + '{request.body#/deregCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeregistrationData' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/scscf-registration: + put: + summary: SCSCF registration information + operationId: SCSCF registration + tags: + - S-CSCF Registration (Document) + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-uecm + - oAuth2ClientCredentials: + - nhss-ims-uecm + - nhss-ims-uecm:registration:create + parameters: + - name: imsUeId + in: path + description: IMS Identity + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScscfRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ScscfRegistration' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nhss-ims-uecm/v1/{imsUeId}/scscf-registration + required: true + schema: + type: string + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ScscfRegistration' + '204': + description: No content + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtendedProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{imsUeId}/scscf-registration/scscf-restoration-info: + put: + summary: Update the S-CSCF restoration information of the UE + operationId: UpdateScscfRestorationInfo + tags: + - S-CSCF Restoration Information (Document) + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-uecm + - oAuth2ClientCredentials: + - nhss-ims-uecm + - nhss-ims-uecm:restoration:modify + parameters: + - name: imsUeId + in: path + description: IMS Identity. + required: true + schema: + $ref: '#/components/schemas/ImsUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScscfRestorationInfoRequest' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ScscfRestorationInfoResponse' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nhss-ims-uecm/v1/{imsUeId}/scscf-registration/scscf-restoration-info + required: true + schema: + type: string + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ScscfRestorationInfoResponse' + '204': + description: No content + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve the S-CSCF restoration information of the UE + operationId: GetScscfRestorationInfo + tags: + - S-CSCF Restoration Information (Document) + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-uecm + - oAuth2ClientCredentials: + - nhss-ims-uecm + - nhss-ims-uecm:restoration:read + parameters: + - name: impu + in: path + description: Public identity of the user. + required: true + schema: + $ref: '#/components/schemas/Impu' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ScscfRestorationInfoResponse' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete the S-CSCF restoration information of the UE + operationId: DeleteScscfRestorationInfo + tags: + - S-CSCF Restoration Information (Document) + security: + - {} + - oAuth2ClientCredentials: + - nhss-ims-uecm + - oAuth2ClientCredentials: + - nhss-ims-uecm + - nhss-ims-uecm:restoration:modify + parameters: + - name: impu + in: path + description: Public identity of the user. + required: true + schema: + $ref: '#/components/schemas/Impu' + responses: + '204': + description: No content + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nhss-ims-uecm: Access to the Nhss IMS UE Context Management API + nhss-ims-uecm:authorize:invoke: Access to invoke the Authorize custom operation + nhss-ims-uecm:registration:create: Access to create the S-CSCF Registration resource + nhss-ims-uecm:restoration:read: Access to read the S-CSCF Restoration resource + nhss-ims-uecm:restoration:modify: >- + Access to create/update/delete the S-CSCF Restoration resource + + schemas: + +# +# COMPLEX TYPES: +# + + AuthorizationRequest: + description: Ims authorization request data + type: object + required: + - authorizationType + properties: + impi: + $ref: '#/components/schemas/Impi' + authorizationType: + $ref: '#/components/schemas/AuthorizationType' + visitedNetworkIdentifier: + type: string + emergencyIndicator: + type: boolean + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + AuthorizationResponse: + description: Ims Registration authorization information result + type: object + properties: + authorizationResult: + $ref: '#/components/schemas/AuthorizationResult' + cscfServerName: + type: string + scscfSelectionAssistanceInfo: + $ref: 'TS29562_Nhss_imsSDM.yaml#/components/schemas/ScscfSelectionAssistanceInformation' + required: + - authorizationResult + oneOf: + - required: + - cscfServerName + - required: + - scscfSelectionAssistanceInfo + + ScscfRegistration: + description: Scscf Registration + type: object + required: + - imsRegistrationType + - cscfServerName + properties: + impi: + $ref: '#/components/schemas/Impi' + imsRegistrationType: + $ref: '#/components/schemas/ImsRegistrationType' + cscfServerName: + type: string + scscfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + deregCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + associatedImpis: + type: array + items: + $ref: '#/components/schemas/Impi' + associatedRegisteredImpis: + type: array + items: + $ref: '#/components/schemas/Impi' + irsImpus: + type: array + items: + $ref: '#/components/schemas/Impu' + minItems: 1 + uniqueItems: true + wildcardedPui: + $ref: '#/components/schemas/Impu' + looseRouteIndicator: + $ref: '#/components/schemas/LooseRouteIndication' + wildcardedPsi: + $ref: '#/components/schemas/Impu' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + multipleRegistrationIndicator: + type: boolean + pcscfRestorationIndicator: + type: boolean + default: false + scscfReselectionIndicator: + type: boolean + default: false + + ExtendedProblemDetails: + description: > + Extension of the ProblemDetails data type, to include additional information + in an error response message + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/AdditionalInfo' + + AdditionalInfo: + description: > + Additional information to be sent on error response messages, along with the + common content in ProblemDetails + type: object + properties: + scscfServerName: + type: string + + ScscfRestorationInfo: + description: S-CSCF restoration information + type: object + properties: + userName: + $ref: '#/components/schemas/Impi' + restorationInfo: + type: array + items: + $ref: '#/components/schemas/RestorationInfo' + registrationTimeOut: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + sipAuthenticationScheme: + $ref: 'TS29562_Nhss_imsUEAU.yaml#/components/schemas/SipAuthenticationScheme' + + ScscfRestorationInfoRequest: + description: S-CSCF restoration information request + type: object + properties: + scscfRestorationInfoRequest: + $ref: '#/components/schemas/ScscfRestorationInfo' + + ScscfRestorationInfoResponse: + description: S-CSCF restoration information response + type: object + properties: + scscfRestorationInfoResponse: + type: array + items: + $ref: '#/components/schemas/ScscfRestorationInfo' + + RestorationInfo: + description: > + The information relevant to a specific registration required for an S-CSCF + to handle the requests for a user + type: object + required: + - path + - contact + properties: + path: + type: string + contact: + type: string + initialCSeqSequenceNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + callIdSipHeader: + type: string + uesubscriptionInfo: + $ref: '#/components/schemas/UeSubscriptionInfo' + pcscfSubscriptionInfo: + $ref: '#/components/schemas/PcscfSubscriptionInfo' + imsSdmSubscriptions: + description: > + A map (list of key-value pairs where subscriptionId serves as key) of ImsSdmSubscription + type: object + additionalProperties: + $ref: 'TS29562_Nhss_imsSDM.yaml#/components/schemas/ImsSdmSubscription' + + UeSubscriptionInfo: + description: Subscription information of the UE for the SIP Registration State event + type: object + required: + - callIdSipHeader + - fromSipHeader + - toSipHeader + - recordRoute + - contact + properties: + callIdSipHeader: + type: string + fromSipHeader: + type: string + toSipHeader: + type: string + recordRoute: + type: string + contact: + type: string + + PcscfSubscriptionInfo: + description: Subscription information of the P-CSCF for the SIP Registration State event + type: object + required: + - callIdSipHeader + - fromSipHeader + - toSipHeader + - contact + properties: + callIdSipHeader: + type: string + fromSipHeader: + type: string + toSipHeader: + type: string + contact: + type: string + + DeregistrationData: + description: Data related to the de-registration information of a S-CSCF in HSS + type: object + required: + - deregReason + - impi + properties: + deregReason: + $ref: '#/components/schemas/DeregistrationReason' + impi: + $ref: '#/components/schemas/Impi' + associatedImpis: + type: array + items: + $ref: '#/components/schemas/Impi' + emergencyRegisteredIdentities: + type: array + items: + $ref: '#/components/schemas/EmergencyRegisteredIdentity' + minItems: 1 + + EmergencyRegisteredIdentity: + description: > + A pair of private and public user identities which have not been de-registered + due to emergency registration + type: object + required: + - impi + - impu + properties: + impi: + $ref: '#/components/schemas/Impi' + impu: + $ref: '#/components/schemas/Impu' + + DeregistrationReason: + description: > + Contains the reason for the network initiated de-registration (including a reason code, + and a human-readable reason text) + type: object + required: + - reasonCode + - reasonText + properties: + reasonCode: + $ref: '#/components/schemas/DeregistrationReasonCode' + reasonText: + type: string + +# +# SIMPLE TYPES +# + + ImsUeId: + description: IMS UE Identity (IMPU or IMPI) + type: string + pattern: '^(impu-sip\:([a-zA-Z0-9_\-.!~*()&=+$,;?\/]+)\@([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}|impu-tel\:\+[0-9]{5,15}|impi-.+|.+)$' + + Impu: + description: IMS Public Identity of the UE (sip URI or tel URI) + type: string + pattern: '^(sip\:([a-zA-Z0-9_\-.!~*()&=+$,;?\/]+)\@([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}|tel\:\+[0-9]{5,15})$' + + Impi: + description: IMS Private Identity of the UE + type: string + +# +# ENUMS: +# + + AuthorizationType: + description: Represents the type of authorization requested by the UE + anyOf: + - type: string + enum: + - REGISTRATION + - DEREGISTRATION + - type: string + + AuthorizationResult: + description: Represents the details of the granted authorization to the UE + anyOf: + - type: string + enum: + - FIRST_REGISTRATION + - SUBSEQUENT_REGISTRATION + - type: string + + ImsRegistrationType: + description: Represents the type of registration associated to the REGISTER request + anyOf: + - type: string + enum: + - INITIAL_REGISTRATION + - RE_REGISTRATION + - TIMEOUT_DEREGISTRATION + - USER_DEREGISTRATION + - ADMINISTRATIVE_DEREGISTRATION + - AUTHENTICATION_FAILURE + - AUTHENTICATION_TIMEOUT + - UNREGISTERED_USER + - type: string + + LooseRouteIndication: + description: Indicates whether the loose routing mechanism is required to serve the user + anyOf: + - type: string + enum: + - LOOSE_ROUTE_NOT_REQUIRED + - LOOSE_ROUTE_REQUIRED + - type: string + + DeregistrationReasonCode: + description: Indicates the reason for the network-initiated deregistration + anyOf: + - type: string + enum: + - PERMANENT_TERMINATION + - NEW_SERVER_ASSIGNED + - REMOVE_S-CSCF + - SERVER_CHANGE + - type: string diff --git a/TS29563_Nhss_EE.yaml b/TS29563_Nhss_EE.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6cb1023a6d239ca4f063991df504092cd597c812 --- /dev/null +++ b/TS29563_Nhss_EE.yaml @@ -0,0 +1,562 @@ +openapi: 3.0.0 + +info: + version: '1.2.0-alpha.3' + title: 'Nhss_EE' + description: | + HSS Event Exposure. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.563 HSS Services for Interworking With UDM, version 18.4.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.563/' + +servers: + - url: '{apiRoot}/nhss-ee/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - nhss-ee + +paths: + /{ueId}/ee-subscriptions: + post: + summary: Subscribe + operationId: CreateEeSubscription + tags: + - EE Subscription (Collection) + parameters: + - name: ueId + in: path + description: IMSI of the subscriber or the identity of a group of UEs + required: true + schema: + $ref: '#/components/schemas/UeIdOrGroupId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedEeSubscription' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nhss-ee/v1/{ueId}/ee-subscriptions/{subscriptionId} + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/EeSubscriptionError' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + description: Not Implemented + content: + application/problem+json: + schema: + $ref: '#/components/schemas/EeSubscriptionError' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + eventOccurrenceNotification: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MonitoringReport' + minItems: 1 + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/ee-subscriptions/{subscriptionId}: + delete: + summary: Unsubscribe + operationId: DeleteEeSubscription + tags: + - Delete EE Subscription + parameters: + - name: ueId + in: path + description: IMSI of the subscriber or the identity of a group of UEs + required: true + schema: + $ref: '#/components/schemas/UeIdOrGroupId' + - name: subscriptionId + in: path + description: Id of the EE Subscription + required: true + schema: + type: string + responses: + '204': + description: Successful response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + patch: + summary: Patch + operationId: UpdateEeSubscription + tags: + - Update EE Subscription + parameters: + - name: ueId + in: path + description: IMSI of the subscriber or the identity of a group of UEs + required: true + schema: + $ref: '#/components/schemas/UeIdOrGroupId' + - name: subscriptionId + in: path + description: Id of the EE Subscription + required: true + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Successful response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nhss-ee: Access to the nhss-ee API + + schemas: + +# STRUCTURED TYPES: + + EeSubscription: + description: > + It represents the request body of the subscription request sent to HSS, containing data + related to the subscription to be created, such as the SCEF, Monitoring Configurations and + reporting options + type: object + required: + - callbackReference + properties: + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + scefId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + scefDiamRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + monitoringConfigurations: + description: > + A map (list of key-value pairs where ReferenceId serves as key) of + MonitoringConfigurations + type: object + additionalProperties: + $ref: '#/components/schemas/MonitoringConfiguration' + minProperties: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + reportingOptions: + $ref: '#/components/schemas/ReportingOptions' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + externalIdentifier: + type: string + + CreatedEeSubscription: + description: > + It represents the response body of the subscription request, containing data of the created + subscription in the HSS + type: object + required: + - eeSubscription + properties: + eeSubscription: + $ref: '#/components/schemas/EeSubscription' + eventReports: + type: array + items: + $ref: '#/components/schemas/MonitoringReport' + minItems: 1 + failedMonitoringConfigs: + description: > + A map (list of key-value pairs where referenceId converted from integer to string serves + as key; see clause 6.4.6.3.2) of FailedMonitoringConfiguration + type: object + additionalProperties: + $ref: '#/components/schemas/FailedMonitoringConfiguration' + minProperties: 1 + currentStatusNotAvailableList: + type: array + items: + $ref: '#/components/schemas/EventType' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + FailedMonitoringConfiguration: + description: > + Contains the event type and failed cause of the failed Monitoring Configuration + in the EE subscription + type: object + required: + - eventType + - failedCause + properties: + eventType: + $ref: '#/components/schemas/EventType' + failedCause: + $ref: '#/components/schemas/FailedCause' + + MonitoringConfiguration: + description: > + Contains data for each Monitoring Configuration (such as event type, etc.) and + the configuration data needed depending on each event type + type: object + required: + - eventType + properties: + eventType: + $ref: '#/components/schemas/EventType' + immediateFlag: + type: boolean + locationReportingConfiguration: + $ref: '#/components/schemas/LocationReportingConfiguration' + lossConnectivityConfiguration: + $ref: '#/components/schemas/LossConnectivityConfiguration' + reachabilityForDataConfiguration: + $ref: '#/components/schemas/ReachabilityForDataConfiguration' + pduSessionStatusCfg: + $ref: '#/components/schemas/PduSessionStatusCfg' + idleStatusInd: + type: boolean + default: false + + MonitoringReport: + description: Contains data for each Monitoring Event Report sent by the HSS + type: object + required: + - referenceId + - eventType + - timeStamp + properties: + referenceId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + eventType: + $ref: '#/components/schemas/EventType' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + report: + $ref: '#/components/schemas/Report' + + ReportingOptions: + description: > + Contains the different reporting options associated to a given subscription created in HSS + type: object + properties: + maxNumOfReports: + $ref: '#/components/schemas/MaxNumOfReports' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + reportPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + Report: + description: Contains data for a given Monitoring Event Report + type: object + properties: + reachabilityForSmsReport: + $ref: '#/components/schemas/ReachabilityForSmsReport' + reachabilityForDataReport: + $ref: '#/components/schemas/ReachabilityForDataReport' + lossConnectivityReport: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/LossConnectivityReport' + locationReport: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/LocationReport' + pdnConnectivityStatReport: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/PdnConnectivityStatReport' + + ReachabilityForSmsReport: + description: > + Contains data for a Monitoring Event Report, specific to the 'Reachability For SMS' + event type + type: object + required: + - reachabilitySmsStatus + properties: + reachabilitySmsStatus: + type: boolean + maxAvailabilityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + ReachabilityForDataReport: + description: > + Contains data for a Monitoring Event Report, specific to the 'Reachability For Data' + event type + type: object + required: + - reachabilityDataStatus + properties: + reachabilityDataStatus: + type: boolean + maxAvailabilityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + LossConnectivityConfiguration: + description: > + Contains data needed for a Monitoring Configuration, specific to the 'Loss of Connectivity' + event type + type: object + properties: + maxDetectionTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + LocationReportingConfiguration: + description: > + Contains data needed for a Monitoring Configuration, specific to the 'Location Reporting' + event type + type: object + required: + - currentLocation + properties: + currentLocation: + type: boolean + accuracy: + $ref: '#/components/schemas/LocationAccuracy' + + ReachabilityForDataConfiguration: + description: > + Contains data needed for a Monitoring Configuration, specific to the 'Reachability for Data' + event type + type: object + anyOf: + - required: [ maximumLatency ] + - required: [ maximumResponseTime ] + - required: [ suggestedPacketNumDl ] + properties: + maximumLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + maximumResponseTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + suggestedPacketNumDl: + type: integer + minimum: 1 + + PduSessionStatusCfg: + description: > + Contains data needed for a Monitoring Configuration, specific to the 'PDN Connectivity + Status' event type + type: object + properties: + apn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + + EeSubscriptionErrorAddInfo: + description: Additional Information for EE Subscription Error. + type: object + properties: + failedMonitoringConfigs: + description: > + A map (list of key-value pairs where referenceId converted from integer to string serves + as key; see clause 6.4.6.3.2) of FailedMonitoringConfiguration + type: object + additionalProperties: + $ref: '#/components/schemas/FailedMonitoringConfiguration' + minProperties: 1 + + EeSubscriptionError: + description: EE Subscription Error. + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/EeSubscriptionErrorAddInfo' + +# SIMPLE TYPES: + + Imsi: + description: IMSI of the UE + type: string + pattern: '^(imsi-[0-9]{5,15})$' + + UeIdOrGroupId: + description: Contains the UE identifier or the Group Identifier of the UE + type: string + pattern: '^(imsi-[0-9]{5,15}|extgroupid-[^@]+@[^@]+|.+$)' + + MaxNumOfReports: + description: Maximum number of events to be reported for events in a given subscription + type: integer + minimum: 1 + +# ENUMS: + + EventType: + description: Type of Monitoring Event + anyOf: + - type: string + enum: + - LOSS_OF_CONNECTIVITY + - UE_REACHABILITY_FOR_DATA + - UE_REACHABILITY_FOR_SMS + - LOCATION_REPORTING + - COMMUNICATION_FAILURE + - AVAILABILITY_AFTER_DDN_FAILURE + - PDN_CONNECTIVITY_STATUS + - type: string + + LocationAccuracy: + description: Location accuracy used in the 'Location Reporting' event type + anyOf: + - type: string + enum: + - CELL_LEVEL + - RAN_NODE_LEVEL + - TA_LEVEL + - type: string + + FailedCause: + description: > + Indicates the Failed cause of the failed Monitoring Configuration in the EE subscription + anyOf: + - type: string + enum: + - MTC_PROVIDER_NOT_ALLOWED + - MONITORING_NOT_ALLOWED + - UNSUPPORTED_MONITORING_EVENT_TYPE + - UNSUPPORTED_MONITORING_REPORT_OPTIONS + - UNSPECIFIED + - type: string diff --git a/TS29563_Nhss_SDM.yaml b/TS29563_Nhss_SDM.yaml new file mode 100644 index 0000000000000000000000000000000000000000..149744a76f266f89f72afa3c24eecaf7717191f9 --- /dev/null +++ b/TS29563_Nhss_SDM.yaml @@ -0,0 +1,361 @@ +openapi: 3.0.0 + +info: + version: '1.2.0-alpha.2' + title: 'Nhss_SDM' + description: | + HSS Subscriber Data Management. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.563 HSS Services for Interworking With UDM, version 18.4.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.563/' + +servers: + - url: '{apiRoot}/nhss-sdm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nhss-sdm + - {} + +paths: + /{ueId}/ue-context-in-pgw-data: + get: + summary: Retrieve the UE Context In PGW + operationId: GetUeCtxInPgwData + tags: + - UE Context In PGW Data Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15})$' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextInPgwData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/subscriptions: + post: + summary: subscribe to notifications + operationId: Subscribe + tags: + - Subscription Creation + parameters: + - name: ueId + in: path + description: IMSI of the user + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15})$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nhss-sdm//{ueId}/subscriptions/{subscriptionId} + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + datachangeNotification: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ModificationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/subscriptions/{subscriptionId}: + delete: + summary: unsubscribe from notifications + operationId: Unsubscribe + tags: + - Subscription Deletion + parameters: + - name: ueId + in: path + description: IMSI of the user + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15})$' + - name: subscriptionId + in: path + description: Id of the Subscription + required: true + schema: + type: string + responses: + '204': + description: Successful response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: modify the subscription + operationId: Modify + tags: + - Subscription Modification + parameters: + - name: ueId + in: path + description: IMSI of the user + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15})$' + - name: subscriptionId + in: path + description: Id of the Subscription + required: true + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful modification + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nhss-sdm: Access to the nhss-sdm API + + + schemas: + +# STRUCTURED TYPES: + + UeContextInPgwData: + description: > + Contains data about APNs and PGW-C+SMF FQDNs used in interworking with UDM, and the + PGW-C+SMF FQDN to be used for emergency session + type: object + properties: + pgwInfo: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/PgwInfo' + minItems: 1 + emergencyFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + emergencyPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + emergencyIpAddr: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/IpAddress' + emergencyRegistrationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + SubscriptionData: + description: > + Contains data about a subscription request, to be created by a consumer to an URI of the + HSS_SDM API to be monitored; it also represents the response containing data about the + created subscription + type: object + required: + - nfInstanceId + - callbackReference + - monitoredResourceUris + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + expires: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + immediateReport: + type: boolean + default: false + report: + $ref: '#/components/schemas/SubscriptionDataSets' + + SubscriptionDataSets: + description: > + Contains data to be reported as an immediate report in the response to a subscription + creation request + type: object + properties: + ueContextInPgwData: + $ref: '#/components/schemas/UeContextInPgwData' + +# SIMPLE TYPES: + + +# ENUMS: diff --git a/TS29563_Nhss_UEAU.yaml b/TS29563_Nhss_UEAU.yaml new file mode 100644 index 0000000000000000000000000000000000000000..891d3604e9590043a1f73cc9614fd7e3491d115c --- /dev/null +++ b/TS29563_Nhss_UEAU.yaml @@ -0,0 +1,133 @@ +openapi: 3.0.0 +info: + version: '1.2.0-alpha.2' + title: 'NhssUEAU' + description: | + HSS UE Authentication Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.563 HSS Services for Interworking With UDM, version 18.4.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.563/' + +servers: + - url: '{apiRoot}/nhss-ueau/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nhss-ueau + - {} + +paths: + /generate-av: + post: + summary: Generate authentication vector for the UE + operationId: GenerateAV + tags: + - Generate Auth Vector + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AvGenerationRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AvGenerationResponse' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nhss-ueau: Access to the nhss-ueau API + + + schemas: + +# STRUCTURED TYPES: + + AvGenerationRequest: + description: > + It represents the request body in the Authentication Vector (AV) request sent by UDM to HSS, + containing the IMSI of the UE, authentication type, serving network, etc. + type: object + required: + - imsi + - authType + - servingNetworkName + properties: + imsi: + type: string + pattern: '^[0-9]{5,15}$' + authType: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/AuthType' + servingNetworkName: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + resynchronizationInfo: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ResynchronizationInfo' + + AvGenerationResponse: + description: > + It represents the response body in the AV response sent by HSS to UDM, containing the 5G-AKA + or EAP-AKA-prime authentication vector + type: object + oneOf: + - required: + - avEapAkaPrime + - required: + - av5GHeAka + properties: + avEapAkaPrime: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/AvEapAkaPrime' + av5GHeAka: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Av5GHeAka' + + +# SIMPLE TYPES: + + +# ENUMS: diff --git a/TS29563_Nhss_UECM.yaml b/TS29563_Nhss_UECM.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3de9f4a9518d68f07d5a5b11ef4e505776d2d03b --- /dev/null +++ b/TS29563_Nhss_UECM.yaml @@ -0,0 +1,268 @@ +openapi: 3.0.0 + +info: + version: '1.2.0-alpha.2' + title: 'Nhss_UECM' + description: | + HSS UE Context Management. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.563 HSS Services for Interworking With UDM, version 18.4.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.563/' + +servers: + - url: '{apiRoot}/nhss-uecm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nhss-uecm + - {} + +paths: + /deregister-sn: + post: + summary: MME/SGSN Deregistration + operationId: DeregisterSN + tags: + - MME/SGSN Deregistration + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeregistrationRequest' + required: true + responses: + '204': + description: No content + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /imei-update: + post: + summary: IMEI Update + operationId: IMEIUpdate + tags: + - IMEI Update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ImeiUpdateInfo' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ImeiUpdateResponse' + '204': + description: No content + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /roaming-status-update: + post: + summary: Roaming Status Update + operationId: RoamingStatusUpdate + tags: + - Roaming Status Update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoamingStatusUpdateInfo' + required: true + responses: + '204': + description: No content + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nhss-uecm: Access to the nhss-uecm API + + schemas: + +# STRUCTURED TYPES: + + DeregistrationRequest: + description: > + It represents the request body of the deregistration request sent by UDM to HSS and contains + the IMSI of the UE, the deregistration reason, etc. + type: object + required: + - imsi + - deregReason + properties: + imsi: + type: string + pattern: '^[0-9]{5,15}$' + deregReason: + $ref: '#/components/schemas/DeregistrationReason' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + + ImeiUpdateInfo: + description: > + It represents the request body of the IMEI update request sent by UDM to HSS, + and contains the IMSI of the UE and the new IMEI(SV) + type: object + required: + - imsi + oneOf: + - required: [ imei ] + - required: [ imeisv ] + properties: + imsi: + type: string + pattern: '^[0-9]{5,15}$' + imei: + type: string + pattern: '^[0-9]{14,15}$' + imeisv: + type: string + pattern: '^[0-9]{16}$' + + ImeiUpdateResponse: + description: > + It represents the response body of the IMEI update request sent by UDM to HSS, + and contains the previous IMEI(SV) stored by HSS + type: object + anyOf: + - required: [ previousImei ] + - required: [ previousImeisv ] + properties: + previousImei: + type: string + pattern: '^[0-9]{14,15}$' + previousImeisv: + type: string + pattern: '^[0-9]{16}$' + + RoamingStatusUpdateInfo: + description: > + It represents the request body of the Roaming Status Update request sent by UDM to HSS, + and contains the IMSI of the UE and the new PLMN-ID + type: object + required: + - imsi + - plmnId + properties: + imsi: + type: string + pattern: '^[0-9]{5,15}$' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + +# SIMPLE TYPES: + + +# ENUMS: + + DeregistrationReason: + description: The reason that triggers that the serving node needs to be deregistered by HSS + anyOf: + - type: string + enum: + - UE_INITIAL_AND_SINGLE_REGISTRATION + - UE_INITIAL_AND_DUAL_REGISTRATION + - EPS_TO_5GS_MOBILITY + - type: string diff --git a/TS29564_Nupf_EventExposure.yaml b/TS29564_Nupf_EventExposure.yaml new file mode 100644 index 0000000000000000000000000000000000000000..82a68d4d3db2758be193ad6a3fc38470cc3a9197 --- /dev/null +++ b/TS29564_Nupf_EventExposure.yaml @@ -0,0 +1,671 @@ +openapi: 3.0.0 + +info: + title: 'UPF Event Exposure Service' + version: 1.1.0-alpha.4 + description: | + UPF Event Exposure Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.564 V18.3.0; 5G System; User Plane Function Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.564/ + +servers: + - url: '{apiRoot}/nupf-ee/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nupf-ee + +paths: + /ee-subscriptions: + post: + summary: Nupf_EventExposure Subscribe service Operation + operationId: CreateSubscription + tags: + - Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateEventSubscription' + responses: + '201': + description: Successful creation of an UPF Event Subscription + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nupf-ee//ee-subscriptions/{subscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedEventSubscription' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + eeNotification: + '{eventNotificationUri}': + # The URI in {eventNotificationUri} is provided via N4 interface during provisioning of Session Reporting Rule or in the Nupf_EventExposure Subscribe request. + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationData' + responses: + '204': + description: No Content, Notification was succesfull + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NF service consumer' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NF service consumer' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /ee-subscriptions/{subscriptionId}: + patch: + summary: Nupf_EventExposure Subscribe Modify service Operation + operationId: ModifySubscription + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the subscription to be modified + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Successful response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Nupf_EventExposure UnSubscribe service Operation + operationId: DeleteSubscription + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the subscription to be deleted + schema: + type: string + responses: + '204': + description: Subsription deleted successfully + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nupf-ee: Access to the Nupf_EventExposure API + + schemas: + # API specific definitions + +# STRUCTURED DATA TYPES + + NotificationData: + description: the list of NotificationItems + type: object + required: + - notificationItems + properties: + notificationItems: + type: array + items: + $ref: '#/components/schemas/NotificationItem' + minItems: 1 + correlationId: + type: string + achievedSampRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + + NotificationItem: + description: represents a report on one subscribed event + type: object + required: + - eventType + - timeStamp + anyOf: + - required: [ ueIpv4Addr ] + - required: [ ueIpv6Prefix ] + - required: [ ueMacAddr ] + properties: + eventType: + $ref: '#/components/schemas/EventType' + ueIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + ueMacAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + qosMonitoringMeasurement: + $ref: '#/components/schemas/QosMonitoringMeasurement' + tscMngtInfo: + $ref: '#/components/schemas/TscManagementInfo' + userDataUsageMeasurements: + type: array + items: + $ref: '#/components/schemas/UserDataUsageMeasurements' + minItems: 1 + + + UpfEventSubscription: + description: UPF Event Subscription + type: object + properties: + eventList: + type: array + items: + $ref: '#/components/schemas/UpfEvent' + minItems: 1 + eventNotifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifyCorrelationId: + type: string + eventReportingMode: + $ref: '#/components/schemas/UpfEventMode' + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + ueIpAddress: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + anyUe: + type: boolean + default: false + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + required: + - eventList + - eventNotifyUri + - notifyCorrelationId + - eventReportingMode + - nfId + + UpfEventMode: + description: UPF Event Mode + type: object + properties: + trigger: + $ref: '#/components/schemas/UpfEventTrigger' + maxReports: + type: integer + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + sampRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + partitioningCriteria: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PartitioningCriteria' + minItems: 1 + notifFlag: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NotificationFlag' + mutingExcInstructions: + writeOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/MutingExceptionInstructions' + mutingNotSettings: + readOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/MutingNotificationsSettings' + required: + - trigger + + UpfEvent: + description: UPF Event + type: object + properties: + type: + $ref: '#/components/schemas/EventType' + immediateFlag: + type: boolean + default: false + measurementTypes: + type: array + items: + $ref: '#/components/schemas/MeasurementType' + minItems: 1 + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + trafficFilters: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowInformation' + minItems: 1 + granularityOfMeasurement: + $ref: '#/components/schemas/GranularityOfMeasurement' + reportingSuggestionInfo: + $ref: '#/components/schemas/ReportingSuggestionInformation' + required: + - type + + CreateEventSubscription: + description: Data within UPF Create Event Subscription Request + type: object + properties: + subscription: + $ref: '#/components/schemas/UpfEventSubscription' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - subscription + + CreatedEventSubscription: + description: Data within UPF Create Event Subscription Response + type: object + properties: + subscription: + $ref: '#/components/schemas/UpfEventSubscription' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + reportList: + type: array + items: + $ref: '#/components/schemas/NotificationItem' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - subscription + - subscriptionId + + ReportingSuggestionInformation: + description: Reporting Suggestion Information + type: object + properties: + reportingUrgency: + $ref: '#/components/schemas/ReportingUrgency' + reportingTimeInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - reportingUrgency + + QosMonitoringMeasurement: + description: QoS Monitoring Measurement information + type: object + properties: + flowInfos: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowInformation' + minItems: 1 + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + dlPacketDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + ulPacketDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + rtrPacketDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + measureFailure: + type: boolean + enum: + - true + dlAveThroughput: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + ulAveThroughput: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + dlCongestion: + type: string + ulCongestion: + type: string + defaultQosFlowInd: + type: boolean + default: false + +# Editor's note: the encoding of the dlCongestion and ulCongestion IEs is FFS + + TscManagementInfo: + description: TSC Management Information + type: object + properties: + pmics: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + minItems: 1 + umic: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer' + + UserDataUsageMeasurements: + description: > + User Data Usage Measurements either for the PDU session, or the app-id, or the data flow + type: object + properties: + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + flowInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowInformation' + volumeMeasurement: + $ref: '#/components/schemas/VolumeMeasurement' + throughputMeasurement: + $ref: '#/components/schemas/ThroughputMeasurement' + applicationRelatedInformation: + $ref: '#/components/schemas/ApplicationRelatedInformation' + throughputStatisticsMeasurement: + $ref: '#/components/schemas/ThroughputStatisticsMeasurement' + + VolumeMeasurement: + description: Volume Measurement information + type: object + properties: + totalVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TrafficVolume' + ulVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TrafficVolume' + dlVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TrafficVolume' + totalNbOfPackets: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + ulNbOfPackets: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + dlNbOfPackets: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + + ThroughputMeasurement: + description: Throughput Measurement information + type: object + properties: + ulThroughput: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + dlThroughput: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + ulPacketThroughput: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketRate' + dlPacketThroughput: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketRate' + + ApplicationRelatedInformation: + description: Application Related Information + type: object + properties: + urls: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + domainInfoList: + type: array + items: + $ref: '#/components/schemas/DomainInformation' + minItems: 1 + + + ThroughputStatisticsMeasurement: + description: Throughput Statistics Measurement + type: object + properties: + ulAverageThroughput: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + dlAverageThroughput: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + ulPeakThroughput: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + dlPeakThroughPut: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + ulAveragePacketThroughput: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketRate' + dlAveragePacketThroughput: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketRate' + ulPeakPacketThroughput: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketRate' + dlPeakPacketThroughput: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketRate' + + DomainInformation: + description: Domain Information + type: object + properties: + domainName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + domainNameProtocol: + $ref: '#/components/schemas/DnProtocol' + required: + - domainName + + +# ENUMS + + EventType: + description: Event Type + anyOf: + - type: string + enum: + - QOS_MONITORING + - USER_DATA_USAGE_MEASURES + - USER_DATA_USAGE_TRENDS + - TSC_MNGT_INFO + - type: string + + UpfEventTrigger: + description: Upf Event Trigger + anyOf: + - type: string + enum: + - ONE_TIME + - PERIODIC + - type: string + + + MeasurementType: + description: Measurement Type + anyOf: + - type: string + enum: + - VOLUME_MEASUREMENT + - THROUGHPUT_MEASUREMENT + - APPLICATION_RELATED_INFO + - type: string + + GranularityOfMeasurement: + description: Granularity Of Measurement + anyOf: + - type: string + enum: + - PER_APPLICATION + - PER_SESSION + - PER_FLOW + - type: string + + DnProtocol: + description: Domain Name Protocol + anyOf: + - type: string + enum: + - DNS_QNAME + - TLS_SNI + - TLS_SAN + - TLS_SCN + - type: string + + ReportingUrgency: + description: Reporting Urgency + anyOf: + - type: string + enum: + - DELAY_TOLERANT + - NON_DELAY_TOLERANT + - type: string + + +# SIMPLE TYPES diff --git a/TS29564_Nupf_GetPrivateUEIPaddr.yaml b/TS29564_Nupf_GetPrivateUEIPaddr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..72d8cdd48e11fc95b3891d33880d5861281f774e --- /dev/null +++ b/TS29564_Nupf_GetPrivateUEIPaddr.yaml @@ -0,0 +1,155 @@ +openapi: 3.0.0 + +info: + version: '1.0.0-alpha.3' + title: 'UPF GET Private UE IP address Service' + description: | + Nupf_GetPrivateUEIPaddr Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.564 V18.3.0; 5G System; 5G System; User Plane Function Services; Stage 3 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.564/' + +servers: + - url: '{apiRoot}/nupf-gueip/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nupf-gueip + +paths: + /ue-ip-info: + get: + summary: Search UeIpInfo for a PDU session from the UeIpInfo + operationId: SearchUeIpInfo + tags: + - UE IP Info_Get + parameters: + - name: snssai + in: query + description: Slice of the PDU session + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: dnn + in: query + description: Dnn of the PDU session + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: ue-ipv4-address + in: query + description: IPv4 address of the UE + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + - name: ue-ipv6-prefix + in: query + description: IPv6 prefix of the UE + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + - name: port-number + in: query + description: UDP or TCP port associated with the public address + schema: + type: integer + minimum: 0 + maximum: 65535 + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/UeIpInfo' + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target UPF + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: The URI pointing to the resource located on the redirect target UPF + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nupf-gueip: Access to the Nupf_GetPrivateUEIPaddr API + + schemas: + UeIpInfo: + description: a UE IP Address Info for a PDU session + type: object + properties: + privateIpv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipDomain: + type: string + privateIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + publicIpv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + publicIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + portNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + hplmnSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + diff --git a/TS29565_Ntsctsf_ASTI.yaml b/TS29565_Ntsctsf_ASTI.yaml new file mode 100644 index 0000000000000000000000000000000000000000..10c7c60272f9ce49316a59262ad6d76b50f0fc27 --- /dev/null +++ b/TS29565_Ntsctsf_ASTI.yaml @@ -0,0 +1,458 @@ +openapi: 3.0.0 + +info: + title: Ntsctsf_ASTI Service API + version: 1.1.0-alpha.3 + description: | + TSCTSF Access Stratum time distribution configuration Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.565 V18.4.0; 5G System; Time Sensitive Communication and + Time Synchronization Function Services; Stage 3. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.565/' + +servers: + - url: '{apiRoot}/ntsctsf-asti/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - ntsctsf-asti + +paths: + /configurations: + post: + summary: Creates a new Individual ASTI Configuration resource. + operationId: ASTIConfiguration + tags: + - ASTI Configurations (Collection) + requestBody: + description: Contains the information for the creation the resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTimeDistributionData' + responses: + '201': + description: Successful creation of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTimeDistributionData' + headers: + Location: + description: > + Contains the URI of the created individual ASTI Configuration resource, + according to the structure + {apiRoot}/ntsctsf-asti/{apiVersion}/configurations/{configId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_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: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + + /configurations/retrieve: + post: + summary: Request the status of the 5G access stratum time distribution for a list of UEs. + operationId: RequestStatusof5GAccessStratumTimeDistribution + tags: + - ASTI Configurations + requestBody: + description: > + Contains the information for the status of the 5G access stratum time distribution. + 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: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /configurations/{configId}: + put: + summary: Modifies an existing Individual ASTI Configuration resource. + operationId: ModifyIndividualASTIConfiguration + tags: + - Individual ASTI Configuration (Document) + parameters: + - name: configId + description: String identifying an Individual ASTI Configuration. + in: path + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTimeDistributionData' + responses: + '200': + description: OK. Resource was succesfully modified and representation is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTimeDistributionData' + '204': + description: No Content. Resource was succesfully modified. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + operationId: DeleteIndividualASTIConfiguration + summary: Delete an Individual ASTI Configuration + tags: + - Individual ASTI Configuration (Document) + parameters: + - name: configId + in: path + description: String identifying an Individual ASTI Configuration. + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was successfully deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + ntsctsf-asti: Access to the Ntsctsf_ASTI API + + schemas: + AccessTimeDistributionData: + description: > + Contains the parameters for the creation of 5G access stratum time distribution + configuration. + type: object + properties: + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + interGrpId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + exterGrpId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalGroupId' + asTimeDisParam: + $ref: '#/components/schemas/AsTimeDistributionParam' + covReq: + type: array + description: > + Identifies a list of Tracking Areas per serving network where 5GS + Access Stratum Time Distribution parameters are allowed. + items: + $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/ServiceAreaCoverageInfo' + minItems: 1 + astiNotifId: + type: string + description: Notification Correlation ID assigned by the NF service consumer. + astiNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - asTimeDisParam + oneOf: + - required: [supis] + - required: [interGrpId] + - required: [gpsis] + - required: [exterGrpId] + + AsTimeDistributionParam: + description: Contains the 5G access stratum time distribution parameters. + type: object + properties: + asTimeDisEnabled: + type: boolean + description: > + When this attribute is included and set to true, it indicates that the access stratum + time distribution via Uu reference point is activated. + timeSyncErrBdgt: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + tempValidity: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity' + clkQltDetLvl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ClockQualityDetailLevel' + clkQltAcptCri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ClockQualityAcceptanceCriterion' + + StatusRequestData: + description: > + Contains the parameters for retrieval of the status of the access stratum time distribution + for a list of UEs. + type: object + properties: + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + oneOf: + - required: [supis] + - 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/Supi' + minItems: 1 + inactiveGpsis: + 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: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + timeSyncErrBdgt: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + oneOf: + - required: [supi] + - required: [gpsi] + + 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 + stateOfAstiConfigs: + type: array + items: + $ref: '#/components/schemas/AstiConfigStateNotification' + minItems: 1 + description: > + It is FFS the parameters of the AstiConfigEventNotification data type. + required: + - astiNotifId + - stateOfAstiConfigs + + AstiConfigStateNotification: + description: > + Contains the report of a change in the 5G Access Stratum Time Distribution + parameters applied to a UE. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + event: + $ref: '#/components/schemas/AstiEvent' + required: + - event + oneOf: + - required: [supi] + - required: [gpsi] +# +# ENUMERATIONS DATA TYPES +# + AstiEvent: + anyOf: + - type: string + enum: + - ASTI_ENABLED + - ASTI_DISABLED + - CLOCK_QUAL_ACCEPTABLE + - CLOCK_QUAL_NON_ACCEPTABLE + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents an ASTI event to notify to the AF/NEF. + Possible values are: + - ASTI_ENABLED: Access stratum time distribution via Uu reference point is activated. + - ASTI_DISABLED: Access stratum time distribution via Uu reference point is deactivated. + - CLOCK_QUAL_ACCEPTABLE: The UE meets the clock quality acceptance criteria. + - CLOCK_QUAL_NON_ACCEPTABLE: The UE does not meet the clock quality acceptance criteria. diff --git a/TS29565_Ntsctsf_QoSandTSCAssistance.yaml b/TS29565_Ntsctsf_QoSandTSCAssistance.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9932b9f6551ec1395a5bdaca9b521c633408be77 --- /dev/null +++ b/TS29565_Ntsctsf_QoSandTSCAssistance.yaml @@ -0,0 +1,874 @@ +openapi: 3.0.0 + +info: + title: Ntsctsf_QoSandTSCAssistance Service API + version: 1.1.0-alpha.4 + description: | + TSCTSF QoS and TSC Assistance Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.565 V18.3.0; 5G System; Time Sensitive Communication and Time Synchronization function + Services; Stage 3. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.565/' + +servers: + - url: '{apiRoot}/ntsctsf-qos-tscai/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - ntsctsf-qos-tscai + +paths: + /tsc-app-sessions: + post: + summary: Creates a new Individual TSC Application Session Context resource + operationId: PostTSCAppSessions + tags: + - TSC Application Sessions (Collection) + requestBody: + description: Contains the information for the creation the resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TscAppSessionContextData' + responses: + '201': + description: Successful creation of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/TscAppSessionContextData' + headers: + Location: + description: > + Contains the URI of the created individual TSC application session context resource, + according to the structure + {apiRoot}/ntsctsf-qos-tscai//tsc-app-sessions/{appSessionId} or the + URI of the created events subscription sub-resource, according to the structure + {apiRoot}/ntsctsf-qos-tscai//tsc-app-sessions/{appSessionId}/ + events-subscription} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetailsTsctsfQosTscac' + headers: + Retry-After: + description: > + Indicates the time the AF has to wait before making a new request. It can be a + non-negative integer (decimal number) indicating the number of seconds the AF + has to wait before making a new request or an HTTP-date after which the AF can + retry a new request. + schema: + type: string + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + terminationRequest: + '{$request.body#/notifUri}/terminate': + post: + requestBody: + description: > + Request of the termination of the Individual TSC Application Session Context + required: true + content: + application/json: + schema: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TerminationInfo' + responses: + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + eventNotification: + '{$request.body#/evSubsc/notifUri}/notify': + post: + requestBody: + description: Notification of an event occurrence in the TSCTSF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventsNotification' + responses: + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /tsc-app-sessions/{appSessionId}: + get: + summary: Reads an existing Individual TSC Application Session Context + operationId: GetTSCAppSession + tags: + - Individual TSC Application Session Context (Document) + parameters: + - name: appSessionId + description: String identifying the resource. + in: path + required: true + schema: + type: string + responses: + '200': + description: A representation of the resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TscAppSessionContextData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modifies an existing Individual TSC Application Session Context + operationId: ModAppSession + tags: + - Individual TSC Application Session Context (Document) + parameters: + - name: appSessionId + description: String identifying the resource. + in: path + required: true + schema: + type: string + requestBody: + description: Modification of the resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/TscAppSessionContextUpdateData' + responses: + '200': + description: > + successful modification of the resource and a representation of that resource is + returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TscAppSessionContextData' + '204': + description: The successful modification. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetailsTsctsfQosTscac' + headers: + Retry-After: + description: > + Indicates the time the AF has to wait before making a new request. It can be a + non-negative integer (decimal number) indicating the number of seconds the AF + has to wait before making a new request or an HTTP-date after which the AF can + retry a new request. + schema: + type: string + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + eventNotification: + '{$request.body#/evSubsc/notifUri}/notify': + post: + requestBody: + description: Notification of an event occurrence in the TSCTSF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventsNotification' + responses: + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /tsc-app-sessions/{appSessionId}/delete: + post: + summary: Deletes an existing Individual TSC Application Session Context + operationId: DeleteTSCAppSession + tags: + - Individual TSC Application Session Context (Document) + parameters: + - name: appSessionId + description: String identifying the Individual TSC Application Session Context resource. + in: path + required: true + schema: + type: string + requestBody: + description: > + Deletion of the Individual TSC Application Session Context resource, request notification. + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/EventsSubscReqData' + responses: + '200': + description: The deletion of the resource is confirmed and a resource is returned + content: + application/json: + schema: + $ref: '#/components/schemas/EventsNotification' + '204': + description: The deletion is confirmed without returning additional data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /tsc-app-sessions/{appSessionId}/events-subscription: + put: + summary: Creates or modifies an Events Subscription subresource + operationId: putEventsSubsc + tags: + - Events Subscription (Document) + parameters: + - name: appSessionId + description: String identifying the Events Subscription resource + in: path + required: true + schema: + type: string + requestBody: + description: Creation or modification of an Events Subscription resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventsSubscReqData' + responses: + '201': + description: > + The creation of the Events Subscription resource is confirmed and its representation is + returned. + content: + application/json: + schema: + $ref: '#/components/schemas/EventsSubscReqData' + headers: + Location: + description: > + Contains the URI of the created Events Subscription resource, + according to the structure + {apiRoot}/ntsctsf-qos-tscai//tsc-app-sessions/{appSessionId}/ + events-subscription} + required: true + schema: + type: string + '200': + description: > + The modification of the Events Subscription resource is confirmed and its representation + is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/EventsSubscReqData' + '204': + description: > + The modification of the Events Subscription subresource is confirmed without returning + additional data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + eventNotification: + '{$request.body#/notifUri}/notify': + post: + requestBody: + description: > + Contains the information for the notification of an event occurrence in the TSCTSF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventsNotification' + responses: + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes the Events Subscription subresource. + operationId: DeleteEventsSubsc + tags: + - Events Subscription (Document) + parameters: + - name: appSessionId + description: String identifying the Individual TSC Application Session Context resource + in: path + required: true + schema: + type: string + responses: + '204': + description: > + The deletion of the of the Events Subscription sub-resource is confirmed without returning + additional data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + ntsctsf-qos-tscai: Access to the Ntsctsf_QoSandTSCAssistance API + + schemas: + TscAppSessionContextData: + description: Represents an Individual TSC Application Session Context resource. + type: object + required: + - notifUri + - afId + - qosReference + allOf: + - oneOf: + - required: [ueIpAddr] + - required: [ueMac] + - required: [ueId] + - required: [externalGroupId] + - not: + required: [ethFlowInfo, enEthFlowInfo] + - not: + required: [altQosReqs, altQosReferences] + - not: + required: [qosReference, altQosReqs] + properties: + ueIpAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + ipDomain: + type: string + description: The IPv4 address domain identifier. + ueMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + externalGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalGroupId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + appId: + type: string + description: Identifies the Application Identifier. + ethFlowInfo: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + enEthFlowInfo: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/EthFlowInfo' + minItems: 1 + description: > + Identifies the Ethernet flows which require QoS. Each Ethernet flow consists of a flow + identifer and the corresponding UL and/or DL flows. + flowInfo: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + afId: + type: string + description: Identifies the AF identifier. + tscQosReq: + $ref: 'TS29122_AsSessionWithQoS.yaml#/components/schemas/TscQosRequirement' + qosReference: + type: string + description: Identifies a pre-defined QoS information. + altQosReferences: + type: array + items: + type: string + minItems: 1 + description: Identifies an ordered list of pre-defined QoS information. + altQosReqs: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AlternativeServiceRequirementsData' + minItems: 1 + description: > + Identifies an ordered list of alternative service requirements that include individual + QoS parameter sets. The lower the index of the array for a given entry, the higher the + priority. + aspId: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AspId' + sponId: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/SponId' + sponStatus: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/SponsoringStatus' + evSubsc: + $ref: '#/components/schemas/EventsSubscReqData' + tempInValidity: + $ref: '#/components/schemas/TemporalInValidity' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + TscAppSessionContextUpdateData: + description: > + Describes the authorization data of an Individual TSC Application Session Context created by + the PCF. + type: object + properties: + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + appId: + type: string + description: Identifies the Application Identifier. + ethFlowInfo: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + enEthFlowInfo: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/EthFlowInfo' + minItems: 1 + description: > + Identifies the Ethernet flows which require QoS. Each Ethernet flow consists of a flow + identifer and the corresponding UL and/or DL flows. + flowInfo: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + tscQosReq: + $ref: 'TS29122_AsSessionWithQoS.yaml#/components/schemas/TscQosRequirementRm' + qosReference: + type: string + description: Identifies a pre-defined QoS information. + altQosReferences: + type: array + items: + type: string + minItems: 1 + description: Identifies an ordered list of pre-defined QoS information. + altQosReqs: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AlternativeServiceRequirementsData' + minItems: 1 + description: > + Identifies an ordered list of alternative service requirements that include individual + QoS parameter sets. The lower the index of the array for a given entry, the higher the + priority. + aspId: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AspId' + sponId: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/SponId' + sponStatus: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/SponsoringStatus' + evSubsc: + $ref: '#/components/schemas/EventsSubscReqDataRm' + tempInValidity: + $ref: '#/components/schemas/TemporalInValidity' + allOf: + - not: + required: [ethFlowInfo, enEthFlowInfo] + - not: + required: [altQosReqs, altQosReferences] + - not: + required: [qosReference, altQosReqs] + + EventsSubscReqData: + description: Identifies the events the application subscribes to. + type: object + required: + - events + - notifUri + - notifCorreId + properties: + events: + type: array + items: + $ref: '#/components/schemas/TscEvent' + minItems: 1 + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + qosMon: + $ref: 'TS29122_AsSessionWithQoS.yaml#/components/schemas/QosMonitoringInformation' + usgThres: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + notifCorreId: + type: string + + EventsSubscReqDataRm: + description: > + This data type is defined in the same way as the EventsSubscReqData data type, but with the + OpenAPI nullable property set to true. + type: object + required: + - events + properties: + events: + type: array + items: + $ref: '#/components/schemas/TscEvent' + minItems: 1 + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + qosMon: + $ref: 'TS29122_AsSessionWithQoS.yaml#/components/schemas/QosMonitoringInformationRm' + usgThres: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThresholdRm' + notifCorreId: + type: string + nullable: true + + EventsNotification: + description: Describes the notification of matched events. + type: object + required: + - notifCorreId + - events + properties: + notifCorreId: + type: string + events: + type: array + items: + $ref: '#/components/schemas/EventNotification' + minItems: 1 + + EventNotification: + description: Describes a notification of an matched event. + type: object + required: + - event + properties: + event: + $ref: '#/components/schemas/TscEvent' + flowIds: + type: array + items: + type: integer + minItems: 1 + description: Identifies the IP flows that were sent during event subscription. + qosMonReports: + type: array + items: + $ref: 'TS29122_AsSessionWithQoS.yaml#/components/schemas/QosMonitoringReport' + minItems: 1 + usgRep: + $ref: 'TS29122_CommonData.yaml#/components/schemas/AccumulatedUsage' + appliedQosRef: + type: string + description: > + The currently applied alternative QoS requirement referring to an alternative QoS + reference or a requested alternative QoS parameter set. Applicable for + event QOS_NOT_GUARANTEED or SUCCESSFUL_RESOURCES_ALLOCATION. + altQosNotSuppInd: + type: boolean + description: > + When present and set to true it indicates that the Alternative QoS profiles are not + supported by NG-RAN. Applicable for + event QOS_NOT_GUARANTEED or SUCCESSFUL_RESOURCES_ALLOCATION. + + AdditionInfoTsctsfQosTscac: + description: Describes additional error information specific for this API. + type: object + properties: + acceptableServInfo: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AcceptableServiceInfo' + batOffsetInfo: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/BatOffsetInfo' + + TemporalInValidity: + description: Indicates the time interval(s) during which the AF request is not to be applied. + type: object + properties: + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + stopTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - startTime + - stopTime + +# +# ENUMERATIONS DATA TYPES +# + TscEvent: + description: Represents an event to notify to the AF. + anyOf: + - type: string + enum: + - FAILED_RESOURCES_ALLOCATION + - QOS_MONITORING + - QOS_GUARANTEED + - QOS_NOT_GUARANTEED + - SUCCESSFUL_RESOURCES_ALLOCATION + - USAGE_REPORT + - BAT_OFFSET_INFO + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. +# +# ALTERNATIVE DATA TYPES OR COMBINATIONS OF DATA TYPES +# + ProblemDetailsTsctsfQosTscac: + description: Extends ProblemDetails to also include the acceptable service info. + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/AdditionInfoTsctsfQosTscac' diff --git a/TS29565_Ntsctsf_TimeSynchronization.yaml b/TS29565_Ntsctsf_TimeSynchronization.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c7730b066e0a059d1053f235ffa5a337209c06e9 --- /dev/null +++ b/TS29565_Ntsctsf_TimeSynchronization.yaml @@ -0,0 +1,834 @@ +openapi: 3.0.0 + +info: + title: Ntsctsf_TimeSynchronization Service API + version: 1.1.0-alpha.5 + description: | + TSCTSF Time Synchronization Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.565 V18.4.0; 5G System; Time Sensitive Communication and Time Synchronization Function + Services; Stage 3. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.565/' +servers: + - url: '{apiRoot}/ntsctsf-time-sync/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - ntsctsf-time-sync + +paths: + /subscriptions: + post: + summary: Creates a new subscription to notification of capability of time synchronization service resource + operationId: TimeSynchronizationExposureSubscriptions + tags: + - Time Synchronization Exposure Subscriptions (Collection) + requestBody: + description: Contains the information for the creation the resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureSubsc' + responses: + '201': + description: Successful creation of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureSubsc' + headers: + Location: + description: > + Contains the URI of the created individual time synchronization exposure + subscription resource, according to the structure + {apiRoot}/ntsctsf-time-sync/{apiVersion}/subscriptions/{subscriptionId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + subsEventNotification: + '{$request.body#/subsNotifUri': + post: + requestBody: + description: Notification of an event occurrence in the TSCTSF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureSubsNotif' + responses: + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}: + get: + summary: "Reads an existing Individual Time Synchronization Exposure Subscription" + operationId: GetIndividualTimeSynchronizationExposureSubscription + tags: + - Individual Time Synchronization Exposure Subscription (Document) + parameters: + - name: subscriptionId + description: String identifying an Individual Time Synchronization Exposure Subscription + in: path + required: true + schema: + type: string + responses: + '200': + description: A representation of the resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureSubsc' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + operationId: ReplaceIndividualTimeSynchronizationExposureSubscription + summary: Replace an individual Time Synchronization Exposure Subscription + tags: + - IndividualTimeSynchronizationExposureSubscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29522_TimeSyncExposure.yaml#/components/schemas/TimeSyncExposureSubsc' + parameters: + - name: subscriptionId + description: String identifying an Individual Time Synchronization Exposure Subscription. + in: path + required: true + schema: + type: string + responses: + '200': + description: OK. Resource was successfully modified and representation is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureSubsc' + '204': + description: No Content. Resource was successfully modified. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + operationId: DeleteIndividualTimeSynchronizationExposureSubscription + summary: Delete an Individual TimeSynchronization Exposure Subscription + tags: + - Individual Time Synchronization Exposure Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: String identifying an Individual Time Synchronization Exposure Subscription. + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was successfully deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}/configurations: + post: + summary: "Craete a new Individual Time Synchronization Exposure Configuration" + operationId: CreateIndividualTimeSynchronizationExposureConfiguration + tags: + - Individual Time Synchronization Exposure Configuration (Document) + parameters: + - name: subscriptionId + description: String identifying an Individual Time Synchronization Exposure Subscription. + in: path + required: true + schema: + type: string + requestBody: + description: Contains the information for the creation the resource. + required: true + content: + application/json: + schema: + $ref: 'TS29522_TimeSyncExposure.yaml#/components/schemas/TimeSyncExposureConfig' + responses: + '201': + description: Successful creation of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureConfig' + headers: + Location: + description: > + Contains the URI of the created individual time synchronization exposure + configuration resource, according to the structure + {apiRoot}/ntsctsf-time-sync/{apiVersion}/subscriptions/{subscriptionId} + /configurations/{configurationId} + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + configEventNotification: + '{$request.body#/configNotifUri': + post: + requestBody: + description: Notification of an event occurrence in the TSCTSF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureConfigNotif' + responses: + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}/configurations/{configurationId}: + get: + summary: "Reads an existing Individual Time Synchronization Exposure Configuration" + operationId: GetIndividualTimeSynchronizationExposureConfiguration + tags: + - Individual Time Synchronization Exposure Configuration (Document) + parameters: + - name: subscriptionId + description: String identifying an Individual Time Synchronization Exposure Subscription. + in: path + required: true + schema: + type: string + - name: configurationId + description: String identifying an Individual Time Synchronization Exposure Configuration. + in: path + required: true + schema: + type: string + responses: + '200': + description: A representation of the resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureConfig' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + operationId: ReplaceIndividualTimeSynchronizationExposureConfiguration + summary: Replace an individual Time Synchronization Exposure Configuration + tags: + - IndividualTimeSynchronizationExposureConfiguration (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29522_TimeSyncExposure.yaml#/components/schemas/TimeSyncExposureConfig' + parameters: + - name: subscriptionId + description: String identifying an Individual Time Synchronization Exposure Subscription. + in: path + required: true + schema: + type: string + - name: configurationId + description: String identifying an Individual Time Synchronization Exposure Configuration. + in: path + required: true + schema: + type: string + responses: + '200': + description: OK. Resource was successfully modified and representation is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TimeSyncExposureConfig' + '204': + description: No Content. Resource was successfully modified. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + operationId: DeleteIndividualTimeSynchronizationExposureConfiguration + summary: Delete an Individual TimeSynchronization Exposure Configuration + tags: + - Individual Time Synchronization Exposure Configuration (Document) + parameters: + - name: subscriptionId + in: path + description: String identifying an Individual Time Synchronization Exposure Subscription. + required: true + schema: + type: string + - name: configurationId + description: String identifying an Individual Time Synchronization Exposure Configuration. + in: path + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was successfully deleted + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + ntsctsf-timesynchronization: Access to the Ntsctsf_TimeSynchronization API + + schemas: + TimeSyncExposureSubsc: + description: > + Contains the parameters for the subscription to notification of capability of time + synchronization service. + type: object + properties: + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + interGrpId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + exterGrpId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalGroupId' + anyUeInd: + type: boolean + description: > + Identifies whether the request applies to any UE. This attribute shall set to "true" if + applicable for any UE, otherwise, set to "false". + notifMethod: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/NotificationMethod' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + subscribedEvents: + type: array + items: + $ref: 'TS29522_TimeSyncExposure.yaml#/components/schemas/SubscribedEvent' + minItems: 1 + eventFilters: + type: array + items: + $ref: 'TS29522_TimeSyncExposure.yaml#/components/schemas/EventFilter' + minItems: 1 + subsNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + subsNotifId: + type: string + description: Notification Correlation ID assigned by the NF service consumer. + maxReportNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - subsNotifUri + - subsNotifId + - dnn + - snssai + - subscribedEvents + oneOf: + - required: [supis] + - required: [interGrpId] + - required: [gpsis] + - required: [exterGrpId] + - required: [anyUeInd] + + TimeSyncExposureSubsNotif: + description: Contains the notification of time synchronization service. + type: object + properties: + subsNotifId: + type: string + description: Notification Correlation ID assigned by the NF service consumer. + eventNotifs: + type: array + items: + $ref: '#/components/schemas/SubsEventNotification' + minItems: 1 + + SubsEventNotification: + description: > + Contains the notification of capability of time synchronization for a list of UEs. + type: object + properties: + event: + $ref: 'TS29522_TimeSyncExposure.yaml#/components/schemas/SubscribedEvent' + timeSyncCapas: + type: array + items: + $ref: '#/components/schemas/TimeSyncCapability' + minItems: 1 + required: + - event + + TimeSyncCapability: + description: Contains the capability of time synchronization service. + type: object + properties: + upNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + gmCapables: + type: array + items: + $ref: 'TS29522_TimeSyncExposure.yaml#/components/schemas/GmCapable' + minItems: 1 + asTimeRes: + $ref: 'TS29522_TimeSyncExposure.yaml#/components/schemas/AsTimeResource' + ptpCapForUes: + type: object + additionalProperties: + $ref: '#/components/schemas/PtpCapabilitiesPerUe' + minProperties: 1 + description: > + Contains the PTP capabilities supported by each of the SUPI(s). The key of the map is the + SUPI. + ptpCapForGpsis: + type: object + additionalProperties: + $ref: '#/components/schemas/PtpCapabilitiesPerUe' + minProperties: 1 + description: > + Contains the PTP capabilities supported by each of the GPSI(s). The key of the map is + the GPSI. + required: + - upNodeId + anyOf: + - required: [gmCapables] + - required: [asTimeRes] + + PtpCapabilitiesPerUe: + description: Contains the supported PTP capabilities per UE. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ptpCaps: + type: array + items: + $ref: 'TS29522_TimeSyncExposure.yaml#/components/schemas/EventFilter' + minItems: 1 + required: + - ptpCaps + oneOf: + - required: [supi] + - required: [gpsi] + + TimeSyncExposureConfigNotif: + description: Contains the notification of time synchronization service state. + type: object + properties: + configNotifId: + type: string + description: Notification Correlation ID assigned by the NF service consumer. + stateOfConfig: + $ref: '#/components/schemas/StateOfConfiguration' + required: + - configNotifId + - stateOfConfig + + StateOfConfiguration: + description: > + Contains the state of the time synchronization configuration and the clock quality + acceptance criteria result. + type: object + properties: + stateNwtt: + type: boolean + description: > + When any of the PTP port state(s)in NW-TT is Leader, Follower or Passive, it is + included and set to trueto indicate the current state of the time synchronization + configuration for the NW-TT port(s) of the PTP instance is active; when + PTP port state isin any other case, it is included and set to false to indicate + the state ofconfiguration for the NW-TT port(s) of the PTP instance + is inactive. Default value is false. + stateOfDstts: + description: > + Contains the PTP port states and the clock quality acceptance criteria result of the + DS-TT(s). + type: array + items: + $ref: '#/components/schemas/StateOfDstt' + minItems: 1 + + StateOfDstt: + description: Contains the PTP port state of a DS-TT. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + state: + type: boolean + description: > + When the PTP port state is Leader, Follower or Passive, it is included and set to true + to indicate the state of configuration for DS-TT port is active; when PTP port state is + in any other case, it is included and set to false to indicate the state of + configuration for DS-TT port is inactive. Default value is false. + clkQltIndOfDstts: + $ref: 'TS29522_TimeSyncExposure.yaml#/components/schemas/AcceptanceCriteriaResultIndication' + required: + - state + oneOf: + - required: [supi] + - required: [gpsi] + + TimeSyncExposureConfig: + description: Contains the Time Synchronization Configuration parameters. + type: object + properties: + upNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + reqPtpIns: + $ref: '#/components/schemas/PtpInstance' + gmEnable: + type: boolean + description: > + Indicates that the AF requests 5GS to act as a grandmaster for PTP or gPTP if it is + included and set to true. + gmPrio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + timeDom: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + timeSyncErrBdgt: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + configNotifId: + type: string + description: Notification Correlation ID assigned by the NF service consumer. + configNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + tempValidity: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity' + covReq: + type: array + description: > + Identifies a list of Tracking Areas per serving network where time + synchronization service configuration is allowed. + items: + $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/ServiceAreaCoverageInfo' + minItems: 1 + clkQltDetLvl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ClockQualityDetailLevel' + clkQltAcptCri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ClockQualityAcceptanceCriterion' + required: + - upNodeId + - reqPtpIns + - timeDom + - configNotifId + - configNotifUri + + PtpInstance: + description: Contains PTP instance configuration and activation requested by the AF. + type: object + properties: + instanceType: + $ref: 'TS29522_TimeSyncExposure.yaml#/components/schemas/InstanceType' + protocol: + $ref: 'TS29522_TimeSyncExposure.yaml#/components/schemas/Protocol' + ptpProfile: + type: string + portConfigs: + type: array + items: + $ref: '#/components/schemas/ConfigForPort' + minItems: 1 + required: + - instanceType + - protocol + - ptpProfile + + ConfigForPort: + description: Contains configuration for each port. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + n6Ind: + type: boolean + ptpEnable: + type: boolean + logSyncInter: + type: integer + logSyncInterInd: + type: boolean + logAnnouInter: + type: integer + logAnnouInterInd: + type: boolean + oneOf: + - required: [supi] + - required: [gpsi] + - required: [n6Ind] diff --git a/TS29572_Nlmf_Broadcast.yaml b/TS29572_Nlmf_Broadcast.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e8b78d29c4c196beb58db1adfcf06f498f5c57b3 --- /dev/null +++ b/TS29572_Nlmf_Broadcast.yaml @@ -0,0 +1,249 @@ +openapi: 3.0.0 + +info: + version: '1.2.0-alpha.1' + title: 'LMF Broadcast' + description: | + LMF Broadcast Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.572 V18.0.0; 5G System; Location Management Services; Stage 3 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.572/' + +servers: + - url: '{apiRoot}/nlmf-broadcast/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + /cipher-key-data: + post: + summary: Request ciphering key data + operationId: CipheringKeyData + tags: + - Request Ciphering Key Data + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CipherRequestData' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/CipherResponseData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + CipheringKeyData: + '{$request.body#/amfCallBackURI}': + post: + requestBody: + description: Ciphering Key Data Notification + content: + application/json: + schema: + $ref: '#/components/schemas/CipheringKeyInfo' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/CipheringKeyResponse' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + schemas: +# +# COMPLEX TYPES +# + CipheringKeyInfo: + description: Information within Ciphering Key Data Notification request. + type: object + required: + - cipheringData + properties: + cipheringData: + type: array + items: + $ref: '#/components/schemas/CipheringDataSet' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + CipheringKeyResponse: + description: Information within Ciphering Key Data Notification Response. + type: object + properties: + cipheringDataReport: + type: array + items: + $ref: '#/components/schemas/CipheringSetReport' + minItems: 1 + + CipheringDataSet: + description: Represents a Ciphering Data Set. + type: object + required: + - cipheringSetID + - cipheringKey + - c0 + - validityStartTime + - validityDuration + properties: + cipheringSetID: + $ref: '#/components/schemas/CipheringSetID' + cipheringKey: + $ref: '#/components/schemas/CipheringKey' + c0: + $ref: '#/components/schemas/C0' + ltePosSibTypes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + nrPosSibTypes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + validityStartTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + validityDuration: + $ref: '#/components/schemas/ValidityDuration' + taiList: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + + CipheringSetReport: + description: Represents a report of Ciphering Data Set storage. + type: object + required: + - cipheringSetID + - storageOutcome + properties: + cipheringSetID: + $ref: '#/components/schemas/CipheringSetID' + storageOutcome: + $ref: '#/components/schemas/StorageOutcome' + + CipherRequestData: + description: Information within Ciphering Key Data request. + type: object + required: + - amfCallBackURI + properties: + amfCallBackURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + CipherResponseData: + description: Information within Ciphering Key Data Response. + type: object + required: + - dataAvailability + properties: + dataAvailability: + $ref: '#/components/schemas/DataAvailability' +# +# +# SIMPLE TYPES +# + CipheringSetID: + description: Ciphering Data Set Identifier. + type: integer + minimum: 0 + maximum: 65535 + + CipheringKey: + description: Ciphering Key. + format: byte + type: string + + C0: + description: First component of the initial ciphering counter. + format: byte + type: string + + ValidityDuration: + description: Validity Duration of the Ciphering Data Set. + type: integer + minimum: 1 + maximum: 65535 +# +# ENUMS +# + StorageOutcome: + description: Indicates the result of Ciphering Data Set storage. + anyOf: + - type: string + enum: + - STORAGE_SUCCESSFUL + - STORAGE_FAILED + + DataAvailability: + description: Indicates availability of ciphering key data at an LMF. + anyOf: + - type: string + enum: + - CIPHERING_KEY_DATA_AVAILABLE + - CIPHERING_KEY_DATA_NOT_AVAILABLE diff --git a/TS29573_JOSEProtectedMessageForwarding.yaml b/TS29573_JOSEProtectedMessageForwarding.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5951c22245f94de7ba6518b6906234c0f710c152 --- /dev/null +++ b/TS29573_JOSEProtectedMessageForwarding.yaml @@ -0,0 +1,337 @@ +openapi: 3.0.0 + +info: + version: '1.3.0-alpha.2' + title: 'JOSE Protected Message Forwarding API' + description: | + N32-f Message Forwarding Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +servers: + - url: '{apiRoot}/n32f-forward/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. +externalDocs: + description: 3GPP TS 29.573 V18.5.0; 5G System; Public Land Mobile Network (PLMN) Interconnection; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.573/ + +paths: + /n32f-process: + post: + summary: N32-f Message Forwarding + tags: + - N32-f Forward + operationId: PostN32fProcess + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + - name: 3gpp-Sbi-Message-Priority + in: header + description: 3gpp-Sbi-Message-Priority, defined in 3GPP TS 29.500 + schema: + type: string + requestBody: + description: Custom operation N32-f Message Forwarding + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/N32fReformattedReqMsg' + responses: + '200': + description: OK (Successful forwarding of reformatted message over N32-f) + content: + application/json: + schema: + $ref: '#/components/schemas/N32fReformattedRspMsg' + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + 3gpp-Sbi-Message-Priority: + description: 3gpp-Sbi-Message-Priority, defined in 3GPP TS 29.500 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetailsMsgForwarding' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + options: + summary: Discover communication options supported by next hop (IPX or SEPP) + operationId: N32fProcessOptions + tags: + - N32-f Forward + responses: + '204': + description: No Content + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + schemas: + FlatJweJson: + description: Contains the integrity protected reformatted block + type: object + required: + - ciphertext + properties: + protected: + type: string + unprotected: + type: object + header: + type: object + encrypted_key: + type: string +# The attribute name does not follow the naming conventions specified in 3GPP TS 29.501. The attribute name is kept though as defined in the current specification for backward compatibility reason. + aad: + type: string + iv: + type: string + ciphertext: + type: string + tag: + type: string + + FlatJwsJson: + description: Contains the modification from IPXes on path + type: object + required: + - payload + - signature + properties: + payload: + type: string + protected: + type: string + header: + type: object + signature: + type: string + + N32fReformattedReqMsg: + description: Contains the reformatted HTTP/2 request message + type: object + required: + - reformattedData + properties: + reformattedData: + $ref: '#/components/schemas/FlatJweJson' + modificationsBlock: + type: array + items: + $ref: '#/components/schemas/FlatJwsJson' + minItems: 1 + + N32fReformattedRspMsg: + description: Contains the reformatted HTTP/2 response message + type: object + required: + - reformattedData + properties: + reformattedData: + $ref: '#/components/schemas/FlatJweJson' + modificationsBlock: + type: array + items: + $ref: '#/components/schemas/FlatJwsJson' + minItems: 1 + + DataToIntegrityProtectAndCipherBlock: + description: HTTP header to be encrypted or the value of a JSON attribute to be encrypted + type: object + required: + - dataToEncrypt + properties: + dataToEncrypt: + type: array + items: {} + minItems: 1 + DataToIntegrityProtectBlock: + description: Data to be integrity protected + type: object + properties: + metaData: + $ref: '#/components/schemas/MetaData' + requestLine: + $ref: '#/components/schemas/RequestLine' + statusLine: + type: string + headers: + type: array + items: + $ref: '#/components/schemas/HttpHeader' + minItems: 1 + payload: + type: array + items: + $ref: '#/components/schemas/HttpPayload' + minItems: 1 + RequestLine: + description: Contains the request line of the HTTP API request being reformatted and forwarded over N32-f + type: object + required: + - method + - scheme + - authority + - path + - protocolVersion + properties: + method: + $ref: 'TS29573_N32_Handshake.yaml#/components/schemas/HttpMethod' + scheme: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UriScheme' + authority: + type: string + path: + type: string + protocolVersion: + type: string + queryFragment: + type: string + HttpHeader: + description: Contains the encoding of HTTP headers in the API request / response + type: object + required: + - header + - value + properties: + header: + type: string + value: + $ref: '#/components/schemas/EncodedHttpHeaderValue' + HttpPayload: + description: Contains the encoding of JSON content in the API request / response + type: object + required: + - iePath + - ieValueLocation + - value + properties: + iePath: + type: string + ieValueLocation: + $ref: 'TS29573_N32_Handshake.yaml#/components/schemas/IeLocation' + value: + type: object + MetaData: + description: Contains the meta data information needed for replay protection + type: object + required: + - n32fContextId + - messageId + - authorizedIpxId + properties: + n32fContextId: + type: string + pattern: '^[A-Fa-f0-9]{16}$' + messageId: + type: string + authorizedIpxId: + type: string + Modifications: + description: Information on inserting of the modifications entry + type: object + required: + - identity + properties: + identity: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + operations: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + tag: + type: string + IndexToEncryptedValue: + description: Index to the encrypted value + type: object + required: + - encBlockIndex + properties: + encBlockIndex: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + EncodedHttpHeaderValue: + description: HTTP header value or index to the HTTP header value + oneOf: + - type: string + - $ref: '#/components/schemas/IndexToEncryptedValue' + + ProblemDetailsMsgForwarding: + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/AdditionInfoMsgForwarding' + + AdditionInfoMsgForwarding: + description: Problem Details extensions for N32-f message forwarding + properties: + suggestedStatusCode: + type: integer + suggestedProblemDetails: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' diff --git a/TS29573_N32_Handshake.yaml b/TS29573_N32_Handshake.yaml new file mode 100644 index 0000000000000000000000000000000000000000..396f232a7160a5630a0209e3f49d307247c97f7f --- /dev/null +++ b/TS29573_N32_Handshake.yaml @@ -0,0 +1,596 @@ +openapi: 3.0.0 + +info: + version: '1.3.0-alpha.5' + title: 'N32 Handshake API' + description: | + N32-c Handshake Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +servers: + - url: '{apiRoot}/n32c-handshake/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. +externalDocs: + description: 3GPP TS 29.573 V18.5.0; 5G System; Public Land Mobile Network (PLMN) Interconnection; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.573/ + +paths: + /exchange-capability: + post: + summary: Security Capability Negotiation + tags: + - Security Capability Negotiation + operationId: PostExchangeCapability + requestBody: + description: Custom operation for security capability negotiation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SecNegotiateReqData' + responses: + '200': + description: OK (Successful negitiation of security capabilities) + content: + application/json: + schema: + $ref: '#/components/schemas/SecNegotiateRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /exchange-params: + post: + summary: Parameter Exchange + tags: + - Parameter Exchange + operationId: PostExchangeParams + requestBody: + description: Custom operation for parameter exchange + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SecParamExchReqData' + responses: + '200': + description: OK (Successful exchange of parameters) + content: + application/json: + schema: + $ref: '#/components/schemas/SecParamExchRspData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /n32f-terminate: + post: + summary: N32-f Context Terminate + tags: + - N32-f Context Terminate + operationId: PostN32fTerminate + requestBody: + description: Custom operation for n32-f context termination + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/N32fContextInfo' + responses: + '200': + description: OK (Successful exchange of parameters) + content: + application/json: + schema: + $ref: '#/components/schemas/N32fContextInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /n32f-error: + post: + summary: N32-f Error Reporting Procedure + tags: + - N32-f Error Report + operationId: PostN32fError + requestBody: + description: Custom operation for n32-f error reporting procedure + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/N32fErrorInfo' + responses: + '204': + description: successful error reporting + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error +components: + schemas: + SecurityCapability: + description: Enumeration of security capabilities + anyOf: + - type: string + enum: + - TLS + - PRINS + - NONE + - type: string + ApiSignature: + description: API URI of the service operation + oneOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + - $ref: '#/components/schemas/CallbackName' + HttpMethod: + description: Enumeration of HTTP methods + anyOf: + - type: string + enum: + - GET + - PUT + - POST + - DELETE + - PATCH + - HEAD + - OPTIONS + - CONNECT + - TRACE + - type: string + + IeType: + description: Enumeration of types of IEs (i.e kind of IE) to specify the protection policy + anyOf: + - type: string + enum: + - UEID + - LOCATION + - KEY_MATERIAL + - AUTHENTICATION_MATERIAL + - AUTHORIZATION_TOKEN + - OTHER + - NONSENSITIVE + - type: string + + IeLocation: + description: Location of the IE in a HTTP message + anyOf: + - type: string + enum: + - URI_PARAM + - HEADER + - BODY + - MULTIPART_BINARY + - type: string + + IeInfo: + description: Protection and modification policy for the IE + type: object + required: + - ieLoc + - ieType + properties: + ieLoc: + $ref: '#/components/schemas/IeLocation' + ieType: + $ref: '#/components/schemas/IeType' + reqIe: + type: string + rspIe: + type: string + isModifiable: + type: boolean + isModifiableByIpx: + type: object + additionalProperties: + type: boolean + minProperties: 1 + + ApiIeMapping: + description: API URI to IE mapping on which the protection policy needs to be applied + type: object + required: + - apiSignature + - apiMethod + - IeList + properties: + apiSignature: + $ref: '#/components/schemas/ApiSignature' + apiMethod: + $ref: '#/components/schemas/HttpMethod' + IeList: + type: array + items: + $ref: '#/components/schemas/IeInfo' + minItems: 1 +# The attribute name does not follow the naming conventions specified in 3GPP TS 29.501. The attribute name is kept though as defined in the current specification for backward compatibility reason. + + ProtectionPolicy: + description: The protection policy to be negotiated between the SEPPs + type: object + required: + - apiIeMappingList + properties: + apiIeMappingList: + type: array + items: + $ref: '#/components/schemas/ApiIeMapping' + minItems: 1 + dataTypeEncPolicy: + type: array + items: + $ref: '#/components/schemas/IeType' + minItems: 1 + + SecNegotiateReqData: + description: Defines the security capabilities of a SEPP sent to a receiving SEPP + type: object + required: + - sender + - supportedSecCapabilityList + properties: + sender: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + supportedSecCapabilityList: + type: array + items: + $ref: '#/components/schemas/SecurityCapability' + minItems: 1 + 3GppSbiTargetApiRootSupported: + type: boolean + default: false +# The attribute name does not follow the naming conventions specified in 3GPP TS 29.501. The attribute name is kept though as defined in the current specification for backward compatibility reason. + plmnIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + snpnIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + targetPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + targetSnpnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + intendedUsagePurpose: + type: array + items: + $ref: '#/components/schemas/IntendedN32Purpose' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + senderN32fFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + senderN32fPort: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + + SecNegotiateRspData: + description: Defines the selected security capabilities by a SEPP + type: object + required: + - sender + - selectedSecCapability + properties: + sender: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + selectedSecCapability: + $ref: '#/components/schemas/SecurityCapability' + 3GppSbiTargetApiRootSupported: + type: boolean + default: false +# The attribute name does not follow the naming conventions specified in 3GPP TS 29.501. The attribute name is kept though as defined in the current specification for backward compatibility reason. + plmnIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + snpnIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + allowedUsagePurpose: + type: array + items: + $ref: '#/components/schemas/IntendedN32Purpose' + minItems: 1 + rejectedUsagePurpose: + type: array + items: + $ref: '#/components/schemas/IntendedN32Purpose' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + senderN32fFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + senderN32fPortList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + + SecParamExchReqData: + description: Request data structure for parameter exchange + type: object + required: + - n32fContextId + properties: + n32fContextId: + type: string + pattern: '^[A-Fa-f0-9]{16}$' + jweCipherSuiteList: + type: array + items: + type: string + minItems: 1 + jwsCipherSuiteList: + type: array + items: + type: string + minItems: 1 + protectionPolicyInfo: + $ref: '#/components/schemas/ProtectionPolicy' + ipxProviderSecInfoList: + type: array + items: + $ref: '#/components/schemas/IpxProviderSecInfo' + minItems: 1 + sender: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + + SecParamExchRspData: + description: Response data structure for parameter exchange + type: object + required: + - n32fContextId + properties: + n32fContextId: + type: string + pattern: '^[A-Fa-f0-9]{16}$' + selectedJweCipherSuite: + type: string + selectedJwsCipherSuite: + type: string + selProtectionPolicyInfo: + $ref: '#/components/schemas/ProtectionPolicy' + ipxProviderSecInfoList: + type: array + items: + $ref: '#/components/schemas/IpxProviderSecInfo' + minItems: 1 + sender: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + + N32fContextInfo: + description: N32-f context information + type: object + required: + - n32fContextId + properties: + n32fContextId: + type: string + pattern: '^[A-Fa-f0-9]{16}$' + CallbackName: + description: Callback Name + type: object + required: + - callbackType + properties: + callbackType: + type: string + N32fErrorInfo: + description: N32-f error information + type: object + required: + - n32fMessageId + - n32fErrorType + properties: + n32fMessageId: + type: string + n32fErrorType: + $ref: '#/components/schemas/N32fErrorType' + n32fContextId: + type: string + pattern: '^[A-Fa-f0-9]{16}$' + failedModificationList: + type: array + items: + $ref: '#/components/schemas/FailedModificationInfo' + minItems: 1 + errorDetailsList: + type: array + items: + $ref: '#/components/schemas/N32fErrorDetail' + minItems: 1 + policyMismatchList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/InvalidParam' + minItems: 1 + FailedModificationInfo: + description: Information on N32-f modifications block that failed to process + type: object + required: + - ipxId + - n32fErrorType + properties: + ipxId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + n32fErrorType: + $ref: '#/components/schemas/N32fErrorType' + N32fErrorDetail: + description: Details about the N32f error + type: object + required: + - attribute + - msgReconstructFailReason + properties: + attribute: + type: string + msgReconstructFailReason: + $ref: '#/components/schemas/FailureReason' + IpxProviderSecInfo: + description: Defines the security information list of an IPX + type: object + required: + - ipxProviderId + properties: + ipxProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + rawPublicKeyList: + type: array + items: + type: string + minItems: 1 + certificateList: + type: array + items: + type: string + minItems: 1 + + IntendedN32Purpose: + description: Indicates the intended N32 establishment purpose + type: object + required: + - usagePurpose + properties: + usagePurpose: + $ref: '#/components/schemas/N32Purpose' + additionalInfo: + type: string + cause: + type: string + + N32fErrorType: + description: Type of error while processing N32-f message + anyOf: + - type: string + enum: + - INTEGRITY_CHECK_FAILED + - INTEGRITY_CHECK_ON_MODIFICATIONS_FAILED + - MODIFICATIONS_INSTRUCTIONS_FAILED + - DECIPHERING_FAILED + - MESSAGE_RECONSTRUCTION_FAILED + - CONTEXT_NOT_FOUND + - INTEGRITY_KEY_EXPIRED + - ENCRYPTION_KEY_EXPIRED + - POLICY_MISMATCH + - type: string + FailureReason: + description: Reason for failure to reconstruct a HTTP/2 message from N32-f message + anyOf: + - type: string + enum: + - INVALID_JSON_POINTER + - INVALID_INDEX_TO_ENCRYPTED_BLOCK + - INVALID_HTTP_HEADER + - type: string + + N32Purpose: + description: Usage purpose of establishing N32 connectivity + anyOf: + - type: string + enum: + - ROAMING + - INTER_PLMN_MOBILITY + - SMS_INTERCONNECT + - ROAMING_TEST + - INTER_PLMN_MOBILITY_TEST + - SMS_INTERCONNECT_TEST + - SNPN_INTERCONNECT + - SNPN_INTERCONNECT_TEST + - DISASTER_ROAMING + - DISASTER_ROAMING_TEST + - type: string diff --git a/TS29573_SeppTelescopicFqdnMapping.yaml b/TS29573_SeppTelescopicFqdnMapping.yaml new file mode 100644 index 0000000000000000000000000000000000000000..dcc4a965cf96bde3e31678ce426423cb2478c3f3 --- /dev/null +++ b/TS29573_SeppTelescopicFqdnMapping.yaml @@ -0,0 +1,77 @@ +openapi: 3.0.0 + +info: + version: '1.2.0-alpha.1' + title: 'SEPP Telescopic FQDN Mapping API' + description: | + SEPP Telescopic FQDN Mapping Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +servers: + - url: '{apiRoot}/nsepp-telescopic/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +externalDocs: + description: 3GPP TS 29.573 V18.1.0; 5G System; Public Land Mobile Network (PLMN) Interconnection; Stage 3 + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.573/ + +paths: + /mapping: + get: + summary: Maps an FQDN to/from a telescopic FQDN + operationId: GetTelescopicMapping + tags: + - Telescopic Mapping (Document) + parameters: + - name: foreign-fqdn + in: query + description: FQDN of the NF in the foreign PLMN + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + - name: telescopic-label + in: query + description: Telescopic Label + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/TelescopicMapping' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + schemas: + TelescopicMapping: + description: Contains the Telescopic mapping data + type: object + properties: + telescopicLabel: + type: string + seppDomain: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + foreignFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' diff --git a/TS29574_Ndccf_ContextManagement.yaml b/TS29574_Ndccf_ContextManagement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d5bd64a75c0a660e7dc142d9052c9232eb487e5b --- /dev/null +++ b/TS29574_Ndccf_ContextManagement.yaml @@ -0,0 +1,217 @@ +openapi: 3.0.0 +info: + version: 1.1.0-alpha.2 + title: Ndccf_ContextManagement + description: | + DCCF Context Management Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.574 V18.1.0; 5G System; Data Collection Coordination Services; Stage 3. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.574/' +# +servers: + - url: '{apiRoot}/ndccf-contextmanagement/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. +# +security: + - oAuth2ClientCredentials: + - ndccf-contextmanagement + - {} +# +paths: + /data-collection-profiles: + post: + summary: Creates a new Individual DCCF Data Collection Profile resource. + operationId: CreateDCCFDataCollectionProfile + tags: + - DCCF Data Collection Profiles (Collection) + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfDataCollectionProfile' + required: true + responses: + '201': + description: A new Individual DCCF Data Collection Profile resource created. + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/ndccf-contextmanagement//data-collection-profiles/{profileId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfDataCollectionProfile' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /data-collection-profiles/{profileId}: + delete: + summary: Deletes an existing Individual DCCF Data Subscription resource. + operationId: DeleteDCCFDataCollectionProfile + tags: + - Individual DCCF Data Collection Profile (Document) + parameters: + - name: profileId + in: path + description: > + String identifying a data collection profile at the Ndccf_ContextManagement Service. + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual DCCF Data Collection Profile resource matching the profileId + was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Updates an existing Individual DCCF Data Collection Profile resource. + operationId: UpdateDCCFDataCollectionProfile + tags: + - Individual DCCF Data Collection Profile (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfDataCollectionProfile' + parameters: + - name: profileId + in: path + description: > + String identifying a data collection profile at the Ndccf_ContextManagement Service. + required: true + schema: + type: string + responses: + '200': + description: > + The Individual DCCF Data Collection Profile resource was modified successfully and a + representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfDataCollectionProfile' + '204': + description: > + The Individual DCCF Data Collection Profile resource was modified successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + ndccf-contextmanagement: Access to the ndccf-contextmanagement API +# + schemas: + + NdccfDataCollectionProfile: + description: Represents an Individual DCCF Data Collection Profile. + type: object + allOf: + - oneOf: + - required: [anaSub] + - required: [dataSub] + - oneOf: + - required: [nwdafId] + - required: [adrfId] + - required: [nwdafSetId] + - required: [adrfSetId] + properties: + anaSub: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscription' + dataSub: + $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataNotification' + nwdafId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nwdafSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + adrfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + adrfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' +# diff --git a/TS29574_Ndccf_DataManagement.yaml b/TS29574_Ndccf_DataManagement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..409174f8da70539b5b417e752eb7b75663be0a6f --- /dev/null +++ b/TS29574_Ndccf_DataManagement.yaml @@ -0,0 +1,1081 @@ +openapi: 3.0.0 + +info: + version: 1.1.0-alpha.5 + title: Ndccf_DataManagement + description: | + DCCF Data Management Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.574 V18.4.0; 5G System; Data Collection Coordination Services; Stage 3. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.574/' +# +servers: + - url: '{apiRoot}/ndccf-datamanagement/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. +# +security: + - oAuth2ClientCredentials: + - ndccf-datamanagement + - {} +# +paths: + /analytics-subscriptions: + post: + summary: Creates a new Individual DCCF Analytics Subscription resource. + operationId: CreateDCCFAnalyticsSubscription + tags: + - DCCF Analytics Subscriptions (Collection) + requestBody: + description: Contains the information for the creation the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfAnalyticsSubscription' + required: true + responses: + '201': + description: Create a new Individual DCCF Analytics Subscription resource. + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/ndccf-datamanagement//analytics-subscriptions/{subscriptionId} + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfAnalyticsSubscription' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + dccfAnalyticsNotification: + '{$request.body#/anaNotifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfAnalyticsSubscriptionNotification' + responses: + '200': + description: The notification is acknowledged and a planned action is provided. + content: + application/json: + schema: + $ref: '#/components/schemas/NotifResponse' + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + Fetch: + '{request.body#/fetchInstruct/fetchUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: string + minItems: 1 + description: Fetch correlation identifiers. + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfAnalyticsSubscriptionNotification' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /analytics-subscriptions/{subscriptionId}: + delete: + summary: Deletes an existing Individual DCCF Data Subscription. + operationId: DeleteDCCFAnalyticsSubscription + tags: + - Individual DCCF Analytics Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: > + String identifying an analytics subscription to the Ndccf_DataManagement Service. + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual DCCF Analytics Subscription resource matching the + subscriptionId was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Updates an existing Individual DCCF Analytics Subscription resource. + operationId: UpdateDCCFAnalyticsSubscription + tags: + - Individual DCCF Analytics Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfAnalyticsSubscription' + parameters: + - name: subscriptionId + in: path + description: > + String identifying an analytics subscription to the Ndccf_DataManagement Service. + required: true + schema: + type: string + responses: + '200': + description: > + The Individual DCCF Analytics Subscription resource was modified successfully and a + representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfAnalyticsSubscription' + '204': + description: > + The Individual DCCF Analytics Subscription resource was modified successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /data-subscriptions: + post: + summary: Creates a new Individual DCCF Data Subscription resource. + operationId: CreateDCCFDataSubscription + tags: + - DCCF Data Subscriptions (Collection) + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfDataSubscription' + required: true + responses: + '201': + description: Creates a new Individual DCCF Data Subscription resource. + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/ndccf-datamanagement//data-subscriptions/{subscriptionId} + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfDataSubscription' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + dccfDataNotification: + '{$request.body#/dataNotifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfDataSubscriptionNotification' + responses: + '200': + description: The notification is acknowledged and a planned action is provided. + content: + application/json: + schema: + $ref: '#/components/schemas/NotifResponse' + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + Fetch: + '{request.body#/fetchInstruct/fetchUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: string + minItems: 1 + description: Fetch correlation identifiers. + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfAnalyticsSubscriptionNotification' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /data-subscriptions/{subscriptionId}: + delete: + summary: Deletes an existing Individual DCCF Data Subscription resource. + operationId: DeleteDCCFDataSubscription + tags: + - Individual DCCF Data Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: String identifying a data subscription to the Ndccf_DataManagement Service. + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual DCCF Data Subscription resource matching the subscriptionId + was deleted. + '200': + description: > + The Individual DCCF Data Subscription resource matching the subscriptionId was deleted + and including the stored unsent data events in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfDataSubscriptionNotification' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Updates an existing Individual DCCF Data Subscription resource. + operationId: UpdateDCCFDataSubscription + tags: + - Individual DCCF Data Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfDataSubscription' + parameters: + - name: subscriptionId + in: path + description: > + String identifying a data subscription to the Ndccf_DataManagement Service. + required: true + schema: + type: string + responses: + '200': + description: > + The Individual DCCF Data Subscription resource was modified successfully and a + representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/NdccfDataSubscription' + '204': + description: > + The Individual DCCF Data Subscription resource was modified successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + ndccf-datamanagement: Access to the ndccf-datamanagement API +# + schemas: +# + NdccfAnalyticsSubscription: + description: Represents an Individual DCCF Analytics Subscription. + type: object + required: + - anaSub + - anaNotifUri + - anaNotifCorrId + properties: + anaSub: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscription' + anaNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + anaNotifCorrId: + type: string + description: Notification correlation identifier. + notifEndpoints: + type: array + items: + $ref: '#/components/schemas/NotifyEndpoint' + minItems: 1 + description: The information of notification endpoints. + formatInstruct: + $ref: '#/components/schemas/FormattingInstruction' + procInstructs: + type: array + items: + $ref: '#/components/schemas/ProcessingInstruction' + minItems: 1 + description: Processing instructions to be used for sending event notifications. + targetNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + targetNfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + adrfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + ardfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + storeInd: + type: boolean + description: > + The indication for analytics storage. This attribute shall be provided and set to "true" + if the consumer requests to store the analytics in an ADRF but both the "adrfId" and + "adrfSetId" attributes are not provided. The default value is "false". + storeHandl: + $ref: '#/components/schemas/StorageHandlingInformation' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + timePeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + dataCollectPurposes: + type: array + items: + $ref: '#/components/schemas/DataCollectionPurpose' + minItems: 1 + description: > + The purposes of data collection. This attribute may only be provided if user consent is + required depending on local policy and regulations and the consumer has not + checked user consent. + checkedConsentInd: + type: boolean + description: Indication that the NF service consumer has already checked the user consent. + immReport: + $ref: '#/components/schemas/NdccfAnalyticsSubscriptionNotification' + +# + NdccfDataSubscription: + description: Represents an Individual DCCF Data Subscription. + type: object + required: + - dataNotifUri + - dataNotifCorrId + - dataSub + properties: + dataSub: + $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataSubscription' + dataNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + dataNotifCorrId: + type: string + description: Notification correlation identifier. + notifEndpoints: + type: array + items: + $ref: '#/components/schemas/NotifyEndpoint' + minItems: 1 + description: The information of notification endpoints. + formatInstruct: + $ref: '#/components/schemas/FormattingInstruction' + procInstructs: + type: array + items: + $ref: '#/components/schemas/ProcessingInstruction' + minItems: 1 + description: Processing instructions to be used for sending event notifications. + targetNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + targetNfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + adrfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + ardfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + storeInd: + type: boolean + description: > + The indication for analytics storage. This attribute shall be provided and set to "true" + if the consumer requests to store the analytics in an ADRF but both the "adrfId" and + "adrfSetId" attributes are not provided. The default value is "false". + storeHandl: + $ref: '#/components/schemas/StorageHandlingInformation' + timePeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + dataCollectPurposes: + type: array + items: + $ref: '#/components/schemas/DataCollectionPurpose' + minItems: 1 + description: > + The purposes of data collection. This attribute may only be provided if user consent + is required depending on local policy and regulations and the consumer has not + checked user consent. + checkedConsentInd: + type: boolean + description: Indication that the NF service consumer has already checked the user consent. + immReport: + $ref: '#/components/schemas/NdccfDataSubscriptionNotification' + +# + NdccfAnalyticsSubscriptionNotification: + description: Represents a notification for a DCCF analytics subscription. + type: object + required: + - anaNotifCorrId + - timeStamp + oneOf: + - required: [anaNotifications] + - required: [anaReports] + - required: [fetchInstruct] + properties: + anaNotifCorrId: + type: string + description: Notification correlation identifier. + anaNotifications: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscriptionNotification' + minItems: 1 + description: List of analytics subscription notifications. + anaReports: + type: array + items: + $ref: '#/components/schemas/NotifSummaryReport' + minItems: 1 + description: > + List of reports with summarized data from multiple analytics notifications that the DCCF + has received from NWDAF. + fetchInstruct: + $ref: 'TS29576_Nmfaf_3caDataManagement.yaml#/components/schemas/FetchInstruction' + terminationReq: + type: boolean + description: > + If provided and set to true, it indicates the termination of the data management + subscription that requested by the DCCF, i.e. no further notifications related to this + subscription will be provided, apart from sending final report (if available). + The default value is false. + delAlert: + $ref: '#/components/schemas/DeletionAlert' + termCause: + $ref: '#/components/schemas/TermCause' + pendDataNotifCause: + $ref: 'TS29520_Nnwdaf_DataManagement.yaml#/components/schemas/PendingNotificationCause' + reUserConsentPurs: + type: array + items: + $ref: '#/components/schemas/DataCollectionPurpose' + minItems: 1 + description: The purposes of data collection for which the user consent is revoked. + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' +# + NdccfDataSubscriptionNotification: + description: Represents a notification for a DCCF data subscription. + type: object + required: + - dataNotifCorrId + - timeStamp + oneOf: + - required: [dataNotif] + - required: [dataReports] + - required: [fetchInstruct] + properties: + dataNotifCorrId: + type: string + description: Notification correlation identifier. + dataNotif: + $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataNotification' + dataReports: + type: array + items: + $ref: '#/components/schemas/NotifSummaryReport' + minItems: 1 + description: > + List of reports with summarized data from multiple notifications received from data + producer. + delAlert: + $ref: '#/components/schemas/DeletionAlert' + fetchInstruct: + $ref: 'TS29576_Nmfaf_3caDataManagement.yaml#/components/schemas/FetchInstruction' + terminationReq: + type: boolean + description: > + If provided and set to true, it indicates the termination of the data management + subscription that requested by the DCCF, i.e. no further notifications related to this + subscription will be provided, apart from sending final report (if available). + The default value is false. + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' +# + FormattingInstruction: + description: Contains data or analytics formatting instructions. + type: object + properties: + consTrigNotif: + type: boolean + description: > + Indicates that notifications shall be buffered until the NF service consumer requests + their delivery. + reportingOptions: + $ref: '#/components/schemas/ReportingOptions' +# + ReportingOptions: + description: Represents reporting options for processed notifications. + type: object + oneOf: + - required: [notifyWindow] + - required: [notifyPeriod] + - required: [notifyPeriodInc] + - required: [depEventSubId] + properties: + notifyWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + notifyPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + notifyPeriodInc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + depEventSubId: + type: string + description: > + Notifications for the present subscription are sent only upon occurrence of events of the + subscription with identifier that matches this attribute. + minClubbedNotif: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + maxClubbedNotif: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' +# + ProcessingInstruction: + description: Contains instructions related to the processing of notifications. + type: object + required: + - eventId + - procInterval + properties: + eventId: + $ref: '#/components/schemas/DccfEvent' + procInterval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + paramProcInstructs: + type: array + items: + $ref: '#/components/schemas/ParameterProcessingInstruction' + minItems: 1 + description: > + List of event parameter names, and for each event parameter name, respective event + parameter values and sets of the attributes to be used in the summarized reports. + NotifyEndpoint: + description: The information of notification endpoint. + type: object + required: + - notifUri + properties: + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifCorrId: + type: string + description: Notification correlation identifier. + +# + DccfEvent: + description: > + Identifies the (event exposure or analytics) event that the processing instructions + shall apply to. Contains all event IDs related to DCCF. + type: object + oneOf: + - required: [nwdafEvent] + - required: [smfEvent] + - required: [amfEvent] + - required: [nefEvent] + - required: [afEvent] + - required: [sacEvent] + - required: [nrfEvent] + - required: [udmEvent] + - required: [gmlcEvent] + - required: [upfEvent] + properties: + nwdafEvent: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + smfEvent: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/SmfEvent' + amfEvent: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/AmfEventType' + nefEvent: + $ref: 'TS29591_Nnef_EventExposure.yaml#/components/schemas/NefEvent' + udmEvent: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/EventType' + afEvent: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEvent' + sacEvent: + $ref: 'TS29536_Nnsacf_SliceEventExposure.yaml#/components/schemas/SACEvent' + nrfEvent: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NotificationEventType' + gmlcEvent: + $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/EventNotifyDataType' + upfEvent: + $ref: 'TS29564_Nupf_EventExposure.yaml#/components/schemas/EventType' +# + ParameterProcessingInstruction: + description: > + Contains an event parameter name and the respective event parameter values and sets of + attributes to be used in summarized reports. + type: object + required: + - name + - values + - sumAttrs + properties: + name: + type: string + description: > + A JSON pointer value that references an attribute within the notification object to which + the processing instruction is applied. + values: + type: array + items: {} + minItems: 1 + description: A list of values for the attribute identified by the name attribute. + sumAttrs: + type: array + items: + $ref: '#/components/schemas/SummarizationAttribute' + minItems: 1 + description: Attributes requested to be used in the summarized reports. + aggrLevel: + $ref: '#/components/schemas/AggregationLevel' + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + description: Indicates the UEs for which processed reports are requested. + temporalAggrLevel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + areas: + type: array + items: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + minItems: 1 + description: Indicates the Areas of Interest for which processed reports are requested. +# + NotifSummaryReport: + description: Represents summarized notifications based on processing instructions. + type: object + required: + - eventId + - procInterval + - eventReports + properties: + eventId: + $ref: '#/components/schemas/DccfEvent' + procInterval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + eventReports: + type: array + items: + $ref: '#/components/schemas/EventParamReport' + minItems: 1 + description: List of event parameter reports. +# + EventParamReport: + description: Represents a summarized report for one event parameter. + type: object + required: + - name + - values + properties: + name: + type: string + description: The name of the reported parameter. + values: + type: array + items: {} + minItems: 1 + description: The list of values of the reported parameter. + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + area: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + spacing: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NumberAverage' + duration: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NumberAverage' + avgAndVar: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NumberAverage' + mostFreqVal: {} + leastFreqVal: {} + count: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minValue: + type: string + description: The minimum value of the parameter. + maxValue: + type: string + description: The maximum value of the parameter. +# + StorageHandlingInformation: + description: Contains storage handling information about data or analytics. + type: object + properties: + lifetime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + delNotifInd: + type: boolean + description: Indicates if deletion alerts are requested. +# + DeletionAlert: + description: Contains information about data or analytics that are about to be deleted. + type: object + properties: + alertStorTransId: + type: string + description: > + Storage transaction identifier that can be used to retrieve data or analytics. + required: + - alertStorTransId +# + NotifResponse: + description: > + Contains information about planned actions related to data or analytics + that are about to be deleted. + type: object + properties: + retrievalInd: + type: boolean + description: > + Indicates if the NF service consumer has determined to retrieve data + or analytics that are about to be deleted. + required: + - retrievalInd +# + SummarizationAttribute: + anyOf: + - type: string + enum: + - SPACING + - DURATION + - OCCURRENCES + - AVG_VAR + - FREQ_VAL + - MIN_MAX + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the attribute in the summarized report. + Possible values are: + - SPACING: Average and variance of the time interval separating two consecutive occurrences + of the same event and parameter value, or periodicity for periodic reporting. + - DURATION: Average and variance of the time for which the parameter value applies. + - OCCURRENCES: Number of countable occurrences for the parameter. + - AVG_VAR: Average and variance of the parameter. + - FREQ_VAL: Most and least frequent values. + - MIN_MAX: Maximum and minimum parameter values. +# + AggregationLevel: + anyOf: + - type: string + enum: + - UE + - AOI + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the aggregation level for processing instructions. + Possible values are: + - UE: Indicates that the summarized reports shall be provided per UE. + - AOI: Indicates that the summarized reports shall be provided per Area of Interest. +# + DataCollectionPurpose: + anyOf: + - type: string + enum: + - ANALYTICS_GENERATION + - MODEL_TRAINING + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration but + is not used to encode content defined in the present version of this API. + description: | + Represents the purpose for data collection. + Possible values are: + - ANALYTICS_GENERATION: The data is collected for generating the analytics. + - MODEL_TRAINING: The data is collected for ML model training. + +# + TermCause: + anyOf: + - type: string + enum: + - USER_CONSENT_REVOKED + - DCCF_OVERLOAD + - OTHER + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the cause for the subscription termination request by DCCF for data collection. + Possible values are: + - USER_CONSENT_REVOKED: The user consent has been revoked. + - DCCF_OVERLOAD: The DCCF is overloaded. + - OTHER: Indicates that the termination is due to other reason. diff --git a/TS29575_Nadrf_DataManagement.yaml b/TS29575_Nadrf_DataManagement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c01090149babc44210161c811f2c113d2dcbe321 --- /dev/null +++ b/TS29575_Nadrf_DataManagement.yaml @@ -0,0 +1,927 @@ +openapi: 3.0.0 +info: + version: 1.1.0-alpha.5 + title: Nadrf_DataManagement + description: | + ADRF Data Management Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.575 V18.4.0; 5G System; Analytics Data Repository Services; Stage 3. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.575/' +# +servers: + - url: '{apiRoot}/nadrf-datamanagement/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. +# +security: + - oAuth2ClientCredentials: + - nadrf-datamanagement + - {} +# +paths: + /data-store-records: + post: + summary: Creates a new Individual Data Store Record resource. + operationId: CreateADRFDataStoreRecord + tags: + - ADRF Data Store Records (Collection) + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfDataStoreRecord' + required: true + description: ADRF data store record to be stored. + responses: + '201': + description: Successful creation of new Individual ADRF Data Store Record resource. + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nadrf-datamanagement//data-store-records/{storeTransId} + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfDataStoreRecord' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + storageAlertNotification: + '{$request.body#/delNotifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfAlertNotification' + responses: + '200': + description: The alert receipt is acknowledged and a planned action is provided. + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfAlertNotificationResponse' + '204': + description: The alert receipt is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Retrieves existing Individual ADRF Data Store Records. + operationId: GetAdrfDataStoreRecords + tags: + - ADRF Data Store Records (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nnadrf-datamanagement + - oAuth2ClientCredentials: + - nnadrf-datamanagement + - nnadrf-datamanagement:storagerequest + parameters: + - name: store-trans-id + description: A storage transaction identifier of a data store record in ADRF. + in: query + required: false + schema: + type: string + - name: fetch-correlation-ids + description: Fetch correlation identifiers received as part of fetch instruction. + in: query + required: false + style: form + explode: false + schema: + type: array + items: + type: string + minItems: 1 + - name: data-set-id + description: The data set identifier. + in: query + required: false + schema: + type: string + responses: + '200': + description: Data store records are returned. + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfDataStoreRecord' + '204': + description: No matching ADRF data were found. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /data-store-records/{storeTransId}: + delete: + summary: Delete an existing Individual ADRF Data Store Record. + operationId: DeleteADRFDataStoreRecord + tags: + - Individual ADRF Data Store Record (Document) + parameters: + - name: storeTransId + in: path + description: String identifying a Data Store Record in ADRF. + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual ADRF Data Store Record resource matching the + storeTransId was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /data-retrieval-subscriptions: + post: + summary: Creates a new Individual ADRF Data Retrieval Subscription resource. + operationId: CreateADRFDataRetrievalSubscription + tags: + - ADRF Data Retrieval Subscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nnadrf-datamanagement + - oAuth2ClientCredentials: + - nnadrf-datamanagement + - nnadrf-datamanagement:storagerequest + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfDataRetrievalSubscription' + required: true + description: Individual ADRF Data Retrieval Subscription resource to be created. + responses: + '201': + description: Created a new Individual ADRF Data Retrieval Subscription resource. + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nadrf-datamanagement//data-retrieval-subscriptions/{subscriptionId} + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfDataRetrievalSubscription' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + adrfDataRetrievalNotification: + '{$request.body#/notificationURI}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfDataRetrievalNotification' + responses: + '204': + description: The receipt of the Notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /data-retrieval-subscriptions/{subscriptionId}: + delete: + summary: Delete an existing Individual ADRF Data Retrieval Subscription resource. + operationId: DeleteADRFDataRetrievalSubscription + tags: + - Individual ADRF Data Retrieval Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nnadrf-datamanagement + - oAuth2ClientCredentials: + - nnadrf-datamanagement + - nnadrf-datamanagement:storagerequest + parameters: + - name: subscriptionId + in: path + description: > + String identifying a data retrieval subscription to the Nadrf_DataManagement + Service. + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual ADRF Data Retrieval Subscription resource matching + the subscriptionId was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /request-storage-sub: + post: + summary: Triggers the creation of a new ADRF Storage Subscription. + operationId: CreateADRFStorageSubscription + tags: + - ADRF Storage Subscriptions + security: + - {} + - oAuth2ClientCredentials: + - nnadrf-datamanagement + - oAuth2ClientCredentials: + - nnadrf-datamanagement + - nnadrf-datamanagement:storagerequest + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfDataStoreSubscription' + required: true + responses: + '200': + description: > + Successful response with reference used to identify the subscription at the ADRF. + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfDataStoreSubscriptionRef' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + storageSubAlertNotification: + '{$request.body#/delNotifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfAlertNotification' + responses: + '200': + description: The alert receipt is acknowledged and a planned action is provided. + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfAlertNotificationResponse' + '204': + description: The alert receipt is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /request-storage-sub-removal: + post: + summary: Triggers the removal of ADRF storage subscription. + operationId: DeleteADRFStorageSubscription + tags: + - ADRF Storage Subscriptions + security: + - {} + - oAuth2ClientCredentials: + - nnadrf-datamanagement + - oAuth2ClientCredentials: + - nnadrf-datamanagement + - nnadrf-datamanagement:storagerequest + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfDataStoreSubscriptionRef' + required: true + responses: + '204': + description: > + No Content. The ADRF Storage Subscription matching the provided reference was deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /remove-stored-data-analytics: + post: + summary: Remove ADRF data based on data or analytics specification. + operationId: DeleteADRFData + tags: + - ADRF Stored Data + security: + - {} + - oAuth2ClientCredentials: + - nnadrf-datamanagement + - oAuth2ClientCredentials: + - nnadrf-datamanagement + - nnadrf-datamanagement:storagerequest + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfStoredDataSpec' + required: true + responses: + '204': + description: No Content. The ADRF data matching the provided specification is deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nadrf-datamanagement: Access to the nadrf-datamanagement API +# + schemas: +# + NadrfDataStoreRecord: + description: Represents an Individual ADRF Data Store Record. + type: object + oneOf: + - allOf: + - required: [anaSub] + - required: [anaNotifications] + - allOf: + - required: [dataSub] + - required: [dataNotif] + properties: + dataNotif: + $ref: '#/components/schemas/DataNotification' + anaNotifications: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscriptionNotification' + minItems: 1 + description: List of analytics subscription notifications. + anaSub: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscription' + minItems: 1 + description: > + Represents the subscription information of the corresponding analytics notification. + dataSub: + type: array + items: + $ref: '#/components/schemas/DataSubscription' + minItems: 1 + description: > + Represents the subscription information of the corresponding data notification. + storeHandl: + $ref: '#/components/schemas/StorageHandlingInfo' + dataSetTag: + $ref: '#/components/schemas/DataSetTag' + dsc: + type: string + description: Data synthesis and compression information. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' +# + NadrfDataStoreSubscription: + description: > + Contains information to be used by the ADRF to create a Data or Analytics subscription. + type: object + allOf: + - oneOf: + - required: [anaSub] + - required: [dataSub] + - oneOf: + - required: [targetNfId] + - required: [targetNfSetId] + properties: + anaSub: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscription' + dataSetTag: + $ref: '#/components/schemas/DataSetTag' + dataSub: + $ref: '#/components/schemas/DataSubscription' + targetNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + targetNfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + formatInstruct: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/FormattingInstruction' + procInstruct: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/ProcessingInstruction' + multiProcInstructs: + type: array + items: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/ProcessingInstruction' + minItems: 1 + description: Processing instructions to be used for sending event notifications. + storeHandl: + $ref: '#/components/schemas/StorageHandlingInfo' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' +# + NadrfDataRetrievalSubscription: + description: Represents an Individual ADRF Data Retrieval Subscription. + type: object + required: + - notifCorrId + - notificationURI + - timePeriod + oneOf: + - required: [anaSub] + - required: [dataSub] + - required: [dataSetId] + properties: + anaSub: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscription' + dataSetId: + type: string + description: data set identifier of the data or analytics that are subscribed. + dataSub: + $ref: '#/components/schemas/DataSubscription' + notificationURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + timePeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + notifCorrId: + type: string + description: Notification correlation identifier. + consTrigNotif: + type: boolean + description: > + It indicates that notifications shall be buffered (sending only fetch instructions + to the NF service consumer) until the NF service consumer requests their delivery + using Nadrf_DataManagement Service. + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' +# + NadrfDataRetrievalNotification: + description: > + Represents a notification that corresponds with an Individual ADRF Data + Retrieval Subscription. + type: object + required: + - notifCorrId + - timeStamp + oneOf: + - required: [anaNotifications] + - required: [dataNotif] + - required: [fetchInstruct] + properties: + notifCorrId: + type: string + description: Notification correlation identifier. + anaNotifications: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscriptionNotification' + minItems: 1 + description: List of analytics subscription notifications. + dataNotif: + $ref: '#/components/schemas/DataNotification' + fetchInstruct: + $ref: 'TS29576_Nmfaf_3caDataManagement.yaml#/components/schemas/FetchInstruction'# + terminationReq: + type: boolean + description: > + It indicates the termination of the data management subscription that requested by the + ADRF. + dsc: + type: string + description: Data synthesis and compression information. + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' +# + NadrfDataStoreSubscriptionRef: + description: Contains a reference to a request for a Data or Analytics subscription. + type: object + oneOf: + - required: [transRefId] + - required: [dataSetId] + properties: + transRefId: + type: string + description: Transaction reference identifier. + dataSetId: + type: string + description: data set identifier of data or analytics. +# + NadrfStoredDataSpec: + description: Contains information about Data or Analytics specification. + type: object + required: + - timePeriod + oneOf: + - required: [dataSpec] + - required: [anaSpec] + - required: [dataSetId] + properties: + dataSpec: + $ref: '#/components/schemas/DataSubscription' + anaSpec: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscription' + timePeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + dataSetId: + type: string + description: Data set identifier of stored data or analytics records. +# + DataSubscription: + description: Contains a data specification. + type: object + oneOf: + - required: [amfDataSub] + - required: [smfDataSub] + - required: [udmDataSub] + - required: [nefDataSub] + - required: [afDataSub] + - required: [nrfDataSub] + - required: [nsacfDataSub] + - required: [upfDataSub] + - required: [gmlcDataSub] + properties: + amfDataSub: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/AmfEventSubscription' + smfDataSub: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/NsmfEventExposure' + udmDataSub: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/EeSubscription' + afDataSub: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEventExposureSubsc' + nefDataSub: + $ref: 'TS29591_Nnef_EventExposure.yaml#/components/schemas/NefEventExposureSubsc' + nrfDataSub: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SubscriptionData' + nsacfDataSub: + $ref: 'TS29536_Nnsacf_SliceEventExposure.yaml#/components/schemas/SACEventSubscription' + upfDataSub: + $ref: 'TS29564_Nupf_EventExposure.yaml#/components/schemas/UpfEventSubscription' + gmlcDataSub: + $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/InputData' +# + DataNotification: + description: Represents a Data Subscription Notification. + type: object + oneOf: + - required: [amfEventNotifs] + - required: [smfEventNotifs] + - required: [udmEventNotifs] + - required: [nefEventNotifs] + - required: [afEventNotifs] + - required: [nrfEventNotifs] + - required: [nsacfEventNotifs] + - required: [upfEventNotifs] + - required: [gmlcEventNotifs] + properties: + amfEventNotifs: + type: array + items: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/AmfEventNotification' + minItems: 1 + description: List of notifications of AMF events. + smfEventNotifs: + type: array + items: + $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/NsmfEventExposureNotification' + minItems: 1 + description: List of notifications of SMF events. + udmEventNotifs: + type: array + items: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/MonitoringReport' + minItems: 1 + description: List of notifications of UDM events. + nefEventNotifs: + type: array + items: + $ref: 'TS29591_Nnef_EventExposure.yaml#/components/schemas/NefEventExposureNotif' + minItems: 1 + description: List of notifications of NEF events. + afEventNotifs: + type: array + items: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEventExposureNotif' + minItems: 1 + description: List of notifications of AF events. + nrfEventNotifs: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NotificationData' + minItems: 1 + description: List of notifications of NRF events. + nsacfEventNotifs: + type: array + items: + $ref: 'TS29536_Nnsacf_SliceEventExposure.yaml#/components/schemas/SACEventReport' + minItems: 1 + description: List of notifications of NSACF events. + upfEventNotifs: + type: array + items: + $ref: 'TS29564_Nupf_EventExposure.yaml#/components/schemas/NotificationData' + minItems: 1 + description: List of notifications of UPF events. + gmlcEventNotifs: + type: array + items: + $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/EventNotifyData' + minItems: 1 + description: List of notifications of GMLC events. + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + +# + StorageHandlingInfo: + description: Contains storage handling information about data or analytics. + type: object + properties: + lifetime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + delNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + delNotifCorrId: + type: string + description: Notification correlation identifier for deletion alerts. +# + NadrfAlertNotification: + description: Contains information about data or analytics that are about to be deleted. + type: object + properties: + alertStorTransId: + type: string + description: > + Storage transaction identifier that can be used to retrieve data or analytics. + delNotifCorrId: + type: string + description: Notification correlation identifier. + required: + - alertStorTransId + - delNotifCorrId +# + NadrfAlertNotificationResponse: + description: > + Contains information about planned actions related to data or analytics + that are about to be deleted. + type: object + properties: + retrievalInd: + type: boolean + description: > + Indicates if the NF service consumer has determined to retrieve the data + or analytics that are about to be deleted. + required: + - retrievalInd +# + DataSetTag: + description: Contains an identifier and a description of associated records. + type: object + required: + - dataSetId + properties: + dataSetId: + type: string + description: Data set identifier of data or analytics records. + dataSetDesc: + type: string + description: Data set description of data or analytics records. +# diff --git a/TS29575_Nadrf_MLModelManagement.yaml b/TS29575_Nadrf_MLModelManagement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..eb594d700a83e9e488ce42c24aa6e5b2f0b04dc8 --- /dev/null +++ b/TS29575_Nadrf_MLModelManagement.yaml @@ -0,0 +1,380 @@ +openapi: 3.0.0 +info: + version: 1.0.0-alpha.2 + title: Nadrf_MLModelManagement + description: | + ADRF ML Model Management Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.575 V18.4.0; 5G System; Analytics Data Repository Services; Stage 3. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.575/' +# +servers: + - url: '{apiRoot}/nadrf-mlmodelmanagement/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. +# +security: + - {} + - oAuth2ClientCredentials: + - nadrf-mlmodelmanagement +# +paths: + /mlmodel-store-records: + post: + summary: Creates a new Individual ADRF ML Model Store Record resource. + operationId: CreateADRFMLModelStoreRecord + tags: + - ADRF ML Model Store Records (Collection) + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfMLModelStoreRecord' + required: true + description: ADRF ML model store record to be stored. + responses: + '201': + description: Successful creation of new Individual ADRF ML Model Store Record resource. + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nadrf-mlmodelmanagement//mlmodel-store-records/{storeTransId} + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfMLModelStoreRecord' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Retrieves existing Individual ADRF ML Model Store Record. + operationId: GetAdrfMLModelStoreRecord + tags: + - ADRF ML Model Store Records (Collection) + parameters: + - name: store-trans-id + description: A storage transaction identifier of a ML model store record in ADRF. + in: query + required: false + schema: + type: string + - name: modelUniqueId + description: Unique Model identifier of a ML model. + in: query + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + responses: + '200': + description: ML model store records are returned. + content: + application/json: + schema: + $ref: '#/components/schemas/NadrfMLModelStoreRecord' + '204': + description: No matching ADRF ML Model were found. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /mlmodel-store-records/{storeTransId}: + delete: + summary: Delete an existing Individual ADRF ML Model Store Record. + operationId: DeleteADRFMLModelStoreRecord + tags: + - Individual ADRF ML Model Store Record (Document) + parameters: + - name: storeTransId + in: path + description: String identifying a ML Model Store Record in ADRF. + required: true + schema: + type: string + responses: + '200': + description: > + Attempted to remove ML model(s) in the Individual ADRF ML Model Store Record resource. + The result is returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MLModelDelResult' + minItems: 1 + '204': + description: > + No Content. The Individual ADRF ML Model Store Record resource matching the + storeTransId was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /remove-stored-mlmodel: + post: + summary: Remove stored ML model based on unique ML model identifier. + operationId: DeleteADRFMLModel + tags: + - ADRF Stored ML Model + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NadrfMLModelStoreRecord' + minItems: 1 + required: true + responses: + '200': + description: > + The ADRF ML model matching the provided unique ML model identifier + was attempted to be deleted. The result is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MLModelDelResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nadrf-mlmodelmanagement: Access to the nadrf-mlmodelmanagement API +# + schemas: +# + NadrfMLModelStoreRecord: + description: Represents an Individual ADRF ML Model Store Record. + type: object + allOf: + - oneOf: + - required: [nfInstanceId] + - required: [nfSetId] + - anyOf: + - required: [mlModelIdnfo] + - required: [mlModels] + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + mlModelInfo: + type: array + items: + $ref: '#/components/schemas/MLModelInfo' + minItems: 1 + description: List of ML Model Information. + mlModels: + type: array + items: + $ref: '#/components/schemas/MLModel' + minItems: 1 + description: Represents ML Model(s). + modelStoreResult: + $ref: '#/components/schemas/ModelStoreResult' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' +# + MLModelInfo: + description: Represents informatiom of the ML Model. + type: object + allOf: + - required: [modelUniqueId] + - required: [mlFileAddr] + - required: [mlStorageSize] + properties: + modelUniqueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + mlFileAddr: + $ref: 'TS29520_Nnwdaf_MLModelProvision.yaml#/components/schemas/MLModelAddr' + mlStorageSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + allowConsumerList: + type: array + items: + $ref: '#/components/schemas/AllowedConsumer' + minItems: 1 + description: The allowed consumer list of the ML Model. +# + AllowedConsumer: + description: Represents informatiom of the allowed consumer list of the ML Model. + type: object + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + oneOf: + - required: [nfInstanceId] + - required: [nfSetId] +# + MLModelDelResult: + description: Represents informatiom of the ML Model. + type: object + allOf: + - required: [modelUniqueId] + - required: [DeleteResult] + properties: + modelUniqueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + deleteResult: + $ref: '#/components/schemas/DeleteResult' +# + MLModel: + description: Represents an ML Model. + type: object + allOf: + - required: [modelUniqueId] + - required: [mlModel] + properties: + modelUniqueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + mlModel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Binary' +# + ModelStoreResult: + description: Contains information about ML Model storage result. + type: object + allOf: + - required: [modelUniqueId] + - required: [storeResult] + properties: + modelUniqueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + storeResult: + $ref: '#/components/schemas/StoreResult' +# +# ENUMERATIONS DATA TYPES +# + DeleteResult: + anyOf: + - type: string + enum: + - ML_MODEL_DELETED + - ML_MODEL_NOT_FOUND + - ML_MODEL_FOUND_BUT_NOT_DELETED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the store result type. + Possible values are: + - ML_MODEL_DELETED: Indicates that the ML model was deleted in ADRF. + - ML_MODEL_FILE_ADDRESS_NOT_FOUND: Indicates that the ML model was not found in ADRF. + - ML_MODEL_FOUND_BUT_NOT_DELETED: Indicates that the ML model was found in ADRF but not deleted. + +# + StoreResult: + anyOf: + - type: string + enum: + - ML_MODEL_FILE_STORED_IN_ADRF + - ML_MODEL_FILE_ADDRESS_NOT_FOUND + - ML_MODEL_FILE_DOWNLOAD_FAILED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the store result type. + Possible values are: + - ML_MODEL_FILE_STORED_IN_ADRF: Indicates that the ML model was successfully stored in ADRF. + - ML_MODEL_FILE_ADDRESS_NOT_FOUND: Indicates that the ML model file address was not found. + - ML_MODEL_FILE_DOWNLOAD_FAILED: Indicates that the download of the ML model file failed. diff --git a/TS29576_Nmfaf_3caDataManagement.yaml b/TS29576_Nmfaf_3caDataManagement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1c19ee3401eee64750b606c630a556fe36cb1686 --- /dev/null +++ b/TS29576_Nmfaf_3caDataManagement.yaml @@ -0,0 +1,200 @@ +openapi: 3.0.0 + +info: + version: 1.1.0-alpha.2 + title: Nmfaf_3caDataManagement + description: | + MFAF 3GPP Consumer Adaptor (3CA) Data Management Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.576 V18.2.0; 5G System; Messaging Framework Adaptor Services; Stage 3. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.576/' + +servers: + - url: '{apiRoot}/nmfaf-3cadatamanagement/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nmfaf-3cadatamanagement + - {} + +paths: + /mfaf-data-analytics: + post: + # This is a pseudo operation, clients shall NOT invoke this method! + requestBody: + required: true + content: + application/json: + # Unspecified schema for the JSON body, since this is used by neither the NF service consumer nor the MFAF. + schema: {} + responses: + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + Notification: + '{notificationURI}': + # The URI in {notificationURI} is obtained out of band by the MFAF, i.e. it is provided via the Nmfaf-3daDataManagement API during the configuration for mapping data or analytics. + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NmfafDataRetrievalNotification' + responses: + '204': + description: The receipt of the Notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + Fetch: + '{request.body#/fetchInstruction/fetchUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: string + minItems: 1 + description: Indicate the fetch correlation identifier. + responses: + '200': + description: Expected response to a valid request. + content: + application/json: + schema: + $ref: '#/components/schemas/NmfafDataAnaNotification' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nmfaf-3cadatamanagement: Access to the nmfaf-3cadatamanagement API + + schemas: + NmfafDataRetrievalNotification: + description: > + Represents the data or analytics or notification of availability of data or analytics + to notification endpoints. + type: object + required: + - correId + oneOf: + - required: [dataAnaNotif] + - required: [fetchInstruction] + properties: + correId: + type: string + description: > + Represents the Analytics Consumer Notification Correlation ID + or Data Consumer Notification Correlation ID. It shall be set to the same + value as the "correId" attribute of MessageConfiguration data type. + dataAnaNotif: + $ref: '#/components/schemas/NmfafDataAnaNotification' + fetchInstruction: + $ref: '#/components/schemas/FetchInstruction' + + FetchInstruction: + description: > + The fetch instructions indicate whether the data or analytics are to be fetched by the + consumer. + type: object + required: + - fetchUri + - fetchCorrIds + properties: + fetchUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + fetchCorrIds: + type: array + items: + type: string + minItems: 1 + description: The fetch correlation identifier(s) of the MFAF Data or Analytics. + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + NmfafDataAnaNotification: + description: MFAF data or analytics. + type: object + oneOf: + - required: [anaNotifications] + - required: [dataNotif] + properties: + anaNotifications: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscriptionNotification' + minItems: 1 + description: List of analytics subscription notifications. + dataNotif: + $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataNotification' diff --git a/TS29576_Nmfaf_3daDataManagement.yaml b/TS29576_Nmfaf_3daDataManagement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1fc4a4df320376db2161d8ee1f5fdfbcd8ba4825 --- /dev/null +++ b/TS29576_Nmfaf_3daDataManagement.yaml @@ -0,0 +1,246 @@ +openapi: 3.0.0 +info: + version: 1.1.0-alpha.2 + title: Nmfaf_3daDataManagement + description: | + MFAF 3GPP DCCF Adaptor (3DA) Data Management Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.576 V18.1.0; 5G System; Messaging Framework Adaptor Services; Stage 3. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.576/' +servers: + - url: '{apiRoot}/nmfaf-3dadatamanagement/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. +security: + - oAuth2ClientCredentials: + - nmfaf-3dadatamanagement + - {} +paths: + /configurations: + post: + summary: Creates a new Individual MFAF Configuration resource. + operationId: CreateMFAFConfiguration + tags: + - MFAF Configuration(Collection) + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MfafConfiguration' + required: true + description: > + Contains the information for the creation of a new Individual MFAF + Configuration resource. + responses: + '201': + description: Successful creation of new Individual MFAF Configuration resource. + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nmfaf-3dadatamanagement//configurations/{transRefId} + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/MfafConfiguration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /configurations/{transRefId}: + put: + summary: Updates an existing Individual MFAF Configuration resource. + operationId: UpdateMFAFConfiguration + tags: + - Individual MFAF Configuration (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MfafConfiguration' + parameters: + - name: transRefId + in: path + description: Unique identifier of the individual MFAF Configurations resource. + required: true + schema: + type: string + responses: + '200': + description: The updated MFAF Configuration resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MfafConfiguration' + '204': + description: The Individual MFAF Configuration resource was modified successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes an existing Individual MFAF Configuration resource. + operationId: DeleteMFAFConfiguration + tags: + - Individual MFAF Configuration (Document) + parameters: + - name: transRefId + in: path + description: Unique identifier of the individual MFAF Configurations resource. + required: true + schema: + type: string + responses: + '204': + description: > + No Content. The Individual MFAF Configuration resource matching + the transRefId was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nmfaf-3dadatamanagement: Access to the nmfaf-3dadatamanagement API + schemas: + MfafConfiguration: + description: Represents an Individual MFAF Configuration. + type: object + required: + - messageConfigurations + properties: + messageConfigurations: + type: array + items: + $ref: '#/components/schemas/MessageConfiguration' + minItems: 1 + description: The configuration of the MFAF for mapping data or analytics. + MessageConfiguration: + description: Represents the message configuration. + type: object + required: + - notificationURI + - correId + properties: + correId: + type: string + description: > + If the configuration is used for mapping analytics or data collection, + representing the Analytics Consumer Notification Correlation ID or + Data Consumer Notification Correlation ID. + formatInstruct: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/FormattingInstruction' + mfafNotiInfo: + $ref: '#/components/schemas/MfafNotiInfo' + notificationURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifEndpoints: + type: array + items: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/NotifyEndpoint' + minItems: 1 + description: The information of notification endpoints. + procInstruct: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/ProcessingInstruction' + multiProcInstructs: + type: array + items: + $ref: 'TS29574_Ndccf_DataManagement.yaml#/components/schemas/ProcessingInstruction' + minItems: 1 + description: Processing instructions to be used for sending event notifications. + adrfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + MfafNotiInfo: + description: > + The MFAF notification information. It shall be provided in a response message + if it had not been provided in the respective request message. + type: object + required: + - mfafNotifUri + - mfafCorreId + properties: + mfafNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + mfafCorreId: + type: string diff --git a/TS29577_Nipsmgw_SMService.yaml b/TS29577_Nipsmgw_SMService.yaml new file mode 100644 index 0000000000000000000000000000000000000000..08f610ad429af4b81372ab3e35bbc8539cf6b4bf --- /dev/null +++ b/TS29577_Nipsmgw_SMService.yaml @@ -0,0 +1,259 @@ +openapi: 3.0.0 + +info: + version: '1.1.0-alpha.2' + title: 'Nipsmgw_SMService Service API' + description: | + IP-SM-GW SMService. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.577 V18.1.0; 5G System; IP Short Message Gateway and SMS Router For Short Message Services; Stage 3 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.577/' + +security: + - oAuth2ClientCredentials: + - nipsmgw-smservice + - {} + +servers: + - url: '{apiRoot}/nipsmgw-smservice/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +paths: + /mt-sm-infos/{gpsi}: + put: + summary: Create the routing information for a given UE + operationId: RoutingInfo + tags: + - Creation of Routing Info + security: + - {} + - oAuth2ClientCredentials: + - nipsmgw_smservice + - oAuth2ClientCredentials: + - nipsmgw_smservice + - nipsmgw_smservice:mtsminfos:write + parameters: + - name: gpsi + in: path + required: true + description: Generic Public Subscription Identifier (GPSI) + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateRoutingData' + required: true + responses: + '201': + description: Routing Information is created in IP-SM-GW + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedRoutingData' + headers: + Location: + description: > + 'Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nipsmgw-smservice//mt-sm-infos/{gpsi}' + required: true + schema: + type: string + '200': + description: Routing Information is updated in IP-SM-GW + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedRoutingData' + '204': + description: Routing Information is updated in IP-SM-GW + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /mt-sm-infos/{gpsi}/sendsms: + post: + summary: Send SMS payload for a given UE + operationId: SendSMS + tags: + - Send MT SMS message and the delivery report + security: + - {} + - oAuth2ClientCredentials: + - nipsmgw_smservice + - oAuth2ClientCredentials: + - nipsmgw_smservice + - nipsmgw_smservice:sendsms:invoke + parameters: + - name: gpsi + in: path + required: true + description: Generic Public Subscription Identifier (GPSI) + schema: + type: string + requestBody: + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/SmsData' + binaryPayload: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryPayload: + contentType: application/vnd.3gpp.sms + headers: + Content-Id: + schema: + type: string + required: true + responses: + '200': + description: sending delivery report + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/SmsDeliveryData' + binaryPayload: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryPayload: + contentType: application/vnd.3gpp.sms + headers: + Content-Id: + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nipsmgw-smservice: Access to the nipsmgw-smservice API + nipsmgw-smservice:mtsminfos:write: Access to write MT SM Infos + nipsmgw-smservice:sendsms:invoke: Access to invoke Send SMS + + schemas: + + CreateRoutingData: + description: Information used for creating or updating the routing information of the user. + type: object + required: + - smsfId + properties: + smsfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + CreatedRoutingData: + description: Information used for receiving the MT SMS. + type: object + properties: + ipsmgwIpv4: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipsmgwIpv6: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + ipsmgwFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + correlationId: + type: string + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + SmsData: + description: Information within request message for delivering SMS. + type: object + required: + - smsPayload + properties: + smsPayload: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + + SmsDeliveryData: + description: > + Information within response message invoking MtForwardSm service operation, for delivering + MT SMS Delivery Report. + type: object + required: + - smsPayload + properties: + smsPayload: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' diff --git a/TS29577_Nrouter_SMService.yaml b/TS29577_Nrouter_SMService.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ff4db1982cf205cadaf382bc1aa002c9ff4abfd2 --- /dev/null +++ b/TS29577_Nrouter_SMService.yaml @@ -0,0 +1,224 @@ +openapi: 3.0.0 + +info: + version: '1.1.0-alpha.2' + title: 'Nrouter_SMService Service API' + description: | + SMS Router SMService. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.577 V18.1.0; 5G System; IP Short Message Gateway and SMS Router For Short Message Services; Stage 3 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.577/' + +security: + - oAuth2ClientCredentials: + - nrouter-smservice + - {} + +servers: + - url: '{apiRoot}/nrouter-smservice/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +paths: + /mt-sm-infos/{gpsi}: + put: + summary: Create the routing information for a given UE + operationId: RoutingInfo + tags: + - Creation of Routing Info + security: + - {} + - oAuth2ClientCredentials: + - nrouter_smservice + - oAuth2ClientCredentials: + - nrouter_smservice + - nrouter_smservice:mtsminfos:write + parameters: + - name: gpsi + in: path + required: true + description: Generic Public Subscription Identifier (GPSI) + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: 'TS29577_Nipsmgw_SMService.yaml#/components/schemas/CreateRoutingData' + required: true + responses: + '201': + description: Routing Information is created in SMS Router + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedRoutingData' + headers: + Location: + description: > + 'Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nrouter-smservice//mt-sm-infos/{gpsi}' + required: true + schema: + type: string + '200': + description: Routing Information is updated in SMS Router + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedRoutingData' + '204': + description: Routing Information is updated in SMS Router + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /mt-sm-infos/{gpsi}/sendsms: + post: + summary: Send SMS payload for a given UE + operationId: SendSMS + tags: + - Send MT SMS message and the delivery report + security: + - {} + - oAuth2ClientCredentials: + - nrouter_smservice + - oAuth2ClientCredentials: + - nrouter_smservice + - nrouter_smservice:sendsms:invoke + parameters: + - name: gpsi + in: path + required: true + description: Generic Public Subscription Identifier (GPSI) + schema: + type: string + requestBody: + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: 'TS29577_Nipsmgw_SMService.yaml#/components/schemas/SmsData' + binaryPayload: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryPayload: + contentType: application/vnd.3gpp.sms + headers: + Content-Id: + schema: + type: string + required: true + responses: + '200': + description: sending delivery report + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: 'TS29577_Nipsmgw_SMService.yaml#/components/schemas/SmsDeliveryData' + binaryPayload: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryPayload: + contentType: application/vnd.3gpp.sms + headers: + Content-Id: + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nrouter-smservice: Access to the nrouter-smservice API + nrouter-smservice:mtsminfos:write: Access to write MT SM Infos + nrouter-smservice:sendsms:invoke: Access to invoke Send SMS + + schemas: + + CreatedRoutingData: + description: Information used for receiving the MT SMS. + type: object + properties: + routerIpv4: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + routerIpv6: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + routerFqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' diff --git a/TS29578_Nmnpf_NPStatus.yaml b/TS29578_Nmnpf_NPStatus.yaml new file mode 100644 index 0000000000000000000000000000000000000000..29dcbb45655ab22f28ec82fdf1745db7228aed38 --- /dev/null +++ b/TS29578_Nmnpf_NPStatus.yaml @@ -0,0 +1,96 @@ +openapi: 3.0.0 +info: + title: 'Nmnpf_NPStatus' + version: '1.1.0-alpha.1' + description: | + Nmnpf Number Portability Status Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.578 V18.0.0; Mobile Number Portability Services. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.578/ +servers: + - url: '{apiRoot}/nmnpf-npstatus/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - nmnpf-npstatus + +paths: + /{gpsi}: + get: + summary: Retrieves the Number Portability status of the UE + operationId: GetNumberPortabilityStatus + tags: + - Number Portability Status (Document) + parameters: + - name: gpsi + in: path + description: GPSI of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/NpStatusInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: GPSI Not Found + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nmnpf-npstatus: Access to the nmnpf-npstatus API + schemas: + +# COMPLEX TYPES: + + NpStatusInfo: + description: Contains the Subscription Network + type: object + required: + - subscriptionNetwork + properties: + subscriptionNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + +# SIMPLE TYPES: + + + +# ENUMS: diff --git a/TS29579_Niwmsc_SMService.yaml b/TS29579_Niwmsc_SMService.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e4a15b2c8cf579f0f484dca4b84bbacad7ae5879 --- /dev/null +++ b/TS29579_Niwmsc_SMService.yaml @@ -0,0 +1,155 @@ +openapi: 3.0.0 +info: + title: 'Niwmsc_SMService' + version: '1.1.0-alpha.2' + description: | + SMS-IWMSC Short Message Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.579 V18.1.0; 5G System; SMS Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.579/ + +servers: + - url: '{apiRoot}/niwmsc-smservice/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - oAuth2ClientCredentials: + - niwmsc-smservice + - {} + +paths: + /mo-sm-infos/{supi}/sendsms: + post: + summary: Send SMS payload for a given UE + operationId: SendSMS + tags: + - Send MO SMS message and the delivery report + parameters: + - name: supi + in: path + required: true + description: Subscription Permanent Identifier (SUPI) + schema: + type: string + requestBody: + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/SmsData' + binaryPayload: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryPayload: + contentType: application/vnd.3gpp.sms + headers: + Content-Id: + schema: + type: string + required: true + responses: + '200': + description: sending delivery report + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/SmsDeliveryData' + binaryPayload: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryPayload: + contentType: application/vnd.3gpp.sms + headers: + Content-Id: + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + niwmsc-smservice: Access to the niwmsc-smservice API + + schemas: + + SmsData: + description: > + Information within resquest message invoking MoForwardSm service operation, + for delivering MO SMS. + type: object + required: + - smsPayload + properties: + smsPayload: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + + SmsDeliveryData: + description: > + Information within response message invoking MoForwardSm service operation, + for delivering MO SMS Delivery Report. + type: object + required: + - smsPayload + properties: + smsPayload: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + +# COMPLEX TYPES: + + + +# SIMPLE TYPES: + + + +# ENUMS: diff --git a/TS29580_Nmbsf_MBSUserDataIngestSession.yaml b/TS29580_Nmbsf_MBSUserDataIngestSession.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4e348f11f37b3217e88f061c5832a426b6959565 --- /dev/null +++ b/TS29580_Nmbsf_MBSUserDataIngestSession.yaml @@ -0,0 +1,1115 @@ +openapi: 3.0.0 + +info: + title: nmbsf-mbs-ud-ingest + version: 1.1.0-alpha.5 + description: | + API for MBS User Data Ingest Session Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.580 V18.4.0; 5G System; Multicast/Broadcast Service Function Services. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.580/' + +servers: + - url: '{apiRoot}/nmbsf-mbs-ud-ingest/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: [] + +paths: + /sessions: + get: + summary: Retrieve all the active MBS User Data Ingest Sessions managed by the MBSF. + tags: + - MBS User Data Ingest Sessions (Collection) + operationId: RetrieveMBSUserDataIngSessions + responses: + '200': + description: > + OK. All the active MBS User Data Ingest Sessions managed by the MBSF are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MBSUserDataIngSession' + minItems: 0 + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + post: + summary: Request the creation of a new MBS User Data Ingest Session. + tags: + - MBS User Data Ingest Sessions (Collection) + operationId: CreateMBSUserDataIngSession + requestBody: + description: > + Contains the parameters to request the creation of a new MBS User Data Ingest Session + at the MBSF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserDataIngSession' + responses: + '201': + description: > + Created. A new MBS User Data Ingest Session is successfully created and a representation + of the created Individual MBS User Data Ingest Session resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserDataIngSession' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nmbs-mbs-ud-ingest/v1/sessions/{sessionId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + + /sessions/{sessionId}: + parameters: + - name: sessionId + in: path + description: Identifier of the Individual MBS User Data Ingest Session resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual MBS User Data Ingest Session resource. + tags: + - Individual MBS User Data Ingest Session (Document) + operationId: RetrieveIndMBSUserDataIngSession + responses: + '200': + description: > + OK. The requested Individual MBS User Data Ingest Session resource is successfully + returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserDataIngSession' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: Request the update of an existing Individual MBS User Data Ingest Session resource. + tags: + - Individual MBS User Data Ingest Session (Document) + operationId: UpdateIndMBSUserDataIngSession + requestBody: + description: > + Contains the updated representation of the Individual MBS User Data Ingest Session + resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserDataIngSession' + responses: + '200': + description: > + OK. The concerned Individual MBS User Data Ingest Session resource is successfully + updated and a representation of the updated resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserDataIngSession' + '204': + description: > + No Content. The concerned Individual MBS User Data Ingest Session resource is + successfully updated and no content is returned in the response body. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Request the modification of an existing Individual MBS User Data Ingest Session resource. + tags: + - Individual MBS User Data Ingest Session (Document) + operationId: ModifyIndMBSUserDataIngSession + requestBody: + description: > + Contains the parameters to request the modification of the Individual MBS User Data Ingest + Session resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/MBSUserDataIngSessionPatch' + responses: + '200': + description: > + OK. The concerned Individual MBS User Data Ingest Session resource is successfully + modified and a representation of the updated resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserDataIngSession' + '204': + description: > + No Content. The concerned Individual MBS User Data Ingest Session resource is + successfully modified and no content is returned in the response body. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Request the deletion of an existing Individual MBS User Data Ingest Session resource. + tags: + - Individual MBS User Data Ingest Session (Document) + operationId: DeleteIndMBSUserDataIngSession + responses: + '204': + description: > + No Content. The Individual MBS User Data Ingest Session resource is successfully + deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + + /status-subscriptions: + get: + summary: Retrieve all the active MBS User Data Ingest Session Status Subscription resources managed by the MBSF. + tags: + - MBS User Data Ingest Session Status Subscriptions (Collection) + operationId: RetrieveMBSUserDataIngStatSubscs + responses: + '200': + description: > + OK. All the active MBS User Data Ingest Session Status Subscriptions managed by the MBSF + are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MBSUserDataIngStatSubsc' + minItems: 0 + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + post: + summary: Request the creation of a new MBS User Data Ingest Session Status Subscription. + tags: + - MBS User Data Ingest Session Status Subscriptions (Collection) + operationId: CreateMBSUserDataIngStatSubsc + requestBody: + description: > + Contains the parameters to request the creation of a new MBS User Data Ingest Session + Status Subscription. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserDataIngStatSubsc' + responses: + '201': + description: > + Created. Successful creation of a new Individual MBS User Data Ingest Session + Status Subscription resource. + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserDataIngStatSubsc' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nmbs-mbs-ud-ingest/v1/status-subscriptions/{subscriptionId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + mbsUserDataIngestSessionStatusNotif: + '{request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserDataIngStatNotif' + responses: + '204': + description: No Content. Successful reception of the notification. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + + /status-subscriptions/{subscriptionId}: + parameters: + - name: subscriptionId + in: path + description: > + Identifier of the Individual MBS User Data Ingest Session Status Subscription resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual MBS User Data Ingest Session Status Subscription resource. + tags: + - Individual MBS User Data Ingest Session Status Subscription (Document) + operationId: RetrieveIndMBSUserDataIngStatSubsc + responses: + '200': + description: > + OK. Successful retrieval of the requested Individual MBS User Data Ingest Session + Status Subscription resource. + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserDataIngStatSubsc' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: Request the update of an existing Individual MBS User Data Ingest Session Status Subscription resource. + tags: + - Individual MBS User Data Ingest Session Status Subscription (Document) + operationId: UpdateIndMBSUserDataIngStatSubsc + requestBody: + description: > + Contains the updated representation of the Individual MBS User Data Ingest Session Status + Subscription resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserDataIngStatSubsc' + responses: + '200': + description: > + OK. The concerned Individual MBS User Data Ingest Session Status 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/MBSUserDataIngStatSubsc' + '204': + description: > + No Content. The concerned Individual MBS User Data Ingest Session Status Subscription + resource is successfully updated and no content is returned in the response body. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Request the modification of an existing Individual MBS User Data Ingest Session Status Subscription resource. + tags: + - Individual MBS User Data Ingest Session Status Subscription (Document) + operationId: ModifyIndMBSUserDataIngStatSubsc + requestBody: + description: > + Contains the parameters to request the modification of the Individual MBS User Data Ingest + Session Status Subscription resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/MBSUserDataIngStatSubscPatch' + responses: + '200': + description: > + OK. The concerned Individual MBS User Data Ingest Session Status 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/MBSUserDataIngStatSubsc' + '204': + description: > + No Content. The concerned Individual MBS User Data Ingest Session Status Subscription + resource is successfully modified and no content is returned in the response body. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Request the deletion of an existing Individual MBS User Data Ingest Session Status Subscription resource. + tags: + - Individual MBS User Data Ingest Session Status Subscription (Document) + operationId: DeleteMBSUserDataIngStatSubsc + responses: + '204': + description: > + No Content. Successful deletion of the existing Individual MBS User Data Ingest Session + Status Subscription resource. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + description: > + When the Nmbsf_MBSUserDataIngestSession is consumed by a trusted or internal AF, then + 'nmbsf-mbs-ud-ingest' shall be used as the scope (i.e. with the 'scopes' property) and + '{nrfApiRoot}/oauth2/token' shall be used as the URI to retrieve the token + (i.e. 'tokenUri'). + +# +# STRUCTURED DATA TYPES +# + schemas: + MBSUserDataIngSession: + description: Represents MBS User Data Ingest Session information. + type: object + properties: + mbsUserServId: + type: string + mbsDisSessInfos: + type: object + additionalProperties: + $ref: '#/components/schemas/MBSDistributionSessionInfo' + minProperties: 1 + nullable: true + description: > + Represents one or more MBS Distribution Session(s) composing the MBS User Data Ingest + Session. + The key of the map shall be any unique string encoded value. + actPeriods: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + minItems: 1 + mbsUserServAnmt: + $ref: '#/components/schemas/MBSUserServAnmt' + mbsUserServiceAnmt: + $ref: 'TS26517_MBSUserServiceAnnouncement.yaml#/components/schemas/UserServiceDescription' + mbsUserServiceAnmtUrl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - mbsUserServId + - mbsDisSessInfos + + MBSDistributionSessionInfo: + description: Represents MBS Distribution Session information. + type: object + properties: + mbsDistSessionId: + type: string + mbsDistSessState: + $ref: 'TS29581_Nmbstf_DistSession.yaml#/components/schemas/DistSessionState' + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + associatedSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AssociatedSessionId' + mbsServInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceInfo' + maxContBitRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxContDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + distrMethod: + $ref: '#/components/schemas/DistributionMethod' + fecConfig: + $ref: '#/components/schemas/FECConfig' + objDistrInfo: + $ref: '#/components/schemas/ObjectDistrMethInfo' + pckDistrInfo: + $ref: '#/components/schemas/PacketDistrMethInfo' + trafficMarkingInfo: + type: string + tgtServAreas: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceArea' + extTgtServAreas: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalMbsServiceArea' + mbsFSAId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsFsaId' + locationDependent: + type: boolean + description: > + Represents an indication that this MBS Distribution Session belongs to a location- + dependent MBS. This attribute shall be set to "true" to indicate that the MBS + Distribution Session belongs to a location-dependent MBS; or set to "false" to + indicate that the MBS Distribution Session does not belong to a location-dependent MBS. + The default value is "false", if omitted. + default: false + multiplexedServFlag: + type: boolean + description: > + Represents an indication that this MBS Distribution Session belongs to a multiplex, i.e. + forms part of a set of MBS Distribution Sessions under the same parent MBS User Data + Ingest Session with identical or empty sets of target service areas and multiplexed onto + the same MBS Session at the MB-SMF. + default: false + restrictedFlag: + type: boolean + description: > + Represents an indication that this MBS Distribution Session is not open to any UE, i.e. + restricted to a set of UEs according to their MBS related subscription information. + This attribute may be included only if the parent MBS User Service is of Multicast + service type. This attribute shall be set to "true" to indicate that this MBS + Distribution Session is restricted to a set of UE(s); or set to "false" to indicate that + this MBS Distribution Session is open to any UE. + The default value is "false", if omitted. + default: false + required: + - distrMethod + - maxContBitRate + + MBSUserDataIngSessionPatch: + description: > + Represents the requested modifications to an MBS User Data Ingest Session Status + Subscription. + type: object + properties: + mbsDisSessInfos: + type: object + additionalProperties: + $ref: '#/components/schemas/MBSDistributionSessionInfo' + minProperties: 1 + nullable: true + description: > + Contains the requested modifications to one or more MBS Distribution Session(s) + composing the MBS User Data Ingest Session. + The key of the map shall be any unique string encoded value. + actPeriods: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + minItems: 1 + + ObjectDistrMethInfo: + description: > + Represents additional MBS Distribution Session parameters for the case of an Object + Distribution Method. + type: object + properties: + operatingMode: + $ref: 'TS29581_Nmbstf_DistSession.yaml#/components/schemas/ObjDistributionOperatingMode' + objAcqMethod: + $ref: 'TS29581_Nmbstf_DistSession.yaml#/components/schemas/ObjAcquisitionMethod' + objAcqIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 0 + objIngUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + objDistrUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + objRepairUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - operatingMode + - objAcqMethod + - objAcqIds + + PacketDistrMethInfo: + description: > + Represents additional MBS Distribution Session parameters for the case of Packet + Distribution Method. + type: object + properties: + operatingMode: + $ref: 'TS29581_Nmbstf_DistSession.yaml#/components/schemas/PktDistributionOperatingMode' + pckIngMethod: + $ref: 'TS29581_Nmbstf_DistSession.yaml#/components/schemas/PktIngestMethod' + ingEndpointAddrs: + $ref: 'TS29581_Nmbstf_DistSession.yaml#/components/schemas/MbStfIngestAddr' + required: + - operatingMode + - pckIngMethod + - ingEndpointAddrs + + MBSUserDataIngStatSubsc: + description: > + Represents an MBS User Data Ingest Session Status Subscription. + type: object + properties: + mbsIngSessionId: + type: string + eventSubscs: + type: array + items: + $ref: '#/components/schemas/SubscribedEvent' + minItems: 1 + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - mbsIngSessionId + - eventSubscs + - notifUri + + MBSUserDataIngStatSubscPatch: + description: > + Represents the requested modifications to an MBS User Data Ingest Session Status + Subscription. + type: object + properties: + eventSubscs: + type: array + items: + $ref: '#/components/schemas/SubscribedEvent' + minItems: 1 + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + + SubscribedEvent: + description: > + Represents a subscribed MBS User Data Ingest Session Status event and the related + information. + type: object + properties: + statusEvent: + $ref: '#/components/schemas/Event' + mbsDistSessionId: + type: string + required: + - statusEvent + + MBSUserDataIngStatNotif: + description: > + Represents an MBS User Data Ingest Session Status Notification. + type: object + properties: + mbsIngSessionId: + type: string + eventNotifs: + type: array + items: + $ref: '#/components/schemas/EventNotification' + minItems: 1 + required: + - mbsIngSessionId + - eventNotifs + + EventNotification: + description: Represents Event Notification. + type: object + properties: + statusEvent: + $ref: '#/components/schemas/Event' + mbsDisSessionId: + type: string + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + statusAddInfo: + type: string + timeStamp: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + required: + - statusEvent + - timeStamp + + MBSUserServAnmt: + deprecated: true + description: > + Represents the MBS User Service Announcement currently associated with the MBS User Data + Ingest Session. + type: object + properties: + extServiceId: + type: array + items: + type: string + minItems: 1 + servClass: + type: string + startTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + endTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + servNameDescs: + type: array + items: + $ref: 'TS29580_Nmbsf_MBSUserService.yaml#/components/schemas/ServiceNameDescription' + minItems: 1 + mainServLang: + type: string + mbsDistSessAnmt: + additionalProperties: + $ref: '#/components/schemas/MBSDistSessionAnmt' + minProperties: 1 + description: > + Represents the set of MBS Distribution Session Announcements currently associated with + this MBS User Service Announcement. + required: + - extServiceId + - servClass + - servNameDescs + + MBSDistSessionAnmt: + description: > + Represents the set of MBS Distribution Session Announcements currently associated with this + MBS User Service Announcement. + type: object + properties: + mbsSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId' + mbsFSAId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsFsaId' + distrMethod: + $ref: '#/components/schemas/DistributionMethod' + objDistrAnnInfo: + $ref: '#/components/schemas/ObjectDistMethAnmtInfo' + sesDesInfo: + type: array + items: + type: string + minItems: 1 + required: + - distrMethod + - sesDesInfo + + ObjectDistMethAnmtInfo: + description: > + Represents MBS Distribution Session Announcement parameters for Object Distribution Method. + type: object + properties: + objDistrSched: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + objDistrBaseUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + objRepBaseUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + + FECConfig: + description: Represents FEC configuration information. + type: object + properties: + fecScheme: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + fecOverHead: + type: integer + additionalParams: + type: array + items: + $ref: '#/components/schemas/AddFecParams' + minItems: 1 + required: + - fecScheme + - fecOverHead + + AddFecParams: + description: Represents additional scheme-specific parameters for AL-FEC configuration. + type: object + properties: + paramName: + type: string + paramValue: + type: string + required: + - paramName + - paramValue + +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + DistributionMethod: + anyOf: + - type: string + enum: + - OBJECT + - PACKET + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the MBS Distribution method. + Possible values are: + - OBJECT: Indicates the Object Distribution Method. + - PACKET: Indicates the Packet Distribution Method. + + Event: + anyOf: + - type: string + enum: + - USER_DATA_ING_SESS_STARTING + - USER_DATA_ING_SESS_STARTED + - USER_DATA_ING_SESS_TERMINATED + - DIST_SESS_STARTING + - DIST_SESS_STARTED + - DIST_SESS_TERMINATED + - DIST_SESS_SERV_MNGT_FAILURE + - DIST_SESS_POL_CRTL_FAILURE + - DATA_INGEST_FAILURE + - DELIVERY_STARTED + - SESSION_TERMINATED + - SESSION_STARTED + - SESSION_RELEASED + - DIST_SESS_ACTIVATED + - DIST_SESS_EST_FAILURE + - USER_SER_AD + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the MBS User Data Ingest Session Status events. + Possible values are: + - USER_DATA_ING_SESS_STARTING: > + Indicates that the MBS User Data Ingest Session is starting. This is an "MBS User Data + Ingest Session" level event. + - USER_DATA_ING_SESS_STARTED: > + Indicates that the MBS User Data Ingest Session established. This is an "MBS User Data + Ingest Session" level event. + - USER_DATA_ING_SESS_TERMINATED: > + Indicates that the MBS User Data Ingest Session is terminated. This is an "MBS User Data + Ingest Session" level event. + - DIST_SESS_STARTING: > + Indicates that the MBS Distribution Session is starting. This is an "MBS Distribution + Session" level event. + - DIST_SESS_STARTED: > + Indicates that the MBS Distribution Session started. This is an "MBS Distribution + Session" level event. + - DIST_SESS_TERMINATED: > + Indicates that the MBS Distribution Session is terminated. This is an "MBS Distribution + Session" level event. + - DIST_SESS_SERV_MNGT_FAILURE: > + Indicates that the MBS Distribution Session could not be started (e.g. the necessary + resources could not be allocated by the MBS system). This is an "MBS Distribution + Session" level event. + - DIST_SESS_POL_CRTL_FAILURE: > + Indicates that the MBS Distribution Session could not be started because of a policy + authorization/control failure or rejection. This is an "MBS Distribution Session" + level event. + - DATA_INGEST_FAILURE: > + The MBS User Data Ingest is failed because the MBSTF is expecting data (the MBS Session + is active), but not receiving it. This is an "MBS Distribution Session" level event. + - DELIVERY_STARTED: > + The MBS User Data delivery is started. + - SESSION_TERMINATED: > + The MBS User Data Ingest Session is terminated. + - SESSION_STARTED: > + The MBS Session is started. + - SESSION_RELEASED: > + The MBS Session is released. + - DIST_SESS_ACTIVATED: + Indicates that the MBS Distribution Session is activated successfully. + - DIST_SESS_EST_FAILURE: + Indicates that the MBSF failed to successfully establish the MBS Distribution Session at + the MBSTF. This is an "MBS Distribution Session" level event. + - USER_SER_AD: + Indicates that the MBSF advertises the User Service Announcement information to the MBS + Application Provider. diff --git a/TS29580_Nmbsf_MBSUserService.yaml b/TS29580_Nmbsf_MBSUserService.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2b342ef0c2fb2670acee4b4df485c777d2ff4674 --- /dev/null +++ b/TS29580_Nmbsf_MBSUserService.yaml @@ -0,0 +1,439 @@ +openapi: 3.0.0 + +info: + title: nmbsf-mbs-us + version: 1.1.0-alpha.2 + description: | + API for MBS User Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.580 V18.1.0; 5G System; Multicast/Broadcast Service Function Services. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.580/' + +servers: + - url: '{apiRoot}/nmbsf-mbs-us/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: [] + + +paths: + /mbs-user-services: + get: + summary: Retrieve all the active MBS User Service(s) managed by the MBSF. + tags: + - MBS User Services (Collection) + operationId: RetrieveMBSUserServices + responses: + '200': + description: > + OK. All the active MBS User Services managed by the MBSF are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MBSUserService' + minItems: 0 + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + post: + summary: Request the creation of a new MBS User Service. + tags: + - MBS User Services (Collection) + operationId: CreateMBSUserService + requestBody: + description: > + Contains the parameters to request the creation of a new MBS User Service at the MBSF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserService' + responses: + '201': + description: > + Created. A new MBS User Service is successfully created and a representation of the + created Individual MBS User Service resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserService' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nmbsf-mbs-us/v1/mbs-user-services/{mbsUserServId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + + /mbs-user-services/{mbsUserServId}: + parameters: + - name: mbsUserServId + in: path + description: Identifier of the Individual MBS User Service resource. + required: true + schema: + type: string + + get: + summary: Retrieve an existing Individual MBS User Service resource. + tags: + - Individual MBS User Service (Document) + operationId: RetrieveIndMBSUserService + responses: + '200': + description: > + OK. The requested Individual MBS User Service resource is successfully returned. + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserService' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: Request the update of an existing Individual MBS User Service resource. + tags: + - Individual MBS User Service (Document) + operationId: UpdateIndMBSUserService + requestBody: + description: > + Contains the updated representation of the Individual MBS User Service resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserService' + responses: + '200': + description: > + OK. The concerned Individual MBS User Service resource is successfully updated and a + representation of the updated resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserService' + '204': + description: > + No Content. The concerned Individual MBS User Service resource is successfully updated + and no content is returned in the response body. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Request the modification of an existing Individual MBS User Service resource. + tags: + - Individual MBS User Service (Document) + operationId: ModifyIndMBSUserService + requestBody: + description: > + Contains the parameters to request the modification of the Individual MBS User Service + resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/MBSUserServicePatch' + responses: + '200': + description: > + OK. The concerned Individual MBS User Service resource is successfully modified and a + representation of the updated resource is returned in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/MBSUserService' + '204': + description: > + No Content. The concerned Individual MBS User Service resource is successfully modified + and no content is returned in the response body. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Request the deletion of an existing Individual MBS User Service resource. + tags: + - Individual MBS User Service (Document) + operationId: DeleteIndMBSUserService + responses: + '204': + description: > + No Content. The concerned Individual MBS User Service resource is successfully deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUri}' + scopes: {} + description: > + When the Nmbsf_MBSUserService is consumed by a trusted or internal AF, then + 'nmbsf-mbs-us' shall be used as the scope (i.e. within the 'scopes' property) and + '{nrfApiRoot}/oauth2/token' shall be used as the URI to retrieve the token + (i.e. 'tokenUri'). + +# +# STRUCTURED DATA TYPES +# + schemas: + MBSUserService: + description: Represents the parameters of an MBS User Service. + type: object + properties: + extServiceIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + servType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceType' + servClass: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + servAnnModes: + type: array + items: + $ref: '#/components/schemas/ServiceAnnouncementMode' + minItems: 1 + servNameDescs: + type: array + items: + $ref: '#/components/schemas/ServiceNameDescription' + minItems: 1 + mainServLang: + type: string + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - extServiceIds + - servType + - servClass + - servAnnModes + - servNameDescs + + ServiceNameDescription: + description: > + Represents a set of per language service name and/or service description. + type: object + properties: + servName: + type: string + servDescrip: + type: string + language: + type: string + required: + - language + anyOf: + - required: [servName] + - required: [servDescrip] + + MBSUserServicePatch: + description: > + Represents the requested modifications to the parameters of an MBS User Service. + type: object + properties: + extServiceIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + servClass: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + servAnnModes: + type: array + items: + $ref: '#/components/schemas/ServiceAnnouncementMode' + minItems: 1 + servNameDescs: + type: array + items: + $ref: '#/components/schemas/ServiceNameDescription' + minItems: 1 + mainServLang: + type: string + +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + ServiceAnnouncementMode: + anyOf: + - type: string + enum: + - VIA_MBS_5 + - VIA_MBS_DISTRIBUTION_SESSION + - PASSED_BACK + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the service announcement mode. + Possible values are: + - VIA_MBS_5: Indicates the MBS User Service Announcement compiled by the MBSF is advertised + to the MBSF Client at reference point MBS-5. + - VIA_MBS_DISTRIBUTION_SESSION: Indicates the MBS User Service Announcement compiled by + the MBSF is advertised to the MBSF Client via the MBS Distribution Session at reference + point MBS-4-MC. + - PASSED_BACK: Indicates the MBS User Service Announcement compiled by the MBSF is passed + back to the MBS Application Provider by the MBSF, and then advertised to the MBSF Client + via application-private means at reference point MBS-8. diff --git a/TS29581_Nmbstf_DistSession.yaml b/TS29581_Nmbstf_DistSession.yaml new file mode 100644 index 0000000000000000000000000000000000000000..89577cff480f2f4ebc68c9d4066e170dc98feb08 --- /dev/null +++ b/TS29581_Nmbstf_DistSession.yaml @@ -0,0 +1,767 @@ +openapi: 3.0.0 + +info: + title: Nmbstf-distsession + version: 1.1.0-alpha.1 + description: | + MBSTF Distribution Session Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.581 V18.3.0; 5G System; MBSDistribution Service. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.581/ + +servers: + - url: '{apiRoot}/nmbstf-distsession/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nmbstf-distsession + +paths: + /dist-sessions: + post: + summary: Create + tags: + - MBS distribution sessions collection + operationId: Create + requestBody: + description: > + Representation of the MBS distribution session to be created in the MBSTF + Creates an individual MBS distribution session resource in the MBSTF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateReqData' + responses: + '201': + description: > + Successful creation of an MBS session + content: + application/json: + schema: + $ref: '#/components/schemas/CreateRspData' + headers: + Location: + description: > + 'Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nmbstf-distsession//dist-sessions/{distSessionRef}' + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /dist-sessions/{distSessionRef}: + patch: + summary: Updates an individual MBS distribution session resource in the MBSTF. + tags: + - Individual MBS distribution session + operationId: Update + parameters: + - name: distSessionRef + in: path + required: true + description: Unique ID of the MBS distribution session + schema: + type: string + requestBody: + description: Data within the Update Request + required: true + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + responses: + '204': + description: > + Successful modification of the MBS distribution session without content in the response. + '200': + description: > + Successful response containing the updated representation of Distribution Session. + content: + application/json: + schema: + $ref: '#/components/schemas/DistSession' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an individual MBS distribution session resource in the MBSTF. + tags: + - Individual MBS distribution session + operationId: Destroy + parameters: + - name: distSessionRef + in: path + required: true + description: Unique ID of the MBS distribution session + schema: + type: string + responses: + '204': + description: > + Successful release of the MBS distribution session without content in the response. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves an individual MBS distribution session resource in the MBSTF. + tags: + - Individual MBS distribution session + operationId: Retrieve + parameters: + - name: distSessionRef + in: path + required: true + description: Unique ID of the MBS distribution session + schema: + type: string + responses: + '200': + description: successful retrieval of MBS distribution session parameters + content: + application/json: + schema: + $ref: '#/components/schemas/DistSession' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /dist-sessions/{distSessionRef}/subscriptions: + post: + summary: StatusSubscribe creating a subscription + tags: + - Subscriptions collection for MBS distribution session + operationId: StatusSubscribe + parameters: + - name: distSessionRef + in: path + required: true + description: Unique ID of the MBS distribution session + schema: + type: string + requestBody: + description: Data within the StatusSubscribe Request + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StatusSubscribeReqData' + responses: + '201': + description: Data within a successful StatusSubscribe Response + content: + application/json: + schema: + $ref: '#/components/schemas/StatusSubscribeRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + callbacks: + statusNotification: + '{$request.body#/notifUri}': + post: + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 9110 + schema: + type: string + requestBody: + description: Notification Payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusNotifyReqData' + responses: + '204': + description: Expected response to a successful callback processing + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 9110 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /dist-sessions/{distSessionRef}/subscriptions/{subscriptionId}: + delete: + summary: StatusUnSubscribe to unsubscribe from the Status Subscription + tags: + - Individual Subscription for an MBS session + operationId: StatusUnSubscribe + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the subscription + schema: + type: string + - name: distSessionRef + in: path + required: true + description: Unique ID of the MBS distribution session + schema: + type: string + responses: + '204': + description: Successful deletion of the subscription + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: StatusSubscribe to modify (update or renew) an individual subscription + tags: + - Individual Subscription for an MBS distribution session + operationId: StatusSubscribeMod + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the individual subscription to be modified + schema: + type: string + - name: distSessionRef + in: path + required: true + description: Unique ID of the MBS distribution session + schema: + type: string + requestBody: + description: Data to be modified in the DistSessionSubscription + required: true + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + responses: + '200': + description: Successful modification of the individual Status Subscription + content: + application/json: + schema: + $ref: '#/components/schemas/DistSessionSubscription' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nmbstf-distsession: Access to the nmbstf-distsession API + + schemas: +# +# STRUCTURED DATA TYPES +# + CreateReqData: + description: Data within Create Request + type: object + properties: + distSession: + $ref: '#/components/schemas/DistSession' + required: + - distSession + + CreateRspData: + description: Data within Create Response + type: object + properties: + distSession: + $ref: '#/components/schemas/DistSession' + required: + - distSession + + DistSession: + description: Mbs Distribution Session Information + type: object + properties: + distSessionId: + type: string + distSessionState: + $ref: '#/components/schemas/DistSessionState' + mbUpfTunAddr: + writeOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/TunnelAddress' + mbmsGwTunAddr: + writeOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/TunnelAddress' + upTrafficFlowInfo: + writeOnly: true + allOf: + - $ref: '#/components/schemas/UpTrafficFlowInfo' + mbr: + writeOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxDelay: + writeOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + objDistributionData: + $ref: '#/components/schemas/ObjDistributionData' + pktDistributionData: + $ref: '#/components/schemas/PktDistributionData' + fecInformation: + $ref: 'TS29580_Nmbsf_MBSUserDataIngestSession.yaml#/components/schemas/FECConfig' + dscpMarking: + type: string + writeOnly: true + required: + - distSessionId + - distSessionState + - mbUpfTunAddr + - mbr + oneOf: + - required: [ objDistributionData ] + - required: [ pktDistributionData ] + + + + ObjDistributionData: + description: Info for Object Distribution Method + type: object + properties: + objDistributionOperatingMode: + $ref: '#/components/schemas/ObjDistributionOperatingMode' + objAcquisitionMethod: + $ref: '#/components/schemas/ObjAcquisitionMethod' + objAcquisitionIdsPull: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + objAcquisitionIdPush: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + objIngestBaseUrl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + objDistributionBaseUrl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - objDistributionOperatingMode + - objAcquisitionMethod + not: + required: [ objAcquisitionIdsPull, objAcquisitionIdPush ] + + PktDistributionData: + description: Info for Packet Distribution Method + type: object + properties: + pktDistributionOperatingMode: + $ref: '#/components/schemas/PktDistributionOperatingMode' + pktIngestMethod: + $ref: '#/components/schemas/PktIngestMethod' + mbStfIngestAddr: + $ref: '#/components/schemas/MbStfIngestAddr' + required: + - pktDistributionOperatingMode + - mbStfIngestAddr + + StatusSubscribeReqData: + description: Data within the StatusSubscribe Request + type: object + properties: + subscription: + $ref: '#/components/schemas/DistSessionSubscription' + required: + - subscription + + StatusSubscribeRspData: + description: Data within StatusSubscribe Response + type: object + properties: + subscription: + $ref: '#/components/schemas/DistSessionSubscription' + reportList: + $ref: '#/components/schemas/DistSessionEventReportList' + required: + - subscription + + StatusNotifyReqData: + description: Status Notification + type: object + properties: + reportList: + $ref: '#/components/schemas/DistSessionEventReportList' + required: + - reportList + + DistSessionSubscription: + description: Data within the Status Subscription + type: object + properties: + nfcInstanceId: + writeOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + eventList: + type: array + items: + $ref: '#/components/schemas/DistSessionEventType' + minItems: 1 + notifyUri: + writeOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifyCorrelationId: + type: string + writeOnly: true + expiryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + distSessionSubscUri: + readOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - eventList + - notifyUri + + DistSessionEventReportList: + description: List of Event Reports + type: object + properties: + eventReportList: + type: array + items: + $ref: '#/components/schemas/DistSessionEventReport' + minItems: 1 + notifyCorrelationId: + type: string + required: + - eventReportList + + DistSessionEventReport: + description: Data related to a specific event + type: object + properties: + eventType: + $ref: '#/components/schemas/DistSessionEventType' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - eventType + + UpTrafficFlowInfo: + description: IP Multicast Address and Port Number + type: object + properties: + destIpAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' + portNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - destIpAddr + - portNumber + + MbStfIngestAddr: + description: MBSTF Ingest Addresses + type: object + properties: + afEgressTunAddr: + writeOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/TunnelAddress' + mbStfIngressTunAddr: + readOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/TunnelAddress' + afSsm: + writeOnly: true + allOf: + - $ref: '#/components/schemas/ExtSsm' + mbStfListenAddr: + readOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/TunnelAddress' + + ExtSsm: + description: SSM and Port Number + type: object + properties: + ssm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ssm' + portNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - ssm + - portNumber + + +# +# SIMPLE DATA TYPES +# + +# +# ENUMERATIONS +# + + DistSessionState: + description: Current State of MBS distribution session + anyOf: + - type: string + enum: + - INACTIVE + - ESTABLISHED + - ACTIVE + - DEACTIVATING + - type: string + + ObjDistributionOperatingMode: + description: Mode of data ingestion for Object distribution method + anyOf: + - type: string + enum: + - SINGLE + - COLLECTION + - CAROUSEL + - STREAMING + - type: string + + ObjAcquisitionMethod: + description: Object Acquisition Method + anyOf: + - type: string + enum: + - PULL + - PUSH + - type: string + + PktDistributionOperatingMode: + description: Mode of data ingestion for Packet distribution method + anyOf: + - type: string + enum: + - PACKET_PROXY + - PACKET_FORWARD_ONLY + - type: string + + DistSessionEventType: + description: Status Event Type + anyOf: + - type: string + enum: + - DATA_INGEST_FAILURE + - SESSION_DEACTIVATED + - SESSION_ACTIVATED + - SERVICE_MANAGEMENT_FAILURE + - DATA_INGEST_SESSION_ESTABLISHED + - DATA_INGEST_SESSION_TERMINATED + - type: string + + PktIngestMethod: + description: Packet Ingest Method + anyOf: + - type: string + enum: + - MULTICAST + - UNICAST + - type: string diff --git a/TS29583_PIN_ASRegistration.yaml b/TS29583_PIN_ASRegistration.yaml new file mode 100644 index 0000000000000000000000000000000000000000..618f82058d31c02ff1857bfaa52d4cb309eea6a5 --- /dev/null +++ b/TS29583_PIN_ASRegistration.yaml @@ -0,0 +1,329 @@ +openapi: 3.0.0 + +info: + title: PINServer PAS Registration_API + version: 1.0.0-alpha.3 + description: | + API for PAS registration to PIN server. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.583; Application layer support for Personal IoT Network (PINAPP); + Personal IoT Network (PIN) Server Services; Stage 3. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.583/' + +security: + - {} + - oAuth2ClientCredentials: [] + +servers: + - url: '{apiRoot}/pin-as-registration/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.3 of 3GPP TS 29.583. + +paths: + /registrations: + post: + summary: Create a new PAS Registration + operationId: CreatePASRegistration + tags: + - PAS Registrations (Collection) + description: Register a new PAS at the PIN Server. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PASRegistration' + responses: + '201': + description: PAS information is registered successfully at PIN server. + content: + application/json: + schema: + $ref: '#/components/schemas/PASRegistration' + 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' + + /registrations/{registrationId}: + get: + summary: Get an Individual PAS Registration + operationId: GetIndPASReg + tags: + - Individual PAS Registration (Document) + description: Retrieve an Individual PAS registration resource. + parameters: + - name: registrationId + in: path + description: Registration Id. + required: true + schema: + type: string + responses: + '200': + description: OK (The PAS registration information at the PIN Server). + content: + application/json: + schema: + $ref: '#/components/schemas/PASRegistration' + '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: Update an Individual PAS Registration + operationId: UpdateIndPASReg + tags: + - Individual PAS Registration (Document) + description: Fully replace an existing PAS Registration resource. + parameters: + - name: registrationId + in: path + description: PAS Registration Id. + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PASRegistration' + responses: + '200': + description: OK (The PAS registration information is updated successfully). + content: + application/json: + schema: + $ref: '#/components/schemas/PASRegistration' + '204': + description: No Content. The PAS registration information is updated 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' + + patch: + summary: Modify an Individual PAS Registration + operationId: ModifyIndPASReg + tags: + - Individual PAS Registration (Document) + description: Partially update an existing PAS Registration resource. + parameters: + - name: registrationId + in: path + description: PAS registration Id. + required: true + schema: + type: string + requestBody: + description: Partial update an existing PAS registration resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PASRegistrationPatch' + responses: + '200': + description: > + The Individual PAS registration is successfully modified and + the updated registration information is returned in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/PASRegistration' + '204': + description: No Content. The Individual PAS registration is successfully modified. + '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: Delete an Individual PAS Registration + operationId: DeleteIndPASReg + tags: + - Individual PAS Registration (Document) + description: Delete an existing PAS registration at PIN server. + parameters: + - name: registrationId + in: path + description: Registration Id. + required: true + schema: + type: string + responses: + '204': + description: The individual PAS registration is 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: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + PASRegistration: + type: object + description: Represents an PAS registration information. + properties: + conInfo: + $ref: '#/components/schemas/ConnectivityInfo' + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + requestorId: + type: string + description: Indentifies a PAS + passId: + type: string + description: Indentifies a PIN service + required: + - requestorId + - conInfo + - passId + + ConnectivityInfo: + type: object + description: Represents a connection information of PAS. + properties: + fqdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' + ipv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + uri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + oneOf: + - required: [uri] + - required: [fqdn] + - required: [ipv4Addr] + - required: [ipv6Addr] + + PASRegistrationPatch: + type: object + description: Represents partial update request of individual PAS registration information. + properties: + conInfo: + $ref: '#/components/schemas/ConnectivityInfo' + expTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTimeRm' + passId: + type: string + description: Identifies a PIN service provided by PAS. diff --git a/TS29583_PIN_ASServiceContinuity.yaml b/TS29583_PIN_ASServiceContinuity.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3f2bbf9225a2dd1ae1122b2b52fef50d98db4f53 --- /dev/null +++ b/TS29583_PIN_ASServiceContinuity.yaml @@ -0,0 +1,400 @@ +openapi: 3.0.0 + +info: + title: PINServer Service Continuity Information_API + description: | + API for PINServer Service Continuity Information Reporting. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: 1.0.0-alpha.2 + +externalDocs: + description: > + 3GPP TS 29.583; Application layer support for Personal IoT Network (PINAPP); + Personal IoT Network (PIN) Server Services; Stage 3. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.583/' + +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/pin-as-servicecontinuity/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.3.1 of 3GPP TS 29.583. + +paths: + /subscriptions: + post: + summary: Creates a new Individual Service Continuity Information Subscriptions resource + operationId: CreateServiceContinuityInfo + tags: + - Service Continuity Information Subscriptions (Collection) + description: Create a Subscription for reporting service continuity information to PAS. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceContinuityInfo' + responses: + '201': + description: > + Created (The individual Service Continuity information subscription resource is created successfully) + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceContinuityInfo' + 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: + ServiceContinuityInfoNotification: + '{request.body#/notificationAddr}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceContinuityInfoNotification' + responses: + '204': + description: No Content (successful 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' + + /subscriptions/{subscriptionId}: + get: + summary: Read an Individual Service Continuity Information Subscriptions resource + operationId: ReadIndServiceContinuityInfo + tags: + - Individual Service Continuity Information Subscription (Document) + description: Retrieve an Individual Service Continuity information subscription information. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + responses: + '200': + description: OK (Successfully get the Service Continuity information subscription). + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceContinuityInfo' + '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: Update an Individual Service Continuity Information Subscriptions resource + operationId: UpdateIndServiceContinuityInfo + tags: + - Individual Service Continuity Information Subscription (Document) + description: Fully replace an existing Individual Service Continuity information Subscription. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceContinuityInfo' + responses: + '200': + description: OK (Successfully modified The individual Service Continuity information). + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceContinuityInfo' + '204': + description: No Content. + '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: Modify an Individual Service Continuity Information Subscriptions resource + operationId: ModifyIndServiceContinuityInfo + tags: + - Individual Service Continuity Information Subscription (Document) + description: Partially update an existing Individual ServiceContinuity information. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + requestBody: + description: Partial update an existing Individual ServiceContinuity information. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ServiceContinuityInfoPatch' + responses: + '200': + description: > + OK (The Individual ServiceContinuity information Subscription is successfully modified + and the updated subscription information is returned in the response). + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceContinuityInfo' + '204': + description: > + No Content (The individual Service Continuity information 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: Delete an Individual Service Continuity Information Subscriptions resource + operationId: DeleteIndServiceContinuityInfo + tags: + - Individual Service Continuity Information Subscription (Document) + description: Delete an existing Individual Service Continuity information Subscription. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + responses: + '204': + description: The individual subscription is 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 + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + ServiceContinuityInfo: + type: object + description: Represents an Individual Service Continuity Information Subscription. + properties: + subsEvent: + $ref: '#/components/schemas/EventType' + notificationAddr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + requestorId: + type: string + description: Identifies a AF requestor. + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + required: + - subsEvent + - notificationAddr + - requestorId + + ServiceContinuityInfoPatch: + type: object + description: Represents the partial update of Individual Service Continuity Information. + properties: + subsEvent: + $ref: '#/components/schemas/EventType' + notificationAddr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + requestorId: + type: string + description: Identifies a AF requestor. + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + + ServiceContinuityInfoNotification: + type: object + description: Represent the service continuity information for notification. + properties: + subsId: + type: string + description: > + Identifies the individual service continuity information subscription for which + the service continuity information notification is delivered. + repInfo: + $ref: '#/components/schemas/ServiceContinuityReportInfo' + + ServiceContinuityReportInfo: + type: object + description: List of notifications that include the information of the service continuity. + properties: + acId: + type: string + description: Identifies an application client identifier. + pegcId: + type: string + description: Identifies a PEGC. + serviceId: + type: string + description: Identifies a PIN service. + sessionId: + type: string + description: Identifies an application session. + targetPineId: + type: string + description: Identifies the PINE. + sessionDes: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + + EventType: + anyOf: + - type: string + enum: + - SERVICE_CONTINUITY_INFO + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Indicates service continuity happens in a PIN. + Possible values are: + - SERVICE_CONTINUITY_INFO: Indicates service continuity happens in a PIN. diff --git a/TS29583_PIN_ASServiceSwitch.yaml b/TS29583_PIN_ASServiceSwitch.yaml new file mode 100644 index 0000000000000000000000000000000000000000..73d5daa155304e4d2ac0928191d1982f3523cfe0 --- /dev/null +++ b/TS29583_PIN_ASServiceSwitch.yaml @@ -0,0 +1,394 @@ +openapi: 3.0.0 + +info: + title: PINServer Service Switch Information_API + description: | + API for PINServer Service Switch Information Reporting. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: 1.0.0-alpha.2 + +externalDocs: + description: > + 3GPP TS 29.583; Application layer support for Personal IoT Network (PINAPP); + Personal IoT Network (PIN) Server Services; Stage 3. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.583/' + +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/pin-as-serviceswitch/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 6.2.1 of 3GPP TS 29.583. + +paths: + /subscriptions: + post: + summary: Creates a new Individual Service Switch Information Subscriptions resource + operationId: CreateServiceSwitchInfo + tags: + - Service Switch Information Subscriptions (Collection) + description: Create a Subscription for reporting service switch information to PAS. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSwitchInfo' + responses: + '201': + description: > + Created (The individual Service Switch information subscription resource is created successfully) + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSwitchInfo' + 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: + ServiceSwitchInfoNotification: + '{request.body#/notificationAddr}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSwitchInfoNotification' + responses: + '204': + description: No Content (successful 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' + + /subscriptions/{subscriptionId}: + get: + summary: Read an Individual Service Switch Information Subscriptions resource + operationId: ReadIndServiceSwitchInfo + tags: + - Individual Service Switch Information Subscription (Document) + description: Retrieve an Individual Service Switch information subscription information. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + responses: + '200': + description: OK (Successfully get the Service Switch information subscription). + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSwitchInfo' + '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: Update an Individual Service Switch Information Subscriptions resource + operationId: UpdateIndServiceSwitchInfo + tags: + - Individual Service Switch Information Subscription (Document) + description: Fully replace an existing Individual Service Switch information Subscription. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSwitchInfo' + responses: + '200': + description: OK (Successfully modified The individual Service Switch information). + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSwitchInfo' + '204': + description: No Content. + '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: Modify an Individual Service Switch Information Subscriptions resource + operationId: ModifyIndServiceSwitchInfo + tags: + - Individual Service Switch Information Subscription (Document) + description: Partially update an existing Individual ServiceSwitch information. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + requestBody: + description: Partial update an existing Individual ServiceSwitch information. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ServiceSwitchInfoPatch' + responses: + '200': + description: > + OK (The Individual ServiceSwitch information Subscription is successfully modified + and the updated subscription information is returned in the response). + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceSwitchInfo' + '204': + description: > + No Content (The individual Service Switch information 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: Delete an Individual Service Switch Information Subscriptions resource + operationId: DeleteIndServiceSwitchInfo + tags: + - Individual Service Switch Information Subscription (Document) + description: Delete an existing Individual ServiceSwitchinformation Subscription. + parameters: + - name: subscriptionId + in: path + description: Subscription Id. + required: true + schema: + type: string + responses: + '204': + description: The individual subscription is 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 + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + ServiceSwitchInfo: + type: object + description: Represents an Individual Service Switch Information Subscription. + properties: + subsEvent: + $ref: '#/components/schemas/EventType' + notificationAddr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + requestorId: + type: string + description: Identifies a AF requestor. + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + required: + - subsEvent + - notificationAddr + - requestorId + + ServiceSwitchInfoPatch: + type: object + description: Represents the partial update of Individual Service Switch Information. + properties: + subsEvent: + $ref: '#/components/schemas/EventType' + notificationAddr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri' + requestorId: + type: string + description: Identifies a AF requestor. + expTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + + ServiceSwitchInfoNotification: + type: object + description: Represent the service switch information for notification. + properties: + subsId: + type: string + description: > + Identifies the individual service switch information subscription for which + the service switch information notification is delivered. + repInfo: + $ref: '#/components/schemas/ServiceSwitchReportInfo' + + ServiceSwitchReportInfo: + type: object + description: List of notifications that include the information of the service switch. + properties: + acId: + type: string + description: Identifies an application client identifier. + sessionId: + type: string + description: Identifies an application session. + targetPineId: + type: string + description: Identifies the PINE that the service is switched to. + sessionDes: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + + EventType: + anyOf: + - type: string + enum: + - SERVICE_SWITCH_INFO + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Indicates service switch happens in a PIN. + Possible values are: + - SERVICE_SWITCH_INFO: Indicates service switch happens in a PIN. diff --git a/TS29586_Nslpkmf_Discovery.yaml b/TS29586_Nslpkmf_Discovery.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e5bfdf87e51327d872e25283211d473cd55fdca7 --- /dev/null +++ b/TS29586_Nslpkmf_Discovery.yaml @@ -0,0 +1,397 @@ +openapi: 3.0.0 + +info: + title: Nslpkmf_Discovery API + version: '1.0.0-alpha.1' + description: | + Nslpkmf_Discovery Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.xyz V0.1.0; 5G System; SideLink Positioning Key Management Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.xyz/ + +servers: + - url: '{apiRoot}/Nslpkmf-discovery/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - Nslpkmf-discovery + +paths: + /{ueId}/announce-authorize/{userInfoId}: + put: + summary: Obtain the authorization from the SLPKMF for announcing in the PLMN + operationId: ObtainAnnounceAuth + tags: + - Obtain the authorization from the SLPKMF for announcing in the PLMN + security: + - {} + - oAuth2ClientCredentials: + - Nslpkmf-disc + - oAuth2ClientCredentials: + - Nslpkmf-disc + - Nslpkmf-disc:announce-authorize:modify + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: userInfoId + in: path + description: User Info Id + required: true + schema: + $ref: '#/components/schemas/UserInfoId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AnnounceAuthData' + required: true + responses: + '201': + description: Successful creation of the resource + content: + application/json: + schema: + $ref: '#/components/schemas/AnnounceAuthData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/Nslpkmf-disc>//{ueId}/announce-authorize/{userInfoId} + required: true + schema: + type: string + '204': + description: Successful update of the resource. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/monitor-authorize/{userInfoId}: + put: + summary: Obtain the discovery key from the SLPKMF for monitoring in the PLMN + operationId: ObtainMonitorAuthorize + tags: + - Obtain the discovery key from the SLPKMF for monitoring in the PLMN + security: + - {} + - oAuth2ClientCredentials: + - Nslpkmf-disc + - oAuth2ClientCredentials: + - Nslpkmf-disc + - Nslpkmf-disc:monitor-authorize:modify + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: userInfoId + in: path + description: User Info Id + required: true + schema: + $ref: '#/components/schemas/UserInfoId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MonitorAuthReqData' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/MonitorAuthRespData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/Nslpkmf-disc>//{ueId}/monitor-authorize/{userInfoId} + required: true + schema: + type: string + '204': + description: Successful update of the resource. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/discovery-authorize/{userInfoId}: + put: + summary: Obtain the discovery key from the SLPKMF for a discoverer UE + operationId: ObtainDiscAuth + tags: + - Obtain the discovery key for a discoverer UE + security: + - {} + - oAuth2ClientCredentials: + - Nslpkmf-disc + - oAuth2ClientCredentials: + - Nslpkmf-disc + - Nslpkmf-disc:discovery-authorize:modify + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: userInfoId + in: path + description: User Info Id + required: true + schema: + $ref: '#/components/schemas/UserInfoId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscoveryAuthReqData' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/DiscoveryAuthRespData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/Nslpkmf-disc>//{ueId}/discovery-authorize/{userInfoId} + required: true + schema: + type: string + '204': + description: Successful update of the resource. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + Nslpkmf-disc: Access to the Nslpkmf_Discovery API + Nslpkmf-disc:announce-authorize:modify: > + Access to modify the authorization to announce for a UE in the PLMN + Nslpkmf-disc:monitor-authorize:modify: > + Access to modify the authorization for monitoring for an UE in the PLMN + Nslpkmf-disc:discovery-authorize:modify: > + Access to modify the authorization from the SLPKMF for a discoverer UE + in the PLMN to operate Model B restricted discovery + + schemas: + +# COMPLEX TYPES: + + AnnounceAuthData: + type: object + description: Represents Data used to request the authorization to announce for a UE + required: + - rangingSlAppId + - ueRole + properties: + rangingSlAppId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + ueRole: + $ref: '#/components/schemas/UeRole' + + MonitorAuthReqData: + type: object + description: Data used to request the discovery key to monitor for a UE + required: + - rangingSlAppId + - ueRole + - ueSecurityCapability + properties: + rangingSlAppId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + ueRole: + $ref: '#/components/schemas/UeRole' + ueSecurityCapability: + $ref: '#/components/schemas/UeSecurityCapability' + + MonitorAuthRespData: + type: object + description: Represents the obtained Monitor Discovery Key Data for a UE + required: + - chosenPc5CipheringAlgorithm + - discSecMaterials + properties: + chosenPc5CipheringAlgorithm: + $ref: '#/components/schemas/ChosenPc5CipheringAlgorithm' + discSecMaterials: + $ref: '#/components/schemas/DiscSecMaterials' + + DiscoveryAuthReqData: + type: object + description: Data used to request the discovery key to monitor for a discoverer UE + required: + - rangingSlAppId + - ueRole + - ueSecurityCapability + properties: + rangingSlAppId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + ueRole: + $ref: '#/components/schemas/UeRole' + ueSecurityCapability: + $ref: '#/components/schemas/UeSecurityCapability' + + DiscoveryAuthRespData: + type: object + description: Represents the obtained Monitor Discovery Key Data for a discoverer UE + required: + - chosenPc5CipheringAlgorithm + - discSecMaterials + properties: + chosenPc5CipheringAlgorithm: + $ref: '#/components/schemas/ChosenPc5CipheringAlgorithm' + discSecMaterials: + $ref: '#/components/schemas/DiscSecMaterials' + + DiscSecMaterials: + type: object + description: Represents the discovery security materials + properties: + duik: + $ref: '#/components/schemas/Duik' + dusk: + $ref: '#/components/schemas/Dusk' + duck: + $ref: '#/components/schemas/Duck' + + +# SIMPLE TYPES: + UserInfoId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + + UeSecurityCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + + ChosenPc5CipheringAlgorithm: + description: Contains the chosen PC5 ciphering algorithm. + type: integer + + Duik: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + + Duck: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + + Dusk: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + + + UeRole: + description: Specifies the different roles of UE for ranging and sidelink positioning service. + anyOf: + - type: string + enum: + - TARGET_UE + - REFERENCE_UE + - LOCATED_UE + - CLIENT_UE + - SERVER_UE + - type: string + + +# ENUMS: diff --git a/TS29586_Nslpkmf_SLPKMFKeyRequest.yaml b/TS29586_Nslpkmf_SLPKMFKeyRequest.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bc5ab5f3292a45b2e47772592232a9c2aad3ee90 --- /dev/null +++ b/TS29586_Nslpkmf_SLPKMFKeyRequest.yaml @@ -0,0 +1,140 @@ +openapi: 3.0.0 + +info: + title: Nslpkmf_SLPKMFKeyRequest + version: 1.0.0-alpha.1 + description: | + SLPKMF KeyRequest Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.xyz V0.1.0; 5G System; SideLink Positioning Key Management Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.xyz/ + +servers: + - url: '{apiRoot}/nslpkmf-keyrequest/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nslpkmf-keyrequest + +paths: + /ranging-keys/request: + post: + summary: Request Keying Materials for ranging + operationId: UnicastKey + tags: + - Ranging Keys Collection (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UnicastKeyReqData' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UnicastKeyRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nslpkmf-keyrequest: Access to the Nslpkmf_SLPKMFKeyRequest API + + schemas: +# +# Structured Data Types +# + UnicastKeyReqData: + description: Representation of the input to request the keying material. + type: object + properties: + rangingSlAppId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + kslpFreshness1: + $ref: '#/components/schemas/KslpFreshnessParameter1' + slpkId: + $ref: '#/components/schemas/SlpkId' + required: + - rangingSlAppId + - kslpFreshness1 + - slpkId + + + UnicastKeyRspData: + description: Representation of the successfully requested keying material. + type: object + properties: + kslp: + $ref: '#/components/schemas/Kslp' + kslpFreshness2: + $ref: '#/components/schemas/KslpFreshnessParameter2' + required: + - kslp + - kslpFreshness2 + +# +# Simple Data Types +# + SlpkId: + description: Ranging User Key ID + type: string + + Kslp: + description: Key for RANGING AND SIDELINK POSITIONING + type: string + + KslpFreshnessParameter1: + description: KSLP Freshness Parameter 1 + type: string + + KslpFreshnessParameter2: + description: KSLP Freshness Parameter 2 + type: string + + +# +# Enumeration Data Types +# diff --git a/TS29591_Nnef_DNAIMapping.yaml b/TS29591_Nnef_DNAIMapping.yaml new file mode 100644 index 0000000000000000000000000000000000000000..429895e86aff92f36455e850bfff166afcb911de --- /dev/null +++ b/TS29591_Nnef_DNAIMapping.yaml @@ -0,0 +1,207 @@ +openapi: 3.0.0 +info: + title: Nnef_DNAIMapping + version: 1.0.0-alpha.1 + description: | + NEF DNAI Mapping Service. + © 2023 , 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 29.591 V18.3.0; 5G System; Network Exposure Function Southbound Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.591/ +servers: + - url: '{apiRoot}/nnef-dnai-mapping/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - nnef-dnai-mapping +paths: + + /subscriptions: + post: + summary: subscribe to notifications + operationId: CreateIndividualSubcription + tags: + - Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29522_DNAIMapping.yaml#/components/schemas/DnaiMapSub' + responses: + '201': + description: Success + content: + application/json: + schema: + $ref: 'TS29522_DNAIMapping.yaml#/components/schemas/DnaiMapSub' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nnef-dnai-mapping//subscriptions/{subscriptionId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + myNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: 'TS29522_DNAIMapping.yaml#/components/schemas/DnaiMapUpdateNotif' + responses: + '204': + description: No Content, Notification was succesfull + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}: + get: + summary: retrieve subscription + operationId: GetIndividualSubcription + tags: + - IndividualSubscription (Document) + parameters: + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: 'TS29522_DNAIMapping.yaml#/components/schemas/DnaiMapSub' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: unsubscribe from notifications + operationId: DeleteIndividualSubcription + tags: + - IndividualSubscription (Document) + parameters: + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was succesfully deleted + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnef-dnai-mapping: Access to the Nnef_DNAIMapping API diff --git a/TS29591_Nnef_EASDeployment.yaml b/TS29591_Nnef_EASDeployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7d01490bc054307c0aba2144065250ef424ea839 --- /dev/null +++ b/TS29591_Nnef_EASDeployment.yaml @@ -0,0 +1,330 @@ +openapi: 3.0.0 + +info: + title: Nnef_EASDeployment + version: 1.1.0-alpha.3 + description: | + NEF EAS Deployment service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: > + 3GPP TS 29.591 V18.2.0; 5G System; Network Exposure Function Southbound Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.591/ + +servers: + - url: '{apiRoot}/nnef-eas-deployment/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnef-eas-deployment + +paths: + /subscriptions: + post: + summary: subscribe to notifications + operationId: CreateIndividualSubcription + tags: + - Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EasDeploySubData' + responses: + '201': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/EasDeploySubData' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure: + {apiRoot}/nnef-eas-deployment//subscriptions/{subscriptionId}. + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + notifUri: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EasDeployInfoNotif' + responses: + '204': + description: No Content, Notification was succesfull + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}: + get: + summary: retrieve subscription + operationId: GetIndividualSubcription + tags: + - IndividualSubscription (Document) + parameters: + - name: subscriptionId + in: path + description: Event Subscription ID + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/EasDeploySubData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: unsubscribe from notifications + operationId: DeleteIndividualSubcription + tags: + - IndividualSubscription (Document) + parameters: + - name: subscriptionId + in: path + description: Event Subscription ID + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was succesfully deleted + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnef-eas-deployment: Access to the Nnef_EASDeployment API + + schemas: + EasDeploySubData: + description: Represents an Individual EAS Deployment Event Subscription resource. + type: object + properties: + appId: + type: string + dnnSnssaiInfos: + type: array + items: + $ref: 'TS29522_AMInfluence.yaml#/components/schemas/DnnSnssaiInformation' + minItems: 1 + description: Each of the element identifies a (DNN, S-NSSAI) combination. + eventId: + $ref: '#/components/schemas/EasEvent' + eventsNotifs: + type: array + items: + $ref: '#/components/schemas/EasDeployInfoData' + minItems: 1 + description: > + Represents the EAS Deployment Information changes event(s) to be reported. + Shall only be present if the "immRep" attribute is included and sets to true, + and the current status of EAS Deployment Information is available. + immRep: + type: boolean + description: > + Indication of immediate reporting. Set to true: requires the immediate reporting of the + current status of EAS Deployment Information, if available. Set to false (default): EAS + Deployment Information event report occurs when the event is met. + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + notifId: + type: string + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - eventId + - notifId + - notifUri + + EasDeployInfoNotif: + description: > + Represents notifications on EAS Deployment Information changes event(s) that occurred for an + Individual EAS Deployment Event Subscription resource. + type: object + properties: + easDepNotifs: + type: array + items: + $ref: '#/components/schemas/EasDepNotification' + minItems: 1 + notifId: + type: string + required: + - easDepNotifs + - notifId + + EasDepNotification: + description: Represents the EAS Deployment Notifcation. + type: object + properties: + easDepInfo: + $ref: '#/components/schemas/EasDeployInfoData' + eventId: + $ref: '#/components/schemas/EasEvent' + required: + - easDepInfo + - eventId + + EasDeployInfoData: + description: Represents the EAS Deployment Information to be reported. + type: object + properties: + appId: + type: string + dnaiInfos: + type: object + additionalProperties: + $ref: 'TS29522_EASDeployment.yaml#/components/schemas/DnaiInformation' + minProperties: 1 + description: > + list of DNS server identifier (consisting of IP address and port) and/or IP address(s) + of the EAS in the local DN for each DNAI. The key of map is the DNAI. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + fqdnPatternList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/FqdnPatternMatchingRule' + minItems: 1 + internalGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + targetAfId: + type: string + description: > + Identifier of the AF that is responsible for the EAS associated with this EAS + deployment information. + required: + - fqdnPatternList + +# Simple data types and Enumerations + + EasEvent: + anyOf: + - type: string + enum: + - EAS_INFO_CHG + - type: string + description: | + Represents the EAS event. + Possible values are: + - EAS_INFO_CHG: Indicates that the EAS Deployment Information is changed. diff --git a/TS29591_Nnef_ECSAddress.yaml b/TS29591_Nnef_ECSAddress.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5642ffabf71faa3cc1f77602f89ab8ef3ee9d585 --- /dev/null +++ b/TS29591_Nnef_ECSAddress.yaml @@ -0,0 +1,321 @@ +openapi: 3.0.0 +info: + title: Nnef_ECSAddressConfigurationInformation + version: 1.0.0-alpha.2 + description: | + NEF ECS Address Service. + © 2023 , 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 29.591 V18.3.0; 5G System; Network Exposure Function Southbound Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.591/ +servers: + - url: '{apiRoot}/nnef-ecs-addr-cfg-info/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - nnef-ecs-addr-cfg-info +paths: + + /subscriptions: + post: + summary: subscribe to notifications + operationId: CreateIndividualSubcription + tags: + - Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrCfgInfoSub' + responses: + '201': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrCfgInfoSub' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nnef-ecs-addr-cfg-info//subscriptions/{subscriptionId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + myNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrCfgInfoNotification' + responses: + '204': + description: No Content, Notification was succesfull + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}: + get: + summary: retrieve subscription + operationId: GetIndividualSubcription + tags: + - IndividualSubscription (Document) + parameters: + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrCfgInfoSub' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: update subscription + operationId: ReplaceIndividualSubcription + tags: + - IndividualSubscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrCfgInfoSub' + parameters: + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + responses: + '200': + description: OK. Resource was succesfully modified and representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/EcsAddrCfgInfoSub' + '204': + description: No Content. Resource was succesfully modified + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: unsubscribe from notifications + operationId: DeleteIndividualSubcription + tags: + - IndividualSubscription (Document) + parameters: + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was succesfully deleted + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnef-ecs-addr-cfg-info: Access to the Nnef_ECSAddress API + schemas: + EcsAddrCfgInfoSub: + description: Represents an Individual ECS Address Configuration Information subscription data. + type: object + properties: + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifCorrId: + type: string + description: Notification correlation identifier. + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + description: Each element identifies a DNN. + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + description: Each element identifies a slice. + internalGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + immRepInd: + type: boolean + description: > + Indication of immediate reporting. If included, when it is set to true it indicates + immediate reporting of the subscribed events, if available. Otherwise, reporting will + occur when the event is met. + immReports: + type: array + items: + $ref: '#/components/schemas/EcsAddrCfgInfoNotification' + minItems: 1 + description: Immediate report with ECS Address Configuration Information that + match this subscription. + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notifUri + - notifCorrId + + EcsAddrCfgInfoNotification: + description: Represents notifications for ECS Address Configuration Information data. + type: object + properties: + notifCorrId: + type: string + description: Notification correlation identifier. + ecsAddrCfgInfo: + type: array + items: + type: string + minItems: 1 + description: Contains the ECS Address Configuration Information. + required: + - notifCorrId + - ecsAddrCfgInfo diff --git a/TS29591_Nnef_TrafficInfluenceData.yaml b/TS29591_Nnef_TrafficInfluenceData.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d2162cb5a8e0fe7b5285cbcc6685fab021b82153 --- /dev/null +++ b/TS29591_Nnef_TrafficInfluenceData.yaml @@ -0,0 +1,402 @@ +openapi: 3.0.0 +info: + title: Nnef_TrafficInfluenceData + version: 1.0.0-alpha.3 + description: | + NEF Traffic Influence Data Service. + © 2023 , 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 29.591 V18.4.0; 5G System; Network Exposure Function Southbound Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.591/ +servers: + - url: '{apiRoot}/nnef-traffic-influence-data/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - nnef-traffic-influence-data +paths: + + /subscriptions: + post: + summary: subscribe to notifications + operationId: CreateIndividualSubcription + tags: + - Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluDataSub' + responses: + '201': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluDataSub' + headers: + Location: + description: > + Contains the URI of the newly created resource, according to the structure + {apiRoot}/nnef-traffic-influence-data//subscriptions/{subscriptionId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + myNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluDataNotify' + responses: + '204': + description: No Content, Notification was succesfull + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: read all of the active subscriptions + operationId: ReadAllSubscriptions + tags: + - Traffic Influence Data + parameters: + - name: dnn + in: query + description: Identifies a DNN. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: snssai + in: query + description: Identifies a slice. + required: false + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: internal-Group-Id + in: query + description: Identifies a group of users. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + - name: supi + in: query + description: Identifies a user. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + responses: + '200': + description: OK. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrafficInfluDataSub' + '204': + description: No Content. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}: + get: + summary: retrieve subscription + operationId: GetIndividualSubcription + tags: + - IndividualSubscription (Document) + parameters: + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluDataSub' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: update subscription + operationId: ReplaceIndividualSubcription + tags: + - IndividualSubscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluDataSub' + parameters: + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + responses: + '200': + description: OK. Resource was succesfully modified and representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluDataSub' + '204': + description: No Content. Resource was succesfully modified + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: unsubscribe from notifications + operationId: DeleteIndividualSubcription + tags: + - IndividualSubscription (Document) + parameters: + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was succesfully deleted + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnef-traffic-influence-data: Access to the Nnef_TrafficInfluenceData API + schemas: + TrafficInfluDataSub: + description: Represents an Individual traffic influence subscription data. + type: object + properties: + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifCorrId: + type: string + description: Notification correlation identifier. + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + description: Each element identifies a DNN. + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + description: Each element identifies a slice. + internalGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + description: Each element identifies a group of users. + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + description: Each element identifies the user. + anyUe: + type: boolean + description: > + Identifies any UE when setting to "true". Default value is "false" if omitted. + rptInfo: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + immReports: + type: array + items: + $ref: 'TS29519_Application_Data.yaml#/components/schemas/TrafficInfluData' + minItems: 1 + description: Immediate report with Traffic Influence Data that match this subscription. + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notifUri + - notifCorrId + anyOf: + - required: [dnns] + - required: [snssais] + - required: [internalGroupIds] + - required: [supis] + - required: [anyUe] + + TrafficInfluDataNotify: + description: Represents notifications for traffic influence data. + type: object + properties: + notifCorrId: + type: string + description: Notification correlation identifier. + eventNotifications: + type: array + items: + $ref: 'TS29519_Application_Data.yaml#/components/schemas/TrafficInfluData' + minItems: 1 + description: Notifications about Individual Events. + required: + - notifCorrId + - eventNotifications diff --git a/TS29591_Nnef_UEId.yaml b/TS29591_Nnef_UEId.yaml new file mode 100644 index 0000000000000000000000000000000000000000..627a84361f5447e996f02df69501464bd94fcecb --- /dev/null +++ b/TS29591_Nnef_UEId.yaml @@ -0,0 +1,98 @@ +openapi: 3.0.0 +info: + title: Nnef_UEId + version: 1.0.0-alpha.1 + description: | + NEF Traffic Correlation Service. + © 2023 , 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 29.591 V18.4.0; 5G System; Network Exposure Function Southbound Services; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.591/ +servers: + - url: '{apiRoot}/nnef-ueid/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - nnef-ueid + +paths: + /fetch: + post: + summary: fetch the Internal UE Identifier for roaming UE(s). + operationId: FetchUEId + tags: + - UE ID (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UeIdReq' + responses: + '200': + description: The requested information was returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/UeIdInfo' + '204': + description: No Content (The requested Internal UE Identifier does not exist.) + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnef-ueid: Access to the UE ID API + + schemas: + UeIdReq: + description: Contains parameters to request to fetch the Internal UE Identifier. + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + required: + - gpsi + + UeIdInfo: + description: Contains the UE ID Information. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + required: + - supi diff --git a/TS29594_Nchf_SpendingLimitControl.yaml b/TS29594_Nchf_SpendingLimitControl.yaml new file mode 100644 index 0000000000000000000000000000000000000000..305f527d5104b49615226e5fa4be98fcef4b0c96 --- /dev/null +++ b/TS29594_Nchf_SpendingLimitControl.yaml @@ -0,0 +1,371 @@ +openapi: 3.0.0 + +info: + version: 1.3.0-alpha.2 + title: Nchf_SpendingLimitControl + description: | + Nchf Spending Limit Control Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.594 V18.3.0; 5G System; Spending Limit Control Service. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.594/' + +servers: + - url: '{apiRoot}/nchf-spendinglimitcontrol/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nchf-spendinglimitcontrol + +paths: + + /subscriptions: + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SpendingLimitContext' + responses: + '201': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SpendingLimitStatus' + headers: + Location: + description: > + Contains the URI of the created individual spending limit resource, + according to the structure + {apiRoot}/nchf-spendinglimitcontrol/v1/subscriptions/{subscriptionId} + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + statusNotification: + '{$request.body#/notifUri}/notify': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SpendingLimitStatus' + responses: + '204': + description: No Content, Notification was succesfull + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + subscriptionTermination: + '{$request.body#/notifUri}/terminate': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionTerminationInfo' + responses: + '204': + description: No Content, Notification was succesfull + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}: + parameters: + - in: path + name: subscriptionId + description: Identifies an individual spending limit retrieval subscription. + required: true + schema: + type: string + put: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SpendingLimitContext' + responses: + '200': + description: OK. Resource was succesfully modified and representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/SpendingLimitStatus' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + responses: + '204': + description: No Content. Resource was succesfully deleted + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nchf-spendinglimitcontrol: Access to the Nchf_SpendingLimitControl API + + schemas: + SpendingLimitContext: + description: > + Represents the subscription data structure required for an individual CHF spending limit + subscription. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + policyCounterIds: + type: array + items: + $ref: '#/components/schemas/PolicyCounterId' + minItems: 1 + description: > + This is a list of policy counter identifier(s), which identifies policy counters + maintained per subscriber within the CHF. + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + notifId: + type: string + + SpendingLimitStatus: + description: > + Represents the data structure presenting the statuses of policy counters. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + notifId: + type: string + statusInfos: + type: object + additionalProperties: + $ref: '#/components/schemas/PolicyCounterInfo' + minProperties: 1 + description: > + Status of the requested policy counters. The key of the map is the attribute + "policyCounterId". + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + PolicyCounterInfo: + description: Represents the data structure presenting the policy counter status. + type: object + properties: + policyCounterId: + $ref: '#/components/schemas/PolicyCounterId' + currentStatus: + type: string + description: > + Identifies the policy counter status applicable for a specific policy counter identified + by the policyCounterId. The values (e.g. valid, invalid or any other status) are not + specified. The interpretation and actions related to the defined values are out of scope + of 3GPP. + penPolCounterStatuses: + type: array + items: + $ref: '#/components/schemas/PendingPolicyCounterStatus' + minItems: 1 + description: Provides the pending policy counter status. + required: + - policyCounterId + - currentStatus + + PendingPolicyCounterStatus: + description: > + Represents the data structure presenting the pending policy counter status. + type: object + properties: + policyCounterStatus: + type: string + description: > + Identifies the policy counter status applicable for a specific policy counter identified + by the policyCounterId. The values (e.g. valid, invalid or any other status) are not + specified. The interpretation and actions related to the defined values are out of scope + of 3GPP. + activationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - policyCounterStatus + - activationTime + + PolicyCounterId: + type: string + description: Identifies a policy counter. + SubscriptionTerminationInfo: + description: > + Represents the data structure presenting the indication of the termination of the + subscription. + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + notifId: + type: string + termCause: + $ref: '#/components/schemas/TerminationCause' + required: + - supi + +# Simple data types and Enumerations + + TerminationCause: + anyOf: + - type: string + enum: + - REMOVED_SUBSCRIBER + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + and is not used to encode content defined in the present version of this API. + description: | + Represents the cause for requesting the termination of the subscription to policy counter + status changes. + Possible values are: + - REMOVED_SUBSCRIBER: The subscriber identified by the SUPI has been removed from the CHF. \ No newline at end of file diff --git a/TS29598_Nudsf_DataRepository.yaml b/TS29598_Nudsf_DataRepository.yaml new file mode 100644 index 0000000000000000000000000000000000000000..73f610a7be9542eeb4b032a2d39697d20cb84f00 --- /dev/null +++ b/TS29598_Nudsf_DataRepository.yaml @@ -0,0 +1,2632 @@ +openapi: 3.0.0 +info: + title: Nudsf_DataRepository + version: 1.2.0-alpha.5 + description: | + Nudsf Data Repository Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.598 UDSF Services, V18.4.0. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.598/' + +servers: + - url: '{apiRoot}/nudsf-dr/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + +paths: + + /{realmId}/{storageId}/records: + summary: Access to all Records of a Storage + description: >- + root of all Records of a Storage + get: + summary: Records search with get + description: Retrieve one or multiple Records based on filter + operationId: SearchRecord + tags: + - Record CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:record:read + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: limit-range + in: query + description: The most number of record references to fetch + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + - name: filter + in: query + description: Query filter using conditions on tags + content: + application/json: + schema: + $ref: '#/components/schemas/SearchExpression' + - name: count-indicator + in: query + description: Indicates whether the number of records that matched the criteria shall be returned. + schema: + type: boolean + default: false + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: retrieve-records + in: query + description: Indicates whether the UDSF is requested to include matching records within the response. + schema: + $ref: '#/components/schemas/RetrieveRecords' + - name: max-payload-size + in: query + description: Indicates the number of kilo octets the consumer is prepared to receive + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + - name: tag-count-filter + in: query + description: Indicates the parameters for advanced counting feature + schema: + $ref: '#/components/schemas/CountExpression' + responses: + '200': + description: Successful case. Response contains result of the search. + content: + application/json: + schema: + $ref: '#/components/schemas/RecordSearchResult' + '204': + description: >- + The search condition does not match any Record. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Bulk Deletion of Records + description: Delete multiple Records based on filter + operationId: BulkDeleteRecords + tags: + - Record CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:record:modify + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: filter + in: query + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SearchExpression' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Successful case. Response contains RecordIdList. + content: + application/json: + schema: + $ref: '#/components/schemas/RecordIdList' + '204': + description: Successful case. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{realmId}/{storageId}/records/{recordId}: + summary: Access to a specific Record, identified by its RecordId + description: >- + Access to a specific Record + get: + summary: Record access + description: retrieve one specific Record + operationId: GetRecord + tags: + - Record CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:record:read + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: recordId + in: path + description: Identifier of the Record + required: true + schema: + type: string + example: 'UserRecordValue000000001' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200' : #result ok + $ref: '#/components/responses/RecordBody' + '304': + $ref: '#/components/responses/304' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '412': + $ref: '#/components/responses/412' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Create/Modify Record + description: Create or Modify a Record with a user provided RecordId + operationId: CreateOrModifyRecord + tags: + - Record CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:record:create + parameters: + - name: realmId + in: path + description: Identifier(name) of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: recordId + in: path + description: Identifier of the Record + required: true + schema: + type: string + example: UserRecordValue000000001 + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Match + in: header + description: Record validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: get-previous + in: query + description: Retrieve the Record before update + required: false + schema: + type: boolean + default: false + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + $ref: '#/components/requestBodies/RecordBody' + callbacks: + recordExpired: + '{$request.body#/callbackReference}': + post: + parameters: + - name: Content-Location + in: header + description: The expired record URI + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + requestBody: + $ref: '#/components/requestBodies/RecordBody' + responses: + '204': + description: Callback executed successfully + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + responses: + '200' : # Update with return + $ref: '#/components/responses/RecordBody' + '201': + description: >- + Create case. The resource has been successfully created, location header indicates + the URI of the created Record. + $ref: '#/components/responses/RecordBody' + headers: + Location: + $ref: '#/components/headers/Location' + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + '204': # Update without return + description: >- + Update case. The resource has been successfully updated and no + additional content is included in the response message. + headers: + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + '304': + $ref: '#/components/responses/304' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '408': + $ref: 'TS29571_CommonData.yaml#/components/responses/408' + '409': + $ref: '#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '412': # Return Record value if get-previous=true + $ref: '#/components/responses/RecordBody' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete a Record with an user provided RecordId + operationId: DeleteRecord + tags: + - Record CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:record:modify + parameters: + - name: realmId + in: path + description: Identifier(name) of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: recordId + in: path + description: Identifier of the Record + required: true + schema: + type: string + example: UserRecordValue000000001 + - name: If-Match + in: header + description: Record validator for conditional requests, as described in RFC 9110, 13.1.1 + schema: + type: string + - name: get-previous + in: query + description: Retrieve the Record before delete + required: false + schema: + type: boolean + default: false + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + $ref: '#/components/responses/RecordBodyDelete' + '204': + description: Successful case. + headers: + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + '304': + $ref: '#/components/responses/304' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '408': + $ref: 'TS29571_CommonData.yaml#/components/responses/408' + '412': # Return return value if get-previous=true + $ref: '#/components/responses/RecordBody' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{realmId}/{storageId}/records/{recordId}/meta: + summary: Access to the meta of a specific Record, identified by its RecordId + description: >- + Access to the meta of a specific Record + get: + summary: Record's meta access + description: retrieve meta of a specific Record + operationId: GetMeta + tags: + - Record CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:record-meta:read + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: recordId + in: path + description: Identifier of the Record + required: true + schema: + type: string + example: 'UserRecordValue000000001' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + headers: + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + content: + application/json: + schema: + $ref: '#/components/schemas/RecordMeta' + '304': + $ref: '#/components/responses/304' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '412': + $ref: '#/components/responses/412' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: # patch meta data + summary: Record's meta update + description: update meta of a specific Record + operationId: UpdateMeta + tags: + - Record CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:record-meta:modify + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: recordId + in: path + description: Identifier of the Record + required: true + schema: + type: string + example: 'UserRecordValue000000001' + - name: If-Match + in: header + description: Record validator for conditional requests, as described in RFC 9110, 13.1.1 + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + description: Meta data to patch + content: + application/json-patch+json: + example: '[{ "op": "replace", "path": "/tags/ueId", "value": "450005" }, { "op": "remove", "path": "/tags/recordId" }]' + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: >- + One or more modification instructions have been discarded, the execution report is returned in response PatchResult. + content: + application/json: + example: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + headers: + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + '204': + description: >- + Successful case. The meta has been successfully updated and no return is expected. + headers: + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + '304': + $ref: '#/components/responses/304' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '408': + $ref: 'TS29571_CommonData.yaml#/components/responses/408' + '409': + $ref: '#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '412': + $ref: '#/components/responses/412' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{realmId}/{storageId}/records/{recordId}/blocks: + summary: Access to the Blocks of a specific Record, identified by its RecordId + description: >- + Access to the Blocks of a specific Record + get: + summary: Record's Blocks access + description: retrieve all Blocks of a specific Record + operationId: GetBlockList + tags: + - Block CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:block:read + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: recordId + in: path + description: Identifier of the Record + required: true + schema: + type: string + example: 'UserRecordValue000000001' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a successful request + headers: + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + content: + multipart/parallel: + schema: + type: object + properties: + blocks: + type: array + description: >- + an array of Block parts, can be empty + items: + $ref: '#/components/schemas/Block' + encoding: + blocks: + contentType: '*/*' # Block content type can be of any type. + headers: + Content-Id: # Block identifier is defined by the Content-Id header. + schema: + type: string + required: true + Content-Transfer-Encoding: + schema: + type: string + required: true + '204': + description: Successful response, the record contains no blocks + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '412': + $ref: '#/components/responses/412' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{realmId}/{storageId}/records/{recordId}/blocks/{blockId}: + summary: Access to a Block of a specific Record, identified by its BlockId + description: >- + Access to a specific Block of a specific Record + get: + summary: Retrieve a specific Block + description: retrieve a specific Block + operationId: GetBlock + tags: + - Block CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:block:read + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: recordId + in: path + description: Identifier of the Record + required: true + schema: + type: string + example: 'UserRecordValue000000001' + - name: blockId + in: path + description: Id of the Block + required: true + schema: + type: string + example: 'userDefjson01' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + $ref: '#/components/responses/BlockBody' + '304': + $ref: '#/components/responses/304' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '412': + $ref: '#/components/responses/412' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Create or Update a specific Block in a Record. + description: Create or update a specific Block, related to a Record + operationId: CreateOrModifyBlock + tags: + - Block CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:block:create + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: recordId + in: path + description: Identifier of the Record + required: true + schema: + type: string + example: 'UserRecordValue000000001' + - name: blockId + in: path + description: Id of the Block + required: true + schema: + type: string + example: 'userDefjson01' + - name: get-previous + in: query + description: Retrieve the Block before update + required: false + schema: + type: boolean + default: false + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Match + in: header + description: Record validator for conditional requests, as described in RFC 9110, 13.1.1 + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + description: information on the Block to create + required: true + content: + '*/*': + schema: + $ref: '#/components/schemas/Block' + responses: + '200': + $ref: '#/components/responses/BlockBody' + '201': + description: >- + Creation case. The Block has been successfully created. Location header indicates the URI of the created Block. + headers: + Location: + $ref: '#/components/headers/Location' + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + '204': + description: >- + Successful case. The resource has been successfully updated. + headers: + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '408': + $ref: 'TS29571_CommonData.yaml#/components/responses/408' + '409': + $ref: '#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '412': # Return previous Block value if get-previous=true + $ref: '#/components/responses/BlockBody' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete a specific Block. Then update the Record + description: delete a specific Block, related to a Record + operationId: DeleteBlock + tags: + - Block CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:block:modify + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: recordId + in: path + description: Identifier of the Record + required: true + schema: + type: string + example: 'UserRecordValue000000001' + - name: blockId + in: path + description: Id of the Block + required: true + schema: + type: string + example: 'userDefjson01' + - name: get-previous + in: query + description: Retrieve the Block before delete + required: false + schema: + type: boolean + default: false + - name: If-Match + in: header + description: Record validator for conditional requests, as described in RFC 9110, 13.1.1 + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + $ref: '#/components/responses/BlockBodyDelete' + '204': + description: >- + Successful case. The Block has been successfully deleted. + headers: + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '408': + $ref: 'TS29571_CommonData.yaml#/components/responses/408' + '412': # Return previous Block value if get-previous=true + $ref: '#/components/responses/BlockBody' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{realmId}/{storageId}/subs-to-notify: + summary: The notification subscription collection resource + description: >- + Access to the subscription resource + get: + summary: Notification subscription retrieval + description: retrieve all notification subscriptions of the storage + operationId: GetNotificationSubscriptions + tags: + - NotificationSubscriptions CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:subscription:read + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: limit-range + in: query + description: The maximum number of NotificationSubscriptions to fetch + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationSubscription' + '304': + $ref: '#/components/responses/304' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{realmId}/{storageId}/subs-to-notify/{subscriptionId}: + summary: The notification subscription resource + description: >- + Access to the subscription resource + get: + summary: Notification subscription retrieval + description: retrieve a single notification subscription of the storage + operationId: GetNotificationSubscription + tags: + - NotificationSubscription CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:subscription:read + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: subscriptionId + in: path + description: Identifier of the NotificationSubscription + required: true + schema: + type: string + example: Subscription01 + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + headers: + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSubscription' + '304': + $ref: '#/components/responses/304' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete a Notification Subscription of the storage + description: delete a single subscriptions of the storage + operationId: DeleteNotificationSubscription + tags: + - NotificationSubscription CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:subscription:modify + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: subscriptionId + in: path + description: Identifier of the NotificationSubscription + required: true + schema: + type: string + example: Subscription01 + - name: client-id + in: query + description: Identifies the NF or NFSet + required: true + schema: + $ref: '#/components/schemas/ClientId' + - name: get-previous + in: query + description: Retrieve the NotificationSubscription before delete + required: false + schema: + type: boolean + default: false + - name: If-Match + in: header + description: Record validator for conditional requests, as described in RFC 9110, 13.1.1 + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Deleted NotificationSubscription if requested with get-previous + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationSubscription' + '204': + description: >- + Successful case. The SubscriptionNotification has been successfully deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '408': + $ref: 'TS29571_CommonData.yaml#/components/responses/408' + '412': + description: Return previous NotificationSubscription value if get-previous=true + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSubscription' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: # patch NotificationSubscription data + summary: NotificationSubscription update + description: update a specific NotificationSubscription + operationId: UpdateNotificationSubscription + tags: + - NotificationSubscription CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:subscription:modify + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: subscriptionId + in: path + description: Identifier of the NotificationSubscription + required: true + schema: + type: string + example: Subscription01 + - name: If-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.1 + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + description: data to patch + content: + application/json-patch+json: + example: 'TBD' + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: >- + One or more modification instructions have been discarded, the execution report is returned in response PatchResult. + content: + application/json: + example: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + headers: + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + '204': + description: >- + Successful case. The meta has been successfully updated and no return is expected. + headers: + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + '304': + $ref: '#/components/responses/304' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '408': + $ref: 'TS29571_CommonData.yaml#/components/responses/408' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: NotificationSubscription Create/Update + operationId: CreateAndUpdateNotificationSubscription + tags: + - NotificationSubscription CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:subscription:create + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: subscriptionId + in: path + description: Identifier of the NotificationSubscription + required: true + schema: + type: string + example: Subscription01 + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Match + in: header + description: Record validator for conditional requests, as described in RFC 9110, 13.1.1 + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSubscription' + required: true + responses: + '200' : # Update + description: Expected response to a valid update request + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSubscription' + '201': + description: Expected response to a valid create request + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource according to the structure: {apiRoot}/nudsf-dr//{realmId}/{storageId}/subs-to-notify/{subscriptionId}' + required: true + schema: + type: string + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + '304': + $ref: '#/components/responses/304' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '408': + $ref: 'TS29571_CommonData.yaml#/components/responses/408' + '409': + description: Conflict + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '412': + $ref: 'TS29571_CommonData.yaml#/components/responses/412' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + callbacks: + onDataChange: + '{request.body#/callbackReference}': + post: + requestBody: + $ref: '#/components/requestBodies/RecordNotificationBody' + responses: + '204': + description: Callback executed successfully + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + subscriptionExpiryNotification: + '{request.body#/expiryCallbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationInfo' + responses: + '204': + description: Successful Notification response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{realmId}/{storageId}/meta-schemas/{schemaId}: + summary: Access to a specific Meta Schema, identified by its SchemaId + description: >- + Access to a specific Meta Schema + get: + summary: Meta Schema access + description: retrieve one specific Meta Schema + operationId: GetMetaSchema + tags: + - MetaSchema CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:meta-schema:read + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: schemaId + in: path + description: Identifier of the Meta Schema + required: true + schema: + $ref: '#/components/schemas/SchemaId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.3 + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200' : #result ok + $ref: '#/components/responses/RecordBody' + '304': + $ref: '#/components/responses/304' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Create/Modify Meta Schema + description: Create or Modify a Meta Schema with a user provided SchemaId + operationId: CreateOrModifyMetaSchema + tags: + - MetaSchema CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:meta-schema:create + parameters: + - name: realmId + in: path + description: Identifier(name) of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: schemaId + in: path + description: Identifier of the Meta Schema + required: true + schema: + $ref: '#/components/schemas/SchemaId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.2 + schema: + type: string + - name: If-Match + in: header + description: Validator for conditional requests, as described in RFC 9110, 13.1.1 + schema: + type: string + - name: get-previous + in: query + description: Retrieve the Meta Schema before update + required: false + schema: + type: boolean + default: false + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MetaSchema' + required: true + responses: + '200': + description: Update with return + content: + application/json: + schema: + $ref: '#/components/schemas/MetaSchema' + '201': + description: >- + Create case. The resource has been successfully created, location header indicates + the URI of the created Record. + $ref: '#/components/responses/RecordBody' + headers: + Location: + $ref: '#/components/headers/Location' + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + '204': # Update without return + description: >- + Update case. The resource has been successfully updated and no + additional content is included in the response message. + headers: + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + '304': + $ref: '#/components/responses/304' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '408': + $ref: 'TS29571_CommonData.yaml#/components/responses/408' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '412': + description: Return Meta Schema value if get-previous=true + content: + application/json: + schema: + $ref: '#/components/schemas/MetaSchema' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete a Meta Schema with an user provided SchemaId + operationId: DeleteMetaSchema + tags: + - MetaSchema CRUD + security: + - {} + - oAuth2ClientCredentials: + - nudsf-dr + - oAuth2ClientCredentials: + - nudsf-dr + - nudsf-dr:meta-schema:modify + parameters: + - name: realmId + in: path + description: Identifier(name) of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: schemaId + in: path + description: Identifier of the Meta Schema + required: true + schema: + $ref: '#/components/schemas/SchemaId' + - name: If-Match + in: header + description: Record validator for conditional requests, as described in RFC 9110, 13.1.1 + schema: + type: string + - name: get-previous + in: query + description: Retrieve the Meta Schema before delete + required: false + schema: + type: boolean + default: false + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/MetaSchema' + '204': + description: Successful case. + headers: + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + '304': + $ref: '#/components/responses/304' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '408': + $ref: 'TS29571_CommonData.yaml#/components/responses/408' + '412': + description: Return value if get-previous=true + content: + application/json: + schema: + $ref: '#/components/schemas/MetaSchema' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudsf-dr: Access to the nudsf-dr API + nudsf-dr:record:read: Access to read records + nudsf-dr:record:modify: Access to update records + nudsf-dr:record:create: Access to create records + nudsf-dr:record-meta:read: Access to read a record's meta + nudsf-dr:record-meta:modify: Access to update a record's meta + nudsf-dr:block:read: Access to read blocks + nudsf-dr:block:modify: Access to update blocks + nudsf-dr:block:create: Access to create blocks + nudsf-dr:subscription:read: Access to read subscriptions + nudsf-dr:subscription:modify: Access to update subscriptions + nudsf-dr:subscription:create: Access to create subscriptions + nudsf-dr:meta-schema:read: Access to read meta schema + nudsf-dr:meta-schema:modify: Access to update meta schema + nudsf-dr:meta-schema:create: Access to create meta schema + + schemas: + RecordSearchResult: + description: Count and collection of Record references matching the providing filter. + type: object + properties: + count: # The total number of elements found. + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + references: # The Record references found. If count-indicator is true, no references are sent back. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + matchingRecords: + description: A map (list of key-value pairs where recordId serves as key) of Records + type: object + additionalProperties: + $ref: '#/components/schemas/Record' + minProperties: 1 + tagCountResult: + description: A map of TagCount (list of key-value pairs with unique indentifier as key) + type: object + items: + $ref: '#/components/schemas/TagCount' + example: {"advancedTagCount1" : {"tag1" : 1}, "advancedTagCount2" : {"tag2" : 2}} + required: + - count + RecordMeta: + description: Meta data of a Record + type: object + properties: + ttl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + tags: + type: object # dictionary type + description: >- + A dictionary of {"tagName": [ "tagValue", ...] }. A tag name can be used to retrieve a Record. The tagValue are unique. + additionalProperties: + type: array + items: + type: string + uniqueItems: true + minItems: 1 + minProperties: 1 + example: '{"ueId" : [ "455345", "455346" ], "recordId" : [ "1000106" ] }' + example: >- + { "tags" : {"ueId" : [ "455345", "455346" ], "recordId" : [ "1000106" ] }} + schemaId: + $ref: '#/components/schemas/SchemaId' + + Record: + description: Definition of a Record + type: object + properties: + meta: + # json representation of the Meta Data + $ref: '#/components/schemas/RecordMeta' + blocks: + # List of multipart data + type: array + description: list of opaque Block's in this Record + items: + $ref: '#/components/schemas/Block' + minItems: 1 + required: + - meta + example: >- + {"meta": { "tags" : {"tag1" : ["value1"], "tag2" :["value2"] } }, "blocks": [{"Content-Id": "userDefBinaryBlob", "Content-Type": "text/plain", "content": "QmxvY2sgY29udGVudA=="}, {"Content-Id": "userDefJsonBlob", "Content-Type": "application/json", "content": "{"key": "ftsimpletype-999550000000002", "value": "A3E71A78377179B5B91A;imsi-999550000000123"}]} + + RecordIdList: + description: List of Record IDs + type: object + properties: + recordIdList: + type: array + items: + type: string + minItems: 1 + required: + - recordIdList + + Block: + description: A Block can be of any type + example: >- + "QmxvY2sgY29udGVudA==" + NotificationSubscription: + description: Definition of a notification subscription + type: object + properties: + clientId: + $ref: '#/components/schemas/ClientId' + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + expiryCallbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + expiryNotification: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + subFilter: + $ref: '#/components/schemas/SubscriptionFilter' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - clientId + - callbackReference + + RecordNotification: + description: Definition of a notification on a record + type: object + properties: + descriptor: + # json representation of the notification description + $ref: '#/components/schemas/NotificationDescription' + meta: + # json representation of the Meta Data + $ref: '#/components/schemas/RecordMeta' + blocks: + # List of multipart data + type: array + description: list of opaque Block's in this Record + items: + $ref: '#/components/schemas/Block' + required: + - descriptor + - meta + example: >- + {"descriptor": { "recordRef" : "...", "operationType" : "DELETED"}, "meta": { "tags" : {"tag1" : ["value1"], "tag2" :["value2"] } }, "blocks": [{"Content-Id": "userDefBinaryBlob", "Content-Type": "text/plain", "content": "QmxvY2sgY29udGVudA=="}, {"Content-Id": "userDefJsonBlob", "Content-Type": "application/json", "content": "{"key": "ftsimpletype-999550000000002", "value": "A3E71A78377179B5B91A;imsi-999550000000123"}]} + + NotificationDescription: + description: Description of a record notification + type: object + properties: + recordRef: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + operationType: + $ref: '#/components/schemas/RecordOperation' + subscriptionId: + # unique identifier of the NotificationSubscription + type: string + required: + - recordRef + - operationType + example: >- + { "record" : "...", "operationType" : "DELETED"} + + SubscriptionFilter: + description: A subscription filter + type: object + properties: + monitoredResourceUris: + type: array + description: list of resources applicable to the subscription + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + operations: + type: array + description: list of resources applicable to the subscription + items: + $ref: '#/components/schemas/RecordOperation' + maxItems: 3 + + ClientId: + description: Defines the identity of the NF Consumer + type: object + properties: + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + + RecordOperation: + description: Indicate operation made on a record + anyOf: + - type: string + enum: + - CREATED + - UPDATED + - DELETED + - type: string + + ConditionOperator: + description: TBD + anyOf: + - type: string + enum: + - AND + - OR + - NOT + - type: string + + ComparisonOperator: + description: TBD + anyOf: + - type: string + enum: + # Equals + - EQ + # Not Equal + - NEQ + # Greater Than + - GT + # Greater Than or Equal + - GTE + # Less Than + - LT + # Less Than or Equal + - LTE + - type: string + + CountExpression: + description: A map containing parameters for advanced counting feature with unique key for each request + type: object + properties: + tag: + type: string + countType: + $ref: '#/components/schemas/TagCountType' + filter: + $ref: '#/components/schemas/SearchExpression' + required: + - countType + example: + {"advancedTagCount1":{"tag" : "tag1", countType : UNIQUE_COUNT , "filter" : NULL}, "advancedTagCount2":{"tag" : "tag2", countType : AGGREGATE_COUNT, "filter" : NULL}} + + TagCountType: + description: Indicate mode of tag count operations + anyOf: + - type: string + enum: + - UNIQUE_COUNT + - AGGREGATE_COUNT + - TOTAL_COUNT + - type: string + + TagCount: + description: The TagCount result of a_Advanced Count request + type: object + properties: + tag: + type: string + count: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + valueCount: + type: array + items: + $ref: '#/components/schemas/ValueCount' + + ValueCount: + description: The AggregateCount map + type: object + properties: + value: + type: string + count: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + + SearchExpression: + description: A logical expression element + type: object + oneOf: + - $ref: '#/components/schemas/SearchCondition' + - $ref: '#/components/schemas/SearchComparison' + - $ref: '#/components/schemas/RecordIdList' + example: + { "cond": "OR", "units": [ { "op": "EQ", "tag" : "ueId", "value" : "455345" }, { "op": "EQ", "tag" : "supi", "value" : "imsi-999559807001001" } ] } + + SearchCondition: + description: A logical condition + type: object + properties: + cond: + $ref: '#/components/schemas/ConditionOperator' + units: + type: array + items: + $ref: '#/components/schemas/SearchExpression' + minItems: 1 + schemaId: + $ref: '#/components/schemas/SchemaId' + required: + - cond + - units + example: + { "cond": "OR", "units": [ { "op": "EQ", "tag" : "ueId", "value" : "455345" }, { "op": "EQ", "tag" : "supi", "value" : "imsi-999559807001001" } ] } + + SearchComparison: + description: A comparison to apply on tag/values pairs. + type: object + properties: + op: + $ref: '#/components/schemas/ComparisonOperator' + tag: + type: string + value: + type: string + required: + - op + - tag + - value + example: + { "op": "EQ", "tag" : "supi", "value" : "imsi-999559807001001" } + + MetaSchema: + description: Defines the Meta Schema + type: object + required: + - schemaId + - metaTags + properties: + schemaId: + $ref: '#/components/schemas/SchemaId' + metaTags: + type: array + items: + $ref: '#/components/schemas/TagType' + + TagType: + description: Defines the Tag Type + type: object + required: + - tagName + - keyType + properties: + tagName: + type: string + keyType: + $ref: '#/components/schemas/KeyType' + sort: + type: boolean + default: false + presence: + type: boolean + + SchemaId: + description: Represents the Identifier of a Meta schema. + type: string + + KeyType: + description: Represents the type of a key. + anyOf: + - type: string + enum: + - UNIQUE_KEY + - SEARCH_KEY + - COUNT_KEY + - SEARCH_AND_COUNT_KEY + - OTHER_TAG + - type: string + + RetrieveRecords: + description: Indicates the data to be retrieved. + anyOf: + - type: string + enum: + - ONLY_META + - META_AND_BLOCKS + - type: string + + NotificationInfo: + type: object + required: + - expiredSubscriptions + properties: + expiredSubscriptions: + type: array + items: + $ref: '#/components/schemas/NotificationSubscription' + minItems: 1 + + ExtendedProblemDetails: + description: Extending problemDetails + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/ProblemDetailsExtension' + + ProblemDetailsExtension: + anyOf: + - $ref: '#/components/schemas/Record' + - $ref: '#/components/schemas/RecordMeta' + + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 9111, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 9110, 8.8.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 9110, 8.8.2 + schema: + type: string + Location: + description: Contains the URI of the newly created resource + required: true + schema: + type: string + Retry-After: + description: 'Indicates the time the NF Consumer has to wait before making a new request. It can be a non-negative integer (decimal number) indicating the number of seconds the NF Consumer has to wait before making a new request or an HTTP-date after which the AF can retry a new request.' + schema: + anyOf: + - type: integer + - type: string + + requestBodies: + RecordBody: + description: The record multipart request body. The meta part shall be the first part and is mandatory but can be empty and zero or more block parts may follow the meta part. + required: true + content: + multipart/mixed: + schema: + $ref: '#/components/schemas/Record' + encoding: + meta: # The meta part shall be the first part and is mandatory but can be empty + contentType: application/json + headers: + Content-Id: + schema: + type: string + required: true + blocks: # 0 or more block parts may follow the meta part + contentType: '*/*' # Block part can be of any type + headers: + Content-Id: # Block identifier is defined by the Content-Id header. + schema: + type: string + required: true + Content-Transfer-Encoding: + schema: + type: string + required: true + + RecordNotificationBody: + description: The record notification multipart request body. The descriptor part shall be the first one, followed by record meta part and by zero or more block parts. + required: true + content: + multipart/mixed: + schema: + $ref: '#/components/schemas/RecordNotification' + encoding: + descriptor: # The descriptor part shall be the first part and is mandatory + contentType: application/json + headers: + Content-Id: + schema: + type: string + required: true + meta: # The meta part shall be the second part and is mandatory but can be empty + contentType: application/json + headers: + Content-Id: + schema: + type: string + required: true + blocks: # 0 or more block parts may follow the meta part + contentType: '*/*' # Block part can be of any type + headers: + Content-Id: # Block identifier is defined by the Content-Id header. + schema: + type: string + required: true + Content-Transfer-Encoding: + schema: + type: string + required: true + + responses: + '304': # Etag response if the value might differ from that sent + description: Not Modified + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + headers: + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Retry-After: + $ref: '#/components/headers/Retry-After' + + 'RecordBody': # Record value with associated headers + description: >- + - 200 Update. The resource has been successfully updated and previous value must be sent in the response message if requested. + - 200 Get. The resource exists, its value must be sent in the response message + - 412 Precondition Failed, the previous value must be sent in response message if requested. + content: + multipart/mixed: + schema: + $ref: '#/components/schemas/Record' + encoding: + meta: # The meta part shall be the first part and is mandatory but can be empty. + contentType: application/json + headers: + Content-Id: # The meta part is identified by the 'meta' Content-Id header. + schema: + type: string + required: true + blocks: # Zero or more block parts may follow the meta part + contentType: '*/*' # Block parts can be of any type. + headers: + Content-Id: # Block identifier is defined by the Content-Id header. + schema: + type: string + required: true + Content-Transfer-Encoding: + schema: + type: string + required: true + headers: + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + + 'RecordBodyDelete': # Record value with associated headers + description: >- + - 200 Delete. The resource has been successfully delete and previous value must be sent in the response message if requested. + content: + multipart/mixed: + schema: + $ref: '#/components/schemas/Record' + encoding: + meta: # The meta part shall be the first par and is mandatory but can be empty. + contentType: application/json + headers: + Content-Id: # The meta part is identified by the Content-Id header. + schema: + type: string + required: true + blocks: # Zero or more block parts may follow the meta part. + contentType: '*/*' # Block parts can be of any type. + headers: + Content-Id: # Block identifier is defined by the Content-Id header. + schema: + type: string + required: true + Content-Transfer-Encoding: + schema: + type: string + required: true + headers: + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + + 'BlockBody': # Block value with associated headers + description: >- + - 200 Update: The resource has been successfully updated and previous value must be sent in the response message if requested. + - 200 Get: The resource exists, its value must be sent in the response message + - 412 Precondition Failed: the previous value must be sent in response message if requested. + content: + '*/*': + schema: + $ref: '#/components/schemas/Block' + headers: + Cache-Control: + $ref: '#/components/headers/Cache-Control' + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + + 'BlockBodyDelete': # Block value with associated headers + description: >- + - 200 Delete: The resource has been successfully delete and previous value must be sent in the response message if requested. + content: + '*/*': + schema: + $ref: '#/components/schemas/Block' + headers: + ETag: + $ref: '#/components/headers/ETag' + Last-Modified: + $ref: '#/components/headers/Last-Modified' + + '409': + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtendedProblemDetails' + '412': + description: Precondition Failed + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtendedProblemDetails' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtendedProblemDetails' + diff --git a/TS29598_Nudsf_Timer.yaml b/TS29598_Nudsf_Timer.yaml new file mode 100644 index 0000000000000000000000000000000000000000..edff361cd21fec2ebda00fbab14a7c9a787fdc1f --- /dev/null +++ b/TS29598_Nudsf_Timer.yaml @@ -0,0 +1,568 @@ +openapi: 3.0.0 +info: + title: Nudsf_Timer + version: 1.1.0-alpha.3 + description: | + Nudsf Timer Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.598 UDSF Services, V18.4.0. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.598/' + +servers: + - url: '{apiRoot}/nudsf-timer/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nudsf-timer + +paths: + + /{realmId}/{storageId}/timers: + summary: Access to all Timers of a Storage + description: >- + root of all Timers of a Storage + get: + summary: Timers search with get + description: Retrieve one or multiple TimerIDs based on filter + operationId: SearchTimer + tags: + - Timer Search + security: + - {} + - oAuth2ClientCredentials: + - nudsf-timer + - oAuth2ClientCredentials: + - nudsf-timer + - nudsf-timer:timer:read + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: filter + in: query + description: Query filter using conditions on tags + content: + application/json: + schema: + $ref: 'TS29598_Nudsf_DataRepository.yaml#/components/schemas/SearchExpression' + - name: expired-filter + in: query + description: Used to query for expired timers. + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Successful case. Response contains result of the search. + content: + application/json: + schema: + $ref: '#/components/schemas/TimerIdList' + '204': + description: >- + The search condition does not match any Timer. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete one or multiple timers based on filter + operationId: DeleteTimers + tags: + - Timers Delete + security: + - {} + - oAuth2ClientCredentials: + - nudsf-timer + - oAuth2ClientCredentials: + - nudsf-timer + - nudsf-timer:timer:modify + parameters: + - name: realmId + in: path + description: Identifier(name) of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: filter + in: query + description: A filter that determines the set of timers to be deleted + content: + application/json: + schema: + $ref: 'TS29598_Nudsf_DataRepository.yaml#/components/schemas/SearchExpression' + - name: expired-filter + in: query + description: Presence indicates that only expired timers are to be deleted. + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue' + responses: + '200': + description: Successful case. Response contains result of the search. + content: + application/json: + schema: + $ref: '#/components/schemas/TimerIdList' + '204': + description: Successful case. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /{realmId}/{storageId}/timers/{timerId}: + summary: Access to a specific Timer, identified by its TimerId + description: >- + Access to a specific Timer + put: + summary: Create/Replace Timer + description: Create or Modify a Timer with a user provided TimerId + operationId: CreateOrModifyTimer + tags: + - Timer Start + security: + - {} + - oAuth2ClientCredentials: + - nudsf-timer + - oAuth2ClientCredentials: + - nudsf-timer + - nudsf-timer:timer:create + parameters: + - name: realmId + in: path + description: Identifier(name) of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: timerId + in: path + description: Identifier of the Timer + required: true + schema: + $ref: '#/components/schemas/TimerId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Timer' + required: true + responses: + '201': + description: Timer successfully created + '204': + description: Timer successfully replaced + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + timerExpiry: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Timer' + responses: + '204': + description: Callback executed successfully + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Timer modification + description: update a specific Timer + operationId: UpdateTimer + tags: + - Timer Update + security: + - {} + - oAuth2ClientCredentials: + - nudsf-timer + - oAuth2ClientCredentials: + - nudsf-timer + - nudsf-timer:timer:modify + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: timerId + in: path + description: Identifier of the Timer + required: true + schema: + $ref: '#/components/schemas/TimerId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + description: Timer data to patch + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: >- + One or more modification instructions have been discarded, the execution report is returned in response PatchResult. + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: >- + Successful case. The timer has been successfully updated and no return is expected. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete a Timer with an user provided TimerId + operationId: DeleteTimer + tags: + - Timer Stop + security: + - {} + - oAuth2ClientCredentials: + - nudsf-timer + - oAuth2ClientCredentials: + - nudsf-timer + - nudsf-timer:timer:modify + parameters: + - name: realmId + in: path + description: Identifier(name) of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: timerId + in: path + description: Identifier of the Timer + required: true + schema: + $ref: '#/components/schemas/TimerId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '204': + description: Successful case. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Timer access + description: retrieve one specific Timer + operationId: GetTimer + tags: + - Timer Get + security: + - {} + - oAuth2ClientCredentials: + - nudsf-timer + - oAuth2ClientCredentials: + - nudsf-timer + - nudsf-timer:timer:read + parameters: + - name: realmId + in: path + description: Identifier of the Realm + required: true + schema: + type: string + example: Realm01 + - name: storageId + in: path + description: Identifier of the Storage + required: true + schema: + type: string + example: Storage01 + - name: timerId + in: path + description: Identifier of the Timer + required: true + schema: + $ref: '#/components/schemas/TimerId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200' : #result ok + description: Successful case. + content: + application/json: + schema: + $ref: '#/components/schemas/Timer' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudsf-timer: Access to the nudsf-timer API + nudsf-timer:timer:read: Access to read timers + nudsf-timer:timer:modify: Access to update timers + nudsf-timer:timer:create: Access to create timers + + schemas: + +# COMPLEX TYPES: + + Timer: + description: Represents a timer. + type: object + required: + - expires + properties: + timerId: + $ref: '#/components/schemas/TimerId' + expires: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + metaTags: + description: A map (list of key-value pairs where a tagName of type string serves as key) of tagValue lists + type: object + additionalProperties: + type: array + items: + type: string + minItems: 1 + minProperties: 1 + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + deleteAfter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + periodicRepetition: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + repetitionCount: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + + TimerIdList: + description: Represents a list of timer IDs. + type: object + required: + - timerIds + properties: + timerIds: + type: array + items: + $ref: '#/components/schemas/TimerId' + minItems: 1 + + +# SIMPLE TYPES: + + TimerId: + description: Represents the identifier of a timer. + type: string + diff --git a/TS29673_Nucmf_UERCM.yaml b/TS29673_Nucmf_UERCM.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6e6fdb049df447684c93eaece14edc17ac531d59 --- /dev/null +++ b/TS29673_Nucmf_UERCM.yaml @@ -0,0 +1,672 @@ +openapi: 3.0.0 + +info: + title: Nucmf_UECapabilityManagement + version: 1.2.0-alpha.1 + description: | + Nucmf_UECapabilityManagement Service. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.673 V18.0.0; 5G System; UE Radio Capability Management Services + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.673/' + +servers: + - url: '{apiRoot}/nucmf-uecm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nucmf-uecm + +paths: + /dic-entries: + get: + summary: retrieve a dictionary entry matching query parameters + operationId: RetrieveDictionaryEntry + tags: + - Dictionary Entry (Store) + security: + - {} + - oAuth2ClientCredentials: + - nucmf-uecm + - oAuth2ClientCredentials: + - nucmf-uecm + - nucmf-uecm:dictionary:read + parameters: + - name: ue-radio-capa-id + in: query + required: true + description: UE Radio Capability ID, either PLMN Assigned or Manufacturer Assigned + schema: + $ref: '#/components/schemas/UeRadioCapaId' + - name: rac-format + in: query + description: Encoding format of RAC Info + schema: + $ref: '#/components/schemas/RacFormat' + - name: supported-features + in: query + description: supported features of the NF consumer + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/DicEntryData' + binaryDataUeRadioCapability5GS: + type: string + format: binary + binaryDataUeRadioCapabilityEPS: + type: string + format: binary + binaryDataUeRadioCap5GSForPaging: + type: string + format: binary + binaryDataUeRadioCapEPSForPaging: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataUeRadioCapability5GS: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataUeRadioCapabilityEPS: + contentType: application/vnd.3gpp.s1ap + headers: + Content-Id: + schema: + type: string + binaryDataUeRadioCap5GSForPaging: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataUeRadioCapEPSForPaging: + contentType: application/vnd.3gpp.s1ap + headers: + Content-Id: + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + post: + summary: Create a dictionary entry in the UCMF + tags: + - a dictionary entry (Document) + operationId: CreateDictionaryEntry + security: + - {} + - oAuth2ClientCredentials: + - nucmf-uecm + - oAuth2ClientCredentials: + - nucmf-uecm + - nucmf-uecm:dictionary:create + requestBody: + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/DicEntryCreateData' + binaryDataUeRadioCapability5GS: + type: string + format: binary + binaryDataUeRadioCapabilityEPS: + type: string + format: binary + binaryDataUeRadioCap5GSForPaging: + type: string + format: binary + binaryDataUeRadioCapEPSForPaging: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataUeRadioCapability5GS: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataUeRadioCapabilityEPS: + contentType: application/vnd.3gpp.s1ap + headers: + Content-Id: + schema: + type: string + binaryDataUeRadioCap5GSForPaging: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataUeRadioCapEPSForPaging: + contentType: application/vnd.3gpp.s1ap + headers: + Content-Id: + schema: + type: string + responses: + '201': + description: Dictionary Created + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nucmf-uecm//dic-entries/{dicEntryId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/DicEntryCreatedData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /dic-entries/{dicEntryId}: + get: + summary: Get an individual dictionary entry via dicEntryId + operationId: GetDicEntry + tags: + - dic Entry Id (Document) + security: + - {} + - oAuth2ClientCredentials: + - nucmf-uecm + - oAuth2ClientCredentials: + - nucmf-uecm + - nucmf-uecm:dictionary:read + parameters: + - name: dicEntryId + in: path + description: the ID of a dictionary entry in the UCMF + required: true + schema: + $ref: '#/components/schemas/DicEntryId' + - name: rac-format + in: query + description: Encoding format of of RAC Info + schema: + $ref: '#/components/schemas/RacFormat' + - name: supported-features + in: query + description: supported features of the NF consumer + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/DicEntryData' + binaryDataUeRadioCapability5GS: + type: string + format: binary + binaryDataUeRadioCapabilityEPS: + type: string + format: binary + binaryDataUeRadioCap5GSForPaging: + type: string + format: binary + binaryDataUeRadioCapEPSForPaging: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataUeRadioCapability5GS: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataUeRadioCapabilityEPS: + contentType: application/vnd.3gpp.s1ap + headers: + Content-Id: + schema: + type: string + binaryDataUeRadioCap5GSForPaging: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataUeRadioCapEPSForPaging: + contentType: application/vnd.3gpp.s1ap + headers: + Content-Id: + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + + /subscriptions: + post: + summary: Nucmf_UECapabilityManagement Subscribe service Operation + operationId: CreateIndividualSubcription + tags: + - Subscriptions (Collection) + security: + - {} + - oAuth2ClientCredentials: + - nucmf-uecm + - oAuth2ClientCredentials: + - nucmf-uecm + - nucmf-uecm:subscription:create + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateSubscription' + responses: + '201': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nucmf-uecm//subscriptions/{subscriptionId}' + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + myNotification: + '{$request.body#/ucmfNotificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UcmfNotification' + responses: + '204': + description: No Content, Notification was succesfull + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscriptions/{subscriptionId}: + delete: + summary: unsubscribe from notifications + operationId: DeleteIndividualSubcription + tags: + - IndividualSubscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nucmf-uecm + - oAuth2ClientCredentials: + - nucmf-uecm + - nucmf-uecm:subscription:modify + parameters: + - name: subscriptionId + in: path + description: Event Subscription ID + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was succesfully deleted + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nucmf-uecm: Access to the Nucmf_UECapabilityManagement API + nucmf-uecm:dictionary:read: Access to read dictionaries + nucmf-uecm:dictionary:create: Access to create dictionary entitries + nucmf-uecm:subscription:create: Access to create subscriptions + nucmf-uecm:subscription:modify: Access to update subscriptions + + schemas: + DicEntryData: + description: A dictionary entry for a UE radio capability ID in the UCMF + type: object + required: + - typeAllocationCode + properties: + dicEntryId: + $ref: '#/components/schemas/DicEntryId' + typeAllocationCode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TypeAllocationCode' + plmnAssiUeRadioCapId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnAssiUeRadioCapId' + manAssiUeRadioCapId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ManAssiUeRadioCapId' + ueRadioCapability5GS: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + ueRadioCapabilityEPS: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + ueRadioCap5GSForPaging: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + ueRadioCapEPSForPaging: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + + DicEntryCreateData: + description: Data for a creating a dictionary entry request + type: object + required: + - typeAllocationCode + properties: + typeAllocationCode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TypeAllocationCode' + ueRadioCapability5GS: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + ueRadioCapabilityEPS: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + ueRadioCap5GSForPaging: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + ueRadioCapEPSForPaging: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + + DicEntryCreatedData: + description: Data for a creating a dictionary entry response + type: object + required: + - plmnAssiUeRadioCapId + properties: + plmnAssiUeRadioCapId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnAssiUeRadioCapId' + + + UeRadioCapaId: + description: UE Radio Capability ID + type: object + properties: + plmnAssiUeRadioCapId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnAssiUeRadioCapId' + manAssiUeRadioCapId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ManAssiUeRadioCapId' + + + CreateSubscription: + description: Data for a creating a subscription request + type: object + required: + - ucmfNotificationUri + properties: + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + ucmfNotificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + suggestedExpires: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + CreatedSubscription: + description: Data for a creating a subscription response + type: object + required: + - dicEntryId + properties: + dicEntryId: + $ref: '#/components/schemas/DicEntryId' + confirmedExpires: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + UcmfNotification: + description: Data for a notification request from a UCMF + type: object + required: + - dicEntryId + - eventType + properties: + dicEntryId: + $ref: '#/components/schemas/DicEntryId' + eventType: + $ref: '#/components/schemas/EventType' + manAssOpRequestlist: + $ref: '#/components/schemas/manAssOpRequestlist' + minItems: 1 + versionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + + manAssOpRequestlist: + description: Manufacturer Assigned operation requested list + type: object + oneOf: + - required: [plmnAssiUeRadioCapId] + - required: [typeAllocationCod] + properties: + plmnAssiUeRadioCapId: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnAssiUeRadioCapId' + minItems: 1 + typeAllocationCode: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TypeAllocationCode' + + +# +# SIMPLE DATA TYPES +# + DicEntryId: + type: integer + minimum: 0 + maximum: 4294967295 + +# +# ENUMERATIONS +# + + EventType: + anyOf: + - type: string + enum: + - CREATION_OF_DICTIONARY_ENTRY + - DELETION_OF_PLMN_ASSIGNED_IDS + - NEW_VERSION_ID_OF_PLMN_ASSIGNED_IDs + - type: string + + RacFormat: + anyOf: + - type: string + enum: + - 5GS + - EPS + - type: string diff --git a/TS29675_Nucmf_Provisioning.yaml b/TS29675_Nucmf_Provisioning.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a5e649bee29782d4addbcdaa886739cdf7f846ab --- /dev/null +++ b/TS29675_Nucmf_Provisioning.yaml @@ -0,0 +1,331 @@ +openapi: 3.0.0 +info: + title: Nucmf_Provisioning + version: 1.2.0-alpha.3 + description: | + UCMF_Provisioning Service. + © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 29.675 V18.3.0; User Equipment (UE) radio capability provisioning service; Stage 3. + url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.675/ +servers: + - url: '{apiRoot}/nucmf-provisioning/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - nucmf-provisioning +paths: + /provisionings: + post: + summary: Create an Individual UE radio capability provisioning + operationId: CreateProvisioning + tags: + - UE radio capability provisionings (Collection) + requestBody: + description: Create new provisionings for a given SCS/AS. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RacsData' + responses: + '201': + description: > + Created. The creation of an Individual UE radio capability provisioning + resource is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/RacsData' + headers: + Location: + description: Contains the URI of the newly created resource. + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: The RACS data for all RACS IDs were not provisioned successfully. + content: + application/json: + schema: + type: array + items: + $ref: 'TS29122_RacsParameterProvisioning.yaml#/components/schemas/RacsFailureReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /provisionings/{provisioningId}: + parameters: + - name: provisioningId + in: path + description: Provisioning ID + required: true + schema: + type: string + get: + summary: Get an Individual UE radio capability provisioning + operationId: GetProvisioning + tags: + - Individual UE radio capability provisioning (Document) + responses: + '200': + description: OK. The provisioning information related to the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/RacsData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Update (PATCH) an Individual UE radio capability provisioning + operationId: UpdateProvisioning + tags: + - Individual UE radio capability provisioning (Document) + requestBody: + description: Update an existing parameter provisioning. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/RacsDataPatch' + responses: + '200': + description: > + OK. The Individual UE radio capability provisioning resource is modified + and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/RacsData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: The RACS data for all RACS IDs were not provisioned successfully. + content: + application/json: + schema: + type: array + items: + $ref: 'TS29122_RacsParameterProvisioning.yaml#/components/schemas/RacsFailureReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Replace (PUT) an Individual UE radio capability provisioning + operationId: ReplaceProvisioning + tags: + - Individual UE radio capability provisioning (Document) + requestBody: + description: Update an existing parameter provisioning. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RacsData' + responses: + '200': + description: > + OK. The Individual UE radio capability provisioning resource is modified and a + representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/RacsData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: The RACS data for all RACS IDs were not provisioned successfully. + content: + application/json: + schema: + type: array + items: + $ref: 'TS29122_RacsParameterProvisioning.yaml#/components/schemas/RacsFailureReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Remove an Individual UE radio capability provisioning + operationId: RemoveProvisioning + tags: + - Individual UE radio capability provisioning (Document) + responses: + '204': + description: > + No Content. The Individual UE radio capability resource was successfully removed. + The content shall be empty. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '502': + $ref: 'TS29571_CommonData.yaml#/components/responses/502' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: + nucmf-provisioning: Access to the Nucmf_Provisioning API + schemas: + RacsData: + description: Represents a UE radio capability data provided by the NF service consumer. + type: object + properties: + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + racsConfigs: + type: object + additionalProperties: + $ref: 'TS29122_RacsParameterProvisioning.yaml#/components/schemas/RacsConfiguration' + minProperties: 1 + description: > + Identifies the configuration related to manufacturer specific UE radio capability. + Each element uniquely identifies an RACS configuration for an RACS ID and is + identified in the map via the RACS ID as key. The response shall include + successfully provisioned RACS data. + racsReports: + type: object + additionalProperties: + $ref: 'TS29122_RacsParameterProvisioning.yaml#/components/schemas/RacsFailureReport' + minProperties: 1 + description: > + Contains the RACS IDs for which the RACS data are not provisioned successfully. The + failure reason is also included. Any string value can be used as a key of the map. + readOnly: true + required: + - racsConfigs + RacsDataPatch: + description: > + Represents a modification of a UE radio capability data provided by the NF service + consumer. + type: object + properties: + racsConfigs: + type: object + additionalProperties: + $ref: 'TS29122_RacsParameterProvisioning.yaml#/components/schemas/RacsConfigurationRm' + minProperties: 1 + description: > + Identifies the configuration related to manufacturer specific UE radio + capability. Each element uniquely identifies an RACS configuration for an RACS ID + and is identified in the map via the RACS ID as key. diff --git a/TS32291_Nchf_OfflineOnlyCharging.yaml b/TS32291_Nchf_OfflineOnlyCharging.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c1b4d876ffce4e310f2917226e120041ee6a7bb1 --- /dev/null +++ b/TS32291_Nchf_OfflineOnlyCharging.yaml @@ -0,0 +1,703 @@ +openapi: 3.0.0 +info: + title: Nchf_OfflineOnlyCharging + version: 1.2.0-alpha.1 + description: | + OfflineOnlyCharging Service + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 32.291 V18.0.0: Telecommunication management; Charging management; + 5G system, charging service; Stage 3. + url: 'http://www.3gpp.org/ftp/Specs/archive/32_series/32.291/' +servers: + - url: '{apiRoot}/nchf-offlineonlycharging/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501. +security: + - {} + - oAuth2ClientCredentials: + - nchf-offlineonlycharging +paths: + /offlinechargingdata: + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataResponse' + '400': + description: Bad request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Not Found + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '410': + $ref: 'TS29571_CommonData.yaml#/components/responses/410' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + '/offlinechargingdata/{OfflineChargingDataRef}/update': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataRequest' + parameters: + - name: OfflineChargingDataRef + in: path + description: a unique identifier for a charging data resource in a PLMN + required: true + schema: + type: string + responses: + '200': + description: OK. Updated Charging Data resource is returned + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataResponse' + '400': + description: Bad request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Not Found + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '410': + $ref: 'TS29571_CommonData.yaml#/components/responses/410' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + '/offlinechargingdata/{OfflineChargingDataRef}/release': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataRequest' + parameters: + - name: OfflineChargingDataRef + in: path + description: a unique identifier for a charging data resource in a PLMN + required: true + schema: + type: string + responses: + '204': + description: No Content. + '404': + description: Not Found + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '410': + $ref: 'TS29571_CommonData.yaml#/components/responses/410' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nchf-offlineonlycharging: Access to the Nchf_OfflineOnlyCharging API + schemas: + ChargingDataRequest: + type: object + properties: + subscriberIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + nfConsumerIdentification: + $ref: '#/components/schemas/NFIdentification' + invocationTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + invocationSequenceNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + retransmissionIndicator: + type: boolean + serviceSpecificationInfo: + type: string + multipleUnitUsage: + type: array + items: + $ref: '#/components/schemas/MultipleUnitUsage' + minItems: 0 + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + pDUSessionChargingInformation: + $ref: '#/components/schemas/PDUSessionChargingInformation' + roamingQBCInformation: + $ref: '#/components/schemas/RoamingQBCInformation' + required: + - nfConsumerIdentification + - invocationTimeStamp + - invocationSequenceNumber + ChargingDataResponse: + type: object + properties: + invocationTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + invocationSequenceNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + invocationResult: + $ref: '#/components/schemas/InvocationResult' + sessionFailover: + $ref: '#/components/schemas/SessionFailover' + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + pDUSessionChargingInformation: + $ref: '#/components/schemas/PDUSessionChargingInformation' + roamingQBCInformation: + $ref: '#/components/schemas/RoamingQBCInformation' + required: + - invocationTimeStamp + - invocationSequenceNumber + NFIdentification: + type: object + properties: + nFName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nFIPv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + nFIPv6Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + nFPLMNID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + nodeFunctionality: + $ref: '#/components/schemas/NodeFunctionality' + nFFqdn: + type: string + required: + - nodeFunctionality + MultipleUnitUsage: + type: object + properties: + ratingGroup: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatingGroup' + usedUnitContainer: + type: array + items: + $ref: '#/components/schemas/UsedUnitContainer' + minItems: 0 + uPFID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + multihomedPDUAddress: + $ref: '#/components/schemas/PDUAddress' + required: + - ratingGroup + InvocationResult: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + failureHandling: + $ref: '#/components/schemas/FailureHandling' + Trigger: + type: object + properties: + triggerType: + $ref: '#/components/schemas/TriggerType' + triggerCategory: + $ref: '#/components/schemas/TriggerCategory' + timeLimit: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + volumeLimit: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + volumeLimit64: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + eventLimit: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + maxNumberOfccc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + required: + - triggerType + - triggerCategory + UsedUnitContainer: + type: object + properties: + serviceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceId' + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + triggerTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + time: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + totalVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + downlinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + serviceSpecificUnits: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + eventTimeStamps: + type: array + + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minItems: 0 + localSequenceNumber: + type: integer + pDUContainerInformation: + $ref: '#/components/schemas/PDUContainerInformation' + required: + - localSequenceNumber + PDUSessionChargingInformation: + type: object + properties: + chargingId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + sMFChargingId: + type: string + userInformation: + $ref: '#/components/schemas/UserInformation' + userLocationinfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + mAPDUNon3GPPUserLocationInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + userLocationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + presenceReportingAreaInformation: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 0 + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + pduSessionInformation: + $ref: '#/components/schemas/PDUSessionInformation' + unitCountInactivityTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + rANSecondaryRATUsageReport: + $ref: '#/components/schemas/RANSecondaryRATUsageReport' + required: + - pduSessionInformation + UserInformation: + type: object + properties: + servedGPSI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + servedPEI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + unauthenticatedFlag: + type: boolean + roamerInOut: + $ref: '#/components/schemas/RoamerInOut' + PDUSessionInformation: + type: object + properties: + networkSlicingInfo: + $ref: '#/components/schemas/NetworkSlicingInfo' + pduSessionID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + pduType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + sscMode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode' + hPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + servingNetworkFunctionID: + $ref: '#/components/schemas/ServingNetworkFunctionID' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + mAPDUNon3GPPRATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + dnnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + chargingCharacteristics: + type: string + chargingCharacteristicsSelectionMode: + $ref: '#/components/schemas/ChargingCharacteristicsSelectionMode' + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + stopTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + 3gppPSDataOffStatus: + $ref: '#/components/schemas/3GPPPSDataOffStatus' + sessionStopIndicator: + type: boolean + pduAddress: + $ref: '#/components/schemas/PDUAddress' + diagnostics: + $ref: '#/components/schemas/Diagnostics' + authorizedQoSInformation: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AuthorizedDefaultQos' + subscribedQoSInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SubscribedDefaultQos' + authorizedSessionAMBR: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + subscribedSessionAMBR: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + servingCNPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + mAPDUSessionInformation: + $ref: '#/components/schemas/MAPDUSessionInformation' + enhancedDiagnostics: + $ref: '#/components/schemas/EnhancedDiagnostics5G' + required: + - pduSessionID + - dnnId + PDUContainerInformation: + type: object + properties: + timeofFirstUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeofLastUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + qoSInformation: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosData' + qoSCharacteristics: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosCharacteristics' + aFCorrelationInformation: + type: string + userLocationInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + servingNodeID: + type: array + items: + $ref: '#/components/schemas/ServingNetworkFunctionID' + minItems: 0 + presenceReportingAreaInformation: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 0 + 3gppPSDataOffStatus: + $ref: '#/components/schemas/3GPPPSDataOffStatus' + sponsorIdentity: + type: string + applicationserviceProviderIdentity: + type: string + chargingRuleBaseName: + type: string + mAPDUSteeringFunctionality: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteeringFunctionality' + mAPDUSteeringMode: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteeringMode' + NetworkSlicingInfo: + type: object + properties: + sNSSAI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + required: + - sNSSAI + PDUAddress: + type: object + properties: + pduIPv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + pduIPv6AddresswithPrefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + pduAddressprefixlength: + type: integer + iPv4dynamicAddressFlag: + type: boolean + iPv6dynamicPrefixFlag: + type: boolean + ServingNetworkFunctionID: + type: object + properties: + servingNetworkFunctionInformation: + $ref: '#/components/schemas/NFIdentification' + aMFId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfId' + required: + - servingNetworkFunctionInformation + RoamingQBCInformation: + type: object + properties: + multipleQFIcontainer: + type: array + items: + $ref: '#/components/schemas/MultipleQFIcontainer' + minItems: 0 + uPFID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + roamingChargingProfile: + $ref: '#/components/schemas/RoamingChargingProfile' + MultipleQFIcontainer: + type: object + properties: + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + triggerTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + time: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + totalVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + localSequenceNumber: + type: integer + qFIContainerInformation: + $ref: '#/components/schemas/QFIContainerInformation' + required: + - localSequenceNumber + QFIContainerInformation: + type: object + properties: + qFI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + timeofFirstUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeofLastUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + qoSInformation: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosData' + qoSCharacteristics: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosCharacteristics' + userLocationInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + presenceReportingAreaInformation: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 0 + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + servingNetworkFunctionID: + type: array + items: + $ref: '#/components/schemas/ServingNetworkFunctionID' + minItems: 0 + 3gppPSDataOffStatus: + $ref: '#/components/schemas/3GPPPSDataOffStatus' + RoamingChargingProfile: + type: object + properties: + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + partialRecordMethod: + $ref: '#/components/schemas/PartialRecordMethod' + RANSecondaryRATUsageReport: + type: object + properties: + rANSecondaryRATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + qosFlowsUsageReports: + type: array + items: + $ref: '#/components/schemas/QosFlowsUsageReport' + Diagnostics: + type: integer + IPFilterRule: + type: string + QosFlowsUsageReport: + type: object + properties: + qFI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + startTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + downlinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + MAPDUSessionInformation: + type: object + properties: + mAPDUSessionIndicator: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/MaPduIndication' + aTSSSCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AtsssCapability' + EnhancedDiagnostics5G: + $ref: '#/components/schemas/RanNasCauseList' + RanNasCauseList: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RanNasRelCause' + NodeFunctionality: + anyOf: + - type: string + enum: + - SMF + - SMSF # Included for backwards compatibility, shall not be used + - I-SMF + - type: string + ChargingCharacteristicsSelectionMode: + anyOf: + - type: string + enum: + - HOME_DEFAULT + - ROAMING_DEFAULT + - VISITING_DEFAULT + - type: string + TriggerType: + anyOf: + - type: string + enum: + - FINAL + - ABNORMAL_RELEASE + - QOS_CHANGE + - VOLUME_LIMIT + - TIME_LIMIT + - EVENT_LIMIT + - PLMN_CHANGE + - USER_LOCATION_CHANGE + - RAT_CHANGE + - SESSION_AMBR_CHANGE + - UE_TIMEZONE_CHANGE + - TARIFF_TIME_CHANGE + - MAX_NUMBER_OF_CHANGES_IN_CHARGING_CONDITIONS + - MANAGEMENT_INTERVENTION + - CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA + - CHANGE_OF_3GPP_PS_DATA_OFF_STATUS + - SERVING_NODE_CHANGE + - REMOVAL_OF_UPF + - ADDITION_OF_UPF + - INSERTION_OF_ISMF + - REMOVAL_OF_ISMF + - CHANGE_OF_ISMF + - START_OF_SERVICE_DATA_FLOW + - GFBR_GUARANTEED_STATUS_CHANGE + - HANDOVER_CANCEL + - HANDOVER_START + - HANDOVER_COMPLETE + - ADDITION_OF_ACCESS + - REMOVAL_OF_ACCESS + - START_OF_SDF_ADDITIONAL_ACCESS + - type: string + TriggerCategory: + anyOf: + - type: string + enum: + - IMMEDIATE_REPORT + - DEFERRED_REPORT + - type: string + FailureHandling: + anyOf: + - type: string + enum: + - TERMINATE + - CONTINUE + - RETRY_AND_TERMINATE + - type: string + SessionFailover: + anyOf: + - type: string + enum: + - FAILOVER_NOT_SUPPORTED + - FAILOVER_SUPPORTED + - type: string + 3GPPPSDataOffStatus: + anyOf: + - type: string + enum: + - ACTIVE + - INACTIVE + - type: string + ResultCode: + anyOf: + - type: string + enum: + - SUCCESS + - END_USER_SERVICE_DENIED + - type: string + PartialRecordMethod: + anyOf: + - type: string + enum: + - DEFAULT + - INDIVIDUAL + - type: string + RoamerInOut: + anyOf: + - type: string + enum: + - IN_BOUND + - OUT_BOUND + - type: string