Newer
Older
"contact": {
"url": "https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api"
},
"title": "ETSI GS MEC 015 Bandwidth Management API",
"description": "The ETSI MEC ISG Bandwidth Management API described using OpenAPI.",
"name": "BSD-3-Clause",
"url": "https://forge.etsi.org/legal-matters"
"description": "ETSI GS MEC015 V2.2.1 Traffic Management APIs",
"url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/015/02.02.01_60/gs_MEC015v020201p.pdf"
"url": "https://localhost/bwm/v1"
}
],
"tags": [
{
"name": "bwm"
}
],
"paths": {
"/bw_allocations": {
"get": {
"summary": "Retrieve information about a list of bandwidthAllocation resources",
"description": "Retrieves information about a list of bandwidthAllocation resources. Typically used in 'Get configured bandwidth allocation from Bandwidth Management Service' procedure as described in clause 6.2.5.",
"operationId": "bandwidthAllocationListGET",
"$ref": "#/components/parameters/Query.app_instance_id"
"$ref": "#/components/parameters/Query.app_name"
"$ref": "#/components/parameters/Query.session_id"
"description": "Upon success, a response body containing an array of the bandwidthAllocations is returned.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BwInfo"
"summary": "Create a bandwidthAllocation resource",
"description": "Used to create a bandwidthAllocation resource. Typically used in 'Register to Bandwidth Management Service' procedure as described in clause 6.2.1.",
"operationId": "bandwidthAllocationPOST",
"parameters": [],
"requestBody": {
"description": "Entity body in the request contains BwInfo to be created.",
"required": true,
"content": {
"application/json": {
"schema": {
"description": "Upon success, the HTTP response shall include a 'Location' HTTP header that contains the resource URI of the created resource.",
"content": {
"application/json": {
"schema": {
}
"/bw_allocations/{allocationId}": {
"get": {
"summary": "Retrieve information about a specific bandwidthAllocation",
"description": "Retrieves information about a bandwidthAllocation resource. Typically used in 'Get configured bandwidth allocation from Bandwidth Management Service' procedure as described in clause 6.2.5.",
"operationId": "bandwidthAllocationGET",
"parameters": [
{
"$ref": "#/components/parameters/Path.allocationId"
}
"description": "Used to indicate nonspecific success. The response body contains a representation of the resource.",
"content": {
"application/json": {
"schema": {
}
},
"summary": "Update the information about a specific bandwidthAllocation",
"description": "Updates the information about a bandwidthAllocation resource. As specified in ETSI GS MEC 009 [6], the PUT HTTP method has 'replace' semantics.",
"operationId": "bandwidthAllocationPUT",
"description": "BwInfo with updated information is included as entity body of the request.",
"required": true,
"content": {
"application/json": {
"schema": {
"parameters": [
{
"$ref": "#/components/parameters/Path.allocationId"
}
"description": "Used to indicate nonspecific success. The response body contains a representation of the resource.",
"content": {
"application/json": {
"schema": {
"summary": "Modify the information about a specific existing bandwidthAllocation by sending updates on the data structure",
"description": "Updates the information about a bandwidthAllocation resource. As specified in ETSI GS MEC 009 [6], the PATCH HTTP method updates a resource on top of the existing resource state by just including the changes ('deltas') in the request body.",
"operationId": "bandwidthAllocationPATCH",
"description": "Description of the changes to instruct the server how to modify the resource representation.",
"required": true,
"content": {
"application/json": {
"schema": {
"parameters": [
{
"$ref": "#/components/parameters/Path.allocationId"
}
"description": "Used to indicate nonspecific success. The response body contains a representation of the resource.",
"content": {
"application/json": {
"schema": {
}
},
"summary": "Remove a specific bandwidthAllocation",
"description": "Used in 'Unregister from Bandwidth Management Service' procedure as described in clause 6.2.3.",
"operationId": "bandwidthAllocationDELETE",
"parameters": [
{
"$ref": "#/components/parameters/Path.allocationId"
}
}
}
}
}
},
"components": {
"responses": {
"204": {
"description": "Upon success, a response 204 No Content without any response body is returned."
"400": {
"description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
"403": {
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"404": {
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
}
"412": {
"description": "Precondition failed : used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT",
}
}
},
"parameters": {
"Path.allocationId": {
"name": "allocationId",
"in": "path",
"description": "Represents a bandwidth allocation instance",
"required": true,
"schema": {
"type": "string"
"Query.app_instance_id": {
"name": "app_instance_id",
"in": "query",
"description": "A MEC application instance may use multiple app_instance_ids as an input parameter to query the bandwidth allocation of a list of MEC application instances. app_instance_id corresponds to appInsId defined in table 7.2.2-1. See note.",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
"Query.app_name": {
"name": "app_name",
"in": "query",
"description": "A MEC application instance may use multiple app_names as an input parameter to query the bandwidth allocation of a list of MEC application instances. app_name corresponds to appName defined in table 7.2.2-1. See note.",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
"Query.session_id": {
"name": "session_id",
"in": "query",
"description": "A MEC application instance may use session_id as an input parameter to query the bandwidth allocation of a list of sessions. session_id corresponds to allocationId defined in table 7.2.2-1. See note.",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
"properties": {
"allocationId": {
"description": "Bandwidth allocation instance identifier",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String"
},
"appName": {
"description": "Name of the application",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String"
},
"allocationDirection": {
"description": "The direction of the requested BW allocation: 00 = Downlink (towards the UE) 01 = Uplink (towards the application/session) 10 = Symmetrical",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"appInsId": {
"description": "Application instance identifier",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"fixedAllocation": {
"description": "Size of requested fixed BW allocation in [bps]",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"fixedBWPriority": {
"description": "Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Enum"
},
"requestType": {
"description": "Numeric value (0 - 255) corresponding to specific type of consumer as following: 0 = APPLICATION_SPECIFIC_BW_ALLOCATION 1 = SESSION_SPECIFIC_BW_ALLOCATION",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Enum_inlined"
},
"sessionFilter": {
"description": "Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only. In case multiple sessions match sessionFilter the request shall be rejected",
"items": {
"type": "object",
"properties": {
"dstAddress": {
"description": "Destination address identity of session. The string for an IPv4 address shall be formatted in the \"dotted decimal\" notation as defined in IETF RFC 1166 [10]. The string for an IPv6 address shall be formatted according to clause 4 of IETF RFC 5952 [11], with in CIDR notation [12] used to provide the routing prefix",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String"
},
"dstPort": {
"description": "Destination port identity of session",
"items": {
"type": "string"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "String"
},
"protocol": {
"description": "Protocol number",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String"
},
"sourceIp": {
"description": "Source address identity of session. The string for an IPv4 address shall be formatted in the \"dotted decimal\" notation as defined in IETF RFC 1166 [10]. The string for an IPv6 address shall be formatted according to clause 4 of IETF RFC 5952 [11], with in CIDR notation [12] used to provide the routing prefix",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String"
},
"sourcePort": {
"description": "Source port identity of session",
"items": {
"type": "string"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "String"
}
}
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "Structure (inlined)"
},
"timeStamp": {
"description": "Time stamp to indicate when the corresponding information elements are sent",
"properties": {
"nanoSeconds": {
"description": "The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Uint32"
},
"seconds": {
"type": "integer",
"description": "The seconds part of the Time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Uint32"
}
},
"required": ["seconds", "nanoSeconds"],
"type": "object",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Structure (inlined)"
}
"required": [
"appInsId",
"requestType",
"fixedAllocation",
"allocationDirection"
],
"type": "object",
"x-etsi-ref": "7.2.2"
},
"BwInfoDeltas": {
"properties": {
"allocationId": {
"description": "Bandwidth allocation instance identifier",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"allocationDirection": {
"description": "The direction of the requested BW allocation: 00 = Downlink (towards the UE) 01 = Uplink (towards the application/session) 10 = Symmetrical",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String"
},
"appInsId": {
"description": "Application instance identifier",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"fixedAllocation": {
"description": "Size of requested fixed BW allocation in [bps]",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String"
},
"fixedBWPriority": {
"description": "Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Enum_inlined"
},
"requestType": {
"description": "Numeric value (0 - 255) corresponding to specific type of consumer as following: 0 = APPLICATION_SPECIFIC_BW_ALLOCATION 1 = SESSION_SPECIFIC_BW_ALLOCATION",
"type": "integer",
"enum": [0, 1],
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Enum_inlined"
},
"sessionFilter": {
"description": "Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only. In case multiple sessions match sessionFilter the request shall be rejected",
"items": {
"type": "object",
"properties": {
"dstAddress": {
"description": "Destination address identity of session. The string for an IPv4 address shall be formatted in the \"dotted decimal\" notation as defined in IETF RFC 1166 [10]. The string for an IPv6 address shall be formatted according to clause 4 of IETF RFC 5952 [11], with in CIDR notation [12] used to provide the routing prefix",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String"
},
"dstPort": {
"description": "Destination port identity of session",
"items": {
"type": "string"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "String"
},
"protocol": {
"description": "Protocol number",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String"
},
"sourceIp": {
"description": "Source address identity of session. The string for an IPv4 address shall be formatted in the \"dotted decimal\" notation as defined in IETF RFC 1166 [10]. The string for an IPv6 address shall be formatted according to clause 4 of IETF RFC 5952 [11], with in CIDR notation [12] used to provide the routing prefix",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String"
},
"sourcePort": {
"description": "Source port identity of session ",
"items": {
"type": "string"
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "String"
}
}
},
"minItems": 0,
"type": "array",
"x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "Structure (inlined)"
}
"required": ["allocationId", "appInsId", "requestType"],
"type": "object",
"x-etsi-ref": "7.2.3"
},
"ProblemDetails": {
"properties": {
"detail": {
"description": "A human-readable explanation specific to this occurrence of the problem",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String"
},
"instance": {
"description": "A URI reference that identifies the specific occurrence of the problem",
"format": "uri",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "URI"
},
"status": {
"description": "The HTTP status code for this occurrence of the problem",
"type": "integer",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Uint32"
},
"title": {
"description": "A short, human-readable summary of the problem type",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String"
},
"type": {
"description": "A URI reference according to IETF RFC 3986 that identifies the problem type",
"format": "uri",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "URI"
}
}