Newer
Older
"contact": {
"url": "https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api"
},
"title": "ETSI GS MEC 015 Bandwidth Management API",
"version": "2.1.1",
"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.1.1 Traffic Management APIs",
"url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/015/02.01.01_60/gs_MEC015v020101p.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": "object",
"properties": {
"bwInfo": {
"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": {
"type": "object",
"properties": {
"bwInfo": {
"$ref": "#/components/schemas/BwInfo"
}
}
}
}
}
},
"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": {
"type": "object",
"required": [
"bwInfo"
],
"properties": {
"bwInfo": {
"$ref": "#/components/schemas/BwInfo"
}
}
}
}
}
}
"/bw_allocations/{allocationId}": {
"get": {
"tags": [
],
"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": {
"type": "object",
"required": [
"bwInfo"
],
"properties": {
"bwInfo": {
"$ref": "#/components/schemas/BwInfo"
}
}
}
}
}
}
},
],
"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": {
"type": "object",
"properties": {
"bwInfo": {
"$ref": "#/components/schemas/BwInfo"
}
}
}
}
}
"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": {
"type": "object",
"required": [
"bwInfo"
],
"properties": {
"bwInfo": {
"$ref": "#/components/schemas/BwInfo"
}
}
}
}
}
],
"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": {
"type": "object",
"properties": {
"bwInfoDeltas": {
"$ref": "#/components/schemas/BwInfoDeltas"
}
}
}
}
}
"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": {
"type": "object",
"required": [
"bwInfo"
],
"properties": {
"bwInfo": {
"$ref": "#/components/schemas/BwInfo"
}
}
}
}
}
}
},
],
"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.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"problemDetails": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
"403": {
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"problemDetails"
],
"properties": {
"problemDetails": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
"404": {
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"problemDetails": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"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",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"problemDetails": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
},
"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. 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. 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. See note.",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
"properties": {
"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",
"enum": [
"SEE_DESCRIPTION"
],
"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",
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
"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 (including range)",
"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 (including range)",
"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": {
"type": "integer",
"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": {
"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",
"enum": [
"SEE DESCRIPTION"
],
"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": "string",
"enum": [
0,
1
],
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Enum_inlined"
},
"sessionFilter": {
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
"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 (including range)",
"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 (including range)",
"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": [
],
"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"
}
}