1 @startuml Information in rApp registration
2 struct APIProviderEnrolmentDetails #palegreen {
5 []APIProviderFunctionDetails apiProvFuncs
7 note right of APIProviderEnrolmentDetails::apiProvDomId
8 Id provided by CAPIF Core
10 struct APIProviderFunctionDetails #palegreen {
12 string apiProvFuncInfo
13 ApiProviderFuncRole apiProviderFuncRole (required)
14 RegistrationInformation regInfo (required)
16 note right of APIProviderFunctionDetails::apiProvFuncId
17 Id provided by CAPIF Core
19 note right of APIProviderFunctionDetails::apiProviderFuncRole
20 - AEF: API provider function is API Exposing Function.
21 - APF: API provider function is API Publishing Function.
22 - AMF: API Provider function is API Management Function.
24 struct RegistrationInformation #palegreen {
26 atring apiProvPubKey (required)
28 APIProviderEnrolmentDetails::apiProvFuncs o-- APIProviderFunctionDetails
29 APIProviderFunctionDetails::regInfo o-- RegistrationInformation
31 struct ServiceAPIDescription #lightblue {
33 string apiName (required)
35 []AefProfile aefProfiles
37 note bottom of ServiceAPIDescription
38 Id provided by CAPIF Core
40 struct AefProfile #lightblue {
41 string aefId (required)
44 []InterfaceDescription interfaceDescriptions
46 []SecurityMethod securityMethods
47 []Version versions (required)
49 note left of AefProfile::dataFormat
50 - JSON: JavaScript Object Notation
52 note left of AefProfile::protocol
53 - HTTP_1_1: HTTP version 1.1
54 - HTTP_2: HTTP version 2
56 note left of AefProfile::securityMethods
57 - PSK: Security method 1 (Using TLS-PSK)
58 - PKI: Security method 2 (Using PKI)
59 - OAUTH: Security method 3 (TLS with OAuth token)
61 note "From APIProviderFunctionDetails" as aefIdRel
62 APIProviderFunctionDetails::apiProvFuncId .. aefIdRel
63 aefIdRel .. AefProfile::aefId
64 struct InterfaceDescription #lightblue {
67 []Operation operations
68 []SecurityMethod securityMethods
70 note right of InterfaceDescription
71 Security methods supported by the interface,
72 it take precedence over the security methods
73 provided in AefProfile, for this specific interface.
75 struct Version #lightblue {
79 note right of Version::resources
83 ServiceAPIDescription::aefProfiles o-- AefProfile
84 AefProfile::interfaceDescriptions o-- InterfaceDescription
85 AefProfile::versions o-- Version
87 struct APIInvokerEnrolmentDetails #coral {
89 string apiInvokerInformation
91 OnboardingInformation onboardingInformation
93 struct OnboardingInformation #coral {
94 string apiInvokerCertificate
95 string ApiInvokerPublicKey (required)
96 string onboardingSecret
98 note right of OnboardingInformation::onboardingSecret
99 Secret provided by CAPIF Core
101 note right of APIInvokerEnrolmentDetails::apiInvokerId
102 Id provided by CAPIF Core
104 APIInvokerEnrolmentDetails::apiList o-- ServiceAPIDescription : APIList
105 APIInvokerEnrolmentDetails::onboardingInformation o-- OnboardingInformation