Publish New API
Publishes a new API based on the provided Service API description.
ID of the API Publishing Function.
If provided in a request, the value of the header is a string signalling the desired version of the API to be used in handling the request. If the provided version is not available, a 406 Not Acceptable response will be sent. If no Version header is provided, the latest available version will be used. This mechanism allows a user-agent to request a specfic version of the API when multiple versions are available.
Service API description that needs to be added.
{
"apiName": "string",
"apiId": "string",
"aefProfiles": [
{
"aefId": "string",
"versions": [
{
"apiVersion": "string",
"expiry": "string",
"resources": [
{
"resourceName": "string",
"uri": "string",
"custOpName": "string",
"operations": [
{}
],
"description": "string"
}
],
"custOperations": [
{
"custOpName": "string",
"operations": [
{}
],
"description": "string"
}
]
}
],
"securityMethods": [
{}
],
"domainName": "string",
"interfaceDescriptions": [
{
"ipv4Addr": "string",
"ipv6Addr": "string",
"fqdn": "string",
"port": 0,
"apiPrefix": "string",
"securityMethods": [
{}
]
}
]
}
],
"description": "string",
"supportedFeatures": "string",
"shareableInfo": {
"isShareable": false,
"capifProvDoms": [
"string"
]
},
"serviceAPICategory": "string",
"apiSuppFeats": "string",
"pubApiPath": {
"ccfIds": [
"string"
]
},
"ccfId": "string"
}
API name, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122.
API identifier assigned by the CAPIF core function to the published service API. Shall not be present in the HTTP POST request from the API publishing function to the CAPIF core function. Shall be present in the HTTP POST response from the CAPIF core function to the API publishing function and in the HTTP GET response from the CAPIF core function to the API invoker (discovery API).
AEF profile information, which includes the exposed API details (e.g. protocol).
Text description of the API
The service API category to which the service API belongs to.
CAPIF core function identifier.
Service API published successfully. The URI of the created resource shall be returned in the "Location" HTTP header.
{
"apiName": "string",
"apiId": "string",
"aefProfiles": [
{
"aefId": "string",
"versions": [
{
"apiVersion": "string",
"expiry": "string",
"resources": [
{
"resourceName": "string",
"uri": "string",
"custOpName": "string",
"operations": [
{}
],
"description": "string"
}
],
"custOperations": [
{
"custOpName": "string",
"operations": [
{}
],
"description": "string"
}
]
}
],
"securityMethods": [
{}
],
"domainName": "string",
"interfaceDescriptions": [
{
"ipv4Addr": "string",
"ipv6Addr": "string",
"fqdn": "string",
"port": 0,
"apiPrefix": "string",
"securityMethods": [
{}
]
}
]
}
],
"description": "string",
"supportedFeatures": "string",
"shareableInfo": {
"isShareable": false,
"capifProvDoms": [
"string"
]
},
"serviceAPICategory": "string",
"apiSuppFeats": "string",
"pubApiPath": {
"ccfIds": [
"string"
]
},
"ccfId": "string"
}
API name, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122.
API identifier assigned by the CAPIF core function to the published service API. Shall not be present in the HTTP POST request from the API publishing function to the CAPIF core function. Shall be present in the HTTP POST response from the CAPIF core function to the API publishing function and in the HTTP GET response from the CAPIF core function to the API invoker (discovery API).
AEF profile information, which includes the exposed API details (e.g. protocol).
Text description of the API
The service API category to which the service API belongs to.
CAPIF core function identifier.
Response Headers
Contains the URI of the newly created resource, according to the structure {apiRoot}/published-apis/v1/{apfId}/service-apis/{serviceApiId}
The Version header in a response indicates the version of the API used to handle this request-response pair, in an API which has the potential to support multiple versions. Different versions may be requested using a Version header in a request.
{
"type": "string",
"title": "string",
"status": 400,
"detail": "Required field 'counter_names' missing.",
"instance": "string"
}
A URI representing the type of the problem.
A short summary of the error.
The HTTP Response code associated with this error.
A detailed description of the error.
An optional URI of the instance involved in the problem.
{
"type": "string",
"title": "string",
"status": 400,
"detail": "Required field 'counter_names' missing.",
"instance": "string"
}
A URI representing the type of the problem.
A short summary of the error.
The HTTP Response code associated with this error.
A detailed description of the error.
An optional URI of the instance involved in the problem.
{
"type": "string",
"title": "string",
"status": 400,
"detail": "Required field 'counter_names' missing.",
"instance": "string"
}
A URI representing the type of the problem.
A short summary of the error.
The HTTP Response code associated with this error.
A detailed description of the error.
An optional URI of the instance involved in the problem.
{
"type": "string",
"title": "string",
"status": 400,
"detail": "Required field 'counter_names' missing.",
"instance": "string"
}
A URI representing the type of the problem.
A short summary of the error.
The HTTP Response code associated with this error.
A detailed description of the error.
An optional URI of the instance involved in the problem.
{
"type": "string",
"title": "string",
"status": 400,
"detail": "Required field 'counter_names' missing.",
"instance": "string"
}
A URI representing the type of the problem.
A short summary of the error.
The HTTP Response code associated with this error.
A detailed description of the error.
An optional URI of the instance involved in the problem.
{
"type": "string",
"title": "string",
"status": 400,
"detail": "Required field 'counter_names' missing.",
"instance": "string"
}
A URI representing the type of the problem.
A short summary of the error.
The HTTP Response code associated with this error.
A detailed description of the error.
An optional URI of the instance involved in the problem.
{
"type": "string",
"title": "string",
"status": 400,
"detail": "Required field 'counter_names' missing.",
"instance": "string"
}
A URI representing the type of the problem.
A short summary of the error.
The HTTP Response code associated with this error.
A detailed description of the error.
An optional URI of the instance involved in the problem.
{
"type": "string",
"title": "string",
"status": 400,
"detail": "Required field 'counter_names' missing.",
"instance": "string"
}
A URI representing the type of the problem.
A short summary of the error.
The HTTP Response code associated with this error.
A detailed description of the error.
An optional URI of the instance involved in the problem.
{
"type": "string",
"title": "string",
"status": 400,
"detail": "Required field 'counter_names' missing.",
"instance": "string"
}
A URI representing the type of the problem.
A short summary of the error.
The HTTP Response code associated with this error.
A detailed description of the error.
An optional URI of the instance involved in the problem.