A.5 CAPIF_API_Invoker_Management_API
29.2223GPPCommon API Framework for 3GPP Northbound APIsRelease 18TS
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.