A.8 CAPIF_Logging_API_Invocation_API

29.2223GPPCommon API Framework for 3GPP Northbound APIsRelease 18TS

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