| /securities/{securityId}/token (GET) | get_tokens() | Retrieves a security token for a specific `securityId`. This JWT token is used to query the targeted services. |
| /{apfId}/service-apis(POST) | publish_services() | Registers a new service API into the system. |
| /{apfId}/service-apis/{serviceApiId} (DELETE) | unpublish_service() | Deletes a service API from the system. |
| /{apfId}/service-apis/{serviceApiId} (PUT) | update_service() | Updates the details of an existing service API. |
| /{apfId}/service-apis (GET) | get_service() | Retrieves the details of a specific service API. |
| /{apfId}/service-apis/{serviceApiId} (GET) | get_all_services() | Retrieves a list of all available service APIs. |
| /{apfId}/service-apis(POST) | publish_services() | Registers a new service API into the system for a specific `apfId` |
| /{apfId}/service-apis/{serviceApiId} (DELETE) | unpublish_service() | Deletes a service API from the system for a specific `apfId`and `serviceApiId` |
| /{apfId}/service-apis/{serviceApiId} (PUT) | update_service() | Updates the details of an existing service API for a specific `apfId`and `serviceApiId` |
| /{apfId}/service-apis/{serviceApiId} (GET) | get_service() | Retrieves the details of a specific service API for a specific `apfId` and `serviceApiId` |
| /{apfId}/service-apis (GET) | get_all_services() | Retrieves a list of all available service APIs for a specific `apfId` |
NOTE: Above mentioned CAPIF APIs are defined in these 3GPP references:
@@ -67,7 +67,7 @@ NOTE: Above mentioned CAPIF APIs are defined in these 3GPP references:
In order to leverage OpenCAPIF SDK it is required to have registered a user in the target CAPIF instance, so contact administrator to have required predefined credentials (username and password).
# Netapp developer path
## Invoker NetApp
A NetApp development running as an Invoker would usually follow this process step by step making use of SDK:
@@ -118,6 +118,16 @@ This image highlights Invoker path using SDK code:
In the `invoker_folder`, it will be located several folders with each `capif_username` you have onboarded as a provider. For each folder, you could find:
-`Capif_api_security_context_details.json`: This file contains the information of your invoker. It will contain:
1. Your `api_invoker_id`.
2. If you have already used the Service Discovery Functionality, you will find all the available APIs with their information.
3. If you have already used the Service Get Token functionality, you will find your access token for using the APIs you have already discovered.
## Provider NetApp
A NetApp development running as a Provider would typically follow this process step by step, making use of the SDK:
@@ -157,3 +167,12 @@ Here is a sample of the implementation of this hole [functionality](./netapp-sam
This image highlights Provider path using SDK code:
In the `provider_folder`, it will be located several folders with each `capif_username` you have onboarded as a provider, for each folder it is created by SDK this files:
-`Capif_provider_details.json` : Contains all the APFs and AEFs ids that have already onboarded with this capif_username
-`CAPIF_<your_api_name><your_API_id>.json` : If it's already published or updated an API, It will be available a copy of your last payload.
-`Service_received.json` : If it's alread used the get an api or get all apis functionality, It will be available the response to your request.
-`Published-Apis.json` : Constains the currently published APIs with their ApiId
-[Update and Offboard Invoker](#update_invoker-and-offboard_and_deregister_invoker--invoker_capif_connector_updatepy-and-invoker_capif_connector_offboardingpy)
-[Important Information for Invoker](#important-information-for-invoker-consumer)
-[As a Provider](#as-a-proxvider)
-[Important Information for Provider](#important-information-for-provider-consumer)
-[Get Published Services](#get_service--script-provider_get_published_apipy)
-[Get All Published Services](#get_all_services--script-provider_get_all_published_apipy)
-[Update and Offboard Provider](#update_provider-and-offboard_provider--provider_capif_connector_updatepy-and-provider_capif_connector_offboardingpy)
-[Important Information for Provider](#important-information-for-provider-consumer)
-[Other Features](#other-features)
-[Register and Login](#script-register_and_loginpy)
-[Deregister and Login](#script-deregister_and_loginpy)
@@ -47,6 +47,16 @@ CAPIF is designed to use using two different roles:
# As an invoker
The common path to follow using CAPIF in order to get an API token of the service it's wanted to use is by following this steps:
## Important information for Invoker consumer
In the `invoker_folder`, it will be located several folders with each `capif_username` you have onboarded as a provider. For each folder, you could find:
-`Capif_api_security_context_details.json`: This file contains the information of your invoker. It will contain:
1. Your `api_invoker_id`.
2. If you have already used the Service Discovery Functionality, you will find all the available APIs with their information.
3. If you have already used the Service Get Token functionality, you will find your access token for using the APIs you have already discovered.
After the Discovery, this functionality simplifies the way of getting created their propperly security context for each of the services and adquiring the access token to use the final APIs
This functionality simplifies the way of getting created their propperly security context for each of the services and adquiring the access token to use the final APIs.
This functionality **requires** to to have onboarded as a [invoker](#onboard_invoker--script-invoker_capif_connectorpy) before and run the [discover](#discover--script-invoker_service_discoverpy) function at least once before.
In the `invoker_folder`, it will be located several folders with each `capif_username` you have onboarded as a provider. For each folder, you could find:
# As a provider
The common path to follow using CAPIF in order to publish an API is by following this steps:
-`Capif_api_security_context_details.json`: This file contains the information of your invoker. It will contain:
## Important information for Provider consumer
1. Your `api_invoker_id`.
2. If you have already used the Service Discovery Functionality, you will find all the available APIs with their information.
3. If you have already used the Service Get Token functionality, you will find your access token for using the APIs you have already discovered.
In the `provider_folder`, it will be located several folders with each `capif_username` you have onboarded as a provider, for each folder it is created by SDK this files:
-`Capif_provider_details.json` : Contains all the APFs and AEFs ids that have already onboarded with this capif_username
-`CAPIF_provider_api_description_sample.json` : If it's already published or updated an API, It will be available a copy of your last payload.
-`Service_received.json` : If it's alread used the get an api or get all apis functionality, It will be available the response to your request.
-`Published-Apis.json` : Constains the currently published APIs with their ApiId
# As a provider
The common path to follow using CAPIF in order to publish an API is by following this steps:
Simplifies the process of publishing an API. Also has the capability to chose which APF and AEF's will be used to publish the API
Simplifies the process of publishing an API. Also has the capability to chose which APF and AEF's will be used to publish the API.
It is mandatory to have [onboarded as a provider](#onboard_provider--script-provider_capif_connectorpy) before
Mandatory fields:
- PublisherAPFid
@@ -106,14 +123,18 @@ For using the Publish Service is mandatory to fullfill certain fields of the [Pu
Simplifies the process of deleting an API
It is mandatory to have onboarded as a [provider](#onboard_provider--script-provider_capif_connectorpy) before and to have [published any service](#publish_services--script-provider_publish_apipy) before
Simplifies the process of updating an API. Also has the capability to chose which APF and AEF's will be used to update the API
Simplifies the process of updating an API. Also has the capability to chose which APF and AEF's will be used to update the API.
It is mandatory to have onboarded as a [provider](#onboard_provider--script-provider_capif_connectorpy) before and to have [published any service](#publish_services--script-provider_publish_apipy) before
Mandatory fields:
- ServiceApiId
@@ -122,7 +143,9 @@ For using the Publish Service is mandatory to fullfill certain fields of the [Pu
Simplifies the process of recieving the information of One service published previously
Simplifies the process of recieving the information of One service published previously in Published-Apis.json
It is mandatory to have onboarded as a [provider](#onboard_provider--script-provider_capif_connectorpy) before and to have [published any service](#publish_services--script-provider_publish_apipy) before
Mandatory fields:
- ServiceApiId
@@ -130,7 +153,9 @@ For using the Publish Service is mandatory to fullfill certain fields of the [Pu
Simplifies the process of recieving the information of all available services published previously
Simplifies the process of recieving the information of all available services published previously in Published-Apis.json
It is mandatory to have onboarded as a [provider](#onboard_provider--script-provider_capif_connectorpy) before and to have [published any service](#publish_services--script-provider_publish_apipy) before
Mandatory fields:
- PublisherAPFid
@@ -141,18 +166,9 @@ For using the Publish Service is mandatory to fullfill certain fields of the [Pu
For using this features we must have onboard as a provider previusly.
In the `provider_folder`, it will be located several folders with each `capif_username` you have onboarded as a provider, for each folder it is created by SDK this files:
-`Capif_provider_details.json` : Contains all the APFs and AEFs ids that have already onboarded with this capif_username
-`CAPIF_provider_api_description_sample.json` : If it's already published or updated an API, It will be available a copy of your last payload.
-`Service_received.json` : If it's alread used the get an api or get all apis functionality, It will be available the response to your request.
-`Published-Apis.json` : Constains the currently published APIs with their ApiId
It is mandatory to have onboarded as a [provider](#onboard_provider--script-provider_capif_connectorpy) before