blob: d18238943c7db4077732c3a091bd1b098920b3c1 [file] [log] [blame]
{
"basePath": "/",
"paths": {
"/policy_types": {"get": {
"summary": "Query policy type names",
"deprecated": false,
"produces": ["*/*"],
"operationId": "getPolicyTypesUsingGET",
"responses": {
"200": {
"schema": {
"type": "array",
"items": {"type": "string"}
},
"description": "Policy type names"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Near-RT RIC is not found"
}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
"name": "ric",
"description": "The name of the Near-RT RIC to get types for.",
"type": "string",
"required": false
}],
"tags": ["A1 Policy Management Version 1.0"]
}},
"/a1-policy/v2/policy-instances": {"get": {
"summary": "Query for A1 policy instances",
"deprecated": false,
"produces": ["application/json"],
"description": "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.",
"operationId": "getPolicyInstancesUsingGET",
"responses": {
"200": {
"schema": {"$ref": "#/definitions/policy_info_list_v2"},
"description": "Policies"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Near-RT RIC, policy type or service not found"
}
},
"parameters": [
{
"in": "query",
"allowEmptyValue": false,
"name": "policytype_id",
"description": "The identity of the policy type to get policies for.",
"type": "string",
"required": false
},
{
"in": "query",
"allowEmptyValue": false,
"name": "ric_id",
"description": "The identity of the Near-RT RIC to get policies for.",
"type": "string",
"required": false
},
{
"in": "query",
"allowEmptyValue": false,
"name": "service_id",
"description": "The identity of the service to get policies for.",
"type": "string",
"required": false
}
],
"tags": ["A1 Policy Management Version 2.0 (in progress)"]
}},
"/a1-policy/v2/status": {"get": {
"summary": "Returns status and statistics of this service",
"deprecated": false,
"produces": ["application/json"],
"operationId": "getStatusUsingGET",
"responses": {
"200": {
"schema": {"$ref": "#/definitions/status_info_v2"},
"description": "Service is living"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {"description": "Not Found"}
},
"tags": ["A1 Policy Management Version 2.0 (in progress)"]
}},
"/services": {
"get": {
"summary": "Returns service information",
"deprecated": false,
"produces": ["*/*"],
"operationId": "getServicesUsingGET",
"responses": {
"200": {
"schema": {
"type": "array",
"items": {"$ref": "#/definitions/service_status_v1"}
},
"description": "OK"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"type": "string"},
"description": "Service is not found"
}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
"name": "name",
"description": "The name of the service",
"type": "string",
"required": false
}],
"tags": ["A1 Policy Management Version 1.0"]
},
"delete": {
"summary": "Delete a service",
"deprecated": false,
"produces": ["*/*"],
"operationId": "deleteServiceUsingDELETE",
"responses": {
"200": {
"schema": {"type": "string"},
"description": "OK"
},
"401": {"description": "Unauthorized"},
"204": {
"schema": {"type": "string"},
"description": "Service deleted"
},
"403": {"description": "Forbidden"},
"404": {
"schema": {"type": "string"},
"description": "Service not found"
}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
"name": "name",
"description": "The name of the service",
"type": "string",
"required": true
}],
"tags": ["A1 Policy Management Version 1.0"]
}
},
"/a1-policy/v2/rics/ric": {"get": {
"summary": "Returns info for one Near-RT RIC",
"deprecated": false,
"produces": ["application/json"],
"description": "Either a Near-RT RIC identity or a Mananged Element identity can be specified.<br>The intention with Mananged Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU).",
"operationId": "getRicUsingGET",
"responses": {
"200": {
"schema": {"$ref": "#/definitions/ric_info_v2"},
"description": "Near-RT RIC is found"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Near-RT RIC is not found"
}
},
"parameters": [
{
"in": "query",
"allowEmptyValue": false,
"name": "managed_element_id",
"description": "The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.",
"type": "string",
"required": false
},
{
"in": "query",
"allowEmptyValue": false,
"name": "ric_id",
"description": "The identity of a Near-RT RIC to get information for.",
"type": "string",
"required": false
}
],
"tags": ["A1 Policy Management Version 2.0 (in progress)"]
}},
"/a1-policy/v2/policies/{policy_id}": {
"get": {
"summary": "Returns a policy",
"deprecated": false,
"produces": ["application/json"],
"operationId": "getPolicyUsingGET_1",
"responses": {
"200": {
"schema": {"$ref": "#/definitions/policy_info_v2"},
"description": "Policy found"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Policy is not found"
}
},
"parameters": [{
"in": "path",
"name": "policy_id",
"description": "policy_id",
"type": "string",
"required": true
}],
"tags": ["A1 Policy Management Version 2.0 (in progress)"]
},
"delete": {
"summary": "Delete a policy",
"deprecated": false,
"produces": ["*/*"],
"operationId": "deletePolicyUsingDELETE_1",
"responses": {
"200": {"description": "Not used"},
"401": {"description": "Unauthorized"},
"423": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Near-RT RIC is not operational"
},
"204": {"description": "Policy deleted"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Policy is not found"
}
},
"parameters": [{
"in": "path",
"name": "policy_id",
"description": "policy_id",
"type": "string",
"required": true
}],
"tags": ["A1 Policy Management Version 2.0 (in progress)"]
}
},
"/a1-policy/v2/policy-types": {"get": {
"summary": "Query policy type identities",
"deprecated": false,
"produces": ["application/json"],
"operationId": "getPolicyTypesUsingGET_1",
"responses": {
"200": {
"schema": {"$ref": "#/definitions/policytype_id_list_v2"},
"description": "Policy type IDs"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Near-RT RIC is not found"
}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
"name": "ric_id",
"description": "The identity of the Near-RT RIC to get types for.",
"type": "string",
"required": false
}],
"tags": ["A1 Policy Management Version 2.0 (in progress)"]
}},
"/a1-policy/v2/configuration": {
"get": {
"summary": "Returns the contents of the configuration file",
"deprecated": false,
"produces": ["application/json"],
"description": "Note that the file contents is not relevant if the Consul is used.",
"operationId": "getConfigurationUsingGET",
"responses": {
"200": {
"schema": {"type": "object"},
"description": "Configuration"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "File is not found or readable"
}
},
"tags": ["Component Configuration"]
},
"put": {
"summary": "Replace the current configuration file with the given configuration",
"deprecated": false,
"produces": ["*/*"],
"description": "Note that the file is ignored if the Consul is used.",
"operationId": "putConfigurationUsingPUT",
"responses": {
"200": {"description": "Configuration updated"},
"201": {"description": "Created"},
"400": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Invalid configuration provided"
},
"401": {"description": "Unauthorized"},
"500": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Something went wrong when replacing the configuration. Try again."
},
"403": {"description": "Forbidden"},
"404": {"description": "Not Found"}
},
"parameters": [{
"schema": {"type": "object"},
"in": "body",
"name": "configuration",
"description": "configuration",
"required": true
}],
"tags": ["Component Configuration"],
"consumes": ["application/json"]
}
},
"/policy": {
"get": {
"summary": "Returns a policy configuration",
"deprecated": false,
"produces": ["*/*"],
"operationId": "getPolicyUsingGET",
"responses": {
"200": {
"schema": {"type": "object"},
"description": "Policy found"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Policy is not found"
}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
"name": "id",
"description": "The identity of the policy instance.",
"type": "string",
"required": true
}],
"tags": ["A1 Policy Management Version 1.0"]
},
"delete": {
"summary": "Delete a policy",
"deprecated": false,
"produces": ["*/*"],
"operationId": "deletePolicyUsingDELETE",
"responses": {
"200": {"description": "Not used"},
"401": {"description": "Unauthorized"},
"423": {
"schema": {"type": "string"},
"description": "Near-RT RIC is not operational"
},
"204": {"description": "Policy deleted"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"type": "string"},
"description": "Policy is not found"
}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
"name": "id",
"description": "The identity of the policy instance.",
"type": "string",
"required": true
}],
"tags": ["A1 Policy Management Version 1.0"]
},
"put": {
"summary": "Put a policy",
"deprecated": false,
"produces": ["*/*"],
"operationId": "putPolicyUsingPUT",
"responses": {
"200": {"description": "Policy updated"},
"201": {"description": "Policy created"},
"401": {"description": "Unauthorized"},
"423": {
"schema": {"type": "string"},
"description": "Near-RT RIC is not operational"
},
"403": {"description": "Forbidden"},
"404": {
"schema": {"type": "string"},
"description": "Near-RT RIC or policy type is not found"
}
},
"parameters": [
{
"in": "query",
"allowEmptyValue": false,
"name": "id",
"description": "The identity of the policy instance.",
"type": "string",
"required": true
},
{
"schema": {"type": "object"},
"in": "body",
"name": "jsonBody",
"description": "jsonBody",
"required": true
},
{
"in": "query",
"allowEmptyValue": false,
"name": "ric",
"description": "The name of the Near-RT RIC where the policy will be created.",
"type": "string",
"required": true
},
{
"in": "query",
"allowEmptyValue": false,
"name": "service",
"description": "The name of the service creating the policy.",
"type": "string",
"required": true
},
{
"default": false,
"in": "query",
"allowEmptyValue": false,
"name": "transient",
"x-example": false,
"description": "If the policy is transient or not (boolean defaulted to false). A policy is transient if it will be forgotten when the service needs to reconnect to the Near-RT RIC.",
"type": "boolean",
"required": false
},
{
"in": "query",
"allowEmptyValue": false,
"name": "type",
"description": "The name of the policy type.",
"type": "string",
"required": false
}
],
"tags": ["A1 Policy Management Version 1.0"],
"consumes": ["application/json"]
}
},
"/policies": {"get": {
"summary": "Query policies",
"deprecated": false,
"produces": ["*/*"],
"operationId": "getPoliciesUsingGET",
"responses": {
"200": {
"schema": {
"type": "array",
"items": {"$ref": "#/definitions/policy_info_v1"}
},
"description": "Policies"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"type": "string"},
"description": "Near-RT RIC or type not found"
}
},
"parameters": [
{
"in": "query",
"allowEmptyValue": false,
"name": "ric",
"description": "The name of the Near-RT RIC to get policies for.",
"type": "string",
"required": false
},
{
"in": "query",
"allowEmptyValue": false,
"name": "service",
"description": "The name of the service to get policies for.",
"type": "string",
"required": false
},
{
"in": "query",
"allowEmptyValue": false,
"name": "type",
"description": "The name of the policy type to get policies for.",
"type": "string",
"required": false
}
],
"tags": ["A1 Policy Management Version 1.0"]
}},
"/a1-policy/v2/services/{service_id}/keepalive": {"put": {
"summary": "Heartbeat indicates that the service is running",
"deprecated": false,
"produces": ["*/*"],
"operationId": "keepAliveServiceUsingPUT_1",
"responses": {
"200": {
"schema": {"type": "object"},
"description": "Service supervision timer refreshed, OK"
},
"201": {"description": "Created"},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "The service is not found, needs re-registration"
}
},
"parameters": [{
"in": "path",
"name": "service_id",
"description": "service_id",
"type": "string",
"required": true
}],
"tags": ["A1 Policy Management Version 2.0 (in progress)"],
"consumes": ["application/json"]
}},
"/policy_schema": {"get": {
"summary": "Returns one policy type schema definition",
"deprecated": false,
"produces": ["*/*"],
"operationId": "getPolicySchemaUsingGET",
"responses": {
"200": {
"schema": {"type": "object"},
"description": "Policy schema"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "The policy type is not found"
}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
"name": "id",
"description": "The identity of the policy type to get the definition for.",
"type": "string",
"required": true
}],
"tags": ["A1 Policy Management Version 1.0"]
}},
"/rics": {"get": {
"summary": "Query Near-RT RIC information",
"deprecated": false,
"produces": ["*/*"],
"operationId": "getRicsUsingGET_1",
"responses": {
"200": {
"schema": {
"type": "array",
"items": {"$ref": "#/definitions/ric_info_v1"}
},
"description": "OK"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"type": "string"},
"description": "Policy type is not found"
}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
"name": "policyType",
"description": "The name of the policy type",
"type": "string",
"required": false
}],
"tags": ["A1 Policy Management Version 1.0"]
}},
"/policy_status": {"get": {
"summary": "Returns a policy status",
"deprecated": false,
"produces": ["*/*"],
"operationId": "getPolicyStatusUsingGET",
"responses": {
"200": {
"schema": {"type": "object"},
"description": "Policy status"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"type": "string"},
"description": "Policy is not found"
}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
"name": "id",
"description": "The identity of the policy.",
"type": "string",
"required": true
}],
"tags": ["A1 Policy Management Version 1.0"]
}},
"/a1-policy/v2/rics": {"get": {
"summary": "Query Near-RT RIC information",
"deprecated": false,
"produces": ["application/json"],
"description": "The call returns all Near-RT RICs that supports a given policy type identity",
"operationId": "getRicsUsingGET",
"responses": {
"200": {
"schema": {"$ref": "#/definitions/ric_info_list_v2"},
"description": "OK"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Policy type is not found"
}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
"name": "policytype_id",
"description": "The identity of a policy type. If given, all Near-RT RICs supporteing the policy type are returned",
"type": "string",
"required": false
}],
"tags": ["A1 Policy Management Version 2.0 (in progress)"]
}},
"/policy_ids": {"get": {
"summary": "Query policies, only policy identities returned",
"deprecated": false,
"produces": ["*/*"],
"operationId": "getPolicyIdsUsingGET",
"responses": {
"200": {
"schema": {
"type": "array",
"items": {"type": "string"}
},
"description": "Policy identitiess"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"type": "string"},
"description": "Near-RT RIC or type not found"
}
},
"parameters": [
{
"in": "query",
"allowEmptyValue": false,
"name": "ric",
"description": "The name of the Near-RT RIC to get policies for.",
"type": "string",
"required": false
},
{
"in": "query",
"allowEmptyValue": false,
"name": "service",
"description": "The name of the service to get policies for.",
"type": "string",
"required": false
},
{
"in": "query",
"allowEmptyValue": false,
"name": "type",
"description": "The name of the policy type to get policies for.",
"type": "string",
"required": false
}
],
"tags": ["A1 Policy Management Version 1.0"]
}},
"/policy_schemas": {"get": {
"summary": "Returns policy type schema definitions",
"deprecated": false,
"produces": ["*/*"],
"operationId": "getPolicySchemasUsingGET",
"responses": {
"200": {
"schema": {
"type": "array",
"items": {"type": "object"}
},
"description": "Policy schemas"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Near-RT RIC is not found"
}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
"name": "ric",
"description": "The name of the Near-RT RIC to get the definitions for.",
"type": "string",
"required": false
}],
"tags": ["A1 Policy Management Version 1.0"]
}},
"/a1-policy/v2/services": {
"get": {
"summary": "Returns service information",
"deprecated": false,
"produces": ["application/json"],
"description": "Either information about a registered service with given identity or all registered services are returned.",
"operationId": "getServicesUsingGET_1",
"responses": {
"200": {
"schema": {"$ref": "#/definitions/service_list_v2"},
"description": "OK"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Service is not found"
}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
"name": "service_id",
"description": "The identity of the service",
"type": "string",
"required": false
}],
"tags": ["A1 Policy Management Version 2.0 (in progress)"]
},
"put": {
"summary": "Register a service",
"deprecated": false,
"produces": ["*/*"],
"description": "Registering a service is needed to:<ul><li>Get callbacks.<\/li><li>Activate supervision of the service. If a service is inactive, its policies will be deleted.<\/li><\/ul>",
"operationId": "putServiceUsingPUT_1",
"responses": {
"200": {
"schema": {"type": "object"},
"description": "Service updated"
},
"201": {
"schema": {"type": "object"},
"description": "Service created"
},
"400": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "The ServiceRegistrationInfo is not accepted"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {"description": "Not Found"}
},
"parameters": [{
"schema": {"$ref": "#/definitions/service_registration_info_v2"},
"in": "body",
"name": "registrationInfo",
"description": "registrationInfo",
"required": true
}],
"tags": ["A1 Policy Management Version 2.0 (in progress)"],
"consumes": ["application/json"]
}
},
"/ric": {"get": {
"summary": "Returns the name of a RIC managing one Mananged Element",
"deprecated": false,
"produces": ["*/*"],
"operationId": "getRicUsingGET_1",
"responses": {
"200": {
"schema": {"type": "string"},
"description": "Near-RT RIC is found"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"type": "string"},
"description": "Near-RT RIC is not found"
}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
"name": "managedElementId",
"description": "The identity of the Managed Element",
"type": "string",
"required": true
}],
"tags": ["A1 Policy Management Version 1.0"]
}},
"/services/keepalive": {"put": {
"summary": "Heartbeat from a service",
"deprecated": false,
"produces": ["*/*"],
"operationId": "keepAliveServiceUsingPUT",
"responses": {
"200": {
"schema": {"type": "string"},
"description": "Service supervision timer refreshed, OK"
},
"201": {"description": "Created"},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {"description": "The service is not found, needs re-registration"}
},
"parameters": [{
"in": "query",
"allowEmptyValue": false,
"name": "name",
"description": "The name of the service",
"type": "string",
"required": true
}],
"tags": ["A1 Policy Management Version 1.0"],
"consumes": ["application/json"]
}},
"/a1-policy/v2/policy-types/{policytype_id}": {"get": {
"summary": "Returns a policy type definition",
"deprecated": false,
"produces": ["application/json"],
"operationId": "getPolicyTypeUsingGET",
"responses": {
"200": {
"schema": {"$ref": "#/definitions/policytype_v2"},
"description": "Policy type"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Policy type is not found"
}
},
"parameters": [{
"in": "path",
"name": "policytype_id",
"description": "policytype_id",
"type": "string",
"required": true
}],
"tags": ["A1 Policy Management Version 2.0 (in progress)"]
}},
"/status": {"get": {
"summary": "Returns status and statistics of this service",
"deprecated": false,
"produces": ["*/*"],
"operationId": "getStatusUsingGET_1",
"responses": {
"200": {
"schema": {"type": "string"},
"description": "Service is living"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {"description": "Not Found"}
},
"tags": ["A1 Policy Management Version 1.0"]
}},
"/a1-policy/v2/policies": {
"get": {
"summary": "Query policy identities",
"deprecated": false,
"produces": ["application/json"],
"description": "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.",
"operationId": "getPolicyIdsUsingGET_1",
"responses": {
"200": {
"schema": {"$ref": "#/definitions/policy_id_list_v2"},
"description": "Policy identities"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Near-RT RIC or type not found"
}
},
"parameters": [
{
"in": "query",
"allowEmptyValue": false,
"name": "policytype_id",
"description": "The identity of the policy type to get policies for.",
"type": "string",
"required": false
},
{
"in": "query",
"allowEmptyValue": false,
"name": "ric_id",
"description": "The identity of the Near-RT RIC to get policies for.",
"type": "string",
"required": false
},
{
"in": "query",
"allowEmptyValue": false,
"name": "service_id",
"description": "The identity of the service to get policies for.",
"type": "string",
"required": false
}
],
"tags": ["A1 Policy Management Version 2.0 (in progress)"]
},
"put": {
"summary": "Create or update a policy",
"deprecated": false,
"produces": ["application/json"],
"operationId": "putPolicyUsingPUT_1",
"responses": {
"200": {"description": "Policy updated"},
"201": {"description": "Policy created"},
"401": {"description": "Unauthorized"},
"423": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Near-RT RIC is not operational"
},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Near-RT RIC or policy type is not found"
}
},
"parameters": [{
"schema": {"$ref": "#/definitions/policy_info_v2"},
"in": "body",
"name": "policyInfo",
"description": "policyInfo",
"required": true
}],
"tags": ["A1 Policy Management Version 2.0 (in progress)"],
"consumes": ["application/json"]
}
},
"/r-app/pms-callback": {"post": {
"summary": "Callback for Near-RT RIC status",
"deprecated": false,
"produces": ["application/json"],
"description": "The URL to this call is registerred at Service registration.",
"operationId": "jobStatusCallbackUsingPOST",
"responses": {
"200": {"description": "OK"},
"201": {"description": "Created"},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {"description": "Not Found"}
},
"parameters": [{
"schema": {"$ref": "#/definitions/service_callback_info_v2"},
"in": "body",
"name": "body",
"description": "body",
"required": true
}],
"tags": ["R-App Callbacks"],
"consumes": ["application/json"]
}},
"/a1-policy/v2/services/{service_id}": {"delete": {
"summary": "Unregister a service",
"deprecated": false,
"produces": ["*/*"],
"operationId": "deleteServiceUsingDELETE_1",
"responses": {
"200": {"description": "Not used"},
"401": {"description": "Unauthorized"},
"204": {
"schema": {"type": "object"},
"description": "Service unregistered"
},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Service not found"
}
},
"parameters": [{
"in": "path",
"name": "service_id",
"description": "service_id",
"type": "string",
"required": true
}],
"tags": ["A1 Policy Management Version 2.0 (in progress)"]
}},
"/service": {"put": {
"summary": "Register a service",
"deprecated": false,
"produces": ["*/*"],
"operationId": "putServiceUsingPUT",
"responses": {
"200": {
"schema": {"type": "string"},
"description": "Service updated"
},
"201": {
"schema": {"type": "string"},
"description": "Service created"
},
"400": {
"schema": {"type": "string"},
"description": "The ServiceRegistrationInfo is not accepted"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {"description": "Not Found"}
},
"parameters": [{
"schema": {"$ref": "#/definitions/service_registration_info_v1"},
"in": "body",
"name": "registrationInfo",
"description": "registrationInfo",
"required": true
}],
"tags": ["A1 Policy Management Version 1.0"],
"consumes": ["application/json"]
}},
"/a1-policy/v2/policies/{policy_id}/status": {"get": {
"summary": "Returns a policy status",
"deprecated": false,
"produces": ["application/json"],
"operationId": "getPolicyStatusUsingGET_1",
"responses": {
"200": {
"schema": {"$ref": "#/definitions/policy_status_info_v2"},
"description": "Policy status"
},
"401": {"description": "Unauthorized"},
"403": {"description": "Forbidden"},
"404": {
"schema": {"$ref": "#/definitions/error_information"},
"description": "Policy is not found"
}
},
"parameters": [{
"in": "path",
"name": "policy_id",
"description": "policy_id",
"type": "string",
"required": true
}],
"tags": ["A1 Policy Management Version 2.0 (in progress)"]
}}
},
"definitions": {
"error_information": {
"description": "Problem as defined in https://tools.ietf.org/html/rfc7807",
"type": "object",
"title": "error_information",
"properties": {
"detail": {
"description": " A human-readable explanation specific to this occurrence of the problem.",
"type": "string",
"example": "Policy type not found"
},
"status": {
"format": "int32",
"description": "The HTTP status code generated by the origin server for this occurrence of the problem. ",
"type": "integer",
"example": 503
}
}
},
"void": {
"description": "Void/empty",
"type": "object",
"title": "void"
},
"status_info_v2": {
"type": "object",
"title": "status_info_v2",
"properties": {"status": {
"description": "status text",
"type": "string"
}}
},
"policy_info_v1": {
"type": "object",
"title": "policy_info_v1",
"properties": {
"service": {
"description": "the name of the service owning the policy",
"type": "string"
},
"json": {
"description": "the configuration of the policy",
"type": "object"
},
"id": {
"description": "identity of the policy",
"type": "string"
},
"lastModified": {
"description": "timestamp, last modification time",
"type": "string"
},
"type": {
"description": "name of the policy type",
"type": "string"
},
"ric": {
"description": "identity of the target Near-RT RIC",
"type": "string"
}
}
},
"Mono«ResponseEntity«object»»": {
"type": "object",
"title": "Mono«ResponseEntity«object»»"
},
"ric_info_v2": {
"description": "Information for a Near-RT RIC",
"type": "object",
"title": "ric_info_v2",
"properties": {
"ric_id": {
"description": "identity of the Near-RT RIC",
"type": "string"
},
"managed_element_ids": {
"description": "O1 identities for managed entities",
"type": "array",
"items": {"type": "string"}
},
"state": {
"description": "State for the Near-RT RIC, values: \nUNAVAILABLE: The Near-RT RIC is not avialable, information may be inconsistent \nAVAILABLE: The normal state. Policies can be configured. +\nSYNCHRONIZING: The Policy Management Service is synchronizing the view of the Near-RT RIC. Policies cannot be configured. \nCONSISTENCY_CHECK: A consistency check between the Policy Management Service and the Near-RT RIC. Policies cannot be configured.",
"type": "string",
"enum": [
"UNAVAILABLE",
"AVAILABLE",
"SYNCHRONIZING",
"CONSISTENCY_CHECK"
]
},
"policytype_ids": {
"description": "supported policy types",
"type": "array",
"items": {"type": "string"}
}
}
},
"service_registration_info_v1": {
"type": "object",
"title": "service_registration_info_v1",
"properties": {
"keepAliveIntervalSeconds": {
"format": "int64",
"description": "keep alive interval for the service. This is a heartbeat supervision of the service, which in regular intevals must invoke a 'keepAlive' REST call. When a service does not invoke this call within the given time, it is considered unavailble. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means no timeout supervision.",
"type": "integer"
},
"callbackUrl": {
"description": "callback for notifying of RIC synchronization",
"type": "string"
},
"serviceName": {"type": "string"}
}
},
"policy_info_list_v2": {
"description": "List of policy information",
"type": "object",
"title": "policy_info_list_v2",
"properties": {"policies": {
"description": "List of policy information",
"type": "array",
"items": {"$ref": "#/definitions/policy_info_v2"}
}}
},
"service_registration_info_v2": {
"description": "Information for one service",
"type": "object",
"title": "service_registration_info_v2",
"required": ["service_id"],
"properties": {
"callback_url": {
"description": "callback for notifying of Near-RT RIC state changes",
"type": "string"
},
"service_id": {
"description": "identity of the service",
"type": "string"
},
"keep_alive_interval_seconds": {
"format": "int64",
"description": "keep alive interval for the service. This is a heartbeat supervision of the service, which in regular intevals must invoke a 'keepAlive' REST call. When a service does not invoke this call within the given time, it is considered unavailble. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means no timeout supervision.",
"type": "integer"
}
}
},
"ric_info_v1": {
"type": "object",
"title": "ric_info_v1",
"properties": {
"managedElementIds": {
"description": "O1 identities for managed entities",
"type": "array",
"items": {"type": "string"}
},
"policyTypes": {
"description": "supported policy types",
"type": "array",
"items": {"type": "string"}
},
"state": {
"description": "state info",
"type": "string"
},
"ricName": {
"description": "identity of the Near-RT RIC",
"type": "string"
}
}
},
"policy_status_info_v2": {
"description": "Status for one A1-P Policy",
"type": "object",
"title": "policy_status_info_v2",
"properties": {
"last_modified": {
"description": "timestamp, last modification time",
"type": "string"
},
"status": {
"description": "the Policy status",
"type": "object"
}
}
},
"service_status_v1": {
"type": "object",
"title": "service_status_v1",
"properties": {
"keepAliveIntervalSeconds": {
"format": "int64",
"description": "policy keep alive timeout",
"type": "integer"
},
"callbackUrl": {
"description": "callback for notifying of RIC synchronization",
"type": "string"
},
"timeSinceLastActivitySeconds": {
"format": "int64",
"description": "time since last invocation by the service",
"type": "integer"
},
"serviceName": {
"description": "identity of the service",
"type": "string"
}
}
},
"service_status_v2": {
"type": "object",
"title": "service_status_v2",
"properties": {
"callback_url": {
"description": "callback for notifying of RIC synchronization",
"type": "string"
},
"service_id": {
"description": "identity of the service",
"type": "string"
},
"keep_alive_interval_seconds": {
"format": "int64",
"description": "policy keep alive timeout",
"type": "integer"
},
"time_since_last_activity_seconds": {
"format": "int64",
"description": "time since last invocation by the service",
"type": "integer"
}
}
},
"policytype_v2": {
"description": "Policy type",
"type": "object",
"title": "policytype_v2",
"properties": {"policy_schema": {
"description": "Policy type json scema. The schema is a json object following http://json-schema.org/draft-07/schema",
"type": "object"
}}
},
"ric_info_list_v2": {
"description": "List of Near-RT RIC information",
"type": "object",
"title": "ric_info_list_v2",
"properties": {"rics": {
"description": "List of Near-RT RIC information",
"type": "array",
"items": {"$ref": "#/definitions/ric_info_v2"}
}}
},
"policytype_id_list_v2": {
"description": "Information about policy types",
"type": "object",
"title": "policytype_id_list_v2",
"properties": {"policytype_ids": {
"description": "Policy type identities",
"type": "array",
"items": {"type": "string"}
}}
},
"policy_id_list_v2": {
"description": "A list of policy identities",
"type": "object",
"title": "policy_id_list_v2",
"properties": {"policy_ids": {
"description": "Policy identities",
"type": "array",
"items": {"type": "string"}
}}
},
"policy_info_v2": {
"description": "Information for one A1-P Policy",
"type": "object",
"title": "policy_info_v2",
"required": [
"policy_data",
"policy_id",
"policytype_id",
"ric_id",
"service_id"
],
"properties": {
"ric_id": {
"description": "identity of the target Near-RT RIC",
"type": "string"
},
"policy_id": {
"description": "identity of the policy",
"type": "string"
},
"transient": {
"description": "if true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.",
"type": "boolean"
},
"service_id": {
"description": "the name of the service owning the policy",
"type": "string"
},
"policy_data": {
"description": "the configuration of the policy",
"type": "object"
},
"status_notification_uri": {
"description": "Callback URI for policy status updates",
"type": "string"
},
"policytype_id": {
"description": "identity of the policy type",
"type": "string"
}
}
},
"service_list_v2": {
"description": "List of service information",
"type": "object",
"title": "service_list_v2",
"properties": {"service_list": {
"description": "List of service information",
"type": "array",
"items": {"$ref": "#/definitions/service_status_v2"}
}}
},
"service_callback_info_v2": {
"description": "Information transferred as in Service callbacks (callback_url)",
"type": "object",
"title": "service_callback_info_v2",
"required": [
"event_type",
"ric_id"
],
"properties": {
"ric_id": {
"description": "identity of a Near-RT RIC",
"type": "string"
},
"event_type": {
"description": "values:\nAVAILABLE: the Near-RT RIC has become available for A1 Policy management",
"type": "string",
"enum": ["AVAILABLE"]
}
}
},
"Mono«ResponseEntity«string»»": {
"type": "object",
"title": "Mono«ResponseEntity«string»»"
}
},
"swagger": "2.0",
"info": {
"x-audience": "external-partner",
"x-api-id": "60f9a0e7-343f-43bf-9194-d8d65688d465",
"contact": {
"name": "Ericsson Software Technology",
"email": "nonrtric@est.tech"
},
"description": "The O-RAN Non-RT RIC Policy Management Service provides a REST API for management of A1 policices. \nIt provides support for:<ul><li>A1 Policy creation and modification.<\/li><li>Maintaining a view of supported Near-RT RIC policy types <\/li><li>Supervision of using services (R-APPs). When a service is unavailble, its policies are removed. <\/li> <li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs <\/li><\/ul>",
"title": "A1 Policy management service",
"version": "1.1.0"
},
"tags": [
{
"name": "A1 Policy Management Version 1.0",
"description": "Policy Controller"
},
{
"name": "A1 Policy Management Version 2.0 (in progress)",
"description": "Policy Controller"
},
{
"name": "Component Configuration",
"description": "Configuration Controller"
},
{
"name": "R-App Callbacks",
"description": "Rapp Simulator Controller"
}
]
}