Newer
Older
title: ETSI GS MEC 021 Application Mobility Service API
description: ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
license:
name: BSD-3-Clause
url: 'https://forge.etsi.org/legal-matters'
externalDocs:
description: ETSI GS MEC 021 Application Mobility Service API, v2.1.1
url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/021/02.01.01_60/gs_mec021v020101p.pdf
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
- url: https://localhost/amsi/v1
variables: {}
tags:
- name: adj-app-inst
description: Adjacent App instances
- name: app-mob-ser
description: Application Mobility Services
- name: app-mob-ser-der
description: Application Mobility Services Deregister task
- name: subscriptions
description: Subscription for Application Mobility Service
/queries/adjacent_app_instances:
get:
tags:
- adj-app-inst
summary: 'Retrieve information about this subscription.'
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
description: Retrieve information about this subscription.
operationId: adj_app_instGET
parameters:
- name: filter
in: query
description: Attribute-based filtering parameters according to ETSI GS MEC 011
style: form
explode: true
schema:
type: string
- name: all_fields
in: query
description: Include all complex attributes in the response.
style: form
explode: true
schema:
type: string
- name: fields
in: query
description: Complex attributes to be included into the response. See clause 6.18 in ETSI GS MEC 011
style: form
explode: true
schema:
type: string
- name: exclude_fields
in: query
description: Complex attributes to be excluded from the response.See clause 6.18 in ETSI GS MEC 011
style: form
explode: true
schema:
type: string
- name: exclude_default
in: query
description: Indicates to exclude the following complex attributes from the response See clause 6.18 in ETSI GS MEC 011 for details.
style: form
explode: true
schema:
type: string
responses:
'200':
description: A response body containing zero or more adjacent application instances
headers: {}
content:
application/json:
schema:
minItems: 0
type: array
items:
$ref: '#/components/schemas/AdjacentAppInstanceInfo'
description: ''
contentMediaType: application/json
'400':
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'403':
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
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'
'406':
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'
'429':
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
parameters: []
/app_mobility_services:
get:
summary: 'Retrieve information about the registered application mobility service.'
description: ' Retrieve information about the registered application mobility service.'
operationId: app_mobility_serviceGET
parameters:
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
- name: filter
in: query
description: Attribute-based filtering parameters according to ETSI GS MEC 011
style: form
explode: true
schema:
type: string
- name: all_fields
in: query
description: Include all complex attributes in the response.
style: form
explode: true
schema:
type: string
- name: fields
in: query
description: Complex attributes to be included into the response. See clause 6.18 in ETSI GS MEC 011
style: form
explode: true
schema:
type: string
- name: exclude_fields
in: query
description: Complex attributes to be excluded from the response.See clause 6.18 in ETSI GS MEC 011
style: form
explode: true
schema:
type: string
- name: exclude_default
in: query
description: Indicates to exclude the following complex attributes from the response See clause 6.18 in ETSI GS MEC 011 for details.
style: form
explode: true
schema:
type: string
description: Contains in an array the representations of zero or more application mobility services.
headers: {}
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RegistrationInfo'
description: ''
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'
deprecated: false
post:
summary: 'Create a new application mobility service for the service requester.'
description: Create a new application mobility service for the service requester.
requestBody:
description: Application mobility service to be created
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationInfo'
required: true
responses:
'201':
description: Successful response for application mobility service creation
$ref: '#/components/schemas/RegistrationInfo'
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'
deprecated: false
parameters: []
/app_mobility_services/{appMobilityServiceId}:
get:
tags:
- app-mob-ser
summary: 'Retrieve information about this individual application mobility service'
description: Retrieve information about this individual application mobility service
operationId: app_mobility_service_by_idGET
parameters:
- name: appMobilityServiceId
in: path
description: It uniquely identifies the created individual application mobility service
required: true
style: simple
schema:
type: string
responses:
description: Contains a representation of the application mobility service.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationInfo'
'400':
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'
deprecated: false
put:
tags:
- app-mob-ser
summary: ' update the existing individual application mobility service'
description: ' update the existing individual application mobility service'
operationId: app_mobility_service_by_idPUT
parameters:
- name: appMobilityServiceId
in: path
description: It uniquely identifies the created individual application mobility service
style: simple
schema:
type: string
requestBody:
description: ''
$ref: '#/components/schemas/RegistrationInfo'
required: true
responses:
description: Contains a data type describing the updated application mobility service.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationInfo'
'400':
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'
deprecated: false
delete:
tags:
- app-mob-ser
summary: ' deregister the individual application mobility service'
description: ' deregister the individual application mobility service'
operationId: app_mobility_service_by_idDELETE
parameters:
- name: appMobilityServiceId
in: path
description: It uniquely identifies the created individual application mobility service
required: true
style: simple
schema:
type: string
responses:
description: No Content
headers: {}
content: {}
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: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
parameters: []
/app_mobility_services/{appMobilityServiceId}/deregister_task:
post:
tags:
- app-mob-ser-der
summary: ' deregister the individual application mobility service'
description: ' deregister the individual application mobility service'
operationId: app_mobility_service_derPOST
parameters:
- name: appMobilityServiceId
in: path
description: It uniquely identifies the created individual application mobility service
required: true
style: simple
schema:
type: string
responses:
description: No Content
headers: {}
content: {}
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'
deprecated: false
parameters: []
summary: 'Retrieve information about the subscriptions for this requestor.'
description: Retrieve information about the subscriptions for this requestor.
- name: subscriptionType
in: query
description: 'Query parameter to filter on a specific subscription type. Permitted values: mobility_proc or adj_app_info'
required: true
style: form
explode: true
schema:
type: string
description: Contains the list of links to requestor subscriptions.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionLinkList'
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'
deprecated: false
post:
summary: 'Create a new subscription to Application Mobility Service notifications.'
description: Create a new subscription to Application Mobility Service notifications.
- $ref: '#/components/schemas/MobilityProcedureSubscription'
- $ref: '#/components/schemas/AdjacentAppInfoSubscription'
contentMediaType: application/json
required: true
description: Created subscription is described using the appropriate data type
headers: {}
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: '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:
description: A response body containing data type describing the specific RNI event subscription
headers: {}
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'
deprecated: false
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
style: simple
schema:
type: string
requestBody:
description: ''
- $ref: '#/components/schemas/MobilityProcedureSubscription'
- $ref: '#/components/schemas/AdjacentAppInfoSubscription'
contentMediaType: application/json
required: true
responses:
description: a response body containing data type describing the updated subscription
headers: {}
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'
deprecated: false
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
schema:
type: string
responses:
description: No Content
headers: {}
content: {}
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: []
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
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:
type: string
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.
$ref: '#/components/schemas/TimeStamp'
filterCriteria:
$ref: '#/components/schemas/AdjacentAppInfoSubscription.filterCriteria'
subscriptionType:
const: AdjacentAppInfoSubscription
description: Shall be set to "AdjacentAppInfoSubscription".
examples:
- AdjacentAppInfoSubscription
AdjacentAppInstanceInfo:
title: AdjacentAppInstanceInfo
- appDId
- appInstanceCommLink
- appInstanceId
description: Identifier of the application descriptor.
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'
AppMobilityServiceLevel:
enum:
- APP_MOBILITY_NOT_ALLOWED
- APP_MOBILITY_WITH_CONFIRMATION
- APP_MOBILITY_WITHOUT_CONFIRMATION
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