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'