Newer
Older
"description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Unsupported Media Type : used to indicate that the server or the client does not support the content type of the entity body.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Unprocessable Entity : used to indicate that the server understands the content type of the request entity and that the syntax of the request entity is correct but that the server is unable to process the contained instructions. This error condition can occur if an JSON request body is syntactically correct but semantically incorrect, for example if the target area for the request is considered too large. This error condition can also occur if the capabilities required by the request are not supported.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"deprecated": false
},
"parameters": []
},
"/subscriptions/{subscriptionId}": {
"get": {
"tags": [
"subscriptions"
],
"summary": "Retrieve information about this subscription.",
"description": "Retrieve information about this subscription.",
"operationId": "sub_byIdGET",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Refers to created subscription, where the AMS API allocates a unique resource name for this subscription",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "A response body containing data type describing the specific RNI event subscription",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/MobilityProcedureSubscription"
},
{
"$ref": "#/components/schemas/AdjacentAppInfoSubscription"
}
],
"contentMediaType": "application/json"
"description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"put": {
"tags": [
"subscriptions"
],
"summary": "update the existing individual subscription.",
"description": "update the existing individual subscription.",
"operationId": "sub_byIdPUT",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Refers to created subscription, where the AMS API allocates a unique resource name for this subscription",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/MobilityProcedureSubscription"
},
{
"$ref": "#/components/schemas/AdjacentAppInfoSubscription"
}
],
"contentMediaType": "application/json"
"description": "a response body containing data type describing the updated subscription",
"headers": {},
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/MobilityProcedureSubscription"
},
{
"$ref": "#/components/schemas/AdjacentAppInfoSubscription"
}
],
"contentMediaType": "application/json"
"description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Precondition failed : used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Unprocessable Entity : used to indicate that the server understands the content type of the request entity and that the syntax of the request entity is correct but that the server is unable to process the contained instructions. This error condition can occur if an JSON request body is syntactically correct but semantically incorrect, for example if the target area for the request is considered too large. This error condition can also occur if the capabilities required by the request are not supported.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"delete": {
"tags": [
"subscriptions"
],
"summary": "cancel the existing individual subscription",
"description": "cancel the existing individual subscription",
"operationId": "sub_byIdDELETE",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Refers to created subscription, where the AMS API allocates a unique resource name for this subscription",
"required": true,
"style": "simple",
"204": {
"description": "No Content",
"headers": {},
"content": {}
},
"401": {
"description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"$ref": "#/components/schemas/ProblemDetails"
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"deprecated": false
},
"parameters": []
piscione
committed
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
},
"/uri_provided_by_subscriber": {
"post": {
"tags": [
"notifications"
],
"summary": "delivers a notification from the AMS resource to the subscriber",
"description": "delivers a notification from the AMS resource to the subscriber",
"operationId": "notificationPOST",
"parameters": [],
"requestBody": {
"description": "",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/MobilityProcedureNotification"
},
{
"$ref": "#/components/schemas/AdjacentAppInfoNotification"
},
{
"$ref": "#/components/schemas/ExpiryNotification"
}
],
"contentMediaType": "application/json"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "The notification was delivered successfully. The response body shall be empty.",
"headers": {},
"content": {}
},
"401": {
"description": "It is used when the client did not submit credentials.'",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"403": {
"description": "operation is not allowed given the current status of the resource.'",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Used when a client provided a URI that cannot be mapped to a valid resource URI.'",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"406": {
"description": "Used to indicate that the server cannot provide the any of the content formats supported by the client.'",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"429": {
"description": "Used when a rate limiter has triggered.'",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"AdjacentAppInfoSubscription.links": {
"title": "AdjacentAppInfoSubscription.links",
"properties": {
"self": {
"$ref": "#/components/schemas/LinkType"
}
},
"description": "Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests."
"title": "AdjacentAppInfoSubscription.filterCriteria",
"type": "object",
"properties": {
"appInstanceId": {
"type": "string"
}
},
"description": "List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response."
"title": "AdjacentAppInfoSubscription",
"required": [
"callbackReference",
"filterCriteria",
"subscriptionType"
],
"type": "object",
"properties": {
"_links": {
"$ref": "#/components/schemas/AdjacentAppInfoSubscription.links"
},
"callbackReference": {
"description": "URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service. This shall be included both in the request and in response."
piscione
committed
"requestTestNotification": {
"type": "boolean",
"description": "Shall be set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, specified in ETSI GS MEC 009, as described in clause 6.12a."
},
"websockNotifConfig": {
"$ref": "#/components/schemas/WebsockNotifConfig"
},
piscione
committed
"description": "Identifies a boundary after which the subscription will expire.",
"$ref": "#/components/schemas/TimeStamp"
},
"filterCriteria": {
"$ref": "#/components/schemas/AdjacentAppInfoSubscription.filterCriteria"
},
"subscriptionType": {
"description": "Shall be set to \"AdjacentAppInfoSubscription\".",
"examples": [
}
},
"AdjacentAppInstanceInfo": {
"title": "AdjacentAppInstanceInfo",
"appDId",
"appInstanceCommLink",
"appInstanceId"
],
"type": "object",
"properties": {
"appDId": {
"type": "string",
"description": "Identifier of the application descriptor."
},
"appInstanceCommLink": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CommunicationInterface"
},
"description": "It specifies the communication interface of application instance."
"description": "Identifier of the application instance."
},
"mecHostInformation": {
"$ref": "#/components/schemas/MECHostInformation"
piscione
committed
},
"registeredInstanceId": {
"type": "string",
"description": "dentifier of the application instance that registers to the AMS, which is instantiated from the application descriptor identified by the attribute \"appDId\"."
"enum": [
"APP_MOBILITY_NOT_ALLOWED",
"APP_MOBILITY_WITH_CONFIRMATION",
"APP_MOBILITY_WITHOUT_CONFIRMATION"
],
"type": "string",
"description": "This attribute provides an option for the application instance (server) to communicate with the application client before relocating this application instance to another MEC host.",
"examples": [
"APP_MOBILITY_NOT_ALLOWED"
]
"title": "CommunicationInterface.IpAddresses",
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "integer",
"contentEncoding": "int32"
"title": "CommunicationInterface",
"type": "object",
"properties": {
"ipAddresses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CommunicationInterface.IpAddresses"
}
}
},
"MobilityProcedureSubscription.links": {
"title": "MobilityProcedureSubscription.links",
"required": [
"self"
],
"type": "object",
"properties": {
"self": {
"$ref": "#/components/schemas/LinkType"
}
"title": "MobilityProcedureSubscription.filterCriteria",
"type": "object",
"properties": {
"appInstanceId": {
"type": "string",
piscione
committed
"description": "Identifier of the application instance that registers the Application Mobility Service."
"items": {
"$ref": "#/components/schemas/AssociateId"
},
"description": "0 to N identifiers to associate the information for specific UE(s) and flow(s)."
"items": {
"$ref": "#/components/schemas/MobilityStatus"
},
"description": "In case mobilityStatus is not included in the subscription request, the default value 1 = INTER_HOST_MOBILITY_TRIGGERED shall be used and included in the response."
},
"description": "List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response."
piscione
committed
"WebsockNotifConfig": {
"type": "object",
"properties": {
"websocketUri": {
"description": "Set by AMS to indicate to the service consumer the Websocket URI to be used for delivering notifications.",
piscione
committed
},
"requestWebsocketUri": {
"type": "boolean",
"description": "Set to true by the service consumer to indicate that Websocket delivery is requested."
}
}
},
"title": "MobilityProcedureSubscription",
"required": [
"filterCriteria",
"subscriptionType"
],
"type": "object",
"properties": {
"_links": {
"$ref": "#/components/schemas/MobilityProcedureSubscription.links"
},
"callbackReference": {
"description": "URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service. This shall be included both in the request and in response."
piscione
committed
"requestTestNotification": {
"type": "boolean",
"description": "Shall be set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, specified in ETSI GS MEC 009, as described in clause 6.12a."
},
"websockNotifConfig": {
"description": "Provides details to negotiate and signal the use of a Websocket connection between AMS and the service consumer for notifications.",
"$ref": "#/components/schemas/WebsockNotifConfig"
},
piscione
committed
"description": "Identifies a boundary after which the subscription will expire.",
"$ref": "#/components/schemas/TimeStamp"
},
"filterCriteria": {
"$ref": "#/components/schemas/MobilityProcedureSubscription.filterCriteria"
},
"subscriptionType": {
"description": "Shall be set to \"MobilityProcedureSubscription\".",
"examples": [
piscione
committed
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
"MobilityProcedureNotification": {
"title": "MobilityProcedureNotification",
"required": [
"notificationType",
"associateId",
"mobilityStatus",
"links"
],
"properties": {
"notificationType": {
"type": "string",
"description": "Shall be set to \"MobilityProcedureNotification\"."
},
"timeStamp": {
"description": "Date and time of the generation of the notification",
"$ref": "#/components/schemas/TimeStamp"
},
"associateId": {
"type": "array",
"description": "1 to N identifiers to associate the information for specific",
"items": {
"$ref": "#/components/schemas/AssociateId"
}
},
"mobilityStatus": {
"description": "Indicate the status of the UE mobility. Values are defined as following 1 = INTERHOST_MOVEOUT_TRIGGERED. 2 = INTERHOST_MOVEOUT_COMPLETED. 3 = INTERHOST_MOVEOUT_FAILED. Other values are reserved.",
"$ref": "#/components/schemas/MobilityStatus"
},
"targetAppInfo": {
"type": "object",
"required": [
"appInstanceId"
],
"properties": {
"appInstanceId": {
"type": "string",
"description": "Identifiers of the target application instance."
},
"commInterface": {
"description": "If present, it specifies the communication interface of the application instance.",
"$ref": "#/components/schemas/CommunicationInterface"
}
}
},
"_links": {
"$ref": "#/components/schemas/LinkType"
}
}
},
"AdjacentAppInfoNotification": {
"title": "AdjacentAppInfoNotification",
"required": [
"notificationType",
"_links"
],
"properties": {
"notificationType": {
"type": "string",
"description": "Shall be set to \"AdjacentAppInfoNotification\"."
},
"timeStamp": {
"description": "Date and time of the generation of the notification",
"$ref": "#/components/schemas/TimeStamp"
},
"associateId": {
"type": "array",
"description": "1 to N identifiers to associate the information for specific",
"items": {
"$ref": "#/components/schemas/AssociateId"
}
},
"adjacentAppInfo": {
"type": "object",
"required": [
"appInstanceId",
"commInterface"
],
"properties": {
"appInstanceId": {
"type": "string",
"description": "Identifier of the adjacent application instance."
},
"commInterface": {
"type": "array",
"description": "If present, it represents the communication interface(s) information of the application instance.",
"items": {
"$ref": "#/components/schemas/CommunicationInterface"
}
}
}
},
"_links": {
"$ref": "#/components/schemas/LinkType"
}
}
},
"ExpiryNotification": {
"title": "ExpiryNotification",
"required": [
"notificationType",
"_links",
"expiryDeadline"
],
"properties": {
"notificationType": {
"type": "string",
"description": "Shall be set to \"ExpiryNotification\"."
},
"timeStamp": {
"description": "Date and time of the generation of the notification",
"$ref": "#/components/schemas/TimeStamp"
},
"_links": {
"type": "object",
"required": [
"subscription"
],
"properties": {
"subscription": {
"$ref": "#/components/schemas/LinkType"
}
}
},
"expiryDeadline": {
"description": "The boundary value setting in the subscription request.",
"$ref": "#/components/schemas/TimeStamp"
}
}
},
"TestNotification": {
"title": "TestNotification",
"required": [
"notificationType",
"_links"
],
"properties": {
"notificationType": {
"type": "string",
"description": "Shall be set to \"TestNotification\"."
},
"_links": {
"type": "object",
"description": "Hyperlink related to the resource.",
"required": [
"subscription"
],
"properties": {
"subscription": {
"description": "URI identifying the subscription for the test notification.",
"$ref": "#/components/schemas/LinkType"
}
}
}
}
},
"enum": [
"INTERHOST_MOVEOUT_TRIGGERED",
"INTERHOST_MOVEOUT_COMPLETED",
"INTERHOST_MOVEOUT_FAILED"
],
"type": "string",
"description": "Indicate the status of the UE mobility",
"examples": [
"INTERHOST_MOVEOUT_TRIGGERED"
]
"title": "RegistrationInfo.deviceInformation",
"properties": {
"associateId": {
"$ref": "#/components/schemas/AssociateId"
},
"appMobilityServiceLevel": {
"$ref": "#/components/schemas/AppMobilityServiceLevel"
},
"contextTransferState": {
"$ref": "#/components/schemas/contextTransferState"
}
}
},
"RegistrationInfo.serviceConsumerId": {
"title": "RegistrationInfo.serviceConsumerId",
"type": "object",
"properties": {
"appInstanceId": {
"type": "string",
piscione
committed
"description": "If present, it represents the identifier of the application instance registering the Application Mobility Service."
piscione
committed
"description": "If present, it represents the identifier of the MEC platform registering the Application Mobility Service."
},
"description": "The identifier of service consumer requesting the application mobility service, i.e. either the application instance ID or the MEC platform ID."
"title": "RegistrationInfo",
"required": [
"serviceConsumerId"
],
"type": "object",
"properties": {
"appMobilityServiceId": {
"type": "string",
"description": "The identifier of registered application mobility service. Shall be absent in POST requests, and present otherwise."
"items": {
"$ref": "#/components/schemas/RegistrationInfo.deviceInformation"
piscione
committed
"description": "If present, it specifies the device served by the application instance which is registering is registering the Application Mobility Service."
piscione
committed
"description": "If present, it indicates the time of Application Mobility Service expiration from the time of registration accepted.The value \"0\" means infinite time, i.e. no expiration.The unit of expiry time is one second.",
},
"serviceConsumerId": {
"$ref": "#/components/schemas/RegistrationInfo.serviceConsumerId"
}
piscione
committed
"description": "List of hyperlinks related to the resource.",
"required": [
"self"
],
"type": "object",
piscione
committed
"$ref": "#/components/schemas/LinkType",
"description": "URI of this resource."
},
"subscription": {
"type": "array",
"description": "The service consumer’s subscriptions.",
"items": {
"$ref": "#/components/schemas/SubscriptionLinkList.subscription"
}
piscione
committed
}