A.4 CAPIF_Events_API

29.2223GPPCommon API Framework for 3GPP Northbound APIsRelease 18TS

openapi: 3.0.0

info:

title: CAPIF_Events_API

description: |

API for event subscription 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}/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’

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

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: |

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.