blob: efd5b8c161dfe2148ba5188cb0addbf2246cc7c2 [file] [log] [blame]
swagger: "2.0"
info:
description: This is the initial REST API for RIC subscription
version: 0.0.1
title: RIC subscription
license:
name: Apache 2.0
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
host: hostname
basePath: /ric/v1
schemes:
- http
paths:
/subscriptions:
get:
summary: Returns list of subscriptions
tags:
- "query"
operationId: getAllSubscriptions
produces:
- application/json
responses:
'200':
description: successful query of subscriptions
schema:
$ref: '#/definitions/SubscriptionList'
'500':
description: Internal error
/subscriptions/report:
post:
tags:
- "report"
summary: Subscribe a list of X2AP event triggers to receive "REPORT" messages sent by RAN or Subscribe to receive the content of gNB NRT table in REPORT message sent by RAN
operationId: subscribeReport
consumes:
- application/json
produces:
- application/json
parameters:
- name: ReportParams
in: body
description: Subscription report parameters
schema:
$ref: '#/definitions/ReportParams'
responses:
'201':
description: Subscription successfully created
schema:
$ref: '#/definitions/SubscriptionResponse'
'400':
description: Invalid input
'500':
description: Internal error
/subscriptions/policy:
post:
tags:
- "policy"
summary: Subscribe and send "POLICY" message to RAN to execute a specific POLICY during call processing in RAN after each occurrence of a defined SUBSCRIPTION
operationId: subscribePolicy
consumes:
- application/json
produces:
- application/json
parameters:
- name: PolicyParams
in: body
description: Subscription policy parameters
schema:
$ref: '#/definitions/PolicyParams'
responses:
'201':
description: Subscription successfully created
schema:
$ref: '#/definitions/SubscriptionResponse'
'400':
description: Invalid input
'500':
description: Internal error
/subscriptions/{subscriptionId}:
delete:
tags:
- "common"
summary: Unsubscribe X2AP events from Subscription Manager
operationId: Unsubscribe
consumes:
- application/json
produces:
- application/json
parameters:
- name: subscriptionId
in: path
description: The subscriptionId received in the Subscription Response
required: true
type: string
responses:
'204':
description: Operation done successfully
'400':
description: Invalid subscriptionId supplied
'500':
description: Internal error
definitions:
SubscriptionType:
type: string
enum:
- insert
- policy
- report
ReportParams:
type: object
required:
- RANFunctionID
- ClientEndpoint
- EventTriggers
properties:
Meid:
type: string
RANFunctionID:
type: integer
ClientEndpoint:
type: string
EventTriggers:
$ref: '#/definitions/EventTriggerList'
ReportActionDefinitions:
$ref: '#/definitions/ReportActionDefinition'
EventTrigger:
type: object
properties:
InterfaceDirection:
type: integer
ProcedureCode:
type: integer
TypeOfMessage:
type: integer
TriggerNature:
type: string
enum:
- now
- on change
PlmnId:
type: string
ENBId:
type: string
EventTriggerList:
type: array
items:
$ref: '#/definitions/EventTrigger'
ActionParameters:
type: object
required:
- ActionParameterID
- ActionParameterValue
properties:
ActionParameterID:
type: integer
ActionParameterValue:
type: boolean
Format1ActionDefinition:
type: object
required:
- StyleID
- ActionParameters
properties:
StyleID:
type: integer
ActionParameters:
type: array
items:
$ref: '#/definitions/ActionParameters'
ReportActionDefinition:
type: object
properties:
ActionDefinitionFormat1:
$ref: '#/definitions/Format1ActionDefinition'
PolicyParams:
type: object
required:
- Meid
- RANFunctionID
- ClientEndpoint
- EventTriggers
- PolicyActionDefinitions
properties:
Meid:
type: string
RANFunctionID:
type: integer
ClientEndpoint:
type: string
EventTriggers:
$ref: '#/definitions/EventTriggerList'
PolicyActionDefinitions:
$ref: '#/definitions/PolicyActionDefinition'
PolicyActionDefinition:
type: object
properties:
ActionDefinitionFormat2:
$ref: '#/definitions/Format2ActionDefinition'
Format2ActionDefinition:
type: object
required:
- RANUeGroupParameters
properties:
RANUeGroupParameters:
type: array
items:
$ref: '#/definitions/RANUeGroupList'
RANUeGroupList:
type: object
required:
- RANUeGroupID
- RANUeGroupDefinition
- RANImperativePolicy
properties:
RANUeGroupID:
type: integer
RANUeGroupDefinition:
$ref: '#/definitions/RANUeGroupParams'
RANImperativePolicy:
$ref: '#/definitions/ImperativePolicyDefinition'
RANUeGroupParams:
type: object
required:
- RANParameterID
- RANParameterValue
properties:
RANParameterID:
type: integer
RANParameterTestCondition:
type: string
enum:
- equal
- greaterthan
- lessthan
- contains
- present
RANParameterValue:
type: integer
ImperativePolicyDefinition:
type: object
required:
- PolicyParameterID
- PolicyParameterValue
properties:
PolicyParameterID:
type: integer
PolicyParameterValue:
type: integer
SubscriptionInstance:
type: object
required:
- RequestorId
- InstanceId
properties:
RequestorId:
type: integer
InstanceId:
type: integer
SubscriptionResponse:
type: object
required:
- SubscriptionId
- SubscriptionInstances
properties:
SubscriptionId:
type: string
SubscriptionInstances:
type: array
items:
$ref: '#/definitions/SubscriptionInstance'
SubscriptionData:
type: object
properties:
SubscriptionId:
type: integer
Meid:
type: string
Endpoint:
type: array
items:
type: string
SubscriptionList:
type: array
description: A list of subscriptions
items:
$ref: '#/definitions/SubscriptionData'