Merge changes I3349bcdd,I552b5e17
authorHenrik Andersson <henrik.b.andersson@est.tech>
Fri, 2 Dec 2022 10:14:44 +0000 (10:14 +0000)
committerGerrit Code Review <gerrit@o-ran-sc.org>
Fri, 2 Dec 2022 10:14:44 +0000 (10:14 +0000)
* changes:
  Add Security Service to diagrams
  Refine documentation

capifcore/README.md
capifcore/docs/diagrams/Information in rApp registration.svg
capifcore/docs/diagrams/Register Provider.svg
capifcore/docs/diagrams/classdiagram.plantuml
capifcore/docs/diagrams/registerpoviderandpublishservice.plantuml

index 9242007..922783c 100644 (file)
@@ -28,9 +28,9 @@ The data used within CAPIF Core is shown in the diagram below.
 
 <img src="docs/diagrams/Information in rApp registration.svg">
 
-An example of how an rApp that both exposes and consumes services can be registered in CAPIF Core is shown in the sequence diagram below.
+An example of how an rApp that both exposes and consumes services can be registered in CAPIF Core is shown in the sequence diagram below. Discovery of services for an invoker is also shown.
 
-***NOTE!*** It has not been decided that CAPIF Core will actually do the Helm chart installation and starting. This is just provided in the prototype as an example of what CAPIF Core could do. Before publisihing a service, the chart that belongs to the service must be registered in ChartMusem. When publishing the service the following information should be provided in the `ServiceAPIDescription::description` attribute; "namespace", "repoName", "chartName", "releaseName". An exaple of the information: "Description of rApp helloWorld,namespace,repoName,chartName,releaseName".
+***NOTE!*** It has not been decided that CAPIF Core will actually do the Helm chart installation. This is just provided in the prototype as an example of what CAPIF Core could do. Before publisihing a service, the chart that belongs to the service must be registered in ChartMusem. When publishing the service the following information should be provided in the `ServiceAPIDescription::description` attribute; "namespace", "repoName", "chartName", "releaseName". An example of the information: "Description of rApp helloWorld,namespace,repoName,chartName,releaseName".
 
 <img src="docs/diagrams/Register Provider.svg">
 
index 4e7dd5f..b550ec9 100644 (file)
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="1289px" preserveAspectRatio="none" style="width:2205px;height:1289px;background:#FFFFFF;" version="1.1" viewBox="0 0 2205 1289" width="2205px" zoomAndPan="magnify"><defs/><g><!--MD5=[0e252429fa10c7ec310cb63d32dcae66]
-class APIProviderEnrolmentDetails--><g id="elem_APIProviderEnrolmentDetails"><rect codeLine="1" fill="#98FB98" height="113.1875" id="APIProviderEnrolmentDetails" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="315" x="1471.5" y="7"/><ellipse cx="1520.25" cy="23" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1524.0313,18.9688 C1524.0313,18.5313 1524.0156,18.3906 1523.9219,18.2344 C1523.7813,18 1523.5,17.8438 1523.2031,17.8438 C1522.8594,17.8438 1522.7188,17.9844 1522.5469,18.4063 C1521.9531,18.0313 1521.2031,17.8438 1520.3281,17.8438 C1518.2188,17.8438 1516.6406,19.1406 1516.6406,20.8594 C1516.6406,21.8281 1517.1719,22.7344 1518.0313,23.2188 C1518.5781,23.5313 1519.125,23.7031 1520.2344,23.8906 C1521.3906,24.0938 1521.6563,24.1563 1522.0156,24.3438 C1522.3906,24.5469 1522.625,24.8906 1522.625,25.25 C1522.625,25.9844 1521.6406,26.5313 1520.3906,26.5313 C1519.2656,26.5313 1518.1875,26.0469 1518.0156,25.4375 C1517.8906,24.9688 1517.8906,24.9688 1517.7656,24.8594 C1517.6094,24.7031 1517.3906,24.6094 1517.1563,24.6094 C1516.875,24.6094 1516.625,24.7344 1516.4531,24.9531 C1516.3438,25.125 1516.2969,25.3125 1516.2969,25.7344 L1516.2969,26.8594 C1516.2969,27.625 1516.5781,27.9844 1517.1719,27.9844 C1517.4375,27.9844 1517.5625,27.9219 1517.8438,27.5781 C1518.6875,28.0156 1519.5781,28.2344 1520.5,28.2344 C1522.8281,28.2344 1524.3906,27.0469 1524.3906,25.2813 C1524.3906,24.3906 1524.0781,23.7031 1523.3906,23.1563 C1522.8594,22.7344 1522.2188,22.4844 1520.7344,22.2188 C1519.4688,21.9844 1519.375,21.9531 1519.0469,21.7813 C1518.6719,21.5938 1518.4063,21.2031 1518.4063,20.8438 C1518.4063,20.1094 1519.2656,19.5469 1520.3281,19.5469 C1521.3906,19.5469 1522.2031,20.0156 1522.3594,20.6875 C1522.4688,21.2344 1522.4688,21.2344 1522.5938,21.375 C1522.7344,21.5 1522.9688,21.6094 1523.2031,21.6094 C1523.4688,21.6094 1523.7188,21.4688 1523.8906,21.25 C1524,21.0781 1524.0313,20.9375 1524.0313,20.4688 L1524.0313,18.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="209" x="1540.75" y="27.8467">APIProviderEnrolmentDetails</text><line style="stroke:#181818;stroke-width:0.5;" x1="1472.5" x2="1785.5" y1="39" y2="39"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="147" x="1477.5" y="55.9951">string apiProvDomId</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="162" x="1477.5" y="72.292">string apiProvDomInfo</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="303" x="1477.5" y="88.5889">[]APIProviderFunctionDetails apiProvFuncs</text><line style="stroke:#181818;stroke-width:0.5;" x1="1472.5" x2="1785.5" y1="95.8906" y2="95.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="170" x="1477.5" y="112.8857">string regSec (required)</text></g><path d="M1830,45.5 L1830,54.0664 L1624.5,51.1484 L1830,62.0664 L1830,70.6328 A0,0 0 0 0 1830,70.6328 L2016,70.6328 A0,0 0 0 0 2016,70.6328 L2016,55.5 L2006,45.5 L1830,45.5 A0,0 0 0 0 1830,45.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M2006,45.5 L2006,55.5 L2016,55.5 L2006,45.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="165" x="1836" y="62.5669">Id provided by CAPIF Core</text><!--MD5=[7f279047012c54823f76ad25d0814bfd]
-class APIProviderFunctionDetails--><g id="elem_APIProviderFunctionDetails"><rect codeLine="10" fill="#98FB98" height="113.1875" id="APIProviderFunctionDetails" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="386" x="1437" y="188"/><ellipse cx="1528.25" cy="204" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1532.0313,199.9688 C1532.0313,199.5313 1532.0156,199.3906 1531.9219,199.2344 C1531.7813,199 1531.5,198.8438 1531.2031,198.8438 C1530.8594,198.8438 1530.7188,198.9844 1530.5469,199.4063 C1529.9531,199.0313 1529.2031,198.8438 1528.3281,198.8438 C1526.2188,198.8438 1524.6406,200.1406 1524.6406,201.8594 C1524.6406,202.8281 1525.1719,203.7344 1526.0313,204.2188 C1526.5781,204.5313 1527.125,204.7031 1528.2344,204.8906 C1529.3906,205.0938 1529.6563,205.1563 1530.0156,205.3438 C1530.3906,205.5469 1530.625,205.8906 1530.625,206.25 C1530.625,206.9844 1529.6406,207.5313 1528.3906,207.5313 C1527.2656,207.5313 1526.1875,207.0469 1526.0156,206.4375 C1525.8906,205.9688 1525.8906,205.9688 1525.7656,205.8594 C1525.6094,205.7031 1525.3906,205.6094 1525.1563,205.6094 C1524.875,205.6094 1524.625,205.7344 1524.4531,205.9531 C1524.3438,206.125 1524.2969,206.3125 1524.2969,206.7344 L1524.2969,207.8594 C1524.2969,208.625 1524.5781,208.9844 1525.1719,208.9844 C1525.4375,208.9844 1525.5625,208.9219 1525.8438,208.5781 C1526.6875,209.0156 1527.5781,209.2344 1528.5,209.2344 C1530.8281,209.2344 1532.3906,208.0469 1532.3906,206.2813 C1532.3906,205.3906 1532.0781,204.7031 1531.3906,204.1563 C1530.8594,203.7344 1530.2188,203.4844 1528.7344,203.2188 C1527.4688,202.9844 1527.375,202.9531 1527.0469,202.7813 C1526.6719,202.5938 1526.4063,202.2031 1526.4063,201.8438 C1526.4063,201.1094 1527.2656,200.5469 1528.3281,200.5469 C1529.3906,200.5469 1530.2031,201.0156 1530.3594,201.6875 C1530.4688,202.2344 1530.4688,202.2344 1530.5938,202.375 C1530.7344,202.5 1530.9688,202.6094 1531.2031,202.6094 C1531.4688,202.6094 1531.7188,202.4688 1531.8906,202.25 C1532,202.0781 1532.0313,201.9375 1532.0313,201.4688 L1532.0313,199.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="195" x="1548.75" y="208.8467">APIProviderFunctionDetails</text><line style="stroke:#181818;stroke-width:0.5;" x1="1438" x2="1822" y1="220" y2="220"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="146" x="1443" y="236.9951">string apiProvFuncId</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="161" x="1443" y="253.292">string apiProvFuncInfo</text><line style="stroke:#181818;stroke-width:0.5;" x1="1438" x2="1822" y1="260.5938" y2="260.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="374" x="1443" y="277.5889">ApiProviderFuncRole apiProviderFuncRole (required)</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="304" x="1443" y="293.8857">RegistrationInformation regInfo (required)</text></g><path d="M1866,226.5 L1866,235.0664 L1589,232.1484 L1866,243.0664 L1866,251.6328 A0,0 0 0 0 1866,251.6328 L2052,251.6328 A0,0 0 0 0 2052,251.6328 L2052,236.5 L2042,226.5 L1866,226.5 A0,0 0 0 0 1866,226.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M2042,226.5 L2042,236.5 L2052,236.5 L2042,226.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="165" x="1872" y="243.5669">Id provided by CAPIF Core</text><!--MD5=[67b08351a787f22226f346261cc25825]
-class ApiProviderFuncRole--><g id="elem_ApiProviderFuncRole"><rect codeLine="19" fill="#98FB98" height="96.8906" id="ApiProviderFuncRole" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="413" x="1785.5" y="392.5"/><ellipse cx="1913.25" cy="408.5" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1912.0469,409.375 L1913.5,409.375 L1913.5,409.4844 C1913.5,409.8906 1913.5313,410.0469 1913.6094,410.2031 C1913.7656,410.4531 1914.0469,410.6094 1914.3438,410.6094 C1914.5938,410.6094 1914.8594,410.4688 1915.0156,410.25 C1915.1406,410.0938 1915.1719,409.9375 1915.1719,409.4844 L1915.1719,407.5625 C1915.1719,407.4063 1915.1719,407.3594 1915.1563,407.2031 C1915.0938,406.7344 1914.7813,406.4219 1914.3281,406.4219 C1914.0781,406.4219 1913.8125,406.5625 1913.6406,406.7813 C1913.5313,406.9531 1913.5,407.1094 1913.5,407.5625 L1913.5,407.6875 L1912.0469,407.6875 L1912.0469,405.2813 L1916.0313,405.2813 L1916.0313,406.1406 C1916.0313,406.5469 1916.0625,406.7188 1916.1406,406.875 C1916.3125,407.125 1916.5938,407.2813 1916.875,407.2813 C1917.1406,407.2813 1917.4063,407.1406 1917.5781,406.9219 C1917.6875,406.75 1917.7188,406.6094 1917.7188,406.1406 L1917.7188,403.5938 L1910.0938,403.5938 C1909.6563,403.5938 1909.5313,403.6094 1909.375,403.7031 C1909.125,403.8594 1908.9688,404.1563 1908.9688,404.4375 C1908.9688,404.7188 1909.1094,404.9688 1909.3281,405.1406 C1909.4844,405.25 1909.6719,405.2813 1910.0938,405.2813 L1910.3438,405.2813 L1910.3438,411.7969 L1910.0938,411.7969 C1909.6875,411.7969 1909.5313,411.8125 1909.375,411.9219 C1909.125,412.0938 1908.9688,412.3594 1908.9688,412.6563 C1908.9688,412.9219 1909.1094,413.1719 1909.3281,413.3281 C1909.4688,413.4531 1909.7031,413.5 1910.0938,413.5 L1918.0938,413.5 L1918.0938,410.9219 C1918.0938,410.4844 1918.0625,410.3438 1917.9844,410.1875 C1917.8125,409.9375 1917.5313,409.7813 1917.25,409.7813 C1916.9844,409.7813 1916.7188,409.8906 1916.5469,410.1406 C1916.4375,410.2969 1916.4063,410.4375 1916.4063,410.9219 L1916.4063,411.7969 L1912.0469,411.7969 L1912.0469,409.375 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="149" x="1933.75" y="413.3467">ApiProviderFuncRole</text><line style="stroke:#181818;stroke-width:0.5;" x1="1786.5" x2="2197.5" y1="424.5" y2="424.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="370" x="1791.5" y="441.4951">AEF: API provider function is API Exposing Function.</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="378" x="1791.5" y="457.792">APF: API provider function is API Publishing Function.</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="401" x="1791.5" y="474.0889">AMF: API Provider function is API Management Function.</text><line style="stroke:#181818;stroke-width:0.5;" x1="1786.5" x2="2197.5" y1="481.3906" y2="481.3906"/></g><!--MD5=[1f62e39e6986077d5626c6cf81ffb380]
-class RegistrationInformation--><g id="elem_RegistrationInformation"><rect codeLine="24" fill="#98FB98" height="80.5938" id="RegistrationInformation" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="240" x="1510" y="400.5"/><ellipse cx="1540.3" cy="416.5" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1544.0813,412.4688 C1544.0813,412.0313 1544.0656,411.8906 1543.9719,411.7344 C1543.8313,411.5 1543.55,411.3438 1543.2531,411.3438 C1542.9094,411.3438 1542.7688,411.4844 1542.5969,411.9063 C1542.0031,411.5313 1541.2531,411.3438 1540.3781,411.3438 C1538.2688,411.3438 1536.6906,412.6406 1536.6906,414.3594 C1536.6906,415.3281 1537.2219,416.2344 1538.0813,416.7188 C1538.6281,417.0313 1539.175,417.2031 1540.2844,417.3906 C1541.4406,417.5938 1541.7063,417.6563 1542.0656,417.8438 C1542.4406,418.0469 1542.675,418.3906 1542.675,418.75 C1542.675,419.4844 1541.6906,420.0313 1540.4406,420.0313 C1539.3156,420.0313 1538.2375,419.5469 1538.0656,418.9375 C1537.9406,418.4688 1537.9406,418.4688 1537.8156,418.3594 C1537.6594,418.2031 1537.4406,418.1094 1537.2063,418.1094 C1536.925,418.1094 1536.675,418.2344 1536.5031,418.4531 C1536.3938,418.625 1536.3469,418.8125 1536.3469,419.2344 L1536.3469,420.3594 C1536.3469,421.125 1536.6281,421.4844 1537.2219,421.4844 C1537.4875,421.4844 1537.6125,421.4219 1537.8938,421.0781 C1538.7375,421.5156 1539.6281,421.7344 1540.55,421.7344 C1542.8781,421.7344 1544.4406,420.5469 1544.4406,418.7813 C1544.4406,417.8906 1544.1281,417.2031 1543.4406,416.6563 C1542.9094,416.2344 1542.2688,415.9844 1540.7844,415.7188 C1539.5188,415.4844 1539.425,415.4531 1539.0969,415.2813 C1538.7219,415.0938 1538.4563,414.7031 1538.4563,414.3438 C1538.4563,413.6094 1539.3156,413.0469 1540.3781,413.0469 C1541.4406,413.0469 1542.2531,413.5156 1542.4094,414.1875 C1542.5188,414.7344 1542.5188,414.7344 1542.6438,414.875 C1542.7844,415 1543.0188,415.1094 1543.2531,415.1094 C1543.5188,415.1094 1543.7688,414.9688 1543.9406,414.75 C1544.05,414.5781 1544.0813,414.4375 1544.0813,413.9688 L1544.0813,412.4688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="174" x="1557.7" y="421.3467">RegistrationInformation</text><line style="stroke:#181818;stroke-width:0.5;" x1="1511" x2="1749" y1="432.5" y2="432.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="132" x="1516" y="449.4951">string apiProvCert</text><line style="stroke:#181818;stroke-width:0.5;" x1="1511" x2="1749" y1="456.7969" y2="456.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="228" x="1516" y="473.792">string apiProvPubKey (required)</text></g><!--MD5=[30aa660395d9fb6e2ca898b7ec3ec3d0]
-class ServiceAPIDescription--><g id="elem_ServiceAPIDescription"><rect codeLine="32" fill="#ADD8E6" height="113.1875" id="ServiceAPIDescription" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="195" x="153.5" y="385"/><ellipse cx="169.85" cy="401" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M173.6313,396.9688 C173.6313,396.5313 173.6156,396.3906 173.5219,396.2344 C173.3813,396 173.1,395.8438 172.8031,395.8438 C172.4594,395.8438 172.3188,395.9844 172.1469,396.4063 C171.5531,396.0313 170.8031,395.8438 169.9281,395.8438 C167.8188,395.8438 166.2406,397.1406 166.2406,398.8594 C166.2406,399.8281 166.7719,400.7344 167.6313,401.2188 C168.1781,401.5313 168.725,401.7031 169.8344,401.8906 C170.9906,402.0938 171.2563,402.1563 171.6156,402.3438 C171.9906,402.5469 172.225,402.8906 172.225,403.25 C172.225,403.9844 171.2406,404.5313 169.9906,404.5313 C168.8656,404.5313 167.7875,404.0469 167.6156,403.4375 C167.4906,402.9688 167.4906,402.9688 167.3656,402.8594 C167.2094,402.7031 166.9906,402.6094 166.7563,402.6094 C166.475,402.6094 166.225,402.7344 166.0531,402.9531 C165.9438,403.125 165.8969,403.3125 165.8969,403.7344 L165.8969,404.8594 C165.8969,405.625 166.1781,405.9844 166.7719,405.9844 C167.0375,405.9844 167.1625,405.9219 167.4438,405.5781 C168.2875,406.0156 169.1781,406.2344 170.1,406.2344 C172.4281,406.2344 173.9906,405.0469 173.9906,403.2813 C173.9906,402.3906 173.6781,401.7031 172.9906,401.1563 C172.4594,400.7344 171.8188,400.4844 170.3344,400.2188 C169.0688,399.9844 168.975,399.9531 168.6469,399.7813 C168.2719,399.5938 168.0063,399.2031 168.0063,398.8438 C168.0063,398.1094 168.8656,397.5469 169.9281,397.5469 C170.9906,397.5469 171.8031,398.0156 171.9594,398.6875 C172.0688,399.2344 172.0688,399.2344 172.1938,399.375 C172.3344,399.5 172.5688,399.6094 172.8031,399.6094 C173.0688,399.6094 173.3188,399.4688 173.4906,399.25 C173.6,399.0781 173.6313,398.9375 173.6313,398.4688 L173.6313,396.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="160" x="184.15" y="405.8467">ServiceAPIDescription</text><line style="stroke:#181818;stroke-width:0.5;" x1="154.5" x2="347.5" y1="417" y2="417"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="159.5" y="433.9951">string apiId</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="128" x="159.5" y="450.292">string description</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="163" x="159.5" y="466.5889">[]AefProfile aefProfiles</text><line style="stroke:#181818;stroke-width:0.5;" x1="154.5" x2="347.5" y1="473.8906" y2="473.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="183" x="159.5" y="490.8857">string apiName (required)</text></g><g id="elem_GMN14"><path d="M392,428.5 L392,437 L356.574,441 L392,445 L392,453.6328 A0,0 0 0 0 392,453.6328 L578,453.6328 A0,0 0 0 0 578,453.6328 L578,438.5 L568,428.5 L392,428.5 A0,0 0 0 0 392,428.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M568,428.5 L568,438.5 L578,438.5 L568,428.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="165" x="398" y="445.5669">Id provided by CAPIF Core</text></g><!--MD5=[1c40ba31a6e0033614eeca8255f08bb3]
-class AefProfile--><g id="elem_AefProfile"><rect codeLine="41" fill="#ADD8E6" height="162.0781" id="AefProfile" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="333" x="751.5" y="566"/><ellipse cx="877.75" cy="582" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M881.5313,577.9688 C881.5313,577.5313 881.5156,577.3906 881.4219,577.2344 C881.2813,577 881,576.8438 880.7031,576.8438 C880.3594,576.8438 880.2188,576.9844 880.0469,577.4063 C879.4531,577.0313 878.7031,576.8438 877.8281,576.8438 C875.7188,576.8438 874.1406,578.1406 874.1406,579.8594 C874.1406,580.8281 874.6719,581.7344 875.5313,582.2188 C876.0781,582.5313 876.625,582.7031 877.7344,582.8906 C878.8906,583.0938 879.1563,583.1563 879.5156,583.3438 C879.8906,583.5469 880.125,583.8906 880.125,584.25 C880.125,584.9844 879.1406,585.5313 877.8906,585.5313 C876.7656,585.5313 875.6875,585.0469 875.5156,584.4375 C875.3906,583.9688 875.3906,583.9688 875.2656,583.8594 C875.1094,583.7031 874.8906,583.6094 874.6563,583.6094 C874.375,583.6094 874.125,583.7344 873.9531,583.9531 C873.8438,584.125 873.7969,584.3125 873.7969,584.7344 L873.7969,585.8594 C873.7969,586.625 874.0781,586.9844 874.6719,586.9844 C874.9375,586.9844 875.0625,586.9219 875.3438,586.5781 C876.1875,587.0156 877.0781,587.2344 878,587.2344 C880.3281,587.2344 881.8906,586.0469 881.8906,584.2813 C881.8906,583.3906 881.5781,582.7031 880.8906,582.1563 C880.3594,581.7344 879.7188,581.4844 878.2344,581.2188 C876.9688,580.9844 876.875,580.9531 876.5469,580.7813 C876.1719,580.5938 875.9063,580.2031 875.9063,579.8438 C875.9063,579.1094 876.7656,578.5469 877.8281,578.5469 C878.8906,578.5469 879.7031,579.0156 879.8594,579.6875 C879.9688,580.2344 879.9688,580.2344 880.0938,580.375 C880.2344,580.5 880.4688,580.6094 880.7031,580.6094 C880.9688,580.6094 881.2188,580.4688 881.3906,580.25 C881.5,580.0781 881.5313,579.9375 881.5313,579.4688 L881.5313,577.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="72" x="898.25" y="586.8467">AefProfile</text><line style="stroke:#181818;stroke-width:0.5;" x1="752.5" x2="1083.5" y1="598" y2="598"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="174" x="757.5" y="614.9951">DataFormat dataFormat</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="140" x="757.5" y="631.292">string domainName</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="321" x="757.5" y="647.5889">[]InterfaceDescription interfaceDescriptions</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="127" x="757.5" y="663.8857">Protocol protocol</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="247" x="757.5" y="680.1826">[]SecurityMethod securityMethods</text><line style="stroke:#181818;stroke-width:0.5;" x1="752.5" x2="1083.5" y1="687.4844" y2="687.4844"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="156" x="757.5" y="704.4795">string aefId (required)</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="201" x="757.5" y="720.7764">[]Version versions (required)</text></g><!--MD5=[a87be8aed8ee406f2aba06009a0ee87f]
-class DataFormat--><g id="elem_DataFormat"><rect codeLine="50" fill="#ADD8E6" height="64.2969" id="DataFormat" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="118" x="1675" y="819"/><ellipse cx="1690" cy="835" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1688.7969,835.875 L1690.25,835.875 L1690.25,835.9844 C1690.25,836.3906 1690.2813,836.5469 1690.3594,836.7031 C1690.5156,836.9531 1690.7969,837.1094 1691.0938,837.1094 C1691.3438,837.1094 1691.6094,836.9688 1691.7656,836.75 C1691.8906,836.5938 1691.9219,836.4375 1691.9219,835.9844 L1691.9219,834.0625 C1691.9219,833.9063 1691.9219,833.8594 1691.9063,833.7031 C1691.8438,833.2344 1691.5313,832.9219 1691.0781,832.9219 C1690.8281,832.9219 1690.5625,833.0625 1690.3906,833.2813 C1690.2813,833.4531 1690.25,833.6094 1690.25,834.0625 L1690.25,834.1875 L1688.7969,834.1875 L1688.7969,831.7813 L1692.7813,831.7813 L1692.7813,832.6406 C1692.7813,833.0469 1692.8125,833.2188 1692.8906,833.375 C1693.0625,833.625 1693.3438,833.7813 1693.625,833.7813 C1693.8906,833.7813 1694.1563,833.6406 1694.3281,833.4219 C1694.4375,833.25 1694.4688,833.1094 1694.4688,832.6406 L1694.4688,830.0938 L1686.8438,830.0938 C1686.4063,830.0938 1686.2813,830.1094 1686.125,830.2031 C1685.875,830.3594 1685.7188,830.6563 1685.7188,830.9375 C1685.7188,831.2188 1685.8594,831.4688 1686.0781,831.6406 C1686.2344,831.75 1686.4219,831.7813 1686.8438,831.7813 L1687.0938,831.7813 L1687.0938,838.2969 L1686.8438,838.2969 C1686.4375,838.2969 1686.2813,838.3125 1686.125,838.4219 C1685.875,838.5938 1685.7188,838.8594 1685.7188,839.1563 C1685.7188,839.4219 1685.8594,839.6719 1686.0781,839.8281 C1686.2188,839.9531 1686.4531,840 1686.8438,840 L1694.8438,840 L1694.8438,837.4219 C1694.8438,836.9844 1694.8125,836.8438 1694.7344,836.6875 C1694.5625,836.4375 1694.2813,836.2813 1694,836.2813 C1693.7344,836.2813 1693.4688,836.3906 1693.2969,836.6406 C1693.1875,836.7969 1693.1563,836.9375 1693.1563,837.4219 L1693.1563,838.2969 L1688.7969,838.2969 L1688.7969,835.875 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86" x="1704" y="839.8467">DataFormat</text><line style="stroke:#181818;stroke-width:0.5;" x1="1676" x2="1792" y1="851" y2="851"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="34" x="1681" y="867.9951">JSON</text><line style="stroke:#181818;stroke-width:0.5;" x1="1676" x2="1792" y1="875.2969" y2="875.2969"/></g><!--MD5=[a0c27cfb527bdb20a6436baa93834728]
-class Protocol--><g id="elem_Protocol"><rect codeLine="53" fill="#ADD8E6" height="80.5938" id="Protocol" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="93" x="872.5" y="810.5"/><ellipse cx="887.5" cy="826.5" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M886.2969,827.375 L887.75,827.375 L887.75,827.4844 C887.75,827.8906 887.7813,828.0469 887.8594,828.2031 C888.0156,828.4531 888.2969,828.6094 888.5938,828.6094 C888.8438,828.6094 889.1094,828.4688 889.2656,828.25 C889.3906,828.0938 889.4219,827.9375 889.4219,827.4844 L889.4219,825.5625 C889.4219,825.4063 889.4219,825.3594 889.4063,825.2031 C889.3438,824.7344 889.0313,824.4219 888.5781,824.4219 C888.3281,824.4219 888.0625,824.5625 887.8906,824.7813 C887.7813,824.9531 887.75,825.1094 887.75,825.5625 L887.75,825.6875 L886.2969,825.6875 L886.2969,823.2813 L890.2813,823.2813 L890.2813,824.1406 C890.2813,824.5469 890.3125,824.7188 890.3906,824.875 C890.5625,825.125 890.8438,825.2813 891.125,825.2813 C891.3906,825.2813 891.6563,825.1406 891.8281,824.9219 C891.9375,824.75 891.9688,824.6094 891.9688,824.1406 L891.9688,821.5938 L884.3438,821.5938 C883.9063,821.5938 883.7813,821.6094 883.625,821.7031 C883.375,821.8594 883.2188,822.1563 883.2188,822.4375 C883.2188,822.7188 883.3594,822.9688 883.5781,823.1406 C883.7344,823.25 883.9219,823.2813 884.3438,823.2813 L884.5938,823.2813 L884.5938,829.7969 L884.3438,829.7969 C883.9375,829.7969 883.7813,829.8125 883.625,829.9219 C883.375,830.0938 883.2188,830.3594 883.2188,830.6563 C883.2188,830.9219 883.3594,831.1719 883.5781,831.3281 C883.7188,831.4531 883.9531,831.5 884.3438,831.5 L892.3438,831.5 L892.3438,828.9219 C892.3438,828.4844 892.3125,828.3438 892.2344,828.1875 C892.0625,827.9375 891.7813,827.7813 891.5,827.7813 C891.2344,827.7813 890.9688,827.8906 890.7969,828.1406 C890.6875,828.2969 890.6563,828.4375 890.6563,828.9219 L890.6563,829.7969 L886.2969,829.7969 L886.2969,827.375 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="61" x="901.5" y="831.3467">Protocol</text><line style="stroke:#181818;stroke-width:0.5;" x1="873.5" x2="964.5" y1="842.5" y2="842.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69" x="878.5" y="859.4951">HTTP_1_1</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="878.5" y="875.792">HTTP_2</text><line style="stroke:#181818;stroke-width:0.5;" x1="873.5" x2="964.5" y1="883.0938" y2="883.0938"/></g><g id="elem_aefIdRel"><path d="M1179.5,421 L1179.5,461.2656 L1474.5,461.2656 L1474.5,431 L1464.5,421 L1179.5,421 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M1464.5,421 L1464.5,431 L1474.5,431 L1464.5,421 " fill="#FEFFDD" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="195" x="1185.5" y="438.0669">AefProfile::aefId should match</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="270" x="1189.5" y="453.1997">APIProviderFunctionDetails::apiProvFuncId</text></g><!--MD5=[5aca79d495961f73f43004d77eeece21]
-class InterfaceDescription--><g id="elem_InterfaceDescription"><rect codeLine="60" fill="#ADD8E6" height="113.1875" id="InterfaceDescription" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="259" x="1372.5" y="795"/><ellipse cx="1422.75" cy="811" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1426.5313,806.9688 C1426.5313,806.5313 1426.5156,806.3906 1426.4219,806.2344 C1426.2813,806 1426,805.8438 1425.7031,805.8438 C1425.3594,805.8438 1425.2188,805.9844 1425.0469,806.4063 C1424.4531,806.0313 1423.7031,805.8438 1422.8281,805.8438 C1420.7188,805.8438 1419.1406,807.1406 1419.1406,808.8594 C1419.1406,809.8281 1419.6719,810.7344 1420.5313,811.2188 C1421.0781,811.5313 1421.625,811.7031 1422.7344,811.8906 C1423.8906,812.0938 1424.1563,812.1563 1424.5156,812.3438 C1424.8906,812.5469 1425.125,812.8906 1425.125,813.25 C1425.125,813.9844 1424.1406,814.5313 1422.8906,814.5313 C1421.7656,814.5313 1420.6875,814.0469 1420.5156,813.4375 C1420.3906,812.9688 1420.3906,812.9688 1420.2656,812.8594 C1420.1094,812.7031 1419.8906,812.6094 1419.6563,812.6094 C1419.375,812.6094 1419.125,812.7344 1418.9531,812.9531 C1418.8438,813.125 1418.7969,813.3125 1418.7969,813.7344 L1418.7969,814.8594 C1418.7969,815.625 1419.0781,815.9844 1419.6719,815.9844 C1419.9375,815.9844 1420.0625,815.9219 1420.3438,815.5781 C1421.1875,816.0156 1422.0781,816.2344 1423,816.2344 C1425.3281,816.2344 1426.8906,815.0469 1426.8906,813.2813 C1426.8906,812.3906 1426.5781,811.7031 1425.8906,811.1563 C1425.3594,810.7344 1424.7188,810.4844 1423.2344,810.2188 C1421.9688,809.9844 1421.875,809.9531 1421.5469,809.7813 C1421.1719,809.5938 1420.9063,809.2031 1420.9063,808.8438 C1420.9063,808.1094 1421.7656,807.5469 1422.8281,807.5469 C1423.8906,807.5469 1424.7031,808.0156 1424.8594,808.6875 C1424.9688,809.2344 1424.9688,809.2344 1425.0938,809.375 C1425.2344,809.5 1425.4688,809.6094 1425.7031,809.6094 C1425.9688,809.6094 1426.2188,809.4688 1426.3906,809.25 C1426.5,809.0781 1426.5313,808.9375 1426.5313,808.4688 L1426.5313,806.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="150" x="1443.25" y="815.8467">InterfaceDescription</text><line style="stroke:#181818;stroke-width:0.5;" x1="1373.5" x2="1630.5" y1="827" y2="827"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133" x="1378.5" y="843.9951">string ipv4Address</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="134" x="1378.5" y="860.292">string ipv6Address</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56" x="1378.5" y="876.5889">int port</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="247" x="1378.5" y="892.8857">[]SecurityMethod securityMethods</text><line style="stroke:#181818;stroke-width:0.5;" x1="1373.5" x2="1630.5" y1="900.1875" y2="900.1875"/></g><path d="M1001,818.5 L1001,873.8984 A0,0 0 0 0 1001,873.8984 L1329,873.8984 A0,0 0 0 0 1329,873.8984 L1329,850.1992 L1376.5,888.0391 L1329,842.1992 L1329,828.5 L1319,818.5 L1001,818.5 A0,0 0 0 0 1001,818.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M1319,818.5 L1319,828.5 L1329,828.5 L1319,818.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="292" x="1007" y="835.5669">Security methods supported by the interface,</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="293" x="1007" y="850.6997">it take precedence over the security methods</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="307" x="1007" y="865.8325">provided in AefProfile, for this specific interface.</text><!--MD5=[1db584ee1b8127ea75535273dec2b4f2]
-class Version--><g id="elem_Version"><rect codeLine="71" fill="#ADD8E6" height="113.1875" id="Version" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="264" x="494" y="795"/><ellipse cx="594.75" cy="811" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M598.5313,806.9688 C598.5313,806.5313 598.5156,806.3906 598.4219,806.2344 C598.2813,806 598,805.8438 597.7031,805.8438 C597.3594,805.8438 597.2188,805.9844 597.0469,806.4063 C596.4531,806.0313 595.7031,805.8438 594.8281,805.8438 C592.7188,805.8438 591.1406,807.1406 591.1406,808.8594 C591.1406,809.8281 591.6719,810.7344 592.5313,811.2188 C593.0781,811.5313 593.625,811.7031 594.7344,811.8906 C595.8906,812.0938 596.1563,812.1563 596.5156,812.3438 C596.8906,812.5469 597.125,812.8906 597.125,813.25 C597.125,813.9844 596.1406,814.5313 594.8906,814.5313 C593.7656,814.5313 592.6875,814.0469 592.5156,813.4375 C592.3906,812.9688 592.3906,812.9688 592.2656,812.8594 C592.1094,812.7031 591.8906,812.6094 591.6563,812.6094 C591.375,812.6094 591.125,812.7344 590.9531,812.9531 C590.8438,813.125 590.7969,813.3125 590.7969,813.7344 L590.7969,814.8594 C590.7969,815.625 591.0781,815.9844 591.6719,815.9844 C591.9375,815.9844 592.0625,815.9219 592.3438,815.5781 C593.1875,816.0156 594.0781,816.2344 595,816.2344 C597.3281,816.2344 598.8906,815.0469 598.8906,813.2813 C598.8906,812.3906 598.5781,811.7031 597.8906,811.1563 C597.3594,810.7344 596.7188,810.4844 595.2344,810.2188 C593.9688,809.9844 593.875,809.9531 593.5469,809.7813 C593.1719,809.5938 592.9063,809.2031 592.9063,808.8438 C592.9063,808.1094 593.7656,807.5469 594.8281,807.5469 C595.8906,807.5469 596.7031,808.0156 596.8594,808.6875 C596.9688,809.2344 596.9688,809.2344 597.0938,809.375 C597.2344,809.5 597.4688,809.6094 597.7031,809.6094 C597.9688,809.6094 598.2188,809.4688 598.3906,809.25 C598.5,809.0781 598.5313,808.9375 598.5313,808.4688 L598.5313,806.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="54" x="615.25" y="815.8467">Version</text><line style="stroke:#181818;stroke-width:0.5;" x1="495" x2="757" y1="827" y2="827"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="252" x="500" y="843.9951">[]CustomOperation custOperations</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="500" y="860.292">DateTime expiry</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="149" x="500" y="876.5889">[]Resource resources</text><line style="stroke:#181818;stroke-width:0.5;" x1="495" x2="757" y1="883.8906" y2="883.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="196" x="500" y="900.8857">string apiVersion (required)</text></g><!--MD5=[e75b1af205241aa72e7f52fa8d9ad4e8]
-class CustomOperation--><g id="elem_CustomOperation"><rect codeLine="77" fill="#ADD8E6" height="113.1875" id="CustomOperation" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="320" x="336" y="976"/><ellipse cx="427.75" cy="992" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M431.5313,987.9688 C431.5313,987.5313 431.5156,987.3906 431.4219,987.2344 C431.2813,987 431,986.8438 430.7031,986.8438 C430.3594,986.8438 430.2188,986.9844 430.0469,987.4063 C429.4531,987.0313 428.7031,986.8438 427.8281,986.8438 C425.7188,986.8438 424.1406,988.1406 424.1406,989.8594 C424.1406,990.8281 424.6719,991.7344 425.5313,992.2188 C426.0781,992.5313 426.625,992.7031 427.7344,992.8906 C428.8906,993.0938 429.1563,993.1563 429.5156,993.3438 C429.8906,993.5469 430.125,993.8906 430.125,994.25 C430.125,994.9844 429.1406,995.5313 427.8906,995.5313 C426.7656,995.5313 425.6875,995.0469 425.5156,994.4375 C425.3906,993.9688 425.3906,993.9688 425.2656,993.8594 C425.1094,993.7031 424.8906,993.6094 424.6563,993.6094 C424.375,993.6094 424.125,993.7344 423.9531,993.9531 C423.8438,994.125 423.7969,994.3125 423.7969,994.7344 L423.7969,995.8594 C423.7969,996.625 424.0781,996.9844 424.6719,996.9844 C424.9375,996.9844 425.0625,996.9219 425.3438,996.5781 C426.1875,997.0156 427.0781,997.2344 428,997.2344 C430.3281,997.2344 431.8906,996.0469 431.8906,994.2813 C431.8906,993.3906 431.5781,992.7031 430.8906,992.1563 C430.3594,991.7344 429.7188,991.4844 428.2344,991.2188 C426.9688,990.9844 426.875,990.9531 426.5469,990.7813 C426.1719,990.5938 425.9063,990.2031 425.9063,989.8438 C425.9063,989.1094 426.7656,988.5469 427.8281,988.5469 C428.8906,988.5469 429.7031,989.0156 429.8594,989.6875 C429.9688,990.2344 429.9688,990.2344 430.0938,990.375 C430.2344,990.5 430.4688,990.6094 430.7031,990.6094 C430.9688,990.6094 431.2188,990.4688 431.3906,990.25 C431.5,990.0781 431.5313,989.9375 431.5313,989.4688 L431.5313,987.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="128" x="448.25" y="996.8467">CustomOperation</text><line style="stroke:#181818;stroke-width:0.5;" x1="337" x2="655" y1="1008" y2="1008"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="128" x="342" y="1024.9951">string description</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="165" x="342" y="1041.292">[]Operation operations</text><line style="stroke:#181818;stroke-width:0.5;" x1="337" x2="655" y1="1048.5938" y2="1048.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="308" x="342" y="1065.5889">CommunicationType commType (required)</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="212" x="342" y="1081.8857">string custOpName (required)</text></g><!--MD5=[cca5d97aaf46870920fae66c9bd85cdd]
-class Operation--><g id="elem_Operation"><rect codeLine="83" fill="#ADD8E6" height="129.4844" id="Operation" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="105" x="443.5" y="1153"/><ellipse cx="458.5" cy="1169" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M457.2969,1169.875 L458.75,1169.875 L458.75,1169.9844 C458.75,1170.3906 458.7813,1170.5469 458.8594,1170.7031 C459.0156,1170.9531 459.2969,1171.1094 459.5938,1171.1094 C459.8438,1171.1094 460.1094,1170.9688 460.2656,1170.75 C460.3906,1170.5938 460.4219,1170.4375 460.4219,1169.9844 L460.4219,1168.0625 C460.4219,1167.9063 460.4219,1167.8594 460.4063,1167.7031 C460.3438,1167.2344 460.0313,1166.9219 459.5781,1166.9219 C459.3281,1166.9219 459.0625,1167.0625 458.8906,1167.2813 C458.7813,1167.4531 458.75,1167.6094 458.75,1168.0625 L458.75,1168.1875 L457.2969,1168.1875 L457.2969,1165.7813 L461.2813,1165.7813 L461.2813,1166.6406 C461.2813,1167.0469 461.3125,1167.2188 461.3906,1167.375 C461.5625,1167.625 461.8438,1167.7813 462.125,1167.7813 C462.3906,1167.7813 462.6563,1167.6406 462.8281,1167.4219 C462.9375,1167.25 462.9688,1167.1094 462.9688,1166.6406 L462.9688,1164.0938 L455.3438,1164.0938 C454.9063,1164.0938 454.7813,1164.1094 454.625,1164.2031 C454.375,1164.3594 454.2188,1164.6563 454.2188,1164.9375 C454.2188,1165.2188 454.3594,1165.4688 454.5781,1165.6406 C454.7344,1165.75 454.9219,1165.7813 455.3438,1165.7813 L455.5938,1165.7813 L455.5938,1172.2969 L455.3438,1172.2969 C454.9375,1172.2969 454.7813,1172.3125 454.625,1172.4219 C454.375,1172.5938 454.2188,1172.8594 454.2188,1173.1563 C454.2188,1173.4219 454.3594,1173.6719 454.5781,1173.8281 C454.7188,1173.9531 454.9531,1174 455.3438,1174 L463.3438,1174 L463.3438,1171.4219 C463.3438,1170.9844 463.3125,1170.8438 463.2344,1170.6875 C463.0625,1170.4375 462.7813,1170.2813 462.5,1170.2813 C462.2344,1170.2813 461.9688,1170.3906 461.7969,1170.6406 C461.6875,1170.7969 461.6563,1170.9375 461.6563,1171.4219 L461.6563,1172.2969 L457.2969,1172.2969 L457.2969,1169.875 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="472.5" y="1173.8467">Operation</text><line style="stroke:#181818;stroke-width:0.5;" x1="444.5" x2="547.5" y1="1185" y2="1185"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="449.5" y="1201.9951">GET</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="449.5" y="1218.292">POST</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="27" x="449.5" y="1234.5889">PUT</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="48" x="449.5" y="1250.8857">PATCH</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55" x="449.5" y="1267.1826">DELETE</text><line style="stroke:#181818;stroke-width:0.5;" x1="444.5" x2="547.5" y1="1274.4844" y2="1274.4844"/></g><!--MD5=[570c463b4c02d4ba2ef3d0ee1cd6446c]
-class SecurityMethod--><g id="elem_SecurityMethod"><rect codeLine="90" fill="#ADD8E6" height="96.8906" id="SecurityMethod" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="146" x="1160" y="983.5"/><ellipse cx="1175" cy="999.5" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1173.7969,1000.375 L1175.25,1000.375 L1175.25,1000.4844 C1175.25,1000.8906 1175.2813,1001.0469 1175.3594,1001.2031 C1175.5156,1001.4531 1175.7969,1001.6094 1176.0938,1001.6094 C1176.3438,1001.6094 1176.6094,1001.4688 1176.7656,1001.25 C1176.8906,1001.0938 1176.9219,1000.9375 1176.9219,1000.4844 L1176.9219,998.5625 C1176.9219,998.4063 1176.9219,998.3594 1176.9063,998.2031 C1176.8438,997.7344 1176.5313,997.4219 1176.0781,997.4219 C1175.8281,997.4219 1175.5625,997.5625 1175.3906,997.7813 C1175.2813,997.9531 1175.25,998.1094 1175.25,998.5625 L1175.25,998.6875 L1173.7969,998.6875 L1173.7969,996.2813 L1177.7813,996.2813 L1177.7813,997.1406 C1177.7813,997.5469 1177.8125,997.7188 1177.8906,997.875 C1178.0625,998.125 1178.3438,998.2813 1178.625,998.2813 C1178.8906,998.2813 1179.1563,998.1406 1179.3281,997.9219 C1179.4375,997.75 1179.4688,997.6094 1179.4688,997.1406 L1179.4688,994.5938 L1171.8438,994.5938 C1171.4063,994.5938 1171.2813,994.6094 1171.125,994.7031 C1170.875,994.8594 1170.7188,995.1563 1170.7188,995.4375 C1170.7188,995.7188 1170.8594,995.9688 1171.0781,996.1406 C1171.2344,996.25 1171.4219,996.2813 1171.8438,996.2813 L1172.0938,996.2813 L1172.0938,1002.7969 L1171.8438,1002.7969 C1171.4375,1002.7969 1171.2813,1002.8125 1171.125,1002.9219 C1170.875,1003.0938 1170.7188,1003.3594 1170.7188,1003.6563 C1170.7188,1003.9219 1170.8594,1004.1719 1171.0781,1004.3281 C1171.2188,1004.4531 1171.4531,1004.5 1171.8438,1004.5 L1179.8438,1004.5 L1179.8438,1001.9219 C1179.8438,1001.4844 1179.8125,1001.3438 1179.7344,1001.1875 C1179.5625,1000.9375 1179.2813,1000.7813 1179,1000.7813 C1178.7344,1000.7813 1178.4688,1000.8906 1178.2969,1001.1406 C1178.1875,1001.2969 1178.1563,1001.4375 1178.1563,1001.9219 L1178.1563,1002.7969 L1173.7969,1002.7969 L1173.7969,1000.375 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="114" x="1189" y="1004.3467">SecurityMethod</text><line style="stroke:#181818;stroke-width:0.5;" x1="1161" x2="1305" y1="1015.5" y2="1015.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="28" x="1166" y="1032.4951">PSK</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="23" x="1166" y="1048.792">PKI</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1166" y="1065.0889">OAUTH</text><line style="stroke:#181818;stroke-width:0.5;" x1="1161" x2="1305" y1="1072.3906" y2="1072.3906"/></g><!--MD5=[6b13f1b330d33795af281e5c1dfe1e98]
-class Resource--><g id="elem_Resource"><rect codeLine="95" fill="#ADD8E6" height="113.1875" id="Resource" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="320" x="707" y="976"/><ellipse cx="829.75" cy="992" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M833.5313,987.9688 C833.5313,987.5313 833.5156,987.3906 833.4219,987.2344 C833.2813,987 833,986.8438 832.7031,986.8438 C832.3594,986.8438 832.2188,986.9844 832.0469,987.4063 C831.4531,987.0313 830.7031,986.8438 829.8281,986.8438 C827.7188,986.8438 826.1406,988.1406 826.1406,989.8594 C826.1406,990.8281 826.6719,991.7344 827.5313,992.2188 C828.0781,992.5313 828.625,992.7031 829.7344,992.8906 C830.8906,993.0938 831.1563,993.1563 831.5156,993.3438 C831.8906,993.5469 832.125,993.8906 832.125,994.25 C832.125,994.9844 831.1406,995.5313 829.8906,995.5313 C828.7656,995.5313 827.6875,995.0469 827.5156,994.4375 C827.3906,993.9688 827.3906,993.9688 827.2656,993.8594 C827.1094,993.7031 826.8906,993.6094 826.6563,993.6094 C826.375,993.6094 826.125,993.7344 825.9531,993.9531 C825.8438,994.125 825.7969,994.3125 825.7969,994.7344 L825.7969,995.8594 C825.7969,996.625 826.0781,996.9844 826.6719,996.9844 C826.9375,996.9844 827.0625,996.9219 827.3438,996.5781 C828.1875,997.0156 829.0781,997.2344 830,997.2344 C832.3281,997.2344 833.8906,996.0469 833.8906,994.2813 C833.8906,993.3906 833.5781,992.7031 832.8906,992.1563 C832.3594,991.7344 831.7188,991.4844 830.2344,991.2188 C828.9688,990.9844 828.875,990.9531 828.5469,990.7813 C828.1719,990.5938 827.9063,990.2031 827.9063,989.8438 C827.9063,989.1094 828.7656,988.5469 829.8281,988.5469 C830.8906,988.5469 831.7031,989.0156 831.8594,989.6875 C831.9688,990.2344 831.9688,990.2344 832.0938,990.375 C832.2344,990.5 832.4688,990.6094 832.7031,990.6094 C832.9688,990.6094 833.2188,990.4688 833.3906,990.25 C833.5,990.0781 833.5313,989.9375 833.5313,989.4688 L833.5313,987.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="66" x="850.25" y="996.8467">Resource</text><line style="stroke:#181818;stroke-width:0.5;" x1="708" x2="1026" y1="1008" y2="1008"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="128" x="713" y="1024.9951">string description</text><line style="stroke:#181818;stroke-width:0.5;" x1="708" x2="1026" y1="1032.2969" y2="1032.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="223" x="713" y="1049.292">string resourceName (required)</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="138" x="713" y="1065.5889">string uri (required)</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="308" x="713" y="1081.8857">CommunicationType commType (required)</text></g><!--MD5=[8be1b8710176a693b32e6a2f85736b40]
-class CommunicationType--><g id="elem_CommunicationType"><rect codeLine="101" fill="#ADD8E6" height="80.5938" id="CommunicationType" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="181" x="657.5" y="1177"/><ellipse cx="672.5" cy="1193" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M671.2969,1193.875 L672.75,1193.875 L672.75,1193.9844 C672.75,1194.3906 672.7813,1194.5469 672.8594,1194.7031 C673.0156,1194.9531 673.2969,1195.1094 673.5938,1195.1094 C673.8438,1195.1094 674.1094,1194.9688 674.2656,1194.75 C674.3906,1194.5938 674.4219,1194.4375 674.4219,1193.9844 L674.4219,1192.0625 C674.4219,1191.9063 674.4219,1191.8594 674.4063,1191.7031 C674.3438,1191.2344 674.0313,1190.9219 673.5781,1190.9219 C673.3281,1190.9219 673.0625,1191.0625 672.8906,1191.2813 C672.7813,1191.4531 672.75,1191.6094 672.75,1192.0625 L672.75,1192.1875 L671.2969,1192.1875 L671.2969,1189.7813 L675.2813,1189.7813 L675.2813,1190.6406 C675.2813,1191.0469 675.3125,1191.2188 675.3906,1191.375 C675.5625,1191.625 675.8438,1191.7813 676.125,1191.7813 C676.3906,1191.7813 676.6563,1191.6406 676.8281,1191.4219 C676.9375,1191.25 676.9688,1191.1094 676.9688,1190.6406 L676.9688,1188.0938 L669.3438,1188.0938 C668.9063,1188.0938 668.7813,1188.1094 668.625,1188.2031 C668.375,1188.3594 668.2188,1188.6563 668.2188,1188.9375 C668.2188,1189.2188 668.3594,1189.4688 668.5781,1189.6406 C668.7344,1189.75 668.9219,1189.7813 669.3438,1189.7813 L669.5938,1189.7813 L669.5938,1196.2969 L669.3438,1196.2969 C668.9375,1196.2969 668.7813,1196.3125 668.625,1196.4219 C668.375,1196.5938 668.2188,1196.8594 668.2188,1197.1563 C668.2188,1197.4219 668.3594,1197.6719 668.5781,1197.8281 C668.7188,1197.9531 668.9531,1198 669.3438,1198 L677.3438,1198 L677.3438,1195.4219 C677.3438,1194.9844 677.3125,1194.8438 677.2344,1194.6875 C677.0625,1194.4375 676.7813,1194.2813 676.5,1194.2813 C676.2344,1194.2813 675.9688,1194.3906 675.7969,1194.6406 C675.6875,1194.7969 675.6563,1194.9375 675.6563,1195.4219 L675.6563,1196.2969 L671.2969,1196.2969 L671.2969,1193.875 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="149" x="686.5" y="1197.8467">CommunicationType</text><line style="stroke:#181818;stroke-width:0.5;" x1="658.5" x2="837.5" y1="1209" y2="1209"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="149" x="663.5" y="1225.9951">REQUEST_RESPONSE</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="138" x="663.5" y="1242.292">SUBSCRIBE_NOTIFY</text><line style="stroke:#181818;stroke-width:0.5;" x1="658.5" x2="837.5" y1="1249.5938" y2="1249.5938"/></g><!--MD5=[0afb30f140d7a68d8214ba691286e74e]
-class APIInvokerEnrolmentDetails--><g id="elem_APIInvokerEnrolmentDetails"><rect codeLine="118" fill="#FF7F50" height="113.1875" id="APIInvokerEnrolmentDetails" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="426" x="235" y="188"/><ellipse cx="342.25" cy="204" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M346.0313,199.9688 C346.0313,199.5313 346.0156,199.3906 345.9219,199.2344 C345.7813,199 345.5,198.8438 345.2031,198.8438 C344.8594,198.8438 344.7188,198.9844 344.5469,199.4063 C343.9531,199.0313 343.2031,198.8438 342.3281,198.8438 C340.2188,198.8438 338.6406,200.1406 338.6406,201.8594 C338.6406,202.8281 339.1719,203.7344 340.0313,204.2188 C340.5781,204.5313 341.125,204.7031 342.2344,204.8906 C343.3906,205.0938 343.6563,205.1563 344.0156,205.3438 C344.3906,205.5469 344.625,205.8906 344.625,206.25 C344.625,206.9844 343.6406,207.5313 342.3906,207.5313 C341.2656,207.5313 340.1875,207.0469 340.0156,206.4375 C339.8906,205.9688 339.8906,205.9688 339.7656,205.8594 C339.6094,205.7031 339.3906,205.6094 339.1563,205.6094 C338.875,205.6094 338.625,205.7344 338.4531,205.9531 C338.3438,206.125 338.2969,206.3125 338.2969,206.7344 L338.2969,207.8594 C338.2969,208.625 338.5781,208.9844 339.1719,208.9844 C339.4375,208.9844 339.5625,208.9219 339.8438,208.5781 C340.6875,209.0156 341.5781,209.2344 342.5,209.2344 C344.8281,209.2344 346.3906,208.0469 346.3906,206.2813 C346.3906,205.3906 346.0781,204.7031 345.3906,204.1563 C344.8594,203.7344 344.2188,203.4844 342.7344,203.2188 C341.4688,202.9844 341.375,202.9531 341.0469,202.7813 C340.6719,202.5938 340.4063,202.2031 340.4063,201.8438 C340.4063,201.1094 341.2656,200.5469 342.3281,200.5469 C343.3906,200.5469 344.2031,201.0156 344.3594,201.6875 C344.4688,202.2344 344.4688,202.2344 344.5938,202.375 C344.7344,202.5 344.9688,202.6094 345.2031,202.6094 C345.4688,202.6094 345.7188,202.4688 345.8906,202.25 C346,202.0781 346.0313,201.9375 346.0313,201.4688 L346.0313,199.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="203" x="362.75" y="208.8467">APIInvokerEnrolmentDetails</text><line style="stroke:#181818;stroke-width:0.5;" x1="236" x2="660" y1="220" y2="220"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="135" x="241" y="236.9951">string apiInvokerId</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="207" x="241" y="253.292">string apiInvokerInformation</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="101" x="241" y="269.5889">APIList apiList</text><line style="stroke:#181818;stroke-width:0.5;" x1="236" x2="660" y1="276.8906" y2="276.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="414" x="241" y="293.8857">OnboardingInformation onboardingInformation (required)</text></g><!--MD5=[7129722ced8854c69e86ed0d62e63764]
-class OnboardingInformation--><g id="elem_OnboardingInformation"><rect codeLine="124" fill="#FF7F50" height="96.8906" id="OnboardingInformation" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="280" x="613" y="392.5"/><ellipse cx="664.25" cy="408.5" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M668.0313,404.4688 C668.0313,404.0313 668.0156,403.8906 667.9219,403.7344 C667.7813,403.5 667.5,403.3438 667.2031,403.3438 C666.8594,403.3438 666.7188,403.4844 666.5469,403.9063 C665.9531,403.5313 665.2031,403.3438 664.3281,403.3438 C662.2188,403.3438 660.6406,404.6406 660.6406,406.3594 C660.6406,407.3281 661.1719,408.2344 662.0313,408.7188 C662.5781,409.0313 663.125,409.2031 664.2344,409.3906 C665.3906,409.5938 665.6563,409.6563 666.0156,409.8438 C666.3906,410.0469 666.625,410.3906 666.625,410.75 C666.625,411.4844 665.6406,412.0313 664.3906,412.0313 C663.2656,412.0313 662.1875,411.5469 662.0156,410.9375 C661.8906,410.4688 661.8906,410.4688 661.7656,410.3594 C661.6094,410.2031 661.3906,410.1094 661.1563,410.1094 C660.875,410.1094 660.625,410.2344 660.4531,410.4531 C660.3438,410.625 660.2969,410.8125 660.2969,411.2344 L660.2969,412.3594 C660.2969,413.125 660.5781,413.4844 661.1719,413.4844 C661.4375,413.4844 661.5625,413.4219 661.8438,413.0781 C662.6875,413.5156 663.5781,413.7344 664.5,413.7344 C666.8281,413.7344 668.3906,412.5469 668.3906,410.7813 C668.3906,409.8906 668.0781,409.2031 667.3906,408.6563 C666.8594,408.2344 666.2188,407.9844 664.7344,407.7188 C663.4688,407.4844 663.375,407.4531 663.0469,407.2813 C662.6719,407.0938 662.4063,406.7031 662.4063,406.3438 C662.4063,405.6094 663.2656,405.0469 664.3281,405.0469 C665.3906,405.0469 666.2031,405.5156 666.3594,406.1875 C666.4688,406.7344 666.4688,406.7344 666.5938,406.875 C666.7344,407 666.9688,407.1094 667.2031,407.1094 C667.4688,407.1094 667.7188,406.9688 667.8906,406.75 C668,406.5781 668.0313,406.4375 668.0313,405.9688 L668.0313,404.4688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="169" x="684.75" y="413.3467">OnboardingInformation</text><line style="stroke:#181818;stroke-width:0.5;" x1="614" x2="892" y1="424.5" y2="424.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="200" x="619" y="441.4951">string apiInvokerCertificate</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="176" x="619" y="457.792">string onboardingSecret</text><line style="stroke:#181818;stroke-width:0.5;" x1="614" x2="892" y1="465.0938" y2="465.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="268" x="619" y="482.0889">string ApiInvokerPublicKey (required)</text></g><path d="M928,423.5 L928,432.0664 L795,452.9453 L928,440.0664 L928,448.6328 A0,0 0 0 0 928,448.6328 L1144,448.6328 A0,0 0 0 0 1144,448.6328 L1144,433.5 L1134,423.5 L928,423.5 A0,0 0 0 0 928,423.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M1134,423.5 L1134,433.5 L1144,433.5 L1134,423.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="195" x="934" y="440.5669">Secret provided by CAPIF Core</text><path d="M6,226.5 L6,251.6328 A0,0 0 0 0 6,251.6328 L192,251.6328 A0,0 0 0 0 192,251.6328 L192,244.5 L239,232.1484 L192,236.5 L192,236.5 L182,226.5 L6,226.5 A0,0 0 0 0 6,226.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M182,226.5 L182,236.5 L192,236.5 L182,226.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="165" x="12" y="243.5669">Id provided by CAPIF Core</text><!--MD5=[1dfed69000c7317ed296a27f11aeb576]
-reverse link APIProviderEnrolmentDetails to APIProviderFunctionDetails--><g id="link_APIProviderEnrolmentDetails_APIProviderFunctionDetails"><path codeLine="28" d="M1801.37,84.4 C1834.59,93.28 1775.87,142.57 1718.32,183.88 " fill="none" id="APIProviderEnrolmentDetails-backto-APIProviderFunctionDetails" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1788,83,1793.5496,87.6045,1799.9344,84.2528,1794.3848,79.6483,1788,83" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1794.3672" y="80.5346">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="1697.7033" y="177.0071">1..N</text></g><!--MD5=[32e33ed6e988ce1198ac80432a7c502c]
-reverse link APIProviderFunctionDetails to RegistrationInformation--><g id="link_APIProviderFunctionDetails_RegistrationInformation"><path codeLine="29" d="M1837.03,289.022 C1881.16,297.628 1780.76,358.678 1704.88,400.461 " fill="none" id="APIProviderFunctionDetails-backto-RegistrationInformation" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1824,288,1829.6647,292.4622,1835.9624,288.9494,1830.2977,284.4872,1824,288" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1831.1156" y="286.3597">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1709.0625" y="389.3175">1</text></g><!--MD5=[24fd0a7322b75553b6b6db96abc90821]
-reverse link APIProviderFunctionDetails to ApiProviderFuncRole--><g id="link_APIProviderFunctionDetails_ApiProviderFuncRole"><path codeLine="30" d="M1836.03,277.63 C1840.53,284.188 1841.04,295.228 1849,304 C1876.97,334.829 1910.6,367.029 1938.22,392.354 " fill="none" id="APIProviderFunctionDetails-backto-ApiProviderFuncRole" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1824,272,1827.7366,278.1675,1834.8668,277.0905,1831.1302,270.923,1824,272" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1831.1156" y="269.7847">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1922.0947" y="381.5424">1</text></g><!--MD5=[1fbfbc08aaf5c1016e5b477a5c807753]
-link APIProviderFunctionDetails to aefIdRel--><g id="link_APIProviderFunctionDetails_aefIdRel"><path codeLine="58" d="M1436,232 C1351.2,232 1332.24,369.312 1328.12,420.805 " fill="none" id="APIProviderFunctionDetails-aefIdRel" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--MD5=[a8dd1463d7e0362004530e208ae0e723]
-link aefIdRel to AefProfile--><g id="link_aefIdRel_AefProfile"><path codeLine="59" d="M1319.89,461.242 C1296.52,520.777 1216.02,698 1086,698 " fill="none" id="aefIdRel-AefProfile" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--MD5=[466189dcb9a8e4b8c26ae027cf1e5f20]
-reverse link ServiceAPIDescription to AefProfile--><g id="link_ServiceAPIDescription_AefProfile"><path codeLine="105" d="M361.279,467.465 C365.398,476.383 362.477,492.338 374,501 C480.795,581.275 628.724,616.878 743.367,632.628 " fill="none" id="ServiceAPIDescription-backto-AefProfile" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="350,461,353.2165,467.454,360.4112,466.9672,357.1947,460.5132,350,461" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="356.5984" y="458.8339">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="718.367" y="629.6949">1..N</text></g><!--MD5=[4e3bc88c9a568add446b6dd5494f2fa8]
-reverse link AefProfile to InterfaceDescription--><g id="link_AefProfile_InterfaceDescription"><path codeLine="106" d="M1099.35,642.285 C1228.95,647.779 1357.77,731.5 1433.6,790.952 " fill="none" id="AefProfile-backto-InterfaceDescription" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1086,642,1091.9152,646.1244,1097.9974,642.2505,1092.0822,638.1261,1086,642" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1092.7188" y="638.5797">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="1403.6702" y="783.8706">1..N</text></g><!--MD5=[f54ae1f8c40dd3c35417abcf25159825]
-reverse link AefProfile to Protocol--><g id="link_AefProfile_Protocol"><path codeLine="107" d="M1098.79,661.936 C1111.92,673.376 1098.11,707.255 1085,730 C1058.62,775.765 1025.31,759.376 983,791 C975.132,796.881 967.134,803.579 959.578,810.3 " fill="none" id="AefProfile-backto-Protocol" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1086,658,1090.562,663.5846,1097.4717,661.5214,1092.9097,655.9368,1086,658" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="24" x="1092.4688" y="655.1937">0..1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="24" x="940.3112" y="799.4284">0..1</text></g><!--MD5=[f6f9235f5e40fa87c39af7382bde67f6]
-reverse link AefProfile to SecurityMethod--><g id="link_AefProfile_SecurityMethod"><path codeLine="108" d="M739.453,680.023 C735.468,690.433 747.166,712.37 752,730 C755.059,741.158 845.976,903.76 855,911 C926.823,968.624 965.246,944.103 1053,972 C1088.26,983.209 1127.29,995.96 1159.97,1006.733 " fill="none" id="AefProfile-backto-SecurityMethod" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="751,674,743.8303,673.2288,740.3608,679.5504,747.5305,680.3216,751,674" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="735.2516" y="671.9517">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="1127.0852" y="1000.7904">1..N</text></g><!--MD5=[bc81cc7157875ef60aeaabeb0463b2a7]
-reverse link AefProfile to DataFormat--><g id="link_AefProfile_DataFormat"><path codeLine="109" d="M1099.1,610.048 C1354.55,611.943 1424.83,670.015 1657,791 C1671.49,798.549 1686.05,808.848 1698.55,818.729 " fill="none" id="AefProfile-backto-DataFormat" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1086,610,1091.9824,614.0263,1097.9999,610.0527,1092.0175,606.0264,1086,610" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="24" x="1092.4688" y="605.4687">0..1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="1664.1098" y="807.9498">0..N</text></g><!--MD5=[e592637c20a0d043bd71be0ad43f8798]
-reverse link InterfaceDescription to SecurityMethod--><g id="link_InterfaceDescription_SecurityMethod"><path codeLine="110" d="M1362.5,895.903 C1345.33,913.066 1308.24,951.828 1278.14,983.45 " fill="none" id="InterfaceDescription-backto-SecurityMethod" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1372,887,1364.8865,888.1826,1363.2423,895.2038,1370.3557,894.0211,1372,887" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1356.6719" y="885.5966">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="1257.934" y="972.3023">1..N</text></g><!--MD5=[e1fc5e616a37d3f1ca25b204c95c7d12]
-reverse link AefProfile to Version--><g id="link_AefProfile_Version"><path codeLine="111" d="M737.776,715.195 C699.842,722.109 671.283,757.817 652.53,790.744 " fill="none" id="AefProfile-backto-Version" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="751,714,744.6643,710.5562,739.0487,715.08,745.3844,718.5238,751,714" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="735.2516" y="713.7642">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="628.3411" y="783.8633">1..N</text></g><!--MD5=[36a35205f395fb90a46c68b62d8b6099]
-reverse link Version to Resource--><g id="link_Version_Resource"><path codeLine="112" d="M771.739,873.838 C788.724,883.688 777.067,917.149 793,942 C799.399,951.981 806.779,962.088 814.348,971.734 " fill="none" id="Version-backto-Resource" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="759,871,763.9865,876.2091,770.7128,873.6097,765.7263,868.4006,759,871" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="766.0477" y="868.6468">1..N</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="785.5814" y="964.8527">1..N</text></g><!--MD5=[a14f1d04caa70cf746e3c6556cdb78a6]
-reverse link Version to CustomOperation--><g id="link_Version_CustomOperation"><path codeLine="113" d="M480.115,840.78 C441.934,852.569 456.118,920.481 473.066,971.827 " fill="none" id="Version-backto-CustomOperation" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="493,839,486.5092,835.8584,481.1128,840.6417,487.6036,843.7832,493,839" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="24" x="461.9766" y="835.0968">0..1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="446.0175" y="964.9511">0..N</text></g><!--MD5=[d5619243a085e1295dffce54e9f6274a]
-reverse link CustomOperation to CommunicationType--><g id="link_CustomOperation_CommunicationType"><path codeLine="114" d="M665.948,1069.721 C680.496,1090.601 707.888,1140.742 727.004,1176.604 " fill="none" id="CustomOperation-backto-CommunicationType" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="657,1060,658.1202,1067.1236,665.1266,1068.8294,664.0064,1061.7058,657,1060" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="663.9609" y="1057.9095">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="715.0203" y="1166.0007">1</text></g><!--MD5=[35aaaa8e071c36fecda6fe67b70e4657]
-reverse link CustomOperation to Operation--><g id="link_CustomOperation_Operation"><path codeLine="115" d="M668.911,1041.619 C674.74,1052.151 664.35,1075.302 656,1092 C633.489,1137.016 586.203,1170.588 548.844,1191.4552 " fill="none" id="CustomOperation-backto-Operation" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="657,1036,660.7195,1042.1778,667.8527,1041.1204,664.1332,1034.9426,657,1036" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="663.7773" y="1032.9096">0..N</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="556.3994" y="1184.6229">0..N</text></g><!--MD5=[c38a1b460d4f31e5f2da524e0c591a22]
-reverse link Resource to CommunicationType--><g id="link_Resource_CommunicationType"><path codeLine="116" d="M705.827,1089.053 C706.253,1090.064 706.659,1091.058 707,1092 C712.632,1107.546 722.325,1106.873 729,1122 C736.567,1139.147 741.149,1159.379 743.911,1176.713 " fill="none" id="Resource-backto-CommunicationType" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="706,1076,701.9206,1081.9463,705.8404,1087.9989,709.9199,1082.0527,706,1076" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="691.0391" y="1074.5845">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="734.5713" y="1165.827">1</text></g><!--MD5=[c84e77e970627b4aa18bdf4438691386]
-reverse link APIInvokerEnrolmentDetails to ServiceAPIDescription--><g id="link_APIInvokerEnrolmentDetails_ServiceAPIDescription"><path codeLine="135" d="M223.366,271.74 C214.868,290.607 224.315,340.361 234.406,380.905 " fill="none" id="APIInvokerEnrolmentDetails-backto-ServiceAPIDescription" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="234,264,226.795,264.2968,224.2978,271.0617,231.5028,270.7649,234,264" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="42" x="228" y="347.0669">APIList</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="218.8469" y="261.4597">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="207.724" y="374.0336">1..N</text></g><!--MD5=[ec3e366bed862608bf078ba3f0de1fcf]
-reverse link APIInvokerEnrolmentDetails to OnboardingInformation--><g id="link_APIInvokerEnrolmentDetails_OnboardingInformation"><path codeLine="136" d="M674.944,289.452 C715.523,298.841 735.561,351.839 745.066,392.323 " fill="none" id="APIInvokerEnrolmentDetails-backto-OnboardingInformation" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="662,288,667.5169,292.6437,673.9253,289.3372,668.4084,284.6935,662,288" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="669.1531" y="286.2472">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="735.3878" y="381.507">1</text></g><!--MD5=[17b1cb67dd9504a24cd3905d045cedf6]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="1619px" preserveAspectRatio="none" style="width:3047px;height:1619px;background:#FFFFFF;" version="1.1" viewBox="0 0 3047 1619" width="3047px" zoomAndPan="magnify"><defs/><g><!--MD5=[cae94fbbbce6eaad1a82826a4f451ee7]
+cluster Provider Service--><g id="cluster_Provider Service"><path d="M262.5,210 L393.5,210 A3.75,3.75 0 0 1 396,212.5 L403,232.2969 L978.5,232.2969 A2.5,2.5 0 0 1 981,234.7969 L981,817 A2.5,2.5 0 0 1 978.5,819.5 L262.5,819.5 A2.5,2.5 0 0 1 260,817 L260,212.5 A2.5,2.5 0 0 1 262.5,210 " fill="#98FB98" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="260" x2="403" y1="232.2969" y2="232.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="130" x="264" y="224.9951">Provider Service</text></g><!--MD5=[c0af09c565ca1b9205a2c5ef6b445cba]
+cluster Publish Service--><g id="cluster_Publish Service"><path d="M1007.5,660 L1130.5,660 A3.75,3.75 0 0 1 1133,662.5 L1140,682.2969 L2307.5,682.2969 A2.5,2.5 0 0 1 2310,684.7969 L2310,1609.5 A2.5,2.5 0 0 1 2307.5,1612 L1007.5,1612 A2.5,2.5 0 0 1 1005,1609.5 L1005,662.5 A2.5,2.5 0 0 1 1007.5,660 " fill="#ADD8E6" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="1005" x2="1140" y1="682.2969" y2="682.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="122" x="1009" y="674.9951">Publish Service</text></g><!--MD5=[7d8075136be6eab355d71793f60e19b7]
+cluster Invoker Management--><g id="cluster_Invoker Management"><path d="M2336.5,412 L2506.5,412 A3.75,3.75 0 0 1 2509,414.5 L2516,434.2969 L2805.5,434.2969 A2.5,2.5 0 0 1 2808,436.7969 L2808,817 A2.5,2.5 0 0 1 2805.5,819.5 L2336.5,819.5 A2.5,2.5 0 0 1 2334,817 L2334,414.5 A2.5,2.5 0 0 1 2336.5,412 " fill="#FF7F50" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="2334" x2="2516" y1="434.2969" y2="434.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="169" x="2338" y="426.9951">Invoker Management</text></g><!--MD5=[cf07b308dbab5452a5b006f8a8fd7710]
+cluster Discover Service--><g id="cluster_Discover Service"><path d="M1917.5,30 L2050.5,30 A3.75,3.75 0 0 1 2053,32.5 L2060,52.2969 L2312.5,52.2969 A2.5,2.5 0 0 1 2315,54.7969 L2315,150.5 A2.5,2.5 0 0 1 2312.5,153 L1917.5,153 A2.5,2.5 0 0 1 1915,150.5 L1915,32.5 A2.5,2.5 0 0 1 1917.5,30 " fill="#FFFF00" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="1915" x2="2060" y1="52.2969" y2="52.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="132" x="1919" y="44.9951">Discover Service</text></g><!--MD5=[90c610dc4d5619256b853946a4a00bb2]
+cluster Security Service--><g id="cluster_Security Service"><path d="M917.5,6 L1048.5,6 A3.75,3.75 0 0 1 1051,8.5 L1058,28.2969 L1459.5,28.2969 A2.5,2.5 0 0 1 1462,30.7969 L1462,174.5 A2.5,2.5 0 0 1 1459.5,177 L917.5,177 A2.5,2.5 0 0 1 915,174.5 L915,8.5 A2.5,2.5 0 0 1 917.5,6 " fill="#FFC0CB" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="915" x2="1058" y1="28.2969" y2="28.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="130" x="919" y="20.9951">Security Service</text></g><!--MD5=[0e252429fa10c7ec310cb63d32dcae66]
+class APIProviderEnrolmentDetails--><g id="elem_APIProviderEnrolmentDetails"><rect codeLine="2" fill="#F1F1F1" height="113.1875" id="APIProviderEnrolmentDetails" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="315" x="384.5" y="249"/><ellipse cx="433.25" cy="265" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M437.0313,260.9688 C437.0313,260.5313 437.0156,260.3906 436.9219,260.2344 C436.7813,260 436.5,259.8438 436.2031,259.8438 C435.8594,259.8438 435.7188,259.9844 435.5469,260.4063 C434.9531,260.0313 434.2031,259.8438 433.3281,259.8438 C431.2188,259.8438 429.6406,261.1406 429.6406,262.8594 C429.6406,263.8281 430.1719,264.7344 431.0313,265.2188 C431.5781,265.5313 432.125,265.7031 433.2344,265.8906 C434.3906,266.0938 434.6563,266.1563 435.0156,266.3438 C435.3906,266.5469 435.625,266.8906 435.625,267.25 C435.625,267.9844 434.6406,268.5313 433.3906,268.5313 C432.2656,268.5313 431.1875,268.0469 431.0156,267.4375 C430.8906,266.9688 430.8906,266.9688 430.7656,266.8594 C430.6094,266.7031 430.3906,266.6094 430.1563,266.6094 C429.875,266.6094 429.625,266.7344 429.4531,266.9531 C429.3438,267.125 429.2969,267.3125 429.2969,267.7344 L429.2969,268.8594 C429.2969,269.625 429.5781,269.9844 430.1719,269.9844 C430.4375,269.9844 430.5625,269.9219 430.8438,269.5781 C431.6875,270.0156 432.5781,270.2344 433.5,270.2344 C435.8281,270.2344 437.3906,269.0469 437.3906,267.2813 C437.3906,266.3906 437.0781,265.7031 436.3906,265.1563 C435.8594,264.7344 435.2188,264.4844 433.7344,264.2188 C432.4688,263.9844 432.375,263.9531 432.0469,263.7813 C431.6719,263.5938 431.4063,263.2031 431.4063,262.8438 C431.4063,262.1094 432.2656,261.5469 433.3281,261.5469 C434.3906,261.5469 435.2031,262.0156 435.3594,262.6875 C435.4688,263.2344 435.4688,263.2344 435.5938,263.375 C435.7344,263.5 435.9688,263.6094 436.2031,263.6094 C436.4688,263.6094 436.7188,263.4688 436.8906,263.25 C437,263.0781 437.0313,262.9375 437.0313,262.4688 L437.0313,260.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="209" x="453.75" y="269.8467">APIProviderEnrolmentDetails</text><line style="stroke:#181818;stroke-width:0.5;" x1="385.5" x2="698.5" y1="281" y2="281"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="147" x="390.5" y="297.9951">string apiProvDomId</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="162" x="390.5" y="314.292">string apiProvDomInfo</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="303" x="390.5" y="330.5889">[]APIProviderFunctionDetails apiProvFuncs</text><line style="stroke:#181818;stroke-width:0.5;" x1="385.5" x2="698.5" y1="337.8906" y2="337.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="170" x="390.5" y="354.8857">string regSec (required)</text></g><path d="M743,287.5 L743,296.0664 L537.5,293.1484 L743,304.0664 L743,312.6328 A0,0 0 0 0 743,312.6328 L929,312.6328 A0,0 0 0 0 929,312.6328 L929,297.5 L919,287.5 L743,287.5 A0,0 0 0 0 743,287.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M919,287.5 L919,297.5 L929,297.5 L919,287.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="165" x="749" y="304.5669">Id provided by CAPIF Core</text><!--MD5=[7f279047012c54823f76ad25d0814bfd]
+class APIProviderFunctionDetails--><g id="elem_APIProviderFunctionDetails"><rect codeLine="11" fill="#F1F1F1" height="113.1875" id="APIProviderFunctionDetails" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="386" x="350" y="451"/><ellipse cx="441.25" cy="467" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M445.0313,462.9688 C445.0313,462.5313 445.0156,462.3906 444.9219,462.2344 C444.7813,462 444.5,461.8438 444.2031,461.8438 C443.8594,461.8438 443.7188,461.9844 443.5469,462.4063 C442.9531,462.0313 442.2031,461.8438 441.3281,461.8438 C439.2188,461.8438 437.6406,463.1406 437.6406,464.8594 C437.6406,465.8281 438.1719,466.7344 439.0313,467.2188 C439.5781,467.5313 440.125,467.7031 441.2344,467.8906 C442.3906,468.0938 442.6563,468.1563 443.0156,468.3438 C443.3906,468.5469 443.625,468.8906 443.625,469.25 C443.625,469.9844 442.6406,470.5313 441.3906,470.5313 C440.2656,470.5313 439.1875,470.0469 439.0156,469.4375 C438.8906,468.9688 438.8906,468.9688 438.7656,468.8594 C438.6094,468.7031 438.3906,468.6094 438.1563,468.6094 C437.875,468.6094 437.625,468.7344 437.4531,468.9531 C437.3438,469.125 437.2969,469.3125 437.2969,469.7344 L437.2969,470.8594 C437.2969,471.625 437.5781,471.9844 438.1719,471.9844 C438.4375,471.9844 438.5625,471.9219 438.8438,471.5781 C439.6875,472.0156 440.5781,472.2344 441.5,472.2344 C443.8281,472.2344 445.3906,471.0469 445.3906,469.2813 C445.3906,468.3906 445.0781,467.7031 444.3906,467.1563 C443.8594,466.7344 443.2188,466.4844 441.7344,466.2188 C440.4688,465.9844 440.375,465.9531 440.0469,465.7813 C439.6719,465.5938 439.4063,465.2031 439.4063,464.8438 C439.4063,464.1094 440.2656,463.5469 441.3281,463.5469 C442.3906,463.5469 443.2031,464.0156 443.3594,464.6875 C443.4688,465.2344 443.4688,465.2344 443.5938,465.375 C443.7344,465.5 443.9688,465.6094 444.2031,465.6094 C444.4688,465.6094 444.7188,465.4688 444.8906,465.25 C445,465.0781 445.0313,464.9375 445.0313,464.4688 L445.0313,462.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="195" x="461.75" y="471.8467">APIProviderFunctionDetails</text><line style="stroke:#181818;stroke-width:0.5;" x1="351" x2="735" y1="483" y2="483"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="146" x="356" y="499.9951">string apiProvFuncId</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="161" x="356" y="516.292">string apiProvFuncInfo</text><line style="stroke:#181818;stroke-width:0.5;" x1="351" x2="735" y1="523.5938" y2="523.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="374" x="356" y="540.5889">ApiProviderFuncRole apiProviderFuncRole (required)</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="304" x="356" y="556.8857">RegistrationInformation regInfo (required)</text></g><path d="M779,489.5 L779,498.0664 L502,495.1484 L779,506.0664 L779,514.6328 A0,0 0 0 0 779,514.6328 L965,514.6328 A0,0 0 0 0 965,514.6328 L965,499.5 L955,489.5 L779,489.5 A0,0 0 0 0 779,489.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M955,489.5 L955,499.5 L965,499.5 L955,489.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="165" x="785" y="506.5669">Id provided by CAPIF Core</text><!--MD5=[67b08351a787f22226f346261cc25825]
+class ApiProviderFuncRole--><g id="elem_ApiProviderFuncRole"><rect codeLine="20" fill="#F1F1F1" height="96.8906" id="ApiProviderFuncRole" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="413" x="276.5" y="706.5"/><ellipse cx="404.25" cy="722.5" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M403.0469,723.375 L404.5,723.375 L404.5,723.4844 C404.5,723.8906 404.5313,724.0469 404.6094,724.2031 C404.7656,724.4531 405.0469,724.6094 405.3438,724.6094 C405.5938,724.6094 405.8594,724.4688 406.0156,724.25 C406.1406,724.0938 406.1719,723.9375 406.1719,723.4844 L406.1719,721.5625 C406.1719,721.4063 406.1719,721.3594 406.1563,721.2031 C406.0938,720.7344 405.7813,720.4219 405.3281,720.4219 C405.0781,720.4219 404.8125,720.5625 404.6406,720.7813 C404.5313,720.9531 404.5,721.1094 404.5,721.5625 L404.5,721.6875 L403.0469,721.6875 L403.0469,719.2813 L407.0313,719.2813 L407.0313,720.1406 C407.0313,720.5469 407.0625,720.7188 407.1406,720.875 C407.3125,721.125 407.5938,721.2813 407.875,721.2813 C408.1406,721.2813 408.4063,721.1406 408.5781,720.9219 C408.6875,720.75 408.7188,720.6094 408.7188,720.1406 L408.7188,717.5938 L401.0938,717.5938 C400.6563,717.5938 400.5313,717.6094 400.375,717.7031 C400.125,717.8594 399.9688,718.1563 399.9688,718.4375 C399.9688,718.7188 400.1094,718.9688 400.3281,719.1406 C400.4844,719.25 400.6719,719.2813 401.0938,719.2813 L401.3438,719.2813 L401.3438,725.7969 L401.0938,725.7969 C400.6875,725.7969 400.5313,725.8125 400.375,725.9219 C400.125,726.0938 399.9688,726.3594 399.9688,726.6563 C399.9688,726.9219 400.1094,727.1719 400.3281,727.3281 C400.4688,727.4531 400.7031,727.5 401.0938,727.5 L409.0938,727.5 L409.0938,724.9219 C409.0938,724.4844 409.0625,724.3438 408.9844,724.1875 C408.8125,723.9375 408.5313,723.7813 408.25,723.7813 C407.9844,723.7813 407.7188,723.8906 407.5469,724.1406 C407.4375,724.2969 407.4063,724.4375 407.4063,724.9219 L407.4063,725.7969 L403.0469,725.7969 L403.0469,723.375 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="149" x="424.75" y="727.3467">ApiProviderFuncRole</text><line style="stroke:#181818;stroke-width:0.5;" x1="277.5" x2="688.5" y1="738.5" y2="738.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="370" x="282.5" y="755.4951">AEF: API provider function is API Exposing Function.</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="378" x="282.5" y="771.792">APF: API provider function is API Publishing Function.</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="401" x="282.5" y="788.0889">AMF: API Provider function is API Management Function.</text><line style="stroke:#181818;stroke-width:0.5;" x1="277.5" x2="688.5" y1="795.3906" y2="795.3906"/></g><!--MD5=[1f62e39e6986077d5626c6cf81ffb380]
+class RegistrationInformation--><g id="elem_RegistrationInformation"><rect codeLine="25" fill="#F1F1F1" height="80.5938" id="RegistrationInformation" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="240" x="725" y="714.5"/><ellipse cx="755.3" cy="730.5" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M759.0813,726.4688 C759.0813,726.0313 759.0656,725.8906 758.9719,725.7344 C758.8313,725.5 758.55,725.3438 758.2531,725.3438 C757.9094,725.3438 757.7688,725.4844 757.5969,725.9063 C757.0031,725.5313 756.2531,725.3438 755.3781,725.3438 C753.2688,725.3438 751.6906,726.6406 751.6906,728.3594 C751.6906,729.3281 752.2219,730.2344 753.0813,730.7188 C753.6281,731.0313 754.175,731.2031 755.2844,731.3906 C756.4406,731.5938 756.7063,731.6563 757.0656,731.8438 C757.4406,732.0469 757.675,732.3906 757.675,732.75 C757.675,733.4844 756.6906,734.0313 755.4406,734.0313 C754.3156,734.0313 753.2375,733.5469 753.0656,732.9375 C752.9406,732.4688 752.9406,732.4688 752.8156,732.3594 C752.6594,732.2031 752.4406,732.1094 752.2063,732.1094 C751.925,732.1094 751.675,732.2344 751.5031,732.4531 C751.3938,732.625 751.3469,732.8125 751.3469,733.2344 L751.3469,734.3594 C751.3469,735.125 751.6281,735.4844 752.2219,735.4844 C752.4875,735.4844 752.6125,735.4219 752.8938,735.0781 C753.7375,735.5156 754.6281,735.7344 755.55,735.7344 C757.8781,735.7344 759.4406,734.5469 759.4406,732.7813 C759.4406,731.8906 759.1281,731.2031 758.4406,730.6563 C757.9094,730.2344 757.2688,729.9844 755.7844,729.7188 C754.5188,729.4844 754.425,729.4531 754.0969,729.2813 C753.7219,729.0938 753.4563,728.7031 753.4563,728.3438 C753.4563,727.6094 754.3156,727.0469 755.3781,727.0469 C756.4406,727.0469 757.2531,727.5156 757.4094,728.1875 C757.5188,728.7344 757.5188,728.7344 757.6438,728.875 C757.7844,729 758.0188,729.1094 758.2531,729.1094 C758.5188,729.1094 758.7688,728.9688 758.9406,728.75 C759.05,728.5781 759.0813,728.4375 759.0813,727.9688 L759.0813,726.4688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="174" x="772.7" y="735.3467">RegistrationInformation</text><line style="stroke:#181818;stroke-width:0.5;" x1="726" x2="964" y1="746.5" y2="746.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="132" x="731" y="763.4951">string apiProvCert</text><line style="stroke:#181818;stroke-width:0.5;" x1="726" x2="964" y1="770.7969" y2="770.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="228" x="731" y="787.792">string apiProvPubKey (required)</text></g><!--MD5=[30aa660395d9fb6e2ca898b7ec3ec3d0]
+class ServiceAPIDescription--><g id="elem_ServiceAPIDescription"><rect codeLine="35" fill="#F1F1F1" height="113.1875" id="ServiceAPIDescription" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="195" x="1984.5" y="699"/><ellipse cx="2000.85" cy="715" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M2004.6313,710.9688 C2004.6313,710.5313 2004.6156,710.3906 2004.5219,710.2344 C2004.3813,710 2004.1,709.8438 2003.8031,709.8438 C2003.4594,709.8438 2003.3188,709.9844 2003.1469,710.4063 C2002.5531,710.0313 2001.8031,709.8438 2000.9281,709.8438 C1998.8188,709.8438 1997.2406,711.1406 1997.2406,712.8594 C1997.2406,713.8281 1997.7719,714.7344 1998.6313,715.2188 C1999.1781,715.5313 1999.725,715.7031 2000.8344,715.8906 C2001.9906,716.0938 2002.2563,716.1563 2002.6156,716.3438 C2002.9906,716.5469 2003.225,716.8906 2003.225,717.25 C2003.225,717.9844 2002.2406,718.5313 2000.9906,718.5313 C1999.8656,718.5313 1998.7875,718.0469 1998.6156,717.4375 C1998.4906,716.9688 1998.4906,716.9688 1998.3656,716.8594 C1998.2094,716.7031 1997.9906,716.6094 1997.7563,716.6094 C1997.475,716.6094 1997.225,716.7344 1997.0531,716.9531 C1996.9438,717.125 1996.8969,717.3125 1996.8969,717.7344 L1996.8969,718.8594 C1996.8969,719.625 1997.1781,719.9844 1997.7719,719.9844 C1998.0375,719.9844 1998.1625,719.9219 1998.4438,719.5781 C1999.2875,720.0156 2000.1781,720.2344 2001.1,720.2344 C2003.4281,720.2344 2004.9906,719.0469 2004.9906,717.2813 C2004.9906,716.3906 2004.6781,715.7031 2003.9906,715.1563 C2003.4594,714.7344 2002.8188,714.4844 2001.3344,714.2188 C2000.0688,713.9844 1999.975,713.9531 1999.6469,713.7813 C1999.2719,713.5938 1999.0063,713.2031 1999.0063,712.8438 C1999.0063,712.1094 1999.8656,711.5469 2000.9281,711.5469 C2001.9906,711.5469 2002.8031,712.0156 2002.9594,712.6875 C2003.0688,713.2344 2003.0688,713.2344 2003.1938,713.375 C2003.3344,713.5 2003.5688,713.6094 2003.8031,713.6094 C2004.0688,713.6094 2004.3188,713.4688 2004.4906,713.25 C2004.6,713.0781 2004.6313,712.9375 2004.6313,712.4688 L2004.6313,710.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="160" x="2015.15" y="719.8467">ServiceAPIDescription</text><line style="stroke:#181818;stroke-width:0.5;" x1="1985.5" x2="2178.5" y1="731" y2="731"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="1990.5" y="747.9951">string apiId</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="128" x="1990.5" y="764.292">string description</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="163" x="1990.5" y="780.5889">[]AefProfile aefProfiles</text><line style="stroke:#181818;stroke-width:0.5;" x1="1985.5" x2="2178.5" y1="787.8906" y2="787.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="183" x="1990.5" y="804.8857">string apiName (required)</text></g><path d="M1755,737.5 L1755,762.6328 A0,0 0 0 0 1755,762.6328 L1941,762.6328 A0,0 0 0 0 1941,762.6328 L1941,755.5 L1988.5,743.1484 L1941,747.5 L1941,747.5 L1931,737.5 L1755,737.5 A0,0 0 0 0 1755,737.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M1931,737.5 L1931,747.5 L1941,747.5 L1931,737.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="165" x="1761" y="754.5669">Id provided by CAPIF Core</text><g id="elem_publishProviderRel"><path d="M1021.5,932.5 L1021.5,987.8984 L1316.5,987.8984 L1316.5,942.5 L1306.5,932.5 L1021.5,932.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M1306.5,932.5 L1306.5,942.5 L1316.5,942.5 L1306.5,932.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="96" x="1027.5" y="949.5669">apfId matching</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="270" x="1031.5" y="964.6997">APIProviderFunctionDetails::apiProvFuncId</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="220" x="1031.5" y="979.8325">must be provided when publishing</text></g><!--MD5=[1c40ba31a6e0033614eeca8255f08bb3]
+class AefProfile--><g id="elem_AefProfile"><rect codeLine="47" fill="#F1F1F1" height="162.0781" id="AefProfile" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="333" x="1359.5" y="880"/><ellipse cx="1485.75" cy="896" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1489.5313,891.9688 C1489.5313,891.5313 1489.5156,891.3906 1489.4219,891.2344 C1489.2813,891 1489,890.8438 1488.7031,890.8438 C1488.3594,890.8438 1488.2188,890.9844 1488.0469,891.4063 C1487.4531,891.0313 1486.7031,890.8438 1485.8281,890.8438 C1483.7188,890.8438 1482.1406,892.1406 1482.1406,893.8594 C1482.1406,894.8281 1482.6719,895.7344 1483.5313,896.2188 C1484.0781,896.5313 1484.625,896.7031 1485.7344,896.8906 C1486.8906,897.0938 1487.1563,897.1563 1487.5156,897.3438 C1487.8906,897.5469 1488.125,897.8906 1488.125,898.25 C1488.125,898.9844 1487.1406,899.5313 1485.8906,899.5313 C1484.7656,899.5313 1483.6875,899.0469 1483.5156,898.4375 C1483.3906,897.9688 1483.3906,897.9688 1483.2656,897.8594 C1483.1094,897.7031 1482.8906,897.6094 1482.6563,897.6094 C1482.375,897.6094 1482.125,897.7344 1481.9531,897.9531 C1481.8438,898.125 1481.7969,898.3125 1481.7969,898.7344 L1481.7969,899.8594 C1481.7969,900.625 1482.0781,900.9844 1482.6719,900.9844 C1482.9375,900.9844 1483.0625,900.9219 1483.3438,900.5781 C1484.1875,901.0156 1485.0781,901.2344 1486,901.2344 C1488.3281,901.2344 1489.8906,900.0469 1489.8906,898.2813 C1489.8906,897.3906 1489.5781,896.7031 1488.8906,896.1563 C1488.3594,895.7344 1487.7188,895.4844 1486.2344,895.2188 C1484.9688,894.9844 1484.875,894.9531 1484.5469,894.7813 C1484.1719,894.5938 1483.9063,894.2031 1483.9063,893.8438 C1483.9063,893.1094 1484.7656,892.5469 1485.8281,892.5469 C1486.8906,892.5469 1487.7031,893.0156 1487.8594,893.6875 C1487.9688,894.2344 1487.9688,894.2344 1488.0938,894.375 C1488.2344,894.5 1488.4688,894.6094 1488.7031,894.6094 C1488.9688,894.6094 1489.2188,894.4688 1489.3906,894.25 C1489.5,894.0781 1489.5313,893.9375 1489.5313,893.4688 L1489.5313,891.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="72" x="1506.25" y="900.8467">AefProfile</text><line style="stroke:#181818;stroke-width:0.5;" x1="1360.5" x2="1691.5" y1="912" y2="912"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="174" x="1365.5" y="928.9951">DataFormat dataFormat</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="140" x="1365.5" y="945.292">string domainName</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="321" x="1365.5" y="961.5889">[]InterfaceDescription interfaceDescriptions</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="127" x="1365.5" y="977.8857">Protocol protocol</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="247" x="1365.5" y="994.1826">[]SecurityMethod securityMethods</text><line style="stroke:#181818;stroke-width:0.5;" x1="1360.5" x2="1691.5" y1="1001.4844" y2="1001.4844"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="156" x="1365.5" y="1018.4795">string aefId (required)</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="201" x="1365.5" y="1034.7764">[]Version versions (required)</text></g><!--MD5=[a87be8aed8ee406f2aba06009a0ee87f]
+class DataFormat--><g id="elem_DataFormat"><rect codeLine="56" fill="#F1F1F1" height="64.2969" id="DataFormat" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="118" x="2176" y="1133"/><ellipse cx="2191" cy="1149" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M2189.7969,1149.875 L2191.25,1149.875 L2191.25,1149.9844 C2191.25,1150.3906 2191.2813,1150.5469 2191.3594,1150.7031 C2191.5156,1150.9531 2191.7969,1151.1094 2192.0938,1151.1094 C2192.3438,1151.1094 2192.6094,1150.9688 2192.7656,1150.75 C2192.8906,1150.5938 2192.9219,1150.4375 2192.9219,1149.9844 L2192.9219,1148.0625 C2192.9219,1147.9063 2192.9219,1147.8594 2192.9063,1147.7031 C2192.8438,1147.2344 2192.5313,1146.9219 2192.0781,1146.9219 C2191.8281,1146.9219 2191.5625,1147.0625 2191.3906,1147.2813 C2191.2813,1147.4531 2191.25,1147.6094 2191.25,1148.0625 L2191.25,1148.1875 L2189.7969,1148.1875 L2189.7969,1145.7813 L2193.7813,1145.7813 L2193.7813,1146.6406 C2193.7813,1147.0469 2193.8125,1147.2188 2193.8906,1147.375 C2194.0625,1147.625 2194.3438,1147.7813 2194.625,1147.7813 C2194.8906,1147.7813 2195.1563,1147.6406 2195.3281,1147.4219 C2195.4375,1147.25 2195.4688,1147.1094 2195.4688,1146.6406 L2195.4688,1144.0938 L2187.8438,1144.0938 C2187.4063,1144.0938 2187.2813,1144.1094 2187.125,1144.2031 C2186.875,1144.3594 2186.7188,1144.6563 2186.7188,1144.9375 C2186.7188,1145.2188 2186.8594,1145.4688 2187.0781,1145.6406 C2187.2344,1145.75 2187.4219,1145.7813 2187.8438,1145.7813 L2188.0938,1145.7813 L2188.0938,1152.2969 L2187.8438,1152.2969 C2187.4375,1152.2969 2187.2813,1152.3125 2187.125,1152.4219 C2186.875,1152.5938 2186.7188,1152.8594 2186.7188,1153.1563 C2186.7188,1153.4219 2186.8594,1153.6719 2187.0781,1153.8281 C2187.2188,1153.9531 2187.4531,1154 2187.8438,1154 L2195.8438,1154 L2195.8438,1151.4219 C2195.8438,1150.9844 2195.8125,1150.8438 2195.7344,1150.6875 C2195.5625,1150.4375 2195.2813,1150.2813 2195,1150.2813 C2194.7344,1150.2813 2194.4688,1150.3906 2194.2969,1150.6406 C2194.1875,1150.7969 2194.1563,1150.9375 2194.1563,1151.4219 L2194.1563,1152.2969 L2189.7969,1152.2969 L2189.7969,1149.875 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86" x="2205" y="1153.8467">DataFormat</text><line style="stroke:#181818;stroke-width:0.5;" x1="2177" x2="2293" y1="1165" y2="1165"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="34" x="2182" y="1181.9951">JSON</text><line style="stroke:#181818;stroke-width:0.5;" x1="2177" x2="2293" y1="1189.2969" y2="1189.2969"/></g><!--MD5=[a0c27cfb527bdb20a6436baa93834728]
+class Protocol--><g id="elem_Protocol"><rect codeLine="59" fill="#F1F1F1" height="80.5938" id="Protocol" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="93" x="1373.5" y="1124.5"/><ellipse cx="1388.5" cy="1140.5" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1387.2969,1141.375 L1388.75,1141.375 L1388.75,1141.4844 C1388.75,1141.8906 1388.7813,1142.0469 1388.8594,1142.2031 C1389.0156,1142.4531 1389.2969,1142.6094 1389.5938,1142.6094 C1389.8438,1142.6094 1390.1094,1142.4688 1390.2656,1142.25 C1390.3906,1142.0938 1390.4219,1141.9375 1390.4219,1141.4844 L1390.4219,1139.5625 C1390.4219,1139.4063 1390.4219,1139.3594 1390.4063,1139.2031 C1390.3438,1138.7344 1390.0313,1138.4219 1389.5781,1138.4219 C1389.3281,1138.4219 1389.0625,1138.5625 1388.8906,1138.7813 C1388.7813,1138.9531 1388.75,1139.1094 1388.75,1139.5625 L1388.75,1139.6875 L1387.2969,1139.6875 L1387.2969,1137.2813 L1391.2813,1137.2813 L1391.2813,1138.1406 C1391.2813,1138.5469 1391.3125,1138.7188 1391.3906,1138.875 C1391.5625,1139.125 1391.8438,1139.2813 1392.125,1139.2813 C1392.3906,1139.2813 1392.6563,1139.1406 1392.8281,1138.9219 C1392.9375,1138.75 1392.9688,1138.6094 1392.9688,1138.1406 L1392.9688,1135.5938 L1385.3438,1135.5938 C1384.9063,1135.5938 1384.7813,1135.6094 1384.625,1135.7031 C1384.375,1135.8594 1384.2188,1136.1563 1384.2188,1136.4375 C1384.2188,1136.7188 1384.3594,1136.9688 1384.5781,1137.1406 C1384.7344,1137.25 1384.9219,1137.2813 1385.3438,1137.2813 L1385.5938,1137.2813 L1385.5938,1143.7969 L1385.3438,1143.7969 C1384.9375,1143.7969 1384.7813,1143.8125 1384.625,1143.9219 C1384.375,1144.0938 1384.2188,1144.3594 1384.2188,1144.6563 C1384.2188,1144.9219 1384.3594,1145.1719 1384.5781,1145.3281 C1384.7188,1145.4531 1384.9531,1145.5 1385.3438,1145.5 L1393.3438,1145.5 L1393.3438,1142.9219 C1393.3438,1142.4844 1393.3125,1142.3438 1393.2344,1142.1875 C1393.0625,1141.9375 1392.7813,1141.7813 1392.5,1141.7813 C1392.2344,1141.7813 1391.9688,1141.8906 1391.7969,1142.1406 C1391.6875,1142.2969 1391.6563,1142.4375 1391.6563,1142.9219 L1391.6563,1143.7969 L1387.2969,1143.7969 L1387.2969,1141.375 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="61" x="1402.5" y="1145.3467">Protocol</text><line style="stroke:#181818;stroke-width:0.5;" x1="1374.5" x2="1465.5" y1="1156.5" y2="1156.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69" x="1379.5" y="1173.4951">HTTP_1_1</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="1379.5" y="1189.792">HTTP_2</text><line style="stroke:#181818;stroke-width:0.5;" x1="1374.5" x2="1465.5" y1="1197.0938" y2="1197.0938"/></g><g id="elem_aefIdRel"><path d="M1385.5,735 L1385.5,775.2656 L1680.5,775.2656 L1680.5,745 L1670.5,735 L1385.5,735 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M1670.5,735 L1670.5,745 L1680.5,745 L1670.5,735 " fill="#FEFFDD" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="195" x="1391.5" y="752.0669">AefProfile::aefId should match</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="270" x="1395.5" y="767.1997">APIProviderFunctionDetails::apiProvFuncId</text></g><!--MD5=[5aca79d495961f73f43004d77eeece21]
+class InterfaceDescription--><g id="elem_InterfaceDescription"><rect codeLine="66" fill="#F1F1F1" height="113.1875" id="InterfaceDescription" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="259" x="1873.5" y="1109"/><ellipse cx="1923.75" cy="1125" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1927.5313,1120.9688 C1927.5313,1120.5313 1927.5156,1120.3906 1927.4219,1120.2344 C1927.2813,1120 1927,1119.8438 1926.7031,1119.8438 C1926.3594,1119.8438 1926.2188,1119.9844 1926.0469,1120.4063 C1925.4531,1120.0313 1924.7031,1119.8438 1923.8281,1119.8438 C1921.7188,1119.8438 1920.1406,1121.1406 1920.1406,1122.8594 C1920.1406,1123.8281 1920.6719,1124.7344 1921.5313,1125.2188 C1922.0781,1125.5313 1922.625,1125.7031 1923.7344,1125.8906 C1924.8906,1126.0938 1925.1563,1126.1563 1925.5156,1126.3438 C1925.8906,1126.5469 1926.125,1126.8906 1926.125,1127.25 C1926.125,1127.9844 1925.1406,1128.5313 1923.8906,1128.5313 C1922.7656,1128.5313 1921.6875,1128.0469 1921.5156,1127.4375 C1921.3906,1126.9688 1921.3906,1126.9688 1921.2656,1126.8594 C1921.1094,1126.7031 1920.8906,1126.6094 1920.6563,1126.6094 C1920.375,1126.6094 1920.125,1126.7344 1919.9531,1126.9531 C1919.8438,1127.125 1919.7969,1127.3125 1919.7969,1127.7344 L1919.7969,1128.8594 C1919.7969,1129.625 1920.0781,1129.9844 1920.6719,1129.9844 C1920.9375,1129.9844 1921.0625,1129.9219 1921.3438,1129.5781 C1922.1875,1130.0156 1923.0781,1130.2344 1924,1130.2344 C1926.3281,1130.2344 1927.8906,1129.0469 1927.8906,1127.2813 C1927.8906,1126.3906 1927.5781,1125.7031 1926.8906,1125.1563 C1926.3594,1124.7344 1925.7188,1124.4844 1924.2344,1124.2188 C1922.9688,1123.9844 1922.875,1123.9531 1922.5469,1123.7813 C1922.1719,1123.5938 1921.9063,1123.2031 1921.9063,1122.8438 C1921.9063,1122.1094 1922.7656,1121.5469 1923.8281,1121.5469 C1924.8906,1121.5469 1925.7031,1122.0156 1925.8594,1122.6875 C1925.9688,1123.2344 1925.9688,1123.2344 1926.0938,1123.375 C1926.2344,1123.5 1926.4688,1123.6094 1926.7031,1123.6094 C1926.9688,1123.6094 1927.2188,1123.4688 1927.3906,1123.25 C1927.5,1123.0781 1927.5313,1122.9375 1927.5313,1122.4688 L1927.5313,1120.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="150" x="1944.25" y="1129.8467">InterfaceDescription</text><line style="stroke:#181818;stroke-width:0.5;" x1="1874.5" x2="2131.5" y1="1141" y2="1141"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133" x="1879.5" y="1157.9951">string ipv4Address</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="134" x="1879.5" y="1174.292">string ipv6Address</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56" x="1879.5" y="1190.5889">int port</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="247" x="1879.5" y="1206.8857">[]SecurityMethod securityMethods</text><line style="stroke:#181818;stroke-width:0.5;" x1="1874.5" x2="2131.5" y1="1214.1875" y2="1214.1875"/></g><path d="M1502,1132.5 L1502,1187.8984 A0,0 0 0 0 1502,1187.8984 L1830,1187.8984 A0,0 0 0 0 1830,1187.8984 L1830,1164.1992 L1877.5,1202.0391 L1830,1156.1992 L1830,1142.5 L1820,1132.5 L1502,1132.5 A0,0 0 0 0 1502,1132.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M1820,1132.5 L1820,1142.5 L1830,1142.5 L1820,1132.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="292" x="1508" y="1149.5669">Security methods supported by the interface,</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="293" x="1508" y="1164.6997">it take precedence over the security methods</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="307" x="1508" y="1179.8325">provided in AefProfile, for this specific interface.</text><!--MD5=[1db584ee1b8127ea75535273dec2b4f2]
+class Version--><g id="elem_Version"><rect codeLine="77" fill="#F1F1F1" height="113.1875" id="Version" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="264" x="1029" y="1109"/><ellipse cx="1129.75" cy="1125" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1133.5313,1120.9688 C1133.5313,1120.5313 1133.5156,1120.3906 1133.4219,1120.2344 C1133.2813,1120 1133,1119.8438 1132.7031,1119.8438 C1132.3594,1119.8438 1132.2188,1119.9844 1132.0469,1120.4063 C1131.4531,1120.0313 1130.7031,1119.8438 1129.8281,1119.8438 C1127.7188,1119.8438 1126.1406,1121.1406 1126.1406,1122.8594 C1126.1406,1123.8281 1126.6719,1124.7344 1127.5313,1125.2188 C1128.0781,1125.5313 1128.625,1125.7031 1129.7344,1125.8906 C1130.8906,1126.0938 1131.1563,1126.1563 1131.5156,1126.3438 C1131.8906,1126.5469 1132.125,1126.8906 1132.125,1127.25 C1132.125,1127.9844 1131.1406,1128.5313 1129.8906,1128.5313 C1128.7656,1128.5313 1127.6875,1128.0469 1127.5156,1127.4375 C1127.3906,1126.9688 1127.3906,1126.9688 1127.2656,1126.8594 C1127.1094,1126.7031 1126.8906,1126.6094 1126.6563,1126.6094 C1126.375,1126.6094 1126.125,1126.7344 1125.9531,1126.9531 C1125.8438,1127.125 1125.7969,1127.3125 1125.7969,1127.7344 L1125.7969,1128.8594 C1125.7969,1129.625 1126.0781,1129.9844 1126.6719,1129.9844 C1126.9375,1129.9844 1127.0625,1129.9219 1127.3438,1129.5781 C1128.1875,1130.0156 1129.0781,1130.2344 1130,1130.2344 C1132.3281,1130.2344 1133.8906,1129.0469 1133.8906,1127.2813 C1133.8906,1126.3906 1133.5781,1125.7031 1132.8906,1125.1563 C1132.3594,1124.7344 1131.7188,1124.4844 1130.2344,1124.2188 C1128.9688,1123.9844 1128.875,1123.9531 1128.5469,1123.7813 C1128.1719,1123.5938 1127.9063,1123.2031 1127.9063,1122.8438 C1127.9063,1122.1094 1128.7656,1121.5469 1129.8281,1121.5469 C1130.8906,1121.5469 1131.7031,1122.0156 1131.8594,1122.6875 C1131.9688,1123.2344 1131.9688,1123.2344 1132.0938,1123.375 C1132.2344,1123.5 1132.4688,1123.6094 1132.7031,1123.6094 C1132.9688,1123.6094 1133.2188,1123.4688 1133.3906,1123.25 C1133.5,1123.0781 1133.5313,1122.9375 1133.5313,1122.4688 L1133.5313,1120.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="54" x="1150.25" y="1129.8467">Version</text><line style="stroke:#181818;stroke-width:0.5;" x1="1030" x2="1292" y1="1141" y2="1141"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="252" x="1035" y="1157.9951">[]CustomOperation custOperations</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="1035" y="1174.292">DateTime expiry</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="149" x="1035" y="1190.5889">[]Resource resources</text><line style="stroke:#181818;stroke-width:0.5;" x1="1030" x2="1292" y1="1197.8906" y2="1197.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="196" x="1035" y="1214.8857">string apiVersion (required)</text></g><!--MD5=[e75b1af205241aa72e7f52fa8d9ad4e8]
+class CustomOperation--><g id="elem_CustomOperation"><rect codeLine="83" fill="#F1F1F1" height="113.1875" id="CustomOperation" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="320" x="1029" y="1290"/><ellipse cx="1120.75" cy="1306" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1124.5313,1301.9688 C1124.5313,1301.5313 1124.5156,1301.3906 1124.4219,1301.2344 C1124.2813,1301 1124,1300.8438 1123.7031,1300.8438 C1123.3594,1300.8438 1123.2188,1300.9844 1123.0469,1301.4063 C1122.4531,1301.0313 1121.7031,1300.8438 1120.8281,1300.8438 C1118.7188,1300.8438 1117.1406,1302.1406 1117.1406,1303.8594 C1117.1406,1304.8281 1117.6719,1305.7344 1118.5313,1306.2188 C1119.0781,1306.5313 1119.625,1306.7031 1120.7344,1306.8906 C1121.8906,1307.0938 1122.1563,1307.1563 1122.5156,1307.3438 C1122.8906,1307.5469 1123.125,1307.8906 1123.125,1308.25 C1123.125,1308.9844 1122.1406,1309.5313 1120.8906,1309.5313 C1119.7656,1309.5313 1118.6875,1309.0469 1118.5156,1308.4375 C1118.3906,1307.9688 1118.3906,1307.9688 1118.2656,1307.8594 C1118.1094,1307.7031 1117.8906,1307.6094 1117.6563,1307.6094 C1117.375,1307.6094 1117.125,1307.7344 1116.9531,1307.9531 C1116.8438,1308.125 1116.7969,1308.3125 1116.7969,1308.7344 L1116.7969,1309.8594 C1116.7969,1310.625 1117.0781,1310.9844 1117.6719,1310.9844 C1117.9375,1310.9844 1118.0625,1310.9219 1118.3438,1310.5781 C1119.1875,1311.0156 1120.0781,1311.2344 1121,1311.2344 C1123.3281,1311.2344 1124.8906,1310.0469 1124.8906,1308.2813 C1124.8906,1307.3906 1124.5781,1306.7031 1123.8906,1306.1563 C1123.3594,1305.7344 1122.7188,1305.4844 1121.2344,1305.2188 C1119.9688,1304.9844 1119.875,1304.9531 1119.5469,1304.7813 C1119.1719,1304.5938 1118.9063,1304.2031 1118.9063,1303.8438 C1118.9063,1303.1094 1119.7656,1302.5469 1120.8281,1302.5469 C1121.8906,1302.5469 1122.7031,1303.0156 1122.8594,1303.6875 C1122.9688,1304.2344 1122.9688,1304.2344 1123.0938,1304.375 C1123.2344,1304.5 1123.4688,1304.6094 1123.7031,1304.6094 C1123.9688,1304.6094 1124.2188,1304.4688 1124.3906,1304.25 C1124.5,1304.0781 1124.5313,1303.9375 1124.5313,1303.4688 L1124.5313,1301.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="128" x="1141.25" y="1310.8467">CustomOperation</text><line style="stroke:#181818;stroke-width:0.5;" x1="1030" x2="1348" y1="1322" y2="1322"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="128" x="1035" y="1338.9951">string description</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="165" x="1035" y="1355.292">[]Operation operations</text><line style="stroke:#181818;stroke-width:0.5;" x1="1030" x2="1348" y1="1362.5938" y2="1362.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="308" x="1035" y="1379.5889">CommunicationType commType (required)</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="212" x="1035" y="1395.8857">string custOpName (required)</text></g><!--MD5=[cca5d97aaf46870920fae66c9bd85cdd]
+class Operation--><g id="elem_Operation"><rect codeLine="89" fill="#F1F1F1" height="129.4844" id="Operation" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="105" x="1136.5" y="1467"/><ellipse cx="1151.5" cy="1483" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1150.2969,1483.875 L1151.75,1483.875 L1151.75,1483.9844 C1151.75,1484.3906 1151.7813,1484.5469 1151.8594,1484.7031 C1152.0156,1484.9531 1152.2969,1485.1094 1152.5938,1485.1094 C1152.8438,1485.1094 1153.1094,1484.9688 1153.2656,1484.75 C1153.3906,1484.5938 1153.4219,1484.4375 1153.4219,1483.9844 L1153.4219,1482.0625 C1153.4219,1481.9063 1153.4219,1481.8594 1153.4063,1481.7031 C1153.3438,1481.2344 1153.0313,1480.9219 1152.5781,1480.9219 C1152.3281,1480.9219 1152.0625,1481.0625 1151.8906,1481.2813 C1151.7813,1481.4531 1151.75,1481.6094 1151.75,1482.0625 L1151.75,1482.1875 L1150.2969,1482.1875 L1150.2969,1479.7813 L1154.2813,1479.7813 L1154.2813,1480.6406 C1154.2813,1481.0469 1154.3125,1481.2188 1154.3906,1481.375 C1154.5625,1481.625 1154.8438,1481.7813 1155.125,1481.7813 C1155.3906,1481.7813 1155.6563,1481.6406 1155.8281,1481.4219 C1155.9375,1481.25 1155.9688,1481.1094 1155.9688,1480.6406 L1155.9688,1478.0938 L1148.3438,1478.0938 C1147.9063,1478.0938 1147.7813,1478.1094 1147.625,1478.2031 C1147.375,1478.3594 1147.2188,1478.6563 1147.2188,1478.9375 C1147.2188,1479.2188 1147.3594,1479.4688 1147.5781,1479.6406 C1147.7344,1479.75 1147.9219,1479.7813 1148.3438,1479.7813 L1148.5938,1479.7813 L1148.5938,1486.2969 L1148.3438,1486.2969 C1147.9375,1486.2969 1147.7813,1486.3125 1147.625,1486.4219 C1147.375,1486.5938 1147.2188,1486.8594 1147.2188,1487.1563 C1147.2188,1487.4219 1147.3594,1487.6719 1147.5781,1487.8281 C1147.7188,1487.9531 1147.9531,1488 1148.3438,1488 L1156.3438,1488 L1156.3438,1485.4219 C1156.3438,1484.9844 1156.3125,1484.8438 1156.2344,1484.6875 C1156.0625,1484.4375 1155.7813,1484.2813 1155.5,1484.2813 C1155.2344,1484.2813 1154.9688,1484.3906 1154.7969,1484.6406 C1154.6875,1484.7969 1154.6563,1484.9375 1154.6563,1485.4219 L1154.6563,1486.2969 L1150.2969,1486.2969 L1150.2969,1483.875 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="1165.5" y="1487.8467">Operation</text><line style="stroke:#181818;stroke-width:0.5;" x1="1137.5" x2="1240.5" y1="1499" y2="1499"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="1142.5" y="1515.9951">GET</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="1142.5" y="1532.292">POST</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="27" x="1142.5" y="1548.5889">PUT</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="48" x="1142.5" y="1564.8857">PATCH</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55" x="1142.5" y="1581.1826">DELETE</text><line style="stroke:#181818;stroke-width:0.5;" x1="1137.5" x2="1240.5" y1="1588.4844" y2="1588.4844"/></g><!--MD5=[570c463b4c02d4ba2ef3d0ee1cd6446c]
+class SecurityMethod--><g id="elem_SecurityMethod"><rect codeLine="96" fill="#F1F1F1" height="96.8906" id="SecurityMethod" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="146" x="1805" y="1297.5"/><ellipse cx="1820" cy="1313.5" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1818.7969,1314.375 L1820.25,1314.375 L1820.25,1314.4844 C1820.25,1314.8906 1820.2813,1315.0469 1820.3594,1315.2031 C1820.5156,1315.4531 1820.7969,1315.6094 1821.0938,1315.6094 C1821.3438,1315.6094 1821.6094,1315.4688 1821.7656,1315.25 C1821.8906,1315.0938 1821.9219,1314.9375 1821.9219,1314.4844 L1821.9219,1312.5625 C1821.9219,1312.4063 1821.9219,1312.3594 1821.9063,1312.2031 C1821.8438,1311.7344 1821.5313,1311.4219 1821.0781,1311.4219 C1820.8281,1311.4219 1820.5625,1311.5625 1820.3906,1311.7813 C1820.2813,1311.9531 1820.25,1312.1094 1820.25,1312.5625 L1820.25,1312.6875 L1818.7969,1312.6875 L1818.7969,1310.2813 L1822.7813,1310.2813 L1822.7813,1311.1406 C1822.7813,1311.5469 1822.8125,1311.7188 1822.8906,1311.875 C1823.0625,1312.125 1823.3438,1312.2813 1823.625,1312.2813 C1823.8906,1312.2813 1824.1563,1312.1406 1824.3281,1311.9219 C1824.4375,1311.75 1824.4688,1311.6094 1824.4688,1311.1406 L1824.4688,1308.5938 L1816.8438,1308.5938 C1816.4063,1308.5938 1816.2813,1308.6094 1816.125,1308.7031 C1815.875,1308.8594 1815.7188,1309.1563 1815.7188,1309.4375 C1815.7188,1309.7188 1815.8594,1309.9688 1816.0781,1310.1406 C1816.2344,1310.25 1816.4219,1310.2813 1816.8438,1310.2813 L1817.0938,1310.2813 L1817.0938,1316.7969 L1816.8438,1316.7969 C1816.4375,1316.7969 1816.2813,1316.8125 1816.125,1316.9219 C1815.875,1317.0938 1815.7188,1317.3594 1815.7188,1317.6563 C1815.7188,1317.9219 1815.8594,1318.1719 1816.0781,1318.3281 C1816.2188,1318.4531 1816.4531,1318.5 1816.8438,1318.5 L1824.8438,1318.5 L1824.8438,1315.9219 C1824.8438,1315.4844 1824.8125,1315.3438 1824.7344,1315.1875 C1824.5625,1314.9375 1824.2813,1314.7813 1824,1314.7813 C1823.7344,1314.7813 1823.4688,1314.8906 1823.2969,1315.1406 C1823.1875,1315.2969 1823.1563,1315.4375 1823.1563,1315.9219 L1823.1563,1316.7969 L1818.7969,1316.7969 L1818.7969,1314.375 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="114" x="1834" y="1318.3467">SecurityMethod</text><line style="stroke:#181818;stroke-width:0.5;" x1="1806" x2="1950" y1="1329.5" y2="1329.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="28" x="1811" y="1346.4951">PSK</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="23" x="1811" y="1362.792">PKI</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1811" y="1379.0889">OAUTH</text><line style="stroke:#181818;stroke-width:0.5;" x1="1806" x2="1950" y1="1386.3906" y2="1386.3906"/></g><!--MD5=[6b13f1b330d33795af281e5c1dfe1e98]
+class Resource--><g id="elem_Resource"><rect codeLine="101" fill="#F1F1F1" height="113.1875" id="Resource" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="320" x="1400" y="1290"/><ellipse cx="1522.75" cy="1306" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1526.5313,1301.9688 C1526.5313,1301.5313 1526.5156,1301.3906 1526.4219,1301.2344 C1526.2813,1301 1526,1300.8438 1525.7031,1300.8438 C1525.3594,1300.8438 1525.2188,1300.9844 1525.0469,1301.4063 C1524.4531,1301.0313 1523.7031,1300.8438 1522.8281,1300.8438 C1520.7188,1300.8438 1519.1406,1302.1406 1519.1406,1303.8594 C1519.1406,1304.8281 1519.6719,1305.7344 1520.5313,1306.2188 C1521.0781,1306.5313 1521.625,1306.7031 1522.7344,1306.8906 C1523.8906,1307.0938 1524.1563,1307.1563 1524.5156,1307.3438 C1524.8906,1307.5469 1525.125,1307.8906 1525.125,1308.25 C1525.125,1308.9844 1524.1406,1309.5313 1522.8906,1309.5313 C1521.7656,1309.5313 1520.6875,1309.0469 1520.5156,1308.4375 C1520.3906,1307.9688 1520.3906,1307.9688 1520.2656,1307.8594 C1520.1094,1307.7031 1519.8906,1307.6094 1519.6563,1307.6094 C1519.375,1307.6094 1519.125,1307.7344 1518.9531,1307.9531 C1518.8438,1308.125 1518.7969,1308.3125 1518.7969,1308.7344 L1518.7969,1309.8594 C1518.7969,1310.625 1519.0781,1310.9844 1519.6719,1310.9844 C1519.9375,1310.9844 1520.0625,1310.9219 1520.3438,1310.5781 C1521.1875,1311.0156 1522.0781,1311.2344 1523,1311.2344 C1525.3281,1311.2344 1526.8906,1310.0469 1526.8906,1308.2813 C1526.8906,1307.3906 1526.5781,1306.7031 1525.8906,1306.1563 C1525.3594,1305.7344 1524.7188,1305.4844 1523.2344,1305.2188 C1521.9688,1304.9844 1521.875,1304.9531 1521.5469,1304.7813 C1521.1719,1304.5938 1520.9063,1304.2031 1520.9063,1303.8438 C1520.9063,1303.1094 1521.7656,1302.5469 1522.8281,1302.5469 C1523.8906,1302.5469 1524.7031,1303.0156 1524.8594,1303.6875 C1524.9688,1304.2344 1524.9688,1304.2344 1525.0938,1304.375 C1525.2344,1304.5 1525.4688,1304.6094 1525.7031,1304.6094 C1525.9688,1304.6094 1526.2188,1304.4688 1526.3906,1304.25 C1526.5,1304.0781 1526.5313,1303.9375 1526.5313,1303.4688 L1526.5313,1301.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="66" x="1543.25" y="1310.8467">Resource</text><line style="stroke:#181818;stroke-width:0.5;" x1="1401" x2="1719" y1="1322" y2="1322"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="128" x="1406" y="1338.9951">string description</text><line style="stroke:#181818;stroke-width:0.5;" x1="1401" x2="1719" y1="1346.2969" y2="1346.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="223" x="1406" y="1363.292">string resourceName (required)</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="138" x="1406" y="1379.5889">string uri (required)</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="308" x="1406" y="1395.8857">CommunicationType commType (required)</text></g><!--MD5=[8be1b8710176a693b32e6a2f85736b40]
+class CommunicationType--><g id="elem_CommunicationType"><rect codeLine="107" fill="#F1F1F1" height="80.5938" id="CommunicationType" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="181" x="1324.5" y="1491"/><ellipse cx="1339.5" cy="1507" fill="#EB937F" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1338.2969,1507.875 L1339.75,1507.875 L1339.75,1507.9844 C1339.75,1508.3906 1339.7813,1508.5469 1339.8594,1508.7031 C1340.0156,1508.9531 1340.2969,1509.1094 1340.5938,1509.1094 C1340.8438,1509.1094 1341.1094,1508.9688 1341.2656,1508.75 C1341.3906,1508.5938 1341.4219,1508.4375 1341.4219,1507.9844 L1341.4219,1506.0625 C1341.4219,1505.9063 1341.4219,1505.8594 1341.4063,1505.7031 C1341.3438,1505.2344 1341.0313,1504.9219 1340.5781,1504.9219 C1340.3281,1504.9219 1340.0625,1505.0625 1339.8906,1505.2813 C1339.7813,1505.4531 1339.75,1505.6094 1339.75,1506.0625 L1339.75,1506.1875 L1338.2969,1506.1875 L1338.2969,1503.7813 L1342.2813,1503.7813 L1342.2813,1504.6406 C1342.2813,1505.0469 1342.3125,1505.2188 1342.3906,1505.375 C1342.5625,1505.625 1342.8438,1505.7813 1343.125,1505.7813 C1343.3906,1505.7813 1343.6563,1505.6406 1343.8281,1505.4219 C1343.9375,1505.25 1343.9688,1505.1094 1343.9688,1504.6406 L1343.9688,1502.0938 L1336.3438,1502.0938 C1335.9063,1502.0938 1335.7813,1502.1094 1335.625,1502.2031 C1335.375,1502.3594 1335.2188,1502.6563 1335.2188,1502.9375 C1335.2188,1503.2188 1335.3594,1503.4688 1335.5781,1503.6406 C1335.7344,1503.75 1335.9219,1503.7813 1336.3438,1503.7813 L1336.5938,1503.7813 L1336.5938,1510.2969 L1336.3438,1510.2969 C1335.9375,1510.2969 1335.7813,1510.3125 1335.625,1510.4219 C1335.375,1510.5938 1335.2188,1510.8594 1335.2188,1511.1563 C1335.2188,1511.4219 1335.3594,1511.6719 1335.5781,1511.8281 C1335.7188,1511.9531 1335.9531,1512 1336.3438,1512 L1344.3438,1512 L1344.3438,1509.4219 C1344.3438,1508.9844 1344.3125,1508.8438 1344.2344,1508.6875 C1344.0625,1508.4375 1343.7813,1508.2813 1343.5,1508.2813 C1343.2344,1508.2813 1342.9688,1508.3906 1342.7969,1508.6406 C1342.6875,1508.7969 1342.6563,1508.9375 1342.6563,1509.4219 L1342.6563,1510.2969 L1338.2969,1510.2969 L1338.2969,1507.875 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="149" x="1353.5" y="1511.8467">CommunicationType</text><line style="stroke:#181818;stroke-width:0.5;" x1="1325.5" x2="1504.5" y1="1523" y2="1523"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="149" x="1330.5" y="1539.9951">REQUEST_RESPONSE</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="138" x="1330.5" y="1556.292">SUBSCRIBE_NOTIFY</text><line style="stroke:#181818;stroke-width:0.5;" x1="1325.5" x2="1504.5" y1="1563.5938" y2="1563.5938"/></g><!--MD5=[0afb30f140d7a68d8214ba691286e74e]
+class APIInvokerEnrolmentDetails--><g id="elem_APIInvokerEnrolmentDetails"><rect codeLine="126" fill="#F1F1F1" height="113.1875" id="APIInvokerEnrolmentDetails" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="426" x="2358" y="451"/><ellipse cx="2465.25" cy="467" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M2469.0313,462.9688 C2469.0313,462.5313 2469.0156,462.3906 2468.9219,462.2344 C2468.7813,462 2468.5,461.8438 2468.2031,461.8438 C2467.8594,461.8438 2467.7188,461.9844 2467.5469,462.4063 C2466.9531,462.0313 2466.2031,461.8438 2465.3281,461.8438 C2463.2188,461.8438 2461.6406,463.1406 2461.6406,464.8594 C2461.6406,465.8281 2462.1719,466.7344 2463.0313,467.2188 C2463.5781,467.5313 2464.125,467.7031 2465.2344,467.8906 C2466.3906,468.0938 2466.6563,468.1563 2467.0156,468.3438 C2467.3906,468.5469 2467.625,468.8906 2467.625,469.25 C2467.625,469.9844 2466.6406,470.5313 2465.3906,470.5313 C2464.2656,470.5313 2463.1875,470.0469 2463.0156,469.4375 C2462.8906,468.9688 2462.8906,468.9688 2462.7656,468.8594 C2462.6094,468.7031 2462.3906,468.6094 2462.1563,468.6094 C2461.875,468.6094 2461.625,468.7344 2461.4531,468.9531 C2461.3438,469.125 2461.2969,469.3125 2461.2969,469.7344 L2461.2969,470.8594 C2461.2969,471.625 2461.5781,471.9844 2462.1719,471.9844 C2462.4375,471.9844 2462.5625,471.9219 2462.8438,471.5781 C2463.6875,472.0156 2464.5781,472.2344 2465.5,472.2344 C2467.8281,472.2344 2469.3906,471.0469 2469.3906,469.2813 C2469.3906,468.3906 2469.0781,467.7031 2468.3906,467.1563 C2467.8594,466.7344 2467.2188,466.4844 2465.7344,466.2188 C2464.4688,465.9844 2464.375,465.9531 2464.0469,465.7813 C2463.6719,465.5938 2463.4063,465.2031 2463.4063,464.8438 C2463.4063,464.1094 2464.2656,463.5469 2465.3281,463.5469 C2466.3906,463.5469 2467.2031,464.0156 2467.3594,464.6875 C2467.4688,465.2344 2467.4688,465.2344 2467.5938,465.375 C2467.7344,465.5 2467.9688,465.6094 2468.2031,465.6094 C2468.4688,465.6094 2468.7188,465.4688 2468.8906,465.25 C2469,465.0781 2469.0313,464.9375 2469.0313,464.4688 L2469.0313,462.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="203" x="2485.75" y="471.8467">APIInvokerEnrolmentDetails</text><line style="stroke:#181818;stroke-width:0.5;" x1="2359" x2="2783" y1="483" y2="483"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="135" x="2364" y="499.9951">string apiInvokerId</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="207" x="2364" y="516.292">string apiInvokerInformation</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="101" x="2364" y="532.5889">APIList apiList</text><line style="stroke:#181818;stroke-width:0.5;" x1="2359" x2="2783" y1="539.8906" y2="539.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="414" x="2364" y="556.8857">OnboardingInformation onboardingInformation (required)</text></g><!--MD5=[7129722ced8854c69e86ed0d62e63764]
+class OnboardingInformation--><g id="elem_OnboardingInformation"><rect codeLine="132" fill="#F1F1F1" height="96.8906" id="OnboardingInformation" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="280" x="2489" y="706.5"/><ellipse cx="2540.25" cy="722.5" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M2544.0313,718.4688 C2544.0313,718.0313 2544.0156,717.8906 2543.9219,717.7344 C2543.7813,717.5 2543.5,717.3438 2543.2031,717.3438 C2542.8594,717.3438 2542.7188,717.4844 2542.5469,717.9063 C2541.9531,717.5313 2541.2031,717.3438 2540.3281,717.3438 C2538.2188,717.3438 2536.6406,718.6406 2536.6406,720.3594 C2536.6406,721.3281 2537.1719,722.2344 2538.0313,722.7188 C2538.5781,723.0313 2539.125,723.2031 2540.2344,723.3906 C2541.3906,723.5938 2541.6563,723.6563 2542.0156,723.8438 C2542.3906,724.0469 2542.625,724.3906 2542.625,724.75 C2542.625,725.4844 2541.6406,726.0313 2540.3906,726.0313 C2539.2656,726.0313 2538.1875,725.5469 2538.0156,724.9375 C2537.8906,724.4688 2537.8906,724.4688 2537.7656,724.3594 C2537.6094,724.2031 2537.3906,724.1094 2537.1563,724.1094 C2536.875,724.1094 2536.625,724.2344 2536.4531,724.4531 C2536.3438,724.625 2536.2969,724.8125 2536.2969,725.2344 L2536.2969,726.3594 C2536.2969,727.125 2536.5781,727.4844 2537.1719,727.4844 C2537.4375,727.4844 2537.5625,727.4219 2537.8438,727.0781 C2538.6875,727.5156 2539.5781,727.7344 2540.5,727.7344 C2542.8281,727.7344 2544.3906,726.5469 2544.3906,724.7813 C2544.3906,723.8906 2544.0781,723.2031 2543.3906,722.6563 C2542.8594,722.2344 2542.2188,721.9844 2540.7344,721.7188 C2539.4688,721.4844 2539.375,721.4531 2539.0469,721.2813 C2538.6719,721.0938 2538.4063,720.7031 2538.4063,720.3438 C2538.4063,719.6094 2539.2656,719.0469 2540.3281,719.0469 C2541.3906,719.0469 2542.2031,719.5156 2542.3594,720.1875 C2542.4688,720.7344 2542.4688,720.7344 2542.5938,720.875 C2542.7344,721 2542.9688,721.1094 2543.2031,721.1094 C2543.4688,721.1094 2543.7188,720.9688 2543.8906,720.75 C2544,720.5781 2544.0313,720.4375 2544.0313,719.9688 L2544.0313,718.4688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="169" x="2560.75" y="727.3467">OnboardingInformation</text><line style="stroke:#181818;stroke-width:0.5;" x1="2490" x2="2768" y1="738.5" y2="738.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="200" x="2495" y="755.4951">string apiInvokerCertificate</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="176" x="2495" y="771.792">string onboardingSecret</text><line style="stroke:#181818;stroke-width:0.5;" x1="2490" x2="2768" y1="779.0938" y2="779.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="268" x="2495" y="796.0889">string ApiInvokerPublicKey (required)</text></g><!--MD5=[2cefccec3b7d9b8294bd05290c9a63b9]
+class DiscoveredAPIs--><g id="elem_DiscoveredAPIs"><rect codeLine="148" fill="#F1F1F1" height="64.2969" id="DiscoveredAPIs" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="351" x="1939.5" y="69"/><ellipse cx="2055.75" cy="85" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M2059.5313,80.9688 C2059.5313,80.5313 2059.5156,80.3906 2059.4219,80.2344 C2059.2813,80 2059,79.8438 2058.7031,79.8438 C2058.3594,79.8438 2058.2188,79.9844 2058.0469,80.4063 C2057.4531,80.0313 2056.7031,79.8438 2055.8281,79.8438 C2053.7188,79.8438 2052.1406,81.1406 2052.1406,82.8594 C2052.1406,83.8281 2052.6719,84.7344 2053.5313,85.2188 C2054.0781,85.5313 2054.625,85.7031 2055.7344,85.8906 C2056.8906,86.0938 2057.1563,86.1563 2057.5156,86.3438 C2057.8906,86.5469 2058.125,86.8906 2058.125,87.25 C2058.125,87.9844 2057.1406,88.5313 2055.8906,88.5313 C2054.7656,88.5313 2053.6875,88.0469 2053.5156,87.4375 C2053.3906,86.9688 2053.3906,86.9688 2053.2656,86.8594 C2053.1094,86.7031 2052.8906,86.6094 2052.6563,86.6094 C2052.375,86.6094 2052.125,86.7344 2051.9531,86.9531 C2051.8438,87.125 2051.7969,87.3125 2051.7969,87.7344 L2051.7969,88.8594 C2051.7969,89.625 2052.0781,89.9844 2052.6719,89.9844 C2052.9375,89.9844 2053.0625,89.9219 2053.3438,89.5781 C2054.1875,90.0156 2055.0781,90.2344 2056,90.2344 C2058.3281,90.2344 2059.8906,89.0469 2059.8906,87.2813 C2059.8906,86.3906 2059.5781,85.7031 2058.8906,85.1563 C2058.3594,84.7344 2057.7188,84.4844 2056.2344,84.2188 C2054.9688,83.9844 2054.875,83.9531 2054.5469,83.7813 C2054.1719,83.5938 2053.9063,83.2031 2053.9063,82.8438 C2053.9063,82.1094 2054.7656,81.5469 2055.8281,81.5469 C2056.8906,81.5469 2057.7031,82.0156 2057.8594,82.6875 C2057.9688,83.2344 2057.9688,83.2344 2058.0938,83.375 C2058.2344,83.5 2058.4688,83.6094 2058.7031,83.6094 C2058.9688,83.6094 2059.2188,83.4688 2059.3906,83.25 C2059.5,83.0781 2059.5313,82.9375 2059.5313,82.4688 L2059.5313,80.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="110" x="2076.25" y="89.8467">DiscoveredAPIs</text><line style="stroke:#181818;stroke-width:0.5;" x1="1940.5" x2="2289.5" y1="101" y2="101"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="339" x="1945.5" y="117.9951">[]ServiceAPIDescription serviceAPIDescriptions</text><line style="stroke:#181818;stroke-width:0.5;" x1="1940.5" x2="2289.5" y1="125.2969" y2="125.2969"/></g><!--MD5=[404c9000c746ef8bf95b033ffb5c2158]
+class AccessTokenReq--><g id="elem_AccessTokenReq"><rect codeLine="158" fill="#F1F1F1" height="113.1875" id="AccessTokenReq" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="212" x="1226" y="45"/><ellipse cx="1267.1" cy="61" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1270.8813,56.9688 C1270.8813,56.5313 1270.8656,56.3906 1270.7719,56.2344 C1270.6313,56 1270.35,55.8438 1270.0531,55.8438 C1269.7094,55.8438 1269.5688,55.9844 1269.3969,56.4063 C1268.8031,56.0313 1268.0531,55.8438 1267.1781,55.8438 C1265.0688,55.8438 1263.4906,57.1406 1263.4906,58.8594 C1263.4906,59.8281 1264.0219,60.7344 1264.8813,61.2188 C1265.4281,61.5313 1265.975,61.7031 1267.0844,61.8906 C1268.2406,62.0938 1268.5063,62.1563 1268.8656,62.3438 C1269.2406,62.5469 1269.475,62.8906 1269.475,63.25 C1269.475,63.9844 1268.4906,64.5313 1267.2406,64.5313 C1266.1156,64.5313 1265.0375,64.0469 1264.8656,63.4375 C1264.7406,62.9688 1264.7406,62.9688 1264.6156,62.8594 C1264.4594,62.7031 1264.2406,62.6094 1264.0063,62.6094 C1263.725,62.6094 1263.475,62.7344 1263.3031,62.9531 C1263.1938,63.125 1263.1469,63.3125 1263.1469,63.7344 L1263.1469,64.8594 C1263.1469,65.625 1263.4281,65.9844 1264.0219,65.9844 C1264.2875,65.9844 1264.4125,65.9219 1264.6938,65.5781 C1265.5375,66.0156 1266.4281,66.2344 1267.35,66.2344 C1269.6781,66.2344 1271.2406,65.0469 1271.2406,63.2813 C1271.2406,62.3906 1270.9281,61.7031 1270.2406,61.1563 C1269.7094,60.7344 1269.0688,60.4844 1267.5844,60.2188 C1266.3188,59.9844 1266.225,59.9531 1265.8969,59.7813 C1265.5219,59.5938 1265.2563,59.2031 1265.2563,58.8438 C1265.2563,58.1094 1266.1156,57.5469 1267.1781,57.5469 C1268.2406,57.5469 1269.0531,58.0156 1269.2094,58.6875 C1269.3188,59.2344 1269.3188,59.2344 1269.4438,59.375 C1269.5844,59.5 1269.8188,59.6094 1270.0531,59.6094 C1270.3188,59.6094 1270.5688,59.4688 1270.7406,59.25 C1270.85,59.0781 1270.8813,58.9375 1270.8813,58.4688 L1270.8813,56.9688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="122" x="1286.9" y="65.8467">AccessTokenReq</text><line style="stroke:#181818;stroke-width:0.5;" x1="1227" x2="1437" y1="77" y2="77"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="140" x="1232" y="93.9951">string client_secret</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="89" x="1232" y="110.292">string scope</text><line style="stroke:#181818;stroke-width:0.5;" x1="1227" x2="1437" y1="117.5938" y2="117.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="200" x="1232" y="134.5889">string grant_type (required)</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="181" x="1232" y="150.8857">string client_id (required)</text></g><!--MD5=[bae010974449b4089e6a7d424415f8c7]
+class AccessTokenRsp--><g id="elem_AccessTokenRsp"><rect codeLine="164" fill="#F1F1F1" height="113.1875" id="AccessTokenRsp" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="251" x="931.5" y="44.5"/><ellipse cx="992.25" cy="60.5" fill="#F1F1F1" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M996.0313,56.4688 C996.0313,56.0313 996.0156,55.8906 995.9219,55.7344 C995.7813,55.5 995.5,55.3438 995.2031,55.3438 C994.8594,55.3438 994.7188,55.4844 994.5469,55.9063 C993.9531,55.5313 993.2031,55.3438 992.3281,55.3438 C990.2188,55.3438 988.6406,56.6406 988.6406,58.3594 C988.6406,59.3281 989.1719,60.2344 990.0313,60.7188 C990.5781,61.0313 991.125,61.2031 992.2344,61.3906 C993.3906,61.5938 993.6563,61.6563 994.0156,61.8438 C994.3906,62.0469 994.625,62.3906 994.625,62.75 C994.625,63.4844 993.6406,64.0313 992.3906,64.0313 C991.2656,64.0313 990.1875,63.5469 990.0156,62.9375 C989.8906,62.4688 989.8906,62.4688 989.7656,62.3594 C989.6094,62.2031 989.3906,62.1094 989.1563,62.1094 C988.875,62.1094 988.625,62.2344 988.4531,62.4531 C988.3438,62.625 988.2969,62.8125 988.2969,63.2344 L988.2969,64.3594 C988.2969,65.125 988.5781,65.4844 989.1719,65.4844 C989.4375,65.4844 989.5625,65.4219 989.8438,65.0781 C990.6875,65.5156 991.5781,65.7344 992.5,65.7344 C994.8281,65.7344 996.3906,64.5469 996.3906,62.7813 C996.3906,61.8906 996.0781,61.2031 995.3906,60.6563 C994.8594,60.2344 994.2188,59.9844 992.7344,59.7188 C991.4688,59.4844 991.375,59.4531 991.0469,59.2813 C990.6719,59.0938 990.4063,58.7031 990.4063,58.3438 C990.4063,57.6094 991.2656,57.0469 992.3281,57.0469 C993.3906,57.0469 994.2031,57.5156 994.3594,58.1875 C994.4688,58.7344 994.4688,58.7344 994.5938,58.875 C994.7344,59 994.9688,59.1094 995.2031,59.1094 C995.4688,59.1094 995.7188,58.9688 995.8906,58.75 C996,58.5781 996.0313,58.4375 996.0313,57.9688 L996.0313,56.4688 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="121" x="1012.75" y="65.3467">AccessTokenRsp</text><line style="stroke:#181818;stroke-width:0.5;" x1="932.5" x2="1181.5" y1="76.5" y2="76.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="89" x="937.5" y="93.4951">string scope</text><line style="stroke:#181818;stroke-width:0.5;" x1="932.5" x2="1181.5" y1="100.7969" y2="100.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="217" x="937.5" y="117.792">string access_token (required)</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="204" x="937.5" y="134.0889">string token_type (required)</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="239" x="937.5" y="150.3857">DurationSec expires_in (required)</text></g><path d="M2824,737.5 L2824,746.0664 L2671,766.9453 L2824,754.0664 L2824,762.6328 A0,0 0 0 0 2824,762.6328 L3040,762.6328 A0,0 0 0 0 3040,762.6328 L3040,747.5 L3030,737.5 L2824,737.5 A0,0 0 0 0 2824,737.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M3030,737.5 L3030,747.5 L3040,747.5 L3030,737.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="195" x="2830" y="754.5669">Secret provided by CAPIF Core</text><path d="M2827,489.5 L2827,498.0664 L2499,495.1484 L2827,506.0664 L2827,514.6328 A0,0 0 0 0 2827,514.6328 L3013,514.6328 A0,0 0 0 0 3013,514.6328 L3013,499.5 L3003,489.5 L2827,489.5 A0,0 0 0 0 2827,489.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M3003,489.5 L3003,499.5 L3013,499.5 L3003,489.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="165" x="2833" y="506.5669">Id provided by CAPIF Core</text><g id="elem_invokerDiscoverRel"><path d="M1865,277.5 L1865,332.8984 L2107,332.8984 L2107,287.5 L2097,277.5 L1865,277.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M2097,277.5 L2097,287.5 L2107,287.5 L2097,277.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="206" x="1871" y="294.5669">Services can only be discovered</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="216" x="1875" y="309.6997">for an onboarded invoker through</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="217" x="1875" y="324.8325">APIInvokerEnrolmentDetails::apiId</text></g><g id="elem_accessInvokerRel"><path d="M1471.5,277.5 L1471.5,332.8984 L1696.5,332.8984 L1696.5,287.5 L1686.5,277.5 L1471.5,277.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M1686.5,277.5 L1686.5,287.5 L1696.5,287.5 L1686.5,277.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="199" x="1477.5" y="294.5669">AccessTokenReq::client_id and</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="200" x="1481.5" y="309.6997">AccessTokenReq::client_secret</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="198" x="1481.5" y="324.8325">must match registered invoker</text></g><g id="elem_accessProviderRel"><path d="M6,277.5 L6,332.8984 L244,332.8984 L244,287.5 L234,277.5 L6,277.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M234,277.5 L234,287.5 L244,287.5 L234,277.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="129" x="12" y="294.5669">Function provided in</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="152" x="16" y="309.6997">AccessTokenReq:scope</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="213" x="16" y="324.8325">must be registered for a provider</text></g><g id="elem_accessPublishRel"><path d="M1243.5,277.5 L1243.5,332.8984 L1420.5,332.8984 L1420.5,287.5 L1410.5,277.5 L1243.5,277.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M1410.5,277.5 L1410.5,287.5 L1420.5,287.5 L1410.5,277.5 " fill="#FEFFDD" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="95" x="1249.5" y="294.5669">API provided in</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="152" x="1253.5" y="309.6997">AccessTokenReq:scope</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="118" x="1253.5" y="324.8325">must be published</text></g><!--MD5=[1dfed69000c7317ed296a27f11aeb576]
+reverse link APIProviderEnrolmentDetails to APIProviderFunctionDetails--><g id="link_APIProviderEnrolmentDetails_APIProviderFunctionDetails"><path codeLine="30" d="M710.477,334.04 C710.52,342.46 704.537,355.16 700,365 C685.351,396.77 659.783,424.46 633.481,446.69 " fill="none" id="APIProviderEnrolmentDetails-backto-APIProviderFunctionDetails" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="701,325,702.5787,332.0362,709.6809,333.2851,708.1021,326.2489,701,325" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="707.3672" y="322.5346">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="612.7456" y="440.0197">1..N</text></g><!--MD5=[32e33ed6e988ce1198ac80432a7c502c]
+reverse link APIProviderFunctionDetails to RegistrationInformation--><g id="link_APIProviderFunctionDetails_RegistrationInformation"><path codeLine="31" d="M747.838,558.41 C769.978,583.25 806.941,664.762 828.327,714.378 " fill="none" id="APIProviderFunctionDetails-backto-RegistrationInformation" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="737,551,739.694,557.689,746.9046,557.7749,744.2106,551.0859,737,551" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="744.1156" y="549.3597">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="816.903" y="703.5193">1</text></g><!--MD5=[24fd0a7322b75553b6b6db96abc90821]
+reverse link APIProviderFunctionDetails to ApiProviderFuncRole--><g id="link_APIProviderFunctionDetails_ApiProviderFuncRole"><path codeLine="32" d="M335.724,536.29 C281.625,548.62 370.755,646.222 432.269,706.48 " fill="none" id="APIProviderFunctionDetails-backto-ApiProviderFuncRole" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="349,535,342.6403,531.6009,337.0566,536.164,343.4163,539.5631,349,535" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="333.8844" y="532.7847">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="416.2304" y="695.3367">1</text></g><!--MD5=[6fc1395ce316f0c6c8bcb39b6646416c]
+link ServiceAPIDescription to publishProviderRel--><g id="link_ServiceAPIDescription_publishProviderRel"><path codeLine="45" d="M1989.57,815.071 C1979.2,819.934 1968.56,824.229 1958,827.5 C1692.28,909.786 1601.96,801.316 1334,876 C1289.52,888.397 1242.87,913.109 1210.57,932.359 " fill="none" id="ServiceAPIDescription-publishProviderRel" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--MD5=[23248c05f0bfbcbc7c0607e40053bdfe]
+link publishProviderRel to APIProviderFunctionDetails--><g id="link_publishProviderRel_APIProviderFunctionDetails"><path codeLine="46" d="M1159.66,932.396 C1137.76,873.654 1077.59,731.772 982,652 C901.202,584.57 833.704,643.084 761,567 C737.696,542.61 770.731,495 737,495 " fill="none" id="publishProviderRel-APIProviderFunctionDetails" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--MD5=[1fbfbc08aaf5c1016e5b477a5c807753]
+link APIProviderFunctionDetails to aefIdRel--><g id="link_APIProviderFunctionDetails_aefIdRel"><path codeLine="64" d="M737,495 C770.731,495 734.484,546.15 761,567 C823.758,616.35 1041.14,579.34 1119,597 C1262,629.433 1421.75,700.7 1493.89,734.922 " fill="none" id="APIProviderFunctionDetails-aefIdRel" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--MD5=[a8dd1463d7e0362004530e208ae0e723]
+link aefIdRel to AefProfile--><g id="link_aefIdRel_AefProfile"><path codeLine="65" d="M1577.11,775.047 C1615.56,794.314 1668.83,828.106 1693,876 C1720.23,929.965 1754.45,1012 1694,1012 " fill="none" id="aefIdRel-AefProfile" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--MD5=[466189dcb9a8e4b8c26ae027cf1e5f20]
+reverse link ServiceAPIDescription to AefProfile--><g id="link_ServiceAPIDescription_AefProfile"><path codeLine="112" d="M1971.95,780.501 C1965.27,791.17 1973.05,814.74 1958,827.5 C1886.02,888.528 1786.21,921.239 1700.67,938.769 " fill="none" id="ServiceAPIDescription-backto-AefProfile" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1984,775,1976.8806,773.8537,1973.0842,779.9845,1980.2036,781.1309,1984,775" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1968.5094" y="772.9461">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="1700.67" y="935.8359">1..N</text></g><!--MD5=[4e3bc88c9a568add446b6dd5494f2fa8]
+reverse link AefProfile to InterfaceDescription--><g id="link_AefProfile_InterfaceDescription"><path codeLine="113" d="M1707.16,956.434 C1809.32,963.131 1901.69,1045.98 1955.08,1104.952 " fill="none" id="AefProfile-backto-InterfaceDescription" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1694,956,1699.8649,960.1956,1705.9935,956.3956,1700.1286,952.2,1694,956" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1700.7188" y="952.5797">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="1926.3982" y="1097.8706">1..N</text></g><!--MD5=[f54ae1f8c40dd3c35417abcf25159825]
+reverse link AefProfile to Protocol--><g id="link_AefProfile_Protocol"><path codeLine="114" d="M1346.56,975.98 C1335.91,986.994 1353.85,1018.735 1360,1044 C1366.91,1072.403 1381.47,1101.797 1394.51,1124.385 " fill="none" id="AefProfile-backto-Protocol" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1359,972,1352.0671,970.0165,1347.5696,975.6532,1354.5025,977.6367,1359,972" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="24" x="1327.4484" y="969.2157">0..1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="24" x="1364.3007" y="1113.5275">0..1</text></g><!--MD5=[f6f9235f5e40fa87c39af7382bde67f6]
+reverse link AefProfile to SecurityMethod--><g id="link_AefProfile_SecurityMethod"><path codeLine="115" d="M1356.35,1000.944 C1352.13,1050.13 1354.1,1222.775 1356,1225 C1412.88,1291.493 1661.07,1261.27 1745,1286 C1764.87,1291.854 1785.66,1300.012 1804.73,1308.396 " fill="none" id="AefProfile-backto-SecurityMethod" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1359,988,1353.8785,993.0765,1356.5947,999.7565,1361.7162,994.68,1359,988" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1343.2516" y="985.9517">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="1772.0911" y="1301.4566">1..N</text></g><!--MD5=[bc81cc7157875ef60aeaabeb0463b2a7]
+reverse link AefProfile to DataFormat--><g id="link_AefProfile_DataFormat"><path codeLine="116" d="M1707.09,924.087 C1917.41,926.913 1968.98,998.559 2158,1105 C2172.09,1112.933 2186.44,1123.213 2198.87,1132.965 " fill="none" id="AefProfile-backto-DataFormat" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1694,924,1699.9735,928.0395,1705.9997,924.0791,1700.0262,920.0396,1694,924" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="24" x="1700.4688" y="919.4687">0..1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="2163.8401" y="1121.8609">0..N</text></g><!--MD5=[e592637c20a0d043bd71be0ad43f8798]
+reverse link InterfaceDescription to SecurityMethod--><g id="link_InterfaceDescription_SecurityMethod"><path codeLine="117" d="M1863.04,1209.377 C1856.45,1226.262 1861.61,1265.5 1867.6,1297.45 " fill="none" id="InterfaceDescription-backto-SecurityMethod" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1873,1201,1865.8336,1201.8015,1863.8171,1208.7249,1870.9835,1207.9234,1873,1201" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1857.6719" y="1199.5966">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="1839.2366" y="1286.3023">1..N</text></g><!--MD5=[e1fc5e616a37d3f1ca25b204c95c7d12]
+reverse link AefProfile to Version--><g id="link_AefProfile_Version"><path codeLine="118" d="M1347.69,1035.066 C1327.87,1048.206 1285.33,1077.558 1245.85,1104.942 " fill="none" id="AefProfile-backto-Version" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1359,1028,1351.7921,1027.7851,1348.8214,1034.3558,1356.0293,1034.5708,1359,1028" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1343.2516" y="1027.7642">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="1225.2588" y="1097.8599">1..N</text></g><!--MD5=[36a35205f395fb90a46c68b62d8b6099]
+reverse link Version to Resource--><g id="link_Version_Resource"><path codeLine="119" d="M1306.74,1188.505 C1321.64,1199.878 1306.51,1236.166 1328,1256 C1339.61,1266.715 1363.57,1278.585 1391.87,1290.071 " fill="none" id="Version-backto-Resource" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1294,1185,1298.7263,1190.4463,1305.5714,1188.1784,1300.8452,1182.732,1294,1185" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="1301.0477" y="1182.6468">1..N</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="1366.87" y="1287.1379">1..N</text></g><!--MD5=[a14f1d04caa70cf746e3c6556cdb78a6]
+reverse link Version to CustomOperation--><g id="link_Version_CustomOperation"><path codeLine="120" d="M1306.82,1156.951 C1320.02,1168.433 1306.38,1202.413 1293,1225 C1279.2,1248.288 1259.14,1235.865 1240,1255 C1231.11,1263.887 1223.27,1274.643 1216.56,1285.582 " fill="none" id="Version-backto-CustomOperation" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1294,1153,1298.5558,1158.5897,1305.4678,1156.5342,1300.9119,1150.9445,1294,1153" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="24" x="1301.0234" y="1149.0968">0..1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="1192.3836" y="1278.9058">0..N</text></g><!--MD5=[d5619243a085e1295dffce54e9f6274a]
+reverse link CustomOperation to CommunicationType--><g id="link_CustomOperation_CommunicationType"><path codeLine="121" d="M1362.57,1378.361 C1371.81,1388.716 1360.55,1415.528 1369,1437 C1376.09,1455.012 1385.29,1474.301 1393.6,1490.653 " fill="none" id="CustomOperation-backto-CommunicationType" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1350,1374,1354.359,1379.7445,1361.3382,1377.9302,1356.9791,1372.1857,1350,1374" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1356.9609" y="1371.9095">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1381.5519" y="1480.0575">1</text></g><!--MD5=[35aaaa8e071c36fecda6fe67b70e4657]
+reverse link CustomOperation to Operation--><g id="link_CustomOperation_Operation"><path codeLine="122" d="M1361.92,1355.21 C1369.29,1365.844 1359.9,1390.363 1349,1406 C1328,1436.134 1302.09,1414.935 1272,1436 C1259.66,1444.641 1247.94,1455.489 1237.4,1466.727 " fill="none" id="CustomOperation-backto-Operation" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1350,1350,1353.8985,1356.0665,1360.9977,1354.8011,1357.0992,1348.7347,1350,1350" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="1356.7773" y="1346.9096">0..N</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="1216.3266" y="1455.8698">0..N</text></g><!--MD5=[c38a1b460d4f31e5f2da524e0c591a22]
+reverse link Resource to CommunicationType--><g id="link_Resource_CommunicationType"><path codeLine="123" d="M1386.05,1392.797 C1363.03,1405.025 1379.55,1454.789 1395.51,1490.989 " fill="none" id="Resource-backto-CommunicationType" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1399,1390,1392.2911,1387.356,1387.2701,1392.5319,1393.979,1395.1759,1399,1390" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1384.0391" y="1388.5845">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="1392.8477" y="1479.8503">1</text></g><!--MD5=[c84e77e970627b4aa18bdf4438691386]
+reverse link APIInvokerEnrolmentDetails to ServiceAPIDescription--><g id="link_APIInvokerEnrolmentDetails_ServiceAPIDescription"><path codeLine="144" d="M2344.08,528.69 C2288.55,542.15 2194.9,632.815 2135.87,694.951 " fill="none" id="APIInvokerEnrolmentDetails-backto-ServiceAPIDescription" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="2357,527,2350.5318,523.8121,2345.1014,528.5566,2351.5696,531.7445,2357,527" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="169" x="2235" y="610.0669">APIList containing services</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="159" x="2242" y="625.1997">available for the invoker.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="139" x="2252" y="640.3325">Provided by capifcore</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="2341.8469" y="524.4597">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="2139.9144" y="687.8695">1..N</text></g><!--MD5=[ec3e366bed862608bf078ba3f0de1fcf]
+reverse link APIInvokerEnrolmentDetails to OnboardingInformation--><g id="link_APIInvokerEnrolmentDetails_OnboardingInformation"><path codeLine="145" d="M2794.62,559.84 C2792.74,584.84 2725.37,657.421 2677.14,706.406 " fill="none" id="APIInvokerEnrolmentDetails-backto-OnboardingInformation" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="2785,551,2786.7153,558.0041,2793.8404,559.1147,2792.1251,552.1105,2785,551" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="2792.1531" y="549.2472">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8" x="2675.3472" y="695.6017">1</text></g><!--MD5=[4dba3bda9f45971a684d6ca3a174d96b]
+reverse link DiscoveredAPIs to ServiceAPIDescription--><g id="link_DiscoveredAPIs_ServiceAPIDescription"><path codeLine="152" d="M2305.04,114.99 C2396.8,146.46 2195.64,542.51 2114.22,694.845 " fill="none" id="DiscoveredAPIs-backto-ServiceAPIDescription" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="2292,113,2297.3244,117.8632,2303.8614,114.8187,2298.5369,109.9556,2292,113" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="2298.218" y="110.2119">0..N</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="25" x="2090.3601" y="687.9701">0..N</text></g><!--MD5=[b941f39d5795bd968f5b2746ae15b2a6]
+link DiscoveredAPIs to invokerDiscoverRel--><g id="link_DiscoveredAPIs_invokerDiscoverRel"><path codeLine="154" d="M2092.53,137.19 C2067.05,177.09 2026.06,241.26 2003.07,277.27 " fill="none" id="DiscoveredAPIs-invokerDiscoverRel" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--MD5=[167d5f16055c93f4813923e0d635b921]
+link invokerDiscoverRel to APIInvokerEnrolmentDetails--><g id="link_invokerDiscoverRel_APIInvokerEnrolmentDetails"><path codeLine="155" d="M2014.69,332.68 C2073.84,384.78 2215.68,495 2357,495 " fill="none" id="invokerDiscoverRel-APIInvokerEnrolmentDetails" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--MD5=[eced79870f0f42b71f7b51dbbfa52fd9]
+link AccessTokenReq to accessInvokerRel--><g id="link_AccessTokenReq_accessInvokerRel"><path codeLine="172" d="M1439,145 C1509.8,145 1555.23,232.12 1574.06,277.39 " fill="none" id="AccessTokenReq-accessInvokerRel" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--MD5=[15a7ea6ce1f602ff530f262779964f92]
+link accessInvokerRel to APIInvokerEnrolmentDetails--><g id="link_accessInvokerRel_APIInvokerEnrolmentDetails"><path codeLine="173" d="M1647.61,332.58 C1778.14,384.64 2086.74,495 2357,495 " fill="none" id="accessInvokerRel-APIInvokerEnrolmentDetails" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--MD5=[b09cdebcbc63a2ae0feb2e7b9abafce5]
+link AccessTokenReq to accessProviderRel--><g id="link_AccessTokenReq_accessProviderRel"><path codeLine="175" d="M1225,105 C1187.75,105 1229.81,162.66 1200,185 C1158.2,216.32 309.369,184.95 260,202 C216.13,217.15 174.988,252.45 149.917,277.26 " fill="none" id="AccessTokenReq-accessProviderRel" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--MD5=[df18ed20cccb55badc3661fe07dab189]
+link accessProviderRel to APIProviderFunctionDetails--><g id="link_accessProviderRel_APIProviderFunctionDetails"><path codeLine="176" d="M139.951,332.68 C171.347,384.78 249.525,495 349,495 " fill="none" id="accessProviderRel-APIProviderFunctionDetails" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--MD5=[1a10d32547433a40943f5dcf634671cf]
+link AccessTokenReq to accessPublishRel--><g id="link_AccessTokenReq_accessPublishRel"><path codeLine="178" d="M1439,105 C1516.28,105 1411.26,222.84 1358.74,277.16 " fill="none" id="AccessTokenReq-accessPublishRel" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--MD5=[8a9b47164ecb9b78d5fd082008ee8686]
+link accessPublishRel to AefProfile--><g id="link_accessPublishRel_AefProfile"><path codeLine="179" d="M1331.6,332.81 C1329.84,461.77 1324.35,1012 1359,1012 " fill="none" id="accessPublishRel-AefProfile" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--MD5=[93f2bb9418d3d8f5c2bfd8821a549b22]
 @startuml
-struct APIProviderEnrolmentDetails #palegreen {
-    string apiProvDomId
-    string apiProvDomInfo
-    []APIProviderFunctionDetails apiProvFuncs
-    string regSec (required)
-}
-note right of APIProviderEnrolmentDetails::apiProvDomId
-    Id provided by CAPIF Core
-end note
-struct APIProviderFunctionDetails #palegreen {
-    string apiProvFuncId
-    string apiProvFuncInfo
-    ApiProviderFuncRole apiProviderFuncRole (required)
-    RegistrationInformation regInfo (required)
-}
-note right of APIProviderFunctionDetails::apiProvFuncId
-    Id provided by CAPIF Core
-end note
-enum ApiProviderFuncRole #palegreen {
-    AEF: API provider function is API Exposing Function.
-    APF: API provider function is API Publishing Function.
-    AMF: API Provider function is API Management Function.
-}
-struct RegistrationInformation #palegreen {
-    string apiProvCert
-    string apiProvPubKey (required)
+package "Provider Service" #palegreen {
+    struct APIProviderEnrolmentDetails {
+        string apiProvDomId
+        string apiProvDomInfo
+        []APIProviderFunctionDetails apiProvFuncs
+        string regSec (required)
+    }
+    note right of APIProviderEnrolmentDetails::apiProvDomId
+        Id provided by CAPIF Core
+    end note
+    struct APIProviderFunctionDetails {
+        string apiProvFuncId
+        string apiProvFuncInfo
+        ApiProviderFuncRole apiProviderFuncRole (required)
+        RegistrationInformation regInfo (required)
+    }
+    note right of APIProviderFunctionDetails::apiProvFuncId
+        Id provided by CAPIF Core
+    end note
+    enum ApiProviderFuncRole {
+        AEF: API provider function is API Exposing Function.
+        APF: API provider function is API Publishing Function.
+        AMF: API Provider function is API Management Function.
+    }
+    struct RegistrationInformation {
+        string apiProvCert
+        string apiProvPubKey (required)
+    }
 }
 APIProviderEnrolmentDetails::apiProvFuncs "1" o- - "1..N" APIProviderFunctionDetails
 APIProviderFunctionDetails::regInfo "1" o- - "1" RegistrationInformation
 APIProviderFunctionDetails::apiProviderFuncRole "1" o- - "1" ApiProviderFuncRole
 
-struct ServiceAPIDescription #lightblue {
-    string apiId
-    string apiName (required)
-    string description
-    []AefProfile aefProfiles
-}
-note right of ServiceAPIDescription
-    Id provided by CAPIF Core
-end note
-struct AefProfile #lightblue {
-    string aefId (required)
-    DataFormat dataFormat
-    string domainName
-    []InterfaceDescription interfaceDescriptions
-    Protocol protocol
-    []SecurityMethod securityMethods
-    []Version versions (required)
-}
-enum DataFormat #lightblue {
-    JSON
-}
-enum Protocol #lightblue {
-    HTTP_1_1
-    HTTP_2
-}
-note "AefProfile::aefId should match\n APIProviderFunctionDetails::apiProvFuncId" as aefIdRel
-APIProviderFunctionDetails::apiProvFuncId .. aefIdRel
-aefIdRel .. AefProfile::aefId
-struct InterfaceDescription #lightblue {
-    string ipv4Address
-    string ipv6Address
-    int port
-    []SecurityMethod securityMethods
-}
-note left of InterfaceDescription::securityMethods
-    Security methods supported by the interface,
-    it take precedence over the security methods
-    provided in AefProfile, for this specific interface.
-end note
-struct Version #lightblue {
-    []CustomOperation custOperations
-    DateTime expiry
-    []Resource resources
-    string apiVersion (required)
-}
-struct CustomOperation #lightblue {
-       CommunicationType commType (required)
-    string custOpName (required)
-    string description
-    []Operation operations
-}
-enum Operation #lightblue {
-    GET
-    POST
-    PUT
-    PATCH
-    DELETE
-}
-enum SecurityMethod #lightblue {
-    PSK
-    PKI
-    OAUTH
-}
-struct Resource #lightblue {
-    string resourceName (required)
-    string uri (required)
-    CommunicationType commType (required)
-    string description
-}
-enum CommunicationType #lightblue {
-    REQUEST_RESPONSE
-    SUBSCRIBE_NOTIFY
+package "Publish Service" #lightblue {
+    struct ServiceAPIDescription {
+        string apiId
+        string apiName (required)
+        string description
+        []AefProfile aefProfiles
+    }
+    note left of ServiceAPIDescription::apiId
+        Id provided by CAPIF Core
+    end note
+    note "apfId matching\n APIProviderFunctionDetails::apiProvFuncId\n must be provided when publishing" as publishProviderRel
+    ServiceAPIDescription .. publishProviderRel
+    publishProviderRel .. APIProviderFunctionDetails::apiProvFuncId
+    struct AefProfile {
+        string aefId (required)
+        DataFormat dataFormat
+        string domainName
+        []InterfaceDescription interfaceDescriptions
+        Protocol protocol
+        []SecurityMethod securityMethods
+        []Version versions (required)
+    }
+    enum DataFormat {
+        JSON
+    }
+    enum Protocol {
+        HTTP_1_1
+        HTTP_2
+    }
+    note "AefProfile::aefId should match\n APIProviderFunctionDetails::apiProvFuncId" as aefIdRel
+    APIProviderFunctionDetails::apiProvFuncId .. aefIdRel
+    aefIdRel .. AefProfile::aefId
+    struct InterfaceDescription {
+        string ipv4Address
+        string ipv6Address
+        int port
+        []SecurityMethod securityMethods
+    }
+    note left of InterfaceDescription::securityMethods
+        Security methods supported by the interface,
+        it take precedence over the security methods
+        provided in AefProfile, for this specific interface.
+    end note
+    struct Version {
+        []CustomOperation custOperations
+        DateTime expiry
+        []Resource resources
+        string apiVersion (required)
+    }
+    struct CustomOperation {
+        CommunicationType commType (required)
+        string custOpName (required)
+        string description
+        []Operation operations
+    }
+    enum Operation {
+        GET
+        POST
+        PUT
+        PATCH
+        DELETE
+    }
+    enum SecurityMethod {
+        PSK
+        PKI
+        OAUTH
+    }
+    struct Resource {
+        string resourceName (required)
+        string uri (required)
+        CommunicationType commType (required)
+        string description
+    }
+    enum CommunicationType {
+        REQUEST_RESPONSE
+        SUBSCRIBE_NOTIFY
+    }
 }
 ServiceAPIDescription::aefProfiles "1" o- - "1..N" AefProfile
 AefProfile::interfaceDescriptions "1" o- - "1..N" InterfaceDescription
@@ -153,16 +179,18 @@ CustomOperation::CommunicationType "1" o- - "1" CommunicationType
 CustomOperation::operations "0..N" o- - "0..N" Operation
 Resource::commType "1" o- - "1" CommunicationType
 
-struct APIInvokerEnrolmentDetails #coral {
-    string apiInvokerId
-    string apiInvokerInformation
-    APIList apiList
-    OnboardingInformation onboardingInformation (required)
-}
-struct OnboardingInformation #coral {
-    string apiInvokerCertificate
-    string ApiInvokerPublicKey (required)
-    string onboardingSecret
+package "Invoker Management" #coral {
+    struct APIInvokerEnrolmentDetails {
+        string apiInvokerId
+        string apiInvokerInformation
+        APIList apiList
+        OnboardingInformation onboardingInformation (required)
+    }
+    struct OnboardingInformation {
+        string apiInvokerCertificate
+        string ApiInvokerPublicKey (required)
+        string onboardingSecret
+    }
 }
 note right of OnboardingInformation::onboardingSecret
     Secret provided by CAPIF Core
@@ -170,11 +198,45 @@ end note
 note left of APIInvokerEnrolmentDetails::apiInvokerId
     Id provided by CAPIF Core
 end note
-APIInvokerEnrolmentDetails::apiList "1" o- - "1..N" ServiceAPIDescription : APIList
+APIInvokerEnrolmentDetails::apiList "1" o- - "1..N" ServiceAPIDescription : APIList containing services\n available for the invoker.\n Provided by capifcore
 APIInvokerEnrolmentDetails::onboardingInformation "1" o- - "1" OnboardingInformation
+
+package "Discover Service"  #Yellow {
+    struct DiscoveredAPIs {
+        []ServiceAPIDescription serviceAPIDescriptions
+    }
+}
+DiscoveredAPIs::serviceAPIDescriptions "0..N" o- - "0..N" ServiceAPIDescription
+note "Services can only be discovered\n for an onboarded invoker through\n APIInvokerEnrolmentDetails::apiId" as invokerDiscoverRel
+DiscoveredAPIs .. invokerDiscoverRel
+invokerDiscoverRel .. APIInvokerEnrolmentDetails::apiInvokerId
+
+package "Security Service" #Pink {
+    struct AccessTokenReq {
+        string grant_type (required)
+        string client_id (required)
+        string client_secret
+        string scope
+    }
+    struct AccessTokenRsp {
+        string access_token (required)
+        string token_type (required)
+        DurationSec expires_in (required)
+        string scope
+    }
+}
+note "AccessTokenReq::client_id and\n AccessTokenReq::client_secret\n must match registered invoker" as accessInvokerRel
+AccessTokenReq::client_id .. accessInvokerRel
+accessInvokerRel .. APIInvokerEnrolmentDetails::apiInvokerId
+note "Function provided in\n AccessTokenReq:scope\n must be registered for a provider" as accessProviderRel
+AccessTokenReq::scope .. accessProviderRel
+accessProviderRel .. APIProviderFunctionDetails::apiProvFuncId
+note "API provided in\n AccessTokenReq:scope\n must be published" as accessPublishRel
+AccessTokenReq::scope .. accessPublishRel
+accessPublishRel .. AefProfile::aefId
 @enduml
 
-PlantUML version 1.2022.14beta4(Unknown compile time)
+PlantUML version 1.2022.14beta6(Unknown compile time)
 (GPL source distribution)
 Java Runtime: Java(TM) SE Runtime Environment
 JVM: Java HotSpot(TM) 64-Bit Server VM
index 99df880..7a1e5dc 100644 (file)
@@ -1,40 +1,75 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="858px" preserveAspectRatio="none" style="width:1069px;height:858px;background:#FFFFFF;" version="1.1" viewBox="0 0 1069 858" width="1069px" zoomAndPan="magnify"><defs/><g><rect fill="#DDDDDD" height="846.0469" style="stroke:#181818;stroke-width:0.5;" width="540" x="485" y="6"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="109" x="700.5" y="18.0669">CAPIF Internal</text><rect fill="#98FB98" height="119.6641" style="stroke:#000000;stroke-width:1.5;" width="544.5" x="236.5" y="157.6953"/><rect fill="#ADD8E6" height="257.3281" style="stroke:#000000;stroke-width:1.5;" width="827" x="236.5" y="291.3594"/><rect fill="#FF7F50" height="163.9297" style="stroke:#000000;stroke-width:1.5;" width="794.5" x="236.5" y="562.6875"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="62" x2="62" y1="81.2969" y2="772.75"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="301.5" x2="301.5" y1="81.2969" y2="772.75"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="530" x2="530" y1="81.2969" y2="772.75"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="702" x2="702" y1="81.2969" y2="772.75"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="837" x2="837" y1="81.2969" y2="772.75"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="962" x2="962" y1="81.2969" y2="772.75"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108" x="5" y="77.9951">rAppCatalogue</text><ellipse cx="62" cy="13.5" fill="#E2E2F0" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><path d="M62,21.5 L62,48.5 M49,29.5 L75,29.5 M62,48.5 L49,63.5 M62,48.5 L75,63.5 " fill="none" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108" x="5" y="784.7451">rAppCatalogue</text><ellipse cx="62" cy="796.5469" fill="#E2E2F0" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><path d="M62,804.5469 L62,831.5469 M49,812.5469 L75,812.5469 M62,831.5469 L49,846.5469 M62,831.5469 L75,846.5469 " fill="none" style="stroke:#181818;stroke-width:0.5;"/><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="111" x="246.5" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="97" x="253.5" y="69.9951">rAppManager</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="111" x="246.5" y="771.75"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="97" x="253.5" y="791.7451">rAppManager</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="82" x="489" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="68" x="496" y="69.9951">capifcore</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="82" x="489" y="771.75"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="68" x="496" y="791.7451">capifcore</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="138" x="633" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="124" x="640" y="69.9951">providermanager</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="138" x="633" y="771.75"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="124" x="640" y="791.7451">providermanager</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="113" x="781" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="788" y="69.9951">helmmanager</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="113" x="781" y="771.75"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="788" y="791.7451">helmmanager</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="117" x="904" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103" x="911" y="69.9951">publishservice</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="117" x="904" y="771.75"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103" x="911" y="791.7451">publishservice</text><polygon fill="#181818" points="290,138.6953,300,142.6953,290,146.6953,294,142.6953" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="62" x2="296" y1="142.6953" y2="142.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="134" x="69" y="107.3638">Start rApp, with rApp</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="174" x="73" y="122.4966">descriptor specifying which</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="212" x="73" y="137.6294">services to expose and consume</text><path d="M236.5,157.6953 L302.5,157.6953 L302.5,164.8281 L292.5,174.8281 L236.5,174.8281 L236.5,157.6953 " fill="#98FB98" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="119.6641" style="stroke:#000000;stroke-width:1.5;" width="544.5" x="236.5" y="157.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="21" x="251.5" y="170.7622">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="140" x="317.5" y="169.9058">[Provider Enrolment]</text><polygon fill="#181818" points="518,207.0938,528,211.0938,518,215.0938,522,211.0938" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="302" x2="524" y1="211.0938" y2="211.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="141" x="309" y="190.895">Register provider with</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="183" x="313" y="206.0278">APIProviderEnrolmentDetails</text><polygon fill="#181818" points="690,236.2266,700,240.2266,690,244.2266,694,240.2266" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="530" x2="696" y1="240.2266" y2="240.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="91" x="537" y="235.1606">Store provider</text><polygon fill="#181818" points="313,265.3594,303,269.3594,313,273.3594,309,269.3594" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="307" x2="529" y1="269.3594" y2="269.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="191" x="319" y="264.2935">Provider with apfId and aefIds</text><path d="M236.5,291.3594 L302.5,291.3594 L302.5,298.4922 L292.5,308.4922 L236.5,308.4922 L236.5,291.3594 " fill="#ADD8E6" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="257.3281" style="stroke:#000000;stroke-width:1.5;" width="827" x="236.5" y="291.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="21" x="251.5" y="304.4263">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="110" x="317.5" y="303.5698">[Publish Service]</text><polygon fill="#181818" points="518,340.7578,528,344.7578,518,348.7578,522,344.7578" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="302" x2="524" y1="344.7578" y2="344.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="102" x="309" y="324.5591">Publish services</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="170" x="313" y="339.6919">with ServiceAPIDescription</text><polygon fill="#181818" points="690,385.0234,700,389.0234,690,393.0234,694,389.0234" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="530" x2="696" y1="389.0234" y2="389.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="129" x="537" y="368.8247">Check that AEFs are</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="144" x="541" y="383.9575">registered for provider</text><polygon fill="#181818" points="541,414.1563,531,418.1563,541,422.1563,537,418.1563" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="535" x2="701" y1="418.1563" y2="418.1563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="17" x="547" y="413.0903">Ok</text><polygon fill="#181818" points="825.5,446.2891,835.5,450.2891,825.5,454.2891,829.5,450.2891" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="530" x2="831.5" y1="450.2891" y2="450.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="136" x="537" y="445.2231">Install and start chart</text><path d="M842,431.1563 L842,456.1563 L1048,456.1563 L1048,441.1563 L1038,431.1563 L842,431.1563 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M1038,431.1563 L1038,441.1563 L1048,441.1563 L1038,431.1563 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="185" x="848" y="448.2231">Optional and not decided yet</text><polygon fill="#181818" points="541,478.4219,531,482.4219,541,486.4219,537,482.4219" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="535" x2="836.5" y1="482.4219" y2="482.4219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="17" x="547" y="477.356">Ok</text><polygon fill="#181818" points="950.5,507.5547,960.5,511.5547,950.5,515.5547,954.5,511.5547" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="530" x2="956.5" y1="511.5547" y2="511.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="156" x="537" y="506.4888">Store published services</text><polygon fill="#181818" points="313,536.6875,303,540.6875,313,544.6875,309,540.6875" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="307" x2="529" y1="540.6875" y2="540.6875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="204" x="319" y="535.6216">ServiceAPIDescription with apiId</text><path d="M236.5,562.6875 L302.5,562.6875 L302.5,569.8203 L292.5,579.8203 L236.5,579.8203 L236.5,562.6875 " fill="#FF7F50" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="163.9297" style="stroke:#000000;stroke-width:1.5;" width="794.5" x="236.5" y="562.6875"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="21" x="251.5" y="575.7544">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="119" x="317.5" y="574.8979">[Register Invoker]</text><polygon fill="#181818" points="518,612.0859,528,616.0859,518,620.0859,522,616.0859" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="302" x2="524" y1="616.0859" y2="616.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="135" x="309" y="595.8872">Register invoker with</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="177" x="313" y="611.02">APIInvokerEnrolmentDetails</text><polygon fill="#181818" points="950.5,641.2188,960.5,645.2188,950.5,649.2188,954.5,645.2188" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="530" x2="956.5" y1="645.2188" y2="645.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="214" x="537" y="640.1528">Get available services for invoker</text><polygon fill="#181818" points="541,670.3516,531,674.3516,541,678.3516,537,674.3516" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="535" x2="961.5" y1="674.3516" y2="674.3516"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="252" x="547" y="669.2856">Services available for the given invoker</text><polygon fill="#181818" points="313,714.6172,303,718.6172,313,722.6172,309,718.6172" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="307" x2="529" y1="718.6172" y2="718.6172"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="140" x="319" y="698.4185">Invoker with invokerId</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="142" x="323" y="713.5513">and avialable services</text><polygon fill="#181818" points="73,750.75,63,754.75,73,758.75,69,754.75" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="67" x2="301" y1="754.75" y2="754.75"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="17" x="79" y="749.6841">Ok</text><!--MD5=[ba6e1aec74d2a2fd3fda4119bb07c2f6]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="2020px" preserveAspectRatio="none" style="width:1472px;height:2020px;background:#FFFFFF;" version="1.1" viewBox="0 0 1472 2020" width="1472px" zoomAndPan="magnify"><defs/><g><rect fill="#DDDDDD" height="2008.5547" style="stroke:#181818;stroke-width:0.5;" width="992.5" x="468" y="6"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="109" x="909.75" y="18.0669">CAPIF Internal</text><rect fill="#98FB98" height="251.4609" style="stroke:#000000;stroke-width:1.5;" width="574.5" x="236.5" y="157.6953"/><rect fill="#ADD8E6" height="373.9922" style="stroke:#000000;stroke-width:1.5;" width="920.5" x="236.5" y="423.1563"/><rect fill="#FF7F50" height="294.5938" style="stroke:#000000;stroke-width:1.5;" width="1030.5" x="236.5" y="811.1484"/><rect fill="#FFFF00" height="386.3906" style="stroke:#000000;stroke-width:1.5;" width="1098" x="236.5" y="1148.875"/><rect fill="#FFC0CB" height="368.9922" style="stroke:#000000;stroke-width:1.5;" width="1347.5" x="119" y="1549.2656"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="62" x2="62" y1="81.2969" y2="1935.2578"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="150" x2="150" y1="81.2969" y2="1935.2578"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="301.5" x2="301.5" y1="81.2969" y2="1935.2578"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="513" x2="513" y1="81.2969" y2="1935.2578"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="647" x2="647" y1="81.2969" y2="1935.2578"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="805.5" x2="805.5" y1="81.2969" y2="1935.2578"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="930.5" x2="930.5" y1="81.2969" y2="1935.2578"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1095.5" x2="1095.5" y1="81.2969" y2="1935.2578"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1261.5" x2="1261.5" y1="81.2969" y2="1935.2578"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1395.5" x2="1395.5" y1="81.2969" y2="1935.2578"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108" x="5" y="77.9951">rAppCatalogue</text><ellipse cx="62" cy="13.5" fill="#E2E2F0" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><path d="M62,21.5 L62,48.5 M49,29.5 L75,29.5 M62,48.5 L49,63.5 M62,48.5 L75,63.5 " fill="none" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108" x="5" y="1947.2529">rAppCatalogue</text><ellipse cx="62" cy="1959.0547" fill="#E2E2F0" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><path d="M62,1967.0547 L62,1994.0547 M49,1975.0547 L75,1975.0547 M62,1994.0547 L49,2009.0547 M62,1994.0547 L75,2009.0547 " fill="none" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="129" y="77.9951">rApp</text><ellipse cx="150" cy="13.5" fill="#E2E2F0" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><path d="M150,21.5 L150,48.5 M137,29.5 L163,29.5 M150,48.5 L137,63.5 M150,48.5 L163,63.5 " fill="none" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="129" y="1947.2529">rApp</text><ellipse cx="150" cy="1959.0547" fill="#E2E2F0" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><path d="M150,1967.0547 L150,1994.0547 M137,1975.0547 L163,1975.0547 M150,1994.0547 L137,2009.0547 M150,1994.0547 L163,2009.0547 " fill="none" style="stroke:#181818;stroke-width:0.5;"/><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="111" x="246.5" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="97" x="253.5" y="69.9951">rAppManager</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="111" x="246.5" y="1934.2578"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="97" x="253.5" y="1954.2529">rAppManager</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="82" x="472" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="68" x="479" y="69.9951">capifcore</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="82" x="472" y="1934.2578"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="68" x="479" y="1954.2529">capifcore</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="138" x="578" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="124" x="585" y="69.9951">providermanager</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="138" x="578" y="1934.2578"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="124" x="585" y="1954.2529">providermanager</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="113" x="749.5" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="756.5" y="69.9951">helmmanager</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="113" x="749.5" y="1934.2578"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="756.5" y="1954.2529">helmmanager</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="117" x="872.5" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103" x="879.5" y="69.9951">publishservice</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="117" x="872.5" y="1934.2578"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103" x="879.5" y="1954.2529">publishservice</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="119" x="1036.5" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="105" x="1043.5" y="69.9951">invokerservice</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="119" x="1036.5" y="1934.2578"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="105" x="1043.5" y="1954.2529">invokerservice</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="125" x="1199.5" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="111" x="1206.5" y="69.9951">discoverservice</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="125" x="1199.5" y="1934.2578"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="111" x="1206.5" y="1954.2529">discoverservice</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="122" x="1334.5" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108" x="1341.5" y="69.9951">securityservice</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="122" x="1334.5" y="1934.2578"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108" x="1341.5" y="1954.2529">securityservice</text><polygon fill="#181818" points="290,138.6953,300,142.6953,290,146.6953,294,142.6953" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="62" x2="296" y1="142.6953" y2="142.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="134" x="69" y="107.3638">Start rApp, with rApp</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="174" x="73" y="122.4966">descriptor specifying which</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="212" x="73" y="137.6294">services to expose and consume</text><path d="M236.5,157.6953 L302.5,157.6953 L302.5,164.8281 L292.5,174.8281 L236.5,174.8281 L236.5,157.6953 " fill="#98FB98" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="251.4609" style="stroke:#000000;stroke-width:1.5;" width="574.5" x="236.5" y="157.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="21" x="251.5" y="170.7622">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="140" x="317.5" y="169.9058">[Provider Enrolment]</text><polygon fill="#181818" points="501,207.0938,511,211.0938,501,215.0938,505,211.0938" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="302" x2="507" y1="211.0938" y2="211.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="141" x="309" y="190.895">Register provider with</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="183" x="313" y="206.0278">APIProviderEnrolmentDetails</text><polygon fill="#181818" points="635,236.2266,645,240.2266,635,244.2266,639,240.2266" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="513" x2="641" y1="240.2266" y2="240.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="110" x="520" y="235.1606">Register provider</text><line style="stroke:#181818;stroke-width:1.0;" x1="647" x2="689" y1="299.625" y2="299.625"/><line style="stroke:#181818;stroke-width:1.0;" x1="689" x2="689" y1="299.625" y2="312.625"/><line style="stroke:#181818;stroke-width:1.0;" x1="648" x2="689" y1="312.625" y2="312.625"/><polygon fill="#181818" points="658,308.625,648,312.625,658,316.625,654,312.625" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="137" x="654" y="264.2935">Create apiProvDomId</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="124" x="658" y="279.4263">and apiProvFuncIds</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="141" x="658" y="294.5591">for provided functions</text><polygon fill="#181818" points="524,352.8906,514,356.8906,524,360.8906,520,356.8906" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="518" x2="646" y1="356.8906" y2="356.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="84" x="530" y="336.6919">Provider with</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="103" x="534" y="351.8247">apfId and aefIds</text><polygon fill="#181818" points="313,397.1563,303,401.1563,313,405.1563,309,401.1563" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="307" x2="512" y1="401.1563" y2="401.1563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="84" x="319" y="380.9575">Provider with</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="103" x="323" y="396.0903">apfId and aefIds</text><path d="M236.5,423.1563 L302.5,423.1563 L302.5,430.2891 L292.5,440.2891 L236.5,440.2891 L236.5,423.1563 " fill="#ADD8E6" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="373.9922" style="stroke:#000000;stroke-width:1.5;" width="920.5" x="236.5" y="423.1563"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="21" x="251.5" y="436.2231">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="110" x="317.5" y="435.3667">[Publish Service]</text><polygon fill="#181818" points="501,487.6875,511,491.6875,501,495.6875,505,491.6875" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="302" x2="507" y1="491.6875" y2="491.6875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="102" x="309" y="456.356">Publish services</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="95" x="313" y="471.4888">with providerId</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="163" x="313" y="486.6216">andServiceAPIDescription</text><polygon fill="#181818" points="919,516.8203,929,520.8203,919,524.8203,923,520.8203" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="513" x2="925" y1="520.8203" y2="520.8203"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="102" x="520" y="515.7544">Publish services</text><polygon fill="#181818" points="658,561.0859,648,565.0859,658,569.0859,654,565.0859" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="652" x2="930" y1="565.0859" y2="565.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="82" x="664" y="544.8872">Are AEFs are</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="151" x="668" y="560.02">registered for provider?</text><polygon fill="#181818" points="919,590.2188,929,594.2188,919,598.2188,923,594.2188" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="647" x2="925" y1="594.2188" y2="594.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="17" x="654" y="589.1528">Ok</text><line style="stroke:#181818;stroke-width:1.0;" x1="931" x2="973" y1="623.3516" y2="623.3516"/><line style="stroke:#181818;stroke-width:1.0;" x1="973" x2="973" y1="623.3516" y2="636.3516"/><line style="stroke:#181818;stroke-width:1.0;" x1="932" x2="973" y1="636.3516" y2="636.3516"/><polygon fill="#181818" points="942,632.3516,932,636.3516,942,640.3516,938,636.3516" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="77" x="938" y="618.2856">Create apiId</text><polygon fill="#181818" points="817,664.4844,807,668.4844,817,672.4844,813,668.4844" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="811" x2="930" y1="668.4844" y2="668.4844"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="74" x="823" y="663.4185">Install chart</text><path d="M936,649.3516 L936,674.3516 L1142,674.3516 L1142,659.3516 L1132,649.3516 L936,649.3516 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M1132,649.3516 L1132,659.3516 L1142,659.3516 L1132,649.3516 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="185" x="942" y="666.4185">Optional and not decided yet</text><polygon fill="#181818" points="919,696.6172,929,700.6172,919,704.6172,923,700.6172" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="806" x2="925" y1="700.6172" y2="700.6172"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="17" x="813" y="695.5513">Ok</text><polygon fill="#181818" points="524,740.8828,514,744.8828,524,748.8828,520,744.8828" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="518" x2="930" y1="744.8828" y2="744.8828"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="139" x="530" y="724.6841">ServiceAPIDescription</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="61" x="534" y="739.8169">with apiId</text><polygon fill="#181818" points="313,785.1484,303,789.1484,313,793.1484,309,789.1484" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="307" x2="512" y1="789.1484" y2="789.1484"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="139" x="319" y="768.9497">ServiceAPIDescription</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="61" x="323" y="784.0825">with apiId</text><path d="M236.5,811.1484 L302.5,811.1484 L302.5,818.2813 L292.5,828.2813 L236.5,828.2813 L236.5,811.1484 " fill="#FF7F50" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="294.5938" style="stroke:#000000;stroke-width:1.5;" width="1030.5" x="236.5" y="811.1484"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="21" x="251.5" y="824.2153">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="119" x="317.5" y="823.3589">[Register Invoker]</text><polygon fill="#181818" points="501,860.5469,511,864.5469,501,868.5469,505,864.5469" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="302" x2="507" y1="864.5469" y2="864.5469"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="135" x="309" y="844.3481">Register invoker with</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="177" x="313" y="859.481">APIInvokerEnrolmentDetails</text><polygon fill="#181818" points="1084,889.6797,1094,893.6797,1084,897.6797,1088,893.6797" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="513" x2="1090" y1="893.6797" y2="893.6797"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="104" x="520" y="888.6138">Register invoker</text><line style="stroke:#181818;stroke-width:1.0;" x1="1096" x2="1138" y1="937.9453" y2="937.9453"/><line style="stroke:#181818;stroke-width:1.0;" x1="1138" x2="1138" y1="937.9453" y2="950.9453"/><line style="stroke:#181818;stroke-width:1.0;" x1="1097" x2="1138" y1="950.9453" y2="950.9453"/><polygon fill="#181818" points="1107,946.9453,1097,950.9453,1107,954.9453,1103,950.9453" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="152" x="1103" y="917.7466">Create apiInvokerId and</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="113" x="1107" y="932.8794">onboardingSecret</text><polygon fill="#181818" points="942,976.0781,932,980.0781,942,984.0781,938,980.0781" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="936" x2="1095" y1="980.0781" y2="980.0781"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="141" x="948" y="975.0122">Get available services</text><polygon fill="#181818" points="1084,1005.2109,1094,1009.2109,1084,1013.2109,1088,1009.2109" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="931" x2="1090" y1="1009.2109" y2="1009.2109"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="115" x="938" y="1004.145">Available services</text><polygon fill="#181818" points="524,1049.4766,514,1053.4766,524,1057.4766,520,1053.4766" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="518" x2="1095" y1="1053.4766" y2="1053.4766"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="115" x="530" y="1033.2778">Services available</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="94" x="534" y="1048.4106">for the invoker</text><polygon fill="#181818" points="313,1093.7422,303,1097.7422,313,1101.7422,309,1097.7422" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="307" x2="512" y1="1097.7422" y2="1097.7422"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="140" x="319" y="1077.5435">Invoker with invokerId</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="142" x="323" y="1092.6763">and available services</text><polygon fill="#181818" points="73,1129.875,63,1133.875,73,1137.875,69,1133.875" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="67" x2="301" y1="1133.875" y2="1133.875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="17" x="79" y="1128.8091">Ok</text><path d="M236.5,1148.875 L302.5,1148.875 L302.5,1156.0078 L292.5,1166.0078 L236.5,1166.0078 L236.5,1148.875 " fill="#FFFF00" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="386.3906" style="stroke:#000000;stroke-width:1.5;" width="1098" x="236.5" y="1148.875"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="21" x="251.5" y="1161.9419">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="126" x="317.5" y="1161.0854">[Discover Services]</text><polygon fill="#181818" points="501,1213.4063,511,1217.4063,501,1221.4063,505,1217.4063" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="302" x2="507" y1="1217.4063" y2="1217.4063"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="155" x="309" y="1182.0747">Discover services for an</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="159" x="313" y="1197.2075">invoker with apiInvokerId</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="136" x="313" y="1212.3403">and filter parameters</text><polygon fill="#181818" points="1250,1257.6719,1260,1261.6719,1250,1265.6719,1254,1261.6719" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="513" x2="1256" y1="1261.6719" y2="1261.6719"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="141" x="520" y="1241.4731">Get services available</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="94" x="524" y="1256.606">for the invoker</text><polygon fill="#181818" points="1107,1301.9375,1097,1305.9375,1107,1309.9375,1103,1305.9375" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1101" x2="1261" y1="1305.9375" y2="1305.9375"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="141" x="1113" y="1285.7388">Get services available</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="94" x="1117" y="1300.8716">for the invoker</text><polygon fill="#181818" points="942,1331.0703,932,1335.0703,942,1339.0703,938,1335.0703" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="936" x2="1095" y1="1335.0703" y2="1335.0703"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="141" x="948" y="1330.0044">Get available services</text><polygon fill="#181818" points="1084,1360.2031,1094,1364.2031,1084,1368.2031,1088,1364.2031" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="931" x2="1090" y1="1364.2031" y2="1364.2031"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="115" x="938" y="1359.1372">Available services</text><polygon fill="#181818" points="1250,1404.4688,1260,1408.4688,1250,1412.4688,1254,1408.4688" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1096" x2="1256" y1="1408.4688" y2="1408.4688"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="115" x="1103" y="1388.27">Services available</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="94" x="1103" y="1403.4028">for the invoker</text><polygon fill="#181818" points="524,1463.8672,514,1467.8672,524,1471.8672,520,1467.8672" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="518" x2="1261" y1="1467.8672" y2="1467.8672"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="162" x="530" y="1432.5356">Services available for the</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="136" x="534" y="1447.6685">invoker matching the</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="108" x="534" y="1462.8013">filter parameters</text><polygon fill="#181818" points="313,1523.2656,303,1527.2656,313,1531.2656,309,1527.2656" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="307" x2="512" y1="1527.2656" y2="1527.2656"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="162" x="319" y="1491.9341">Services available for the</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="164" x="323" y="1507.0669">invoker and matching the</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="108" x="323" y="1522.1997">filter parameters</text><path d="M119,1549.2656 L185,1549.2656 L185,1556.3984 L175,1566.3984 L119,1566.3984 L119,1549.2656 " fill="#FFC0CB" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="368.9922" style="stroke:#000000;stroke-width:1.5;" width="1347.5" x="119" y="1549.2656"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="21" x="134" y="1562.3325">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="117" x="200" y="1561.4761">[Security Service]</text><polygon fill="#181818" points="1383.5,1613.7969,1393.5,1617.7969,1383.5,1621.7969,1387.5,1617.7969" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="150" x2="1389.5" y1="1617.7969" y2="1617.7969"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="93" x="157" y="1582.4653">Request token</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="99" x="161" y="1597.5981">for service with</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="109" x="161" y="1612.731">AccessTokenReq</text><polygon fill="#181818" points="1107,1642.9297,1097,1646.9297,1107,1650.9297,1103,1646.9297" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1101" x2="1394.5" y1="1646.9297" y2="1646.9297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="137" x="1113" y="1641.8638">Is invoker registered?</text><polygon fill="#181818" points="1383.5,1672.0625,1393.5,1676.0625,1383.5,1680.0625,1387.5,1676.0625" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1096" x2="1389.5" y1="1676.0625" y2="1676.0625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="17" x="1103" y="1670.9966">Ok</text><polygon fill="#181818" points="1107,1701.1953,1097,1705.1953,1107,1709.1953,1103,1705.1953" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1101" x2="1394.5" y1="1705.1953" y2="1705.1953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="95" x="1113" y="1700.1294">Is secret valid?</text><polygon fill="#181818" points="1383.5,1730.3281,1393.5,1734.3281,1383.5,1738.3281,1387.5,1734.3281" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1096" x2="1389.5" y1="1734.3281" y2="1734.3281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="17" x="1103" y="1729.2622">Ok</text><polygon fill="#181818" points="658,1774.5938,648,1778.5938,658,1782.5938,654,1778.5938" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="652" x2="1394.5" y1="1778.5938" y2="1778.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="129" x="664" y="1758.395">Is function providing</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="122" x="668" y="1773.5278">service registered?</text><polygon fill="#181818" points="1383.5,1803.7266,1393.5,1807.7266,1383.5,1811.7266,1387.5,1807.7266" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="647" x2="1389.5" y1="1807.7266" y2="1807.7266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="17" x="654" y="1802.6606">Ok</text><polygon fill="#181818" points="942,1832.8594,932,1836.8594,942,1840.8594,938,1836.8594" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="936" x2="1394.5" y1="1836.8594" y2="1836.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="132" x="948" y="1831.7935">Is service published?</text><polygon fill="#181818" points="1383.5,1861.9922,1393.5,1865.9922,1383.5,1869.9922,1387.5,1865.9922" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="931" x2="1389.5" y1="1865.9922" y2="1865.9922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="17" x="938" y="1860.9263">Ok</text><polygon fill="#181818" points="161,1906.2578,151,1910.2578,161,1914.2578,157,1910.2578" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="155" x2="1394.5" y1="1910.2578" y2="1910.2578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="139" x="167" y="1890.0591">AccessTokenRsp with</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="36" x="171" y="1905.1919">token</text><!--MD5=[36fdf0ab761211112ece45937fee85b6]
 @startuml
 actor rAppCatalogue
+actor rApp
 participant rAppManager
 box "CAPIF Internal"
 participant capifcore
 participant providermanager
 participant helmmanager
 participant publishservice
+participant invokerservice
+participant discoverservice
+participant securityservice
 end box
 
 rAppCatalogue->rAppManager: Start rApp, with rApp\n descriptor specifying which\n services to expose and consume
 alt#paleGreen #paleGreen Provider Enrolment
     rAppManager->capifcore: Register provider with\n APIProviderEnrolmentDetails
-    capifcore->providermanager:Store provider
-    capifcore->rAppManager: Provider with apfId and aefIds
+    capifcore->providermanager:Register provider
+    providermanager->providermanager: Create apiProvDomId\n and apiProvFuncIds\n for provided functions
+    providermanager->capifcore: Provider with\n apfId and aefIds
+    capifcore->rAppManager: Provider with\n apfId and aefIds
 end
 alt#LightBlue #LightBlue Publish Service
-    rAppManager->capifcore: Publish services\n with ServiceAPIDescription
-    capifcore->providermanager: Check that AEFs are\n registered for provider
-    providermanager->capifcore: Ok
-    capifcore->helmmanager: Install and start chart
+    rAppManager->capifcore: Publish services\n with providerId\n andServiceAPIDescription
+    capifcore->publishservice: Publish services
+    publishservice->providermanager: Are AEFs are\n registered for provider?
+    providermanager->publishservice: Ok
+    publishservice->publishservice: Create apiId
+    publishservice->helmmanager: Install chart
     note right: Optional and not decided yet
-    helmmanager->capifcore: Ok
-    capifcore->publishservice: Store published services
-    capifcore->rAppManager: ServiceAPIDescription with apiId
+    helmmanager->publishservice: Ok
+    publishservice->capifcore: ServiceAPIDescription\n with apiId
+    capifcore->rAppManager: ServiceAPIDescription\n with apiId
 end
 alt#coral #coral Register Invoker
     rAppManager->capifcore: Register invoker with\n APIInvokerEnrolmentDetails
-    capifcore->publishservice:Get available services for invoker
-    publishservice->capifcore: Services available for the given invoker
-    capifcore->rAppManager: Invoker with invokerId\n and avialable services
+    capifcore->invokerservice: Register invoker
+    invokerservice->invokerservice: Create apiInvokerId and\n onboardingSecret
+    invokerservice->publishservice: Get available services
+    publishservice->invokerservice: Available services
+    invokerservice->capifcore: Services available\n for the invoker
+    capifcore->rAppManager: Invoker with invokerId\n and available services
 end
 rAppManager->rAppCatalogue: Ok
+
+alt#Yellow #Yellow Discover Services
+    rAppManager->capifcore: Discover services for an\n invoker with apiInvokerId\n and filter parameters
+    capifcore->discoverservice: Get services available\n for the invoker
+    discoverservice->invokerservice: Get services available\n for the invoker
+    invokerservice->publishservice: Get available services
+    publishservice->invokerservice: Available services
+    invokerservice->discoverservice: Services available \nfor the invoker
+    discoverservice->capifcore: Services available for the\n invoker matching the\n filter parameters
+    capifcore->rAppManager: Services available for the\n invoker and matching the\n filter parameters
+end
+
+alt#Pink #Pink Security Service
+    rApp->securityservice: Request token\n for service with\n AccessTokenReq
+    securityservice->invokerservice: Is invoker registered?
+    invokerservice->securityservice: Ok
+    securityservice->invokerservice: Is secret valid?
+    invokerservice->securityservice: Ok
+    securityservice->providermanager: Is function providing\n service registered?
+    providermanager->securityservice: Ok
+    securityservice->publishservice: Is service published?
+    publishservice->securityservice: Ok
+    securityservice->rApp: AccessTokenRsp with\n token
+end
 @enduml
 
-PlantUML version 1.2022.14beta4(Unknown compile time)
+PlantUML version 1.2022.14beta6(Unknown compile time)
 (GPL source distribution)
 Java Runtime: Java(TM) SE Runtime Environment
 JVM: Java HotSpot(TM) 64-Bit Server VM
index 0f33a3e..54965b9 100644 (file)
 @startuml Information in rApp registration
-struct APIProviderEnrolmentDetails #palegreen {
-    string apiProvDomId
-    string apiProvDomInfo
-    []APIProviderFunctionDetails apiProvFuncs
-    string regSec (required)
-}
-note right of APIProviderEnrolmentDetails::apiProvDomId
-    Id provided by CAPIF Core
-end note
-struct APIProviderFunctionDetails #palegreen {
-    string apiProvFuncId
-    string apiProvFuncInfo
-    ApiProviderFuncRole apiProviderFuncRole (required)
-    RegistrationInformation regInfo (required)
-}
-note right of APIProviderFunctionDetails::apiProvFuncId
-    Id provided by CAPIF Core
-end note
-enum ApiProviderFuncRole #palegreen {
-    AEF: API provider function is API Exposing Function.
-    APF: API provider function is API Publishing Function.
-    AMF: API Provider function is API Management Function.
-}
-struct RegistrationInformation #palegreen {
-    string apiProvCert
-    string apiProvPubKey (required)
+package "Provider Service" #palegreen {
+    struct APIProviderEnrolmentDetails {
+        string apiProvDomId
+        string apiProvDomInfo
+        []APIProviderFunctionDetails apiProvFuncs
+        string regSec (required)
+    }
+    note right of APIProviderEnrolmentDetails::apiProvDomId
+        Id provided by CAPIF Core
+    end note
+    struct APIProviderFunctionDetails {
+        string apiProvFuncId
+        string apiProvFuncInfo
+        ApiProviderFuncRole apiProviderFuncRole (required)
+        RegistrationInformation regInfo (required)
+    }
+    note right of APIProviderFunctionDetails::apiProvFuncId
+        Id provided by CAPIF Core
+    end note
+    enum ApiProviderFuncRole {
+        AEF: API provider function is API Exposing Function.
+        APF: API provider function is API Publishing Function.
+        AMF: API Provider function is API Management Function.
+    }
+    struct RegistrationInformation {
+        string apiProvCert
+        string apiProvPubKey (required)
+    }
 }
 APIProviderEnrolmentDetails::apiProvFuncs "1" o-- "1..N" APIProviderFunctionDetails
 APIProviderFunctionDetails::regInfo "1" o-- "1" RegistrationInformation
 APIProviderFunctionDetails::apiProviderFuncRole "1" o-- "1" ApiProviderFuncRole
 
-struct ServiceAPIDescription #lightblue {
-    string apiId
-    string apiName (required)
-    string description
-    []AefProfile aefProfiles
-}
-note right of ServiceAPIDescription
-    Id provided by CAPIF Core
-end note
-struct AefProfile #lightblue {
-    string aefId (required)
-    DataFormat dataFormat
-    string domainName
-    []InterfaceDescription interfaceDescriptions
-    Protocol protocol
-    []SecurityMethod securityMethods
-    []Version versions (required)
-}
-enum DataFormat #lightblue {
-    JSON
-}
-enum Protocol #lightblue {
-    HTTP_1_1
-    HTTP_2
-}
-note "AefProfile::aefId should match\n APIProviderFunctionDetails::apiProvFuncId" as aefIdRel
-APIProviderFunctionDetails::apiProvFuncId .. aefIdRel
-aefIdRel .. AefProfile::aefId
-struct InterfaceDescription #lightblue {
-    string ipv4Address
-    string ipv6Address
-    int port
-    []SecurityMethod securityMethods
-}
-note left of InterfaceDescription::securityMethods
-    Security methods supported by the interface,
-    it take precedence over the security methods
-    provided in AefProfile, for this specific interface.
-end note
-struct Version #lightblue {
-    []CustomOperation custOperations
-    DateTime expiry
-    []Resource resources
-    string apiVersion (required)
-}
-struct CustomOperation #lightblue {
-       CommunicationType commType (required)
-    string custOpName (required)
-    string description
-    []Operation operations
-}
-enum Operation #lightblue {
-    GET
-    POST
-    PUT
-    PATCH
-    DELETE
-}
-enum SecurityMethod #lightblue {
-    PSK
-    PKI
-    OAUTH
-}
-struct Resource #lightblue {
-    string resourceName (required)
-    string uri (required)
-    CommunicationType commType (required)
-    string description
-}
-enum CommunicationType #lightblue {
-    REQUEST_RESPONSE
-    SUBSCRIBE_NOTIFY
+package "Publish Service" #lightblue {
+    struct ServiceAPIDescription {
+        string apiId
+        string apiName (required)
+        string description
+        []AefProfile aefProfiles
+    }
+    note left of ServiceAPIDescription::apiId
+        Id provided by CAPIF Core
+    end note
+    note "apfId matching\n APIProviderFunctionDetails::apiProvFuncId\n must be provided when publishing" as publishProviderRel
+    ServiceAPIDescription .. publishProviderRel
+    publishProviderRel .. APIProviderFunctionDetails::apiProvFuncId
+    struct AefProfile {
+        string aefId (required)
+        DataFormat dataFormat
+        string domainName
+        []InterfaceDescription interfaceDescriptions
+        Protocol protocol
+        []SecurityMethod securityMethods
+        []Version versions (required)
+    }
+    enum DataFormat {
+        JSON
+    }
+    enum Protocol {
+        HTTP_1_1
+        HTTP_2
+    }
+    note "AefProfile::aefId should match\n APIProviderFunctionDetails::apiProvFuncId" as aefIdRel
+    APIProviderFunctionDetails::apiProvFuncId .. aefIdRel
+    aefIdRel .. AefProfile::aefId
+    struct InterfaceDescription {
+        string ipv4Address
+        string ipv6Address
+        int port
+        []SecurityMethod securityMethods
+    }
+    note left of InterfaceDescription::securityMethods
+        Security methods supported by the interface,
+        it take precedence over the security methods
+        provided in AefProfile, for this specific interface.
+    end note
+    struct Version {
+        []CustomOperation custOperations
+        DateTime expiry
+        []Resource resources
+        string apiVersion (required)
+    }
+    struct CustomOperation {
+        CommunicationType commType (required)
+        string custOpName (required)
+        string description
+        []Operation operations
+    }
+    enum Operation {
+        GET
+        POST
+        PUT
+        PATCH
+        DELETE
+    }
+    enum SecurityMethod {
+        PSK
+        PKI
+        OAUTH
+    }
+    struct Resource {
+        string resourceName (required)
+        string uri (required)
+        CommunicationType commType (required)
+        string description
+    }
+    enum CommunicationType {
+        REQUEST_RESPONSE
+        SUBSCRIBE_NOTIFY
+    }
 }
 ServiceAPIDescription::aefProfiles "1" o-- "1..N" AefProfile
 AefProfile::interfaceDescriptions "1" o-- "1..N" InterfaceDescription
@@ -116,16 +123,18 @@ CustomOperation::CommunicationType "1" o-- "1" CommunicationType
 CustomOperation::operations "0..N" o-- "0..N" Operation
 Resource::commType "1" o-- "1" CommunicationType
 
-struct APIInvokerEnrolmentDetails #coral {
-    string apiInvokerId
-    string apiInvokerInformation
-    APIList apiList
-    OnboardingInformation onboardingInformation (required)
-}
-struct OnboardingInformation #coral {
-    string apiInvokerCertificate
-    string ApiInvokerPublicKey (required)
-    string onboardingSecret
+package "Invoker Management" #coral {
+    struct APIInvokerEnrolmentDetails {
+        string apiInvokerId
+        string apiInvokerInformation
+        APIList apiList
+        OnboardingInformation onboardingInformation (required)
+    }
+    struct OnboardingInformation {
+        string apiInvokerCertificate
+        string ApiInvokerPublicKey (required)
+        string onboardingSecret
+    }
 }
 note right of OnboardingInformation::onboardingSecret
     Secret provided by CAPIF Core
@@ -133,6 +142,40 @@ end note
 note left of APIInvokerEnrolmentDetails::apiInvokerId
     Id provided by CAPIF Core
 end note
-APIInvokerEnrolmentDetails::apiList "1" o-- "1..N" ServiceAPIDescription : APIList
+APIInvokerEnrolmentDetails::apiList "1" o-- "1..N" ServiceAPIDescription : APIList containing services\n available for the invoker.\n Provided by capifcore
 APIInvokerEnrolmentDetails::onboardingInformation "1" o-- "1" OnboardingInformation
+
+package "Discover Service"  #Yellow {
+    struct DiscoveredAPIs {
+        []ServiceAPIDescription serviceAPIDescriptions
+    }
+}
+DiscoveredAPIs::serviceAPIDescriptions "0..N" o-- "0..N" ServiceAPIDescription
+note "Services can only be discovered\n for an onboarded invoker through\n APIInvokerEnrolmentDetails::apiId" as invokerDiscoverRel
+DiscoveredAPIs .. invokerDiscoverRel
+invokerDiscoverRel .. APIInvokerEnrolmentDetails::apiInvokerId
+
+package "Security Service" #Pink {
+    struct AccessTokenReq {
+        string grant_type (required)
+        string client_id (required)
+        string client_secret
+        string scope
+    }
+    struct AccessTokenRsp {
+        string access_token (required)
+        string token_type (required)
+        DurationSec expires_in (required)
+        string scope
+    }
+}
+note "AccessTokenReq::client_id and\n AccessTokenReq::client_secret\n must match registered invoker" as accessInvokerRel
+AccessTokenReq::client_id .. accessInvokerRel
+accessInvokerRel .. APIInvokerEnrolmentDetails::apiInvokerId
+note "Function provided in\n AccessTokenReq:scope\n must be registered for a provider" as accessProviderRel
+AccessTokenReq::scope .. accessProviderRel
+accessProviderRel .. APIProviderFunctionDetails::apiProvFuncId
+note "API provided in\n AccessTokenReq:scope\n must be published" as accessPublishRel
+AccessTokenReq::scope .. accessPublishRel
+accessPublishRel .. AefProfile::aefId
 @enduml
\ No newline at end of file
index 1e7db9b..ff33f50 100644 (file)
@@ -1,35 +1,69 @@
 @startuml Register Provider
 actor rAppCatalogue
+actor rApp
 participant rAppManager
 box "CAPIF Internal"
 participant capifcore
 participant providermanager
 participant helmmanager
 participant publishservice
+participant invokerservice
+participant discoverservice
+participant securityservice
 end box
 
 rAppCatalogue->rAppManager: Start rApp, with rApp\n descriptor specifying which\n services to expose and consume
 alt#paleGreen #paleGreen Provider Enrolment
     rAppManager->capifcore: Register provider with\n APIProviderEnrolmentDetails
-    capifcore->providermanager:Store provider
-    capifcore->rAppManager: Provider with apfId and aefIds
+    capifcore->providermanager:Register provider
+    providermanager->providermanager: Create apiProvDomId\n and apiProvFuncIds\n for provided functions
+    providermanager->capifcore: Provider with\n apfId and aefIds
+    capifcore->rAppManager: Provider with\n apfId and aefIds
 end
 alt#LightBlue #LightBlue Publish Service
-    rAppManager->capifcore: Publish services\n with ServiceAPIDescription
-    capifcore->providermanager: Check that AEFs are\n registered for provider
-    providermanager->capifcore: Ok
-    capifcore->helmmanager: Install and start chart
+    rAppManager->capifcore: Publish services\n with providerId\n andServiceAPIDescription
+    capifcore->publishservice: Publish services
+    publishservice->providermanager: Are AEFs are\n registered for provider?
+    providermanager->publishservice: Ok
+    publishservice->publishservice: Create apiId
+    publishservice->helmmanager: Install chart
     note right: Optional and not decided yet
-    helmmanager->capifcore: Ok
-    capifcore->publishservice: Store published services
-    capifcore->rAppManager: ServiceAPIDescription with apiId
+    helmmanager->publishservice: Ok
+    publishservice->capifcore: ServiceAPIDescription\n with apiId
+    capifcore->rAppManager: ServiceAPIDescription\n with apiId
 end
 alt#coral #coral Register Invoker
     rAppManager->capifcore: Register invoker with\n APIInvokerEnrolmentDetails
-    capifcore->publishservice:Get available services for invoker
-    publishservice->capifcore: Services available for the given invoker
-    capifcore->rAppManager: Invoker with invokerId\n and avialable services
+    capifcore->invokerservice: Register invoker
+    invokerservice->invokerservice: Create apiInvokerId and\n onboardingSecret
+    invokerservice->publishservice: Get available services
+    publishservice->invokerservice: Available services
+    invokerservice->capifcore: Services available\n for the invoker
+    capifcore->rAppManager: Invoker with invokerId\n and available services
 end
 rAppManager->rAppCatalogue: Ok
 
+alt#Yellow #Yellow Discover Services
+    rAppManager->capifcore: Discover services for an\n invoker with apiInvokerId\n and filter parameters
+    capifcore->discoverservice: Get services available\n for the invoker
+    discoverservice->invokerservice: Get services available\n for the invoker
+    invokerservice->publishservice: Get available services
+    publishservice->invokerservice: Available services
+    invokerservice->discoverservice: Services available \nfor the invoker
+    discoverservice->capifcore: Services available for the\n invoker matching the\n filter parameters
+    capifcore->rAppManager: Services available for the\n invoker and matching the\n filter parameters
+end
+
+alt#Pink #Pink Security Service
+    rApp->securityservice: Request token\n for service with\n AccessTokenReq
+    securityservice->invokerservice: Is invoker registered?
+    invokerservice->securityservice: Ok
+    securityservice->invokerservice: Is secret valid?
+    invokerservice->securityservice: Ok
+    securityservice->providermanager: Is function providing\n service registered?
+    providermanager->securityservice: Ok
+    securityservice->publishservice: Is service published?
+    publishservice->securityservice: Ok
+    securityservice->rApp: AccessTokenRsp with\n token
+end
 @enduml
\ No newline at end of file