MEC021_AppMobilityService.yaml 46.7 KB
Newer Older
openapi: 3.1.0
Elian Kraja's avatar
Elian Kraja committed
info:
  title: ETSI GS MEC 021 Application Mobility Service API
  version: '2.1.1'
  description: ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
  license:
    name: BSD-3-Clause
    url: 'https://forge.etsi.org/legal-matters'  
Elian Kraja's avatar
Elian Kraja committed
  contact:
Elian Kraja's avatar
Elian Kraja committed
    name: ETSI Forge
Elian Kraja's avatar
Elian Kraja committed
    url: https://forge.etsi.org/rep/mec/gs021-amsi-api
    email: cti_support@etsi.org
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
Elian Kraja's avatar
Elian Kraja committed
servers:
- 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


Elian Kraja's avatar
Elian Kraja committed
paths:
  /queries/adjacent_app_instances:
    get:
      tags:
      - adj-app-inst
      summary: 'Retrieve information about this subscription.'
      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:
Elian Kraja's avatar
Elian Kraja committed
      tags:
      - app-mob-ser
      summary: 'Retrieve information about the registered application mobility service.'
Elian Kraja's avatar
Elian Kraja committed
      description: ' Retrieve information about the registered application mobility service.'
      operationId: app_mobility_serviceGET
      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
Elian Kraja's avatar
Elian Kraja committed
      responses:
        '200':
          description: Contains in an array the representations of zero or more application mobility services.
          headers: {}
Elian Kraja's avatar
Elian Kraja committed
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RegistrationInfo'
                description: ''
                contentMediaType: application/json
Elian Kraja's avatar
Elian Kraja committed
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '401':
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '403':
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '429':
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    post:
Elian Kraja's avatar
Elian Kraja committed
      tags:
      - app-mob-ser
      summary: 'Create a new application mobility service for the service requester.'
      description: Create a new application mobility service for the service requester.
Elian Kraja's avatar
Elian Kraja committed
      operationId: app_mobility_servicePOST
      parameters: []
Elian Kraja's avatar
Elian Kraja committed
      requestBody:
        description: Application mobility service to be created
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegistrationInfo'
        required: true
Elian Kraja's avatar
Elian Kraja committed
      responses:
        '201':
          description: Successful response for application mobility service creation
Elian Kraja's avatar
Elian Kraja committed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistrationInfo'
Elian Kraja's avatar
Elian Kraja committed
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '401':
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '403':
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '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/{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:
Elian Kraja's avatar
Elian Kraja committed
        '200':
          description: Contains a representation of the application mobility service.
          headers: {}
Elian Kraja's avatar
Elian Kraja committed
          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'
Elian Kraja's avatar
Elian Kraja committed
        '401':
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '403':
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '429':
          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
Elian Kraja's avatar
Elian Kraja committed
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
Elian Kraja's avatar
Elian Kraja committed
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegistrationInfo'
        required: true
      responses:
Elian Kraja's avatar
Elian Kraja committed
        '200':
          description: Contains a data type describing the updated application mobility service.
          headers: {}
Elian Kraja's avatar
Elian Kraja committed
          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'
Elian Kraja's avatar
Elian Kraja committed
        '401':
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '403':
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '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'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '422':
          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'
Elian Kraja's avatar
Elian Kraja committed
        '429':
          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:
Elian Kraja's avatar
Elian Kraja committed
        '204':
          description: No Content
          headers: {}
          content: {}
Elian Kraja's avatar
Elian Kraja committed
        '401':
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '403':
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '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/{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:
Elian Kraja's avatar
Elian Kraja committed
        '204':
          description: No Content
          headers: {}
          content: {}
Elian Kraja's avatar
Elian Kraja committed
        '401':
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '403':
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '429':
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
  /subscriptions:
Elian Kraja's avatar
Elian Kraja committed
      tags:
      - subscriptions
      summary: 'Retrieve information about the subscriptions for this requestor.'
      description: Retrieve information about the subscriptions for this requestor.
Elian Kraja's avatar
Elian Kraja committed
      operationId: subGET
      parameters:
      - 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
Elian Kraja's avatar
Elian Kraja committed
      responses:
        '200':
          description: Contains  the list of links to requestor subscriptions.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionLinkList'
Elian Kraja's avatar
Elian Kraja committed
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '401':
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '403':
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '429':
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    post:
Elian Kraja's avatar
Elian Kraja committed
      tags:
      - subscriptions
      summary: 'Create a new subscription to Application Mobility Service notifications.'
      description: Create a new subscription to Application Mobility Service notifications.
Elian Kraja's avatar
Elian Kraja committed
      operationId: subPOST
      parameters: []
Elian Kraja's avatar
Elian Kraja committed
      requestBody:
        description: ''
Elian Kraja's avatar
Elian Kraja committed
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/MobilityProcedureSubscription'
              - $ref: '#/components/schemas/AdjacentAppInfoSubscription'
              contentMediaType: application/json
        required: true
Elian Kraja's avatar
Elian Kraja committed
      responses:
        '201':
          description: Created subscription is described using the appropriate data type
          headers: {}
Elian Kraja's avatar
Elian Kraja committed
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/MobilityProcedureSubscription'
                - $ref: '#/components/schemas/AdjacentAppInfoSubscription'
                contentMediaType: application/json
Elian Kraja's avatar
Elian Kraja committed
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '401':
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '403':
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '415':
          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'
Elian Kraja's avatar
Elian Kraja committed
        '422':
          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'
Elian Kraja's avatar
Elian Kraja committed
        '429':
          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:
Elian Kraja's avatar
Elian Kraja committed
        '200':
          description: A response body containing data type describing the specific RNI event subscription
          headers: {}
Elian Kraja's avatar
Elian Kraja committed
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/MobilityProcedureSubscription'
                - $ref: '#/components/schemas/AdjacentAppInfoSubscription'
                contentMediaType: application/json
Elian Kraja's avatar
Elian Kraja committed
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '401':
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '403':
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '429':
          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
Elian Kraja's avatar
Elian Kraja committed
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
Elian Kraja's avatar
Elian Kraja committed
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/MobilityProcedureSubscription'
              - $ref: '#/components/schemas/AdjacentAppInfoSubscription'
              contentMediaType: application/json
        required: true
      responses:
Elian Kraja's avatar
Elian Kraja committed
        '200':
          description: a response body containing data type describing the updated subscription
          headers: {}
Elian Kraja's avatar
Elian Kraja committed
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/MobilityProcedureSubscription'
                - $ref: '#/components/schemas/AdjacentAppInfoSubscription'
                contentMediaType: application/json
Elian Kraja's avatar
Elian Kraja committed
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '401':
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '403':
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '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'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '422':
          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'
Elian Kraja's avatar
Elian Kraja committed
        '429':
          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:
Elian Kraja's avatar
Elian Kraja committed
        '204':
          description: No Content
          headers: {}
          content: {}
Elian Kraja's avatar
Elian Kraja committed
        '401':
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
Elian Kraja's avatar
Elian Kraja committed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '403':
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Elian Kraja's avatar
Elian Kraja committed
        '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'
Elian Kraja's avatar
Elian Kraja committed
        '429':
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
Elian Kraja's avatar
Elian Kraja committed
components:
  schemas:
    AdjacentAppInfoSubscription.links:
      title: AdjacentAppInfoSubscription.links
Elian Kraja's avatar
Elian Kraja committed
      required:
      - self
      type: object
Elian Kraja's avatar
Elian Kraja committed
      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.
Elian Kraja's avatar
Elian Kraja committed
    AdjacentAppInfoSubscription.filterCriteria:
      title: AdjacentAppInfoSubscription.filterCriteria
      type: object
Elian Kraja's avatar
Elian Kraja committed
      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.
Elian Kraja's avatar
Elian Kraja committed
    AdjacentAppInfoSubscription:
      title: AdjacentAppInfoSubscription
      required:
      - callbackReference
      - filterCriteria
      - subscriptionType
      type: object
Elian Kraja's avatar
Elian Kraja committed
      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.
Elian Kraja's avatar
Elian Kraja committed
        expiryDeadline:
          $ref: '#/components/schemas/TimeStamp'
Elian Kraja's avatar
Elian Kraja committed
        filterCriteria:
          $ref: '#/components/schemas/AdjacentAppInfoSubscription.filterCriteria'
        subscriptionType:
          const: AdjacentAppInfoSubscription
Elian Kraja's avatar
Elian Kraja committed
          type: string
          description: Shall be set to "AdjacentAppInfoSubscription".
          examples:
          - AdjacentAppInfoSubscription
    AdjacentAppInstanceInfo:
      title: AdjacentAppInstanceInfo
Elian Kraja's avatar
Elian Kraja committed
      required:
      - appDId
      - appInstanceCommLink
      - appInstanceId
Elian Kraja's avatar
Elian Kraja committed
      type: object
      properties:
        appDId:
          type: string
          description: Identifier of the application descriptor.
Elian Kraja's avatar
Elian Kraja committed
        appInstanceCommLink:
Elian Kraja's avatar
Elian Kraja committed
          type: array
          items:
            $ref: '#/components/schemas/CommunicationInterface'
          description: It specifies the communication interface of application instance.
Elian Kraja's avatar
Elian Kraja committed
        appInstanceId:
          type: string
          description: Identifier of the application instance.
Elian Kraja's avatar
Elian Kraja committed
        mecHostInformation:
          $ref: '#/components/schemas/MECHostInformation'
    AppMobilityServiceLevel:
      title: AppMobilityServiceLevel
Elian Kraja's avatar
Elian Kraja committed
      enum:
      - APP_MOBILITY_NOT_ALLOWED
      - APP_MOBILITY_WITH_CONFIRMATION
      - APP_MOBILITY_WITHOUT_CONFIRMATION
Elian Kraja's avatar
Elian Kraja committed
      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
Elian Kraja's avatar
Elian Kraja committed
    CommunicationInterface.IpAddresses:
      title: CommunicationInterface.IpAddresses
      required:
      - host
      - port
      type: object
      properties:
        host:
          type: string
        port: