blob: c2e1be0d8b5ccdc5249638524eba8d0037c0b7ed [file] [log] [blame]
swagger: '2.0'
info:
description: This is the initial REST API for RIC subscription
version: 0.0.4
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:
/config:
get:
summary: Returns the configuration of all xapps
tags:
- xapp
operationId: getXappConfigList
produces:
- application/json
- application/xml
responses:
'200':
description: successful query of xApp config
schema:
$ref: '#/definitions/XappConfigList'
'500':
description: Internal error
/subscriptions:
get:
summary: Returns list of subscriptions
tags:
- common
operationId: getAllSubscriptions
produces:
- application/json
responses:
'200':
description: successful query of subscriptions
schema:
$ref: '#/definitions/SubscriptionList'
'500':
description: Internal error
post:
tags:
- common
operationId: Subscribe
summary: Subscribe a list of X2AP event triggers to receive messages sent by RAN
consumes:
- application/json
produces:
- application/json
parameters:
- name: SubscriptionParams
in: body
description: Subscription parameters
schema:
$ref: '#/definitions/SubscriptionParams'
responses:
'201':
description: Subscription successfully created
schema:
$ref: '#/definitions/SubscriptionResponse'
'400':
description: Not Found
'404':
description: Invalid input
'500':
description: Internal error
'503':
description: Service Unavailable
'/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:
ConfigMetadata:
type: object
required:
- xappName
- configType
properties:
xappName:
type: string
description: Name of the xApp
configType:
type: string
description: The type of the content
enum:
- json
- xml
- other
XAppConfig:
type: object
required:
- metadata
- config
properties:
metadata:
$ref: '#/definitions/ConfigMetadata'
config:
type: object
description: Configuration in JSON format
XappConfigList:
type: array
items:
$ref: '#/definitions/XAppConfig'
ActionDefinition:
type: array
description: E2SM byte array. ActionDefinition is an OPTIONAL IE
items:
type: integer
SubsequentAction:
description: SubsequentAction is an OPTIONAL IE
type: object
required:
- SubsequentActionType
- TimeToWait
properties:
SubsequentActionType:
type: string
enum:
- continue
- wait
TimeToWait:
type: string
enum:
- zero
- w1ms
- w2ms
- w5ms
- w10ms
- w20ms
- w30ms
- w40ms
- w50ms
- w100ms
- w200ms
- w500ms
- w1s
- w2s
- w5s
- w10s
- w20s
- w60s
ActionToBeSetup:
type: object
required:
- ActionID
- ActionType
properties:
ActionID:
type: integer
minimum: 0
maximum: 255
ActionType:
type: string
enum:
- insert
- policy
- report
ActionDefinition:
$ref: '#/definitions/ActionDefinition'
SubsequentAction:
$ref: '#/definitions/SubsequentAction'
ActionsToBeSetup:
type: array
items:
$ref: '#/definitions/ActionToBeSetup'
EventTriggerDefinition:
type: array
description: E2SM byte array
items:
type: integer
SubscriptionDetail:
type: object
required:
- XappEventInstanceId
- EventTriggers
- ActionToBeSetupList
properties:
XappEventInstanceId:
type: integer
minimum: 0
maximum: 65535
EventTriggers:
$ref: '#/definitions/EventTriggerDefinition'
ActionToBeSetupList:
$ref: '#/definitions/ActionsToBeSetup'
SubscriptionDetailsList:
type: array
items:
$ref: '#/definitions/SubscriptionDetail'
SubscriptionParams:
type: object
required:
- ClientEndpoint
- Meid
- RANFunctionID
- SubscriptionDetails
properties:
SubscriptionId:
type: string
description: Optional subscription ID (Submgr allocates if not given)
ClientEndpoint:
type: object
description: xApp service address and port
properties:
Host:
description: >-
xApp service address name like
'service-ricxapp-xappname-http.ricxapp'
type: string
HTTPPort:
description: xApp HTTP service address port
type: integer
minimum: 0
maximum: 65535
RMRPort:
description: xApp RMR service address port
type: integer
minimum: 0
maximum: 65535
Meid:
type: string
RANFunctionID:
type: integer
minimum: 0
maximum: 4095
E2SubscriptionDirectives:
description: Optional. If not set Submgr uses its default values
type: object
properties:
E2TimeoutTimerValue:
description: How long time response is waited from E2 node
type: integer
minimum: 1
maximum: 10
E2RetryCount:
description: How many times E2 subscription request is retried
type: integer
minimum: 0
maximum: 10
RMRRoutingNeeded:
description: Subscription needs RMR route from E2Term to xApp
type: boolean
SubscriptionDetails:
$ref: '#/definitions/SubscriptionDetailsList'
SubscriptionResponse:
type: object
required:
- SubscriptionId
- SubscriptionInstances
properties:
SubscriptionId:
type: string
SubscriptionInstances:
type: array
items:
$ref: '#/definitions/SubscriptionInstance'
SubscriptionInstance:
type: object
required:
- XappEventInstanceId
- E2EventInstanceId
properties:
XappEventInstanceId:
type: integer
minimum: 0
maximum: 65535
E2EventInstanceId:
type: integer
minimum: 0
maximum: 65535
ErrorCause:
description: Descriptive error cause. Empty string when no error.
type: string
ErrorSource:
description: Source of error cause.
type: string
enum: [SUBMGR, RTMGR, DBAAS, ASN1, E2Node]
TimeoutType:
description: Type timeout. xApp should retry if timeout occurs.
type: string
enum: [E2-Timeout, RTMGR-Timeout, DBAAS-Timeout]
SubscriptionData:
type: object
properties:
SubscriptionId:
type: integer
Meid:
type: string
ClientEndpoint:
type: array
items:
type: string
SubscriptionInstances:
type: array
items:
$ref: '#/definitions/SubscriptionInstance'
SubscriptionList:
type: array
description: A list of subscriptions
items:
$ref: '#/definitions/SubscriptionData'