8.3 CAPIF_Events_API
29.2223GPPCommon API Framework for 3GPP Northbound APIsRelease 18TS
8.3.1 API URI
The CAPIF_Events_API service shall use the CAPIF_Events_API.
The request URIs used in HTTP requests from the Subscriber towards the CAPIF core function shall have the Resource URI structure as defined in clause 7.5 with the following clarifications:
– The <apiName> shall be "capif-events".
– The <apiVersion> shall be "v1".
– The <apiSpecificSuffixes> shall be set as described in clause 8.3.2.
8.3.2 Resources
8.3.2.1 Overview
This clause describes the structure for the Resource URIs and the resources and methods used for the service.
Figure 8.3.2.1-1 depicts the resource URIs structure for the CAPIF_Events_API.
Figure 8.3.2.1-1: Resource URI structure of the CAPIF_Events_API
Table 8.3.2.1-1 provides an overview of the resources and applicable HTTP methods.
Table 8.3.2.1-1: Resources and methods overview
Resource name |
Resource URI |
HTTP method or custom operation |
Description |
CAPIF Events Subscriptions |
/{subscriberId}/subscriptions |
POST |
Creates a new individual CAPIF Event Subscription |
Individual CAPIF Events Subscription |
/{subscriberId}/subscriptions/ |
DELETE |
Deletes an individual CAPIF Event Subscription identified by the subscriptionId |
8.3.2.2 Resource: CAPIF Events Subscriptions
8.3.2.2.1 Description
The CAPIF Events Subscriptions resource represents all subscriptions of aSubscriber.
8.3.2.2.2 Resource Definition
Resource URI: {apiRoot}/capif-events/<apiVersion>/{subscriberId}/subscriptions
This resource shall support the resource URI variables defined in table 8.3.2.2.2-1.
Table 8.3.2.2.2-1: Resource URI variables for this resource
Name |
Data Type |
Definition |
apiRoot |
string |
See clause 7.5 |
subscriberId |
string |
ID of the Subscriber |
8.3.2.2.3 Resource Standard Methods
8.3.2.2.3.1 POST
This method shall support the URI query parameters specified in table 8.3.2.2.3.1-1.
Table 8.3.2.2.3.1-1: URI query parameters supported by the POST method on this resource
Name |
Data type |
P |
Cardinality |
Description |
n/a |
This method shall support the request data structures specified in table 8.3.2.2.3.1-2 and the response data structures and response codes specified in table 8.3.2.2.3.1-3.
Table 8.3.2.2.3.1-2: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
EventSubscription |
M |
1 |
Create a new individual CAPIF Events Subscription resource. |
Table 8.3.2.2.3.1-3: Data structures supported by the POST Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
EventSubscription |
M |
1 |
201 Created |
CAPIF Events Subscription resource created successfully. The URI of the created resource shall be returned in the "Location" HTTP header |
NOTE: The mandatory HTTP error status codes for the POST method listed in table 5.2.6-1 of 3GPP TS 29.122 [14] also apply. |
Table 8.3.2.2.3.1-4: Headers supported by the 201 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
Contains the URI of the newly created resource, according to the structure: {apiRoot}/capif-events/<apiVersion>/{subscriberId}/subscriptions/{subscriptionId} |
8.3.2.2.4 Resource Custom Operations
None.
8.3.2.3 Resource: Individual CAPIF Events Subscription
8.3.2.3.1 Description
The Individual CAPIF Events Subscription resource represents an individual event subscription of aSubscriber.
8.3.2.3.2 Resource Definition
Resource URI: {apiRoot}/capif-events/<apiVersion>/{subscriberId}/subscriptions/{subscriptionId}
This resource shall support the resource URI variables defined in table 8.3.2.3.2-1.
Table 8.3.2.3.2-1: Resource URI variables for this resource
Name |
Data Type |
Definition |
apiRoot |
string |
See clause 7.5 |
subscriberId |
string |
ID of the Subscriber |
subscriptionId |
string |
Identifies an individual Events Subscription |
8.3.2.3.3 Resource Standard Methods
8.3.2.3.3.1 DELETE
This method shall support the URI query parameters specified in table 8.3.2.3.3.1-1.
Table 8.3.2.3.3.1-1: URI query parameters supported by the DELETE method on this resource
Name |
Data type |
P |
Cardinality |
Description |
n/a |
This method shall support the request data structures specified in table 8.3.2.3.3.1-2 and the response data structures and response codes specified in table 8.3.2.3.3.1-3.
Table 8.3.2.3.3.1-2: Data structures supported by the DELETE Request Body on this resource
Data type |
P |
Cardinality |
Description |
n/a |
Table 8.3.2.3.3.1-3: Data structures supported by the DELETE Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
n/a |
204 No Content |
The individual CAPIF Events Subscription matching the subscriptionId is deleted. |
||
n/a |
307 Temporary Redirect |
Temporary redirection, during resource termination. The response shall include a Location header field containing an alternative URI of the resource located in an alternative CAPIF core function. Redirection handling is described in clause 5.2.10 of 3GPP TS 29.122 [14]. |
||
n/a |
308 Permanent Redirect |
Permanent redirection, during resource termination. The response shall include a Location header field containing an alternative URI of the resource located in an alternative CAPIF core function. Redirection handling is described in clause 5.2.10 of 3GPP TS 29.122 [14]. |
||
NOTE: The mandatory HTTP error status codes for the DELETE method listed in table 5.2.6-1 of 3GPP TS 29.122 [14] also apply. |
Table 8.3.2.3.3.1-4: Headers supported by the 307 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located in an alternative CAPIF core function. |
Table 8.3.2.3.3.1-5: Headers supported by the 308 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located in an alternative CAPIF core function. |
8.3.2.3.4 Resource Custom Operations
None.
8.3.3 Notifications
8.3.3.1 General
The delivery of notifications shall conform to clause 7.6.
Table 8.3.3.1-1: Notifications overview
Notification |
Callback URI |
HTTP method or custom operation |
Description (service operation) |
Event notification |
{notificationDestination} |
POST |
Notifies Subscriber of a CAPIF Event |
8.3.3.2 Event Notification
8.3.3.2.1 Description
Event Notification is used by the CAPIF core function to notify a Subscriber of an Event. The Subscriber shall be subscribed to such Event Notification via the Individual CAPIF Events Subscription Resource.
8.3.3.2.2 Notification definition
The POST method shall be used for Event notification and the URI shall be the one provided by the Subscriber during the subscription to the event.
Callback URI: {notificationDestination}
This method shall support the URI query parameters specified in table 8.3.3.2.2.1-1.
Table 8.3.3.2.2-1: URI query parameters supported by the POST method on this resource
Name |
Data type |
P |
Cardinality |
Description |
n/a |
This method shall support the request data structures specified in table 8.3.3.2.2-2 and the response data structures and response codes specified in table 8.3.3.2.2-3.
Table 8.3.3.2.2-2: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
EventNotification |
M |
1 |
Notification information of a CAPIF Event |
Table 8.3.3.2.2-3: Data structures supported by the POST Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
n/a |
204 No Content |
The receipt of the Notification is acknowledged. |
||
n/a |
307 Temporary Redirect |
Temporary redirection, during notification. The response shall include a Location header field containing an alternative URI representing the end point of an alternative notification destination where the notification should be sent. Redirection handling is described in clause 5.2.10 of 3GPP TS 29.122 [4]. |
||
n/a |
308 Permanent Redirect |
Permanent redirection, during notification. The response shall include a Location header field containing an alternative URI representing the end point of an alternative notification destination where the notification should be sent. Redirection handling is described in clause 5.2.10 of 3GPP TS 29.122 [4]. |
||
NOTE: The mandatory HTTP error status codes for the POST method listed in table 5.2.6-1 of 3GPP TS 29.122 [14] also apply. |
Table 8.3.3.2.2-4: Headers supported by the 307 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI representing the end point of an alternative notification destination towards which the notification should be redirected. |
Table 8.3.3.2.2-5: Headers supported by the 308 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI representing the end point of an alternative notification destination towards which the notification should be redirected. |
8.3.4 Data Model
8.3.4.1 General
This clause specifies the application data model supported by the API. Data types listed in clause 7.2 also apply to this API.
Table 8.3.4.1-1 specifies the data types defined specifically for the CAPIF_Events_API service.
Table 8.3.4.1-1: CAPIF_Events_API specific Data Types
Data type |
Section defined |
Description |
Applicability |
AccessControlPolicyListExt |
Clause 8.3.4.2.6 |
Represents the extension for access control policies. |
|
CAPIFEvent |
Clause 8.3.4.3.2 |
Describes the CAPIF event. |
|
CAPIFEventDetail |
Clause 8.3.4.2.5 |
Represents the CAPIF event detail. |
Enhanced_event_report |
CAPIFEventFilter |
Clause 8.3.4.2.4 |
Represents the CAPIF event filter. |
Enhanced_event_report |
EventNotification |
Clause 8.3.4.2.3 |
Represents an individual CAPIF Event Subscription Notification. |
|
EventSubscription |
Clause 8.3.4.2.2 |
Represents an individual CAPIF Event Subscription resource. |
|
TopologyHiding |
Clause 8.3.4.2.7 |
Represents the routing rules information of a service API. |
Table 8.3.4.1-2 specifies data types re-used by the CAPIF_Events_API service:
Table 8.3.4.1-2: Re-used Data Types
Data type |
Reference |
Comments |
Applicability |
ReportingInformation |
3GPP TS 29.523 [26] |
Used to indicate the reporting requirement, only the following information are applicable for CAPIF: – immRep – notifMethod – maxReportNbr – monDur – repPeriod |
Enhanced_event_report |
SupportedFeatures |
3GPP TS 29.571 [19] |
Used to negotiate the applicability of optional features defined in table 8.3.6-1. |
8.3.4.2 Structured data types
8.3.4.2.1 Introduction
This clause defines the structures to be used in resource representations.
8.3.4.2.2 Type: EventSubscription
Table 8.3.4.2.2-1: Definition of type EventSubscription
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
events |
array(CAPIFEvent) |
M |
1..N |
Subscribed events |
|
eventFilters |
array(CAPIFEventFilter) |
O |
1..N |
Subscribed event filters. The nth entry in the "eventFilters" attribute shall correspond to the nth entry in the "events" attribute. For event not having event filter, an empty event filter entry without any sub-attribute shall be provided. |
Enhanced_event_report |
eventReq |
ReportingInformation |
O |
0..1 |
Represents the reporting requirements of the event subscription. |
Enhanced_event_report |
notificationDestination |
Uri |
M |
1 |
URI where the notification should be delivered to. |
|
requestTestNotification |
boolean |
O |
0..1 |
Set to true by Subscriber to request the CAPIF core function to send a test notification as defined in clause 7.6. Set to false or omitted otherwise. |
Notification_test_event |
websockNotifConfig |
WebsockNotifConfig |
O |
0..1 |
Configuration parameters to set up notification delivery over Websocket protocol as defined in clause 7.6. |
Notification_websocket |
supportedFeatures |
SupportedFeatures |
O |
0..1 |
Used to negotiate the supported optional features of the API as described in clause 7.8. This attribute shall be provided in the HTTP POST request and in the response of successful resource creation. |
8.3.4.2.3 Type: EventNotification
Table 8.3.4.2.3-1: Definition of type EventNotification
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
subscriptionId |
string |
M |
1 |
Identifier of the subscription resource to which the notification is related – CAPIF resource identifier |
|
events |
CAPIFEvent |
M |
1 |
Notifications of individual events |
|
eventDetail |
CAPIFEventDetail |
O |
0..1 |
Detailed information for the event. |
Enhanced_event_report |
8.3.4.2.4 Type: CAPIFEventFilter
Table 8.3.4.2.4-1: Definition of type CAPIFEventFilter
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
apiIds |
array(string) |
O |
1..N |
API identifiers that the event subscriber wants to know in the interested event. |
|
apiInvokerIds |
array(string) |
O |
1..N |
API invokers that the event subscriber wants to know in the interested event. |
|
aefIds |
array(string) |
O |
1..N |
String identifying the AEF. |
8.3.4.2.5 Type: CAPIFEventDetail
Table 8.3.4.2.5-1: Definition of type CAPIFEventDetail
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
serviceAPIDescriptions |
array(ServiceAPIDescription) |
O |
1..N |
Description of the service API as published by the APF. |
|
apiIds |
array(string) |
O |
1..N |
API identifiers. |
|
apiInvokerIds |
array(string) |
O |
1..N |
API invokers that are onboarded/offboarded. |
|
accCtrlPolList |
AccessControlPolicyListExt |
O |
0..1 |
Access control policy updated list. |
|
invocationLogs |
array(InvocationLog) |
O |
1..N |
Invocation logs |
|
apiTopoHide |
TopologyHiding |
O |
0..1 |
Topology hiding information for a service API |
8.3.4.2.6 Type: AccessControlPolicyListExt
Table 8.3.4.2.6-1: Definition of type AccessControlPolicyListExt
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
apiId |
string |
M |
1 |
Identifier of the service API |
|
NOTE: This data type also contains all the properties defined for AccessControlPolicyList data type. |
8.3.4.2.7 Type: TopologyHiding
Table 8.3.4.2.7-1: Definition of type TopologyHiding
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
apiId |
string |
M |
1 |
Identifier of the service API |
|
routingRules |
array(RoutingRule) |
M |
1..N |
Routing rules |
8.3.4.3 Simple data types and enumerations
8.3.4.3.1 Introduction
This clause defines simple data types and enumerations that can be referenced from data structures defined in the previous clauses.
8.3.4.3.2 Simple data types
None.
The simple data types defined in table 8.3.4.3.2-1 shall be supported.
Table 8.3.4.3.2-1: Simple data types
Type Name |
Type Definition |
Description |
Applicability |
n/a |
8.3.4.3.3 Enumeration: CAPIFEvent
Table 8.3.4.3.3-1: Enumeration CAPIFEvent
Enumeration value |
Description |
Applicability |
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 (NOTE) |
|
API_INVOKER_AUTHORIZATION_REVOKED |
Events related to the revocation of the authorization of API invokers to access the service APIs. (NOTE) |
|
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 API after the service APIs are published |
|
API_TOPOLOGY_HIDING_REVOKED |
Events related to the revocation of the API topology information of the service API after the service APIs are unpublished |
|
NOTE: The present release does not specify further details (e.g. event filters) for this event. |
8.3.5 Error Handling
8.3.5.1 General
HTTP error handling shall be supported as specified in clause 7.7.
In addition, the requirements in the following clauses shall apply.
8.3.5.2 Protocol Errors
In this Release of the specification, there are no additional protocol errors applicable for the CAPIF_Events_API.
8.3.5.3 Application Errors
The application errors defined for the CAPIF_Events_API are listed in table 8.3.5.3-1.
Table 8.3.5.3-1: Application errors
Application Error |
HTTP status code |
Description |
Applicability |
8.3.6 Feature negotiation
General feature negotiation procedures are defined in clause 7.8. Table 8.3.6-1 lists the supported features for CAPIF_Events_API.
Table 8.3.6-1: Supported Features
Feature number |
Feature Name |
Description |
1 |
Notification_test_event |
Testing of notification connection is supported according to clause 7.6. |
2 |
Notification_websocket |
The delivery of notifications over Websocket is supported according to clause 7.6. This feature requires that the Notification_test_event feature is also supported. |
3 |
Enhanced_event_report |
This feature supports the enhanced event report including event reporting requirement and event reporting details as defined in clause 5.4.2.2.2. |