A.11 CAPIF_API_Provider_Management_API

29.2223GPPCommon API Framework for 3GPP Northbound APIsRelease 18TS

openapi: 3.0.0

info:

title: CAPIF_API_Provider_Management_API

description: |

API for API provider domain functions management.

© 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}/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: |

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.